• [其他] Deformable DETR
    DETR 提出在目标检测方法中去除人为组件,也可保持优异性能。但由于 Transformer 注意力模块只能有限地处理图像特征图,它的收敛速度就比较慢,特征空间分辨率有限。为了缓解这些问题,作者提出了 Deformable DETR,其注意力模块只会关注目标框周围少量的关键采样点。Deformable DETR 能够取得比 DETR 更优异的性能(尤其在小物体上),训练 epochs 要少 10 × 10\times 10×倍。在 COCO 基准上大量的实验证明了该方法的有效性。代码位于: https://github.com/fundamentalvision/Deformable-DETR。Introduction目前的目标检测器都使用了许多人为组件,比如 anchor 生成、基于规则的训练目标分配机制、NMS 后处理等。它们都不是完全端到端的。最近 Carion 等人提出了 DETR 来去除人为组件,第一次构建了一个完全端到端的目标检测器,取得了优异的表现。DETR 利用一个简单的结构,将 CNN 和 Transformer 编码器-解码器结合起来使用。他们利用 Transformer 强大而通用的关系建模能力,在正确设计的训练信号指导下,代替人为规则。尽管 DETR 的设计很有意思,而且表现不错,但是也有几个问题:(1) 需要更长的训练时间来收敛。例如,在 COCO 基准上,DETR 需要500个 epochs 才能收敛,要比 Faster R-CNN 慢了10-20倍。(2) DETR 对小目标检测表现相对较差。当前的目标检测器通常使用多尺度特征,从高分辨率特征图上可以检测小目标。而对 DETR 来说,高分辨率特征图意味着高复杂度。这些问题主要可以归结为 Transformer 缺乏处理图像特征图的组件。在初始化时,注意力模块对特征图上的所有像素点分配几乎相同的注意力权重。长训练时间对于注意力权重的学习是非常必要的,从而能关注到稀疏而有价值的位置。另一方面,Transformer 编码器的注意力权重的计算,相对于像素个数来说是平方计算的。因此,要处理高分辨率特征图,其计算量是非常高的,内存复杂度也是非常高的。在图像领域,deformable 卷积是一个强大而高效的机制,来处理稀疏空间位置。它天然地避免了上述了问题。而它缺乏元素间关系建模的机制,这是 DETR 成功的关键。本文中作者提出了 Deformable DETR,加快 DETR 的收敛速度,并降低高复杂度问题。它将 deformable 卷积的最佳稀疏空间采样方法和 Transformer 的关系建模能力结合起来。作者提出了 deformable 注意力模块,对所有的特征图像素点进行预筛,关注到很少的采样位置。该模块能够天然地扩展到聚合多尺度特征,无需 FPN 的帮助。在 Deformable DETR 中,作者使用了(多尺度)deformable 注意力模块替换 Transformer 注意力模块,来处理特征图,如图1所示。
  • [其他] 入门必读 | 图卷积神经网络理论基础:从傅里叶变换到图卷积
    Graph Convolutional Networks图卷积网络涉及到两个重要的概念,Graph和Convolution。传统的卷积主要应用于Euclidean Structure的数据上(排列很整齐、Grid形式的),如图像、语句等,主要是因为欧式结构数据能够保证卷积的性质,即平移不变性,而Non-Euclidean无法保证平移不变性,通俗理解就是在拓扑图中每个顶点的相邻顶点数目都可能不同,那么当然无法用一个同样尺寸的卷积核来进行卷积运算。为了能够将卷积推广到Graph等Non-Euclidean数据上,GCN应运而生。那么GCN是如何将卷积推广到Graph上的呢?卷积和傅里叶变换有着密不可分的关系。在数学上,两个函数的卷积等于各自求傅里叶变换转成频域后乘积的逆傅里叶变换。即:Convolution —— Fourier傅里叶变换又可以通过谱图理论推广到Graph上进行变换。Fourier —— Spectral Graph因此自然而然,Convolution —— Fourier —— Spectral Graph,Convolution通过傅里叶变换和Graph发生了联系。从整个的研究进程来看,首先是研究GSP(Graph Signal Processing)的学者提出了Graph上的Fourier Transformation,进而定义了Graph的Convolution,最后与深度学习结合起来,发展出来GCN。下文主要先介绍数学中的傅里叶变换,再介绍G傅里叶变换可以从多种角度进行表述。raph上的傅里叶变换。最后介绍卷积如何应用在Graph上。从数学角度,傅立叶变换就是将「周期函数」转化为一组「正交基」下的「坐标表示」,这个「坐标表示」就是傅立叶变换的结果。换句话说,周期函数是这些正交基的「线性组合」(向量的叠加), 线性组合「系数构成的向量」就是傅立叶变换的结果。从信号处理领域角度,傅里叶变换将一个周期函数从「时域」(时间与振幅的关系)转化为「频域」(频率与振幅的关系)。做个类比,正交基选择的是正弦函数,每个正弦函数有个「频率」参数值,而每个正弦函数的「振幅」参数就是该基下对应的坐标值。所有正弦函数的「振幅构成的向量」就是傅立叶变换的结果。下面以信号处理领域为例,来进一步理解傅里叶变换。
  • [其他] 87.7%准确率!CvT:将卷积引入视觉Transformer
    论文:https://arxiv.org/abs/2103.15808代码:https://github.com/leoxiaobin/CvT本文将卷积引入视觉Transformer提出CvT,在ImageNet拿下87.7% Top-1准确率!(在ImageNet-22k上预训练)与其他视觉Transformer和ResNet相比,具有更少的参数和更低的FLOPs,在垂直任务应用中,也保持性能优势!代码即将开源!作者单位:麦吉尔大学, 微软云+AI1 简介在本文中介绍了一种称为卷积视觉Transformer(CvT)的新体系结构,该体系结构通过将卷积引入ViT中来产生两种设计结合的最佳效果,从而提高了视觉Transformer(ViT)的性能和效率。CvT主要是通过2个主要改进完成的:包含卷积Token嵌入的Transformer层次结构,以及利用卷积映射的卷积Transformer Block。这些变化将卷积神经网络(CNN)的特性引入到ViT架构中(即平移、缩放和旋转不变性),同时保持了Transformers的优点(即动态注意力,全局Context和更好的泛化)。通过进行广泛的实验来验证CvT的有效性,实验表明该方法与ImageNet-1k上的其他视觉Transformer和ResNet相比,具有更少的参数和更低的FLOPs,可实现最先进的性能。此外,在较大的数据集(例如ImageNet-22k)上进行预训练并针对垂直任务进行微调时,可以保持性能提升。CvT-W24在ImageNet-22k上进行了预训练,在ImageNet-1k val集合上获得了87.7%的top-1精度。最后,实验结果表明,位置编码是现有Vision Transformer的关键组成部分,可以在模型中删除进而简化了高分辨率视觉任务的设计。 相关总结近几年,Transformer在自然语言处理(NLP)的任务领域中得到了广泛的应用。而Vision Transformer(ViT)则是近来第一个完全依赖于Transformer架构的计算机视觉模型,同时获得具有竞争力的图像分类性能。ViT设计通过对语言的理解,以最小的修改来适应Transformer架构。首先,图像被分割成离散的不重叠的小块(例如16×16);然后,将这些小块作为Token(类似于NLP中的Token),用一种特殊的位置编码来表示空间信息,然后输入到标准Transformer层中建模全局关系,进而进行分类。尽管Vision Transformer在一定程度上取得了成功,但在较小的数据量上训练时,其性能仍然低于类似规模的卷积神经网络(如ResNets)。一个可能的原因可能是ViT缺乏CNN架构中固有的特性,而这些特性使CNN适合解决视觉任务。例如,图像具有很强的二维局部结构:空间相邻像素通常是高度相关的。CNN的架构通过使用局部感受野、共享权值和空间子采样来强制捕获这个局部结构,从而也实现了一定程度的平移、尺度和旋转不变性。此外,考虑到不同复杂程度的局部空间Context,卷积核的层次结构学习是从简单的低级边缘和纹理到高级语义的学习模式。 本文出发点在本文中作者假设卷积可以有策略地引入到ViT结构之中以提高模型的性能和鲁棒性同时保持较高的计算和内存效率。为了验证假设作者提出了一种新的架构,称为Convolutional vision Transformer(CvT),它将卷积合并到Transformer中,在(FLOPs)和参数方面都是高效的。CvT设计在ViT架构的2个核心部分引入了卷积:首先,将Transformer划分为多个阶段,形成一个分层结构的Transformer。每个阶段的开始由一个卷积Token嵌入组成,该卷积Token嵌入在一个二维重塑的Token映射上进行卷积操作(即,将Flattened的Token序列重塑回空间网格),然后是Layer Normalization。这个操作使得模型不仅可以捕获局部信息,而且还可以逐步减少序列长度,同时在不同阶段增加Token特征的维数,实现空间下采样,同时增加特征映射的数量。其次,将Transformer模块中每个Self-Attention Block之前的线性投影替换为卷积投影,该卷积投影在二维重塑的Token映射上采用深度可分卷积。这使得该模型在注意力机制中能够进一步捕获局部空间语义信息,减少语义歧义。它还允许管理计算复杂度,因为卷积的Stride可以用于对键和值矩阵进行子采样,以提高4倍或更多的效率,同时最小化性能的损失。 
  • [其他] 资料笔记 - 航空管理场景下的神经网络建模
    论文《Artificial Neural Network Modeling for Airline Disruption Management》是阐述在航空管理中发生航班服务中断场景下,提出了人工智能如何落地解决问题的方案,其概述如下:自20世纪70年代以来,大多数航空公司都采用了计算机支持来管理航班时刻表执行过程中的中断。然而,现有的航班中断管理(ADM)平台采用单一系统设计方法,在设计出符合规范的系统之前,依赖于通过显式优化例程创建特定规则和需求。因此,目前的ADM平台无法适应由于引入新功能而带来的额外系统复杂性,如引入无人机系统(UAS)、操作和基础设施等。为此,我们使用航空公司调度和运营恢复的历史数据来开发一个人工神经网络系统(ann),该系统描述了一个预测传递函数模型(PTFM),用于在adm期间飞行计划执行的不同阶段及时评估中断解决的恢复影响。此外,我们提供了一种模块化的方法来评估和执行PTFM,通过使用并行集成方法来开发融合ann系统的生成式例程。我们的模块化方法确保了在ADM期间飞行计划执行中的延误满足当前的行业标准,同时准确地为飞行计划执行的各个阶段评估适当的基于时间的性能指标。地址:https://arxiv.org/pdf/2104.02032
  • [其他] WWW 2021|基于图神经网络的分级相关性匹配
    论文标题:Graph-based Hierarchical Relevance Matching Signals for Ad-hoc Retrieval论文来源:WWW 2021论文链接:https://arxiv.org/abs/2102.11127简介本文由中科院发表于 WWW 2021。ad-hoc retrieval 是根据查询和文档集合对相关文档进行排名。研究界已经提出了一系列基于深度学习的方法来解决该问题。但是,本文作者认为它们忽略了长距离文档级单词关系。为了解决该问题,作者通过图结构显式地建立文档级单词关系的模型,并通过图神经网络捕获信息。另外,由于文档收集的复杂性和规模,探索不同粒度的层次匹配信号是相当重要的。因此,作者提出了一种基于图的分层相关性匹配模型(GHRM),通过该模型可以同时捕获细微和通用的分层匹配信号。作在两个代表性的 ad-hoc retrieval 数据集验证了 GHRM 的有效性。模型本文大致的思想是在匹配的过程中,大部分的模型没有考虑长距离单词关系和不同粒度的相关信息。所以作者总结了如下的匹配流程:首先根据 query-document 的匹配,建立 word-word 的图,从而建立长距离的单词关系;在此基础上对于每个部分选择中心词,并去除不重要的词,从而考虑不同粒度的相关信息。第一部分图的聚合,作者将每个 document word 作为一个节点,并将他们分别和 query term 计算余弦相似度,作为节点特征向量,并使用固定大小的滑动窗口,统计 word-word 的共现次数构建邻接矩阵。第二部分分级匹配,作者首先使用类似于 GRU 的图神经网络更新节点的表示,在此基础上添加了作者自定义的 pooling 层,每次通过 GNN 层后,作者使用 attention 层计算每个节点的注意力分数,并通过 hard-pooling(保留固定比例的节点)和 soft-pooling(根据注意力分数保留每个节点的部分特征分数)两种方式筛选重要的节点。第三部分相关信号读出和聚合,作者对每张图中的节点选择 top-k 的特征,并将其拼接后通过前馈神经网络,最后使用 query term 的 idf 值通过 softmax 后的数值作为权重,计算最后的匹配分数。训练阶段,作者采用了信息检索中较为普遍的 pair-wise learning,即每次选取一个正样本和一个负样本,使模型尽可能计算得到的正样本分数大于负样本分数。
  • [其他] 神经网络学习 | 鸢尾花分类的实现
    问题鸢尾花分为:狗尾草鸢尾、杂色鸢尾、弗吉尼亚鸢尾。通过测量:花萼长、花萼宽、花瓣长、花瓣宽,这四个参数得出鸢尾花的类别。问题解决思路if 语句 case 语句 ——专家系统:把经验告诉计算机,计算机执行逻辑判别,给出分类神经网络:采集大量(花萼长、花萼宽、花瓣长、花瓣宽、对应的类别)数据对构成数据集。其中(花萼长、花萼宽、花瓣长、花瓣宽)称为输入特征;(对应的类别)称为标签,需要人工标定。把数据集喂入神经网络结构->网络优化参数得到模型->模型读入新输入特征->输出识别结果。神经网络理论准备输出y=x*w+b ,即所有的输入x乘以各自线上的权重w求和加上偏置项b得到输出y。其中,输入特征x形状应为(1,4)即1行4列,输出y形状应为(1,3)即1行3列,w形状应为(4,3)即4行3列,b形状应为(3, )即有3个偏置项。这种x和y每每相连的,称之为全连接网络。线上的权重w和偏置b会被随机初始化为一些随机值。前向传播:喂入一组特征值->根据线性y=x*w+b,利用随机初始化的w和b,算出输出y。损失函数(loss function):预测值(y)和标准答案(y_)的差距。损失函数可以定量判断w和b参数选择的优劣。均方误差是一种比较常见的损失函数。引入损失函数的目的是寻找一组参数w和b使得损失函数最小。为达成这一目的,我们采用梯度下降的方法。损失函数的梯度表示损失函数对各参数求偏导后的向量,损失函数梯度下降的方向,就是是损失函数减小的方向。梯度下降法即沿着损失函数梯度下降的方向,寻找损失函数的最小值,从而得到最优的参数。其中,lr表示学习率,是一个超参数,表征梯度下降的速度。如学习率设置过小,参数更新会很慢,如果学习率设置过大,参数更新可能会跳过最小值。提供了 150 组鸢尾花数据,每组包括鸢尾花的花萼长、花萼宽、花瓣长、花瓣宽 4 个输入特征,同时还给出了这一组特征对应的鸢尾花类别。类别包括狗尾鸢尾、杂色鸢尾、弗吉尼亚鸢尾三类, 分别用数字0、1、2 表示。
  • [其他] 注意力机制中的Q、K和V的意义
    以翻译为例:source:我 是 中国人target: I  am Chinese比如翻译目标单词为 I 的时候,Q为I而source中的 “我”   “是”  “中国人”都是K,那么Q就要与每一个source中的K进行对齐(相似度计算);"I"与"我"的相似度,"I"与"是"的相似度;"I"与"中国人"的相似度;相似度的值进行归一化后会生成对齐概率值(“I"与source中每个单词的相似度(和为1)),也可以注意力值;而V代表每个source中输出的context vector;如果为RNN模型的话就是对应的状态向量;即key与value相同;然后相应的V与相应的P进行加权求和,就得到了context vetor;从网上找到了一张图更能证明我的理解的正确性;阶段1中的F函数是一个计算得分的函数;比如可以用前馈神经网络结构进行计算得分: 这里的v与上面的V是不一样的,这属于一个单隐藏层的前馈神经网络;v属于隐藏层激活后的一个计算得分的权重系数矩阵;w属于激活前的权重系数矩阵;这里应该是输出神经元为一个得分值;所以需要多个前馈神经网络同时计算每个hi的得分;与我预想的不同,以为一个前馈神经网络就可以输出所有对应的得分,即输出层的维度是与input序列长度一样;(目前的理解);为什么不与预想的一致呢? 然后对所有得分进行归一化,一般选择softmax方法;让权重系数为1第二阶段:将hi与对应的权重系数相乘得到一个context vector;即注意力值
  • [其他] CVPR2021-李铎:通过反转卷积的内在性质进行视觉识别
    本文是对本次沙龙第一位嘉宾李铎的报告整理,他为我们分享的是他发布今年CVPR2021的工作:Involution: Inverting the Inherence of Convolution for Visual Recognition (CVPR2021)(通过反转卷积的内在性质进行视觉识别)论文:https://arxiv.org/pdf/2103.06255.pdf代码:https://github.com/d-li14/involution个人主页:https://duoli.org论文摘要:卷积作为现代神经网络中的核心构件,引发了深度学习技术在视觉领域的发展浪潮。在这篇工作中,我们重新思考了标准卷积核在空间维度和通道维度的固有特性,即空间不变性和通道特异性。与其相反地,我们通过反转以上的两个设计准则,提出了一种新颖的神经网络算子,称为“反转卷积”。另外我们解释了最近应用广泛的自注意力操作,并将其作为一种复杂的特例归入了“反转卷积”的范畴。我们提出的“反转卷积”算子可以作为基础模块替代普通卷积来搭建新一代的视觉神经网络,在不同的视觉任务中支持多种多样的深度学习模型,包括ImageNet图像分类,COCO目标检测和实例分割,Cityscapes语义分割。基于“反转卷积”的深度神经网络相较于ResNet-50对应的卷积神经网络模型,在上述任务中分别将识别准确率提升1.6%,边界框AP提升2.5%和2.4%,类别平均IoU提升4.7%,而将计算代价压缩到66%,65%,72%和57%。
  • [其他] 算法的偏差和方差
    在训练神经网络时用到地基本方法,初始模型训练完成后,我首先要知道算法的偏差高不高,如果偏差较高,试着评估训练集或训练数据的性能。如果偏差的确很高,甚至无法拟合训练集,那么你要做的就是选择一个新的网络,比如含有更多隐藏层或者隐藏单元的网络,或者花费更多时间来训练网络,或者尝试更先进的优化算法,后面我们会讲到这部分内容。你也可以尝试其他方法,可能有用,也可能没用。一会儿我们会看到许多不同的神经网络架构,或许你能找到一个更合适解决此问题的新的网络架构,加上括号,因为其中一条就是你必须去尝试,可能有用,也可能没用,不过采用规模更大的网络通常都会有所帮助,延长训练时间不一定有用,但也没什么坏处。训练学习算法时,我会不断尝试这些方法,直到解决掉偏差问题,这是最低标准,反复尝试,直到可以拟合数据为止,至少能够拟合训练集。如果网络足够大,通常可以很好的拟合训练集,只要你能扩大网络规模,如果图片很模糊,算法可能无法拟合该图片,但如果有人可以分辨出图片,如果你觉得基本误差不是很高,那么训练一个更大的网络,你就应该可以……至少可以很好地拟合训练集,至少可以拟合或者过拟合训练集。一旦偏差降低到可以接受的数值,检查一下方差有没有问题,为了评估方差,我们要查看验证集性能,我们能从一个性能理想的训练集推断出验证集的性能是否也理想,如果方差高,最好的解决办法就是采用更多数据,如果你能做到,会有一定的帮助,但有时候,我们无法获得更多数据,我们也可以尝试通过正则化来减少过拟合,这个我们下节课会讲。有时候我们不得不反复尝试,但是,如果能找到更合适的神经网络框架,有时它可能会一箭双雕,同时减少方差和偏差。如何实现呢?想系统地说出做法很难,总之就是不断重复尝试,直到找到一个低偏差,低方差的框架,这时你就成功了。有两点需要大家注意:第一点,高偏差和高方差是两种不同的情况,我们后续要尝试的方法也可能完全不同,我通常会用训练验证集来诊断算法是否存在偏差或方差问题,然后根据结果选择尝试部分方法。举个例子,如果算法存在高偏差问题,准备更多训练数据其实也没什么用处,至少这不是更有效的方法,所以大家要清楚存在的问题是偏差还是方差,还是两者都有问题,明确这一点有助于我们选择出最有效的方法。第二点,在机器学习的初期阶段,关于所谓的偏差方差权衡的讨论屡见不鲜,原因是我们能尝试的方法有很多。可以增加偏差,减少方差,也可以减少偏差,增加方差,但是在深度学习的早期阶段,我们没有太多工具可以做到只减少偏差或方差却不影响到另一方。但在当前的深度学习和大数据时代,只要持续训练一个更大的网络,只要准备了更多数据,那么也并非只有这两种情况,我们假定是这样,那么,只要正则适度,通常构建一个更大的网络便可以,在不影响方差的同时减少偏差,而采用更多数据通常可以在不过多影响偏差的同时减少方差。这两步实际要做的工作是:训练网络,选择网络或者准备更多数据,现在我们有工具可以做到在减少偏差或方差的同时,不对另一方产生过多不良影响。我觉得这就是深度学习对监督式学习大有裨益的一个重要原因,也是我们不用太过关注如何平衡偏差和方差的一个重要原因,但有时我们有很多选择,减少偏差或方差而不增加另一方。最终,我们会得到一个非常规范化的网络。
  • [其他] 深度学习的概念起源于人工神经网络的研究
    深度学习的概念起源于人工神经网络的研究,有多个隐层的多层感知器是深度学习模型的一个很好的范例。对神经网络而言,深度指的是网络学习得到的函数中非线性运算组合水平的数量。当前神经网络的学习算法多是针对较低水平的网络结构,将这种网络称为浅结构神经网络,如一个输入层、一个隐层和一个输出层的神经网络;与此相反,将非线性运算组合水平较高的网络称为深度结构神经网络,如一个输入层、三个隐层和一个输出层的神经网络。 深度学习的基本思想:假设有系统S,它有n层(S1,…,Sn),输入为I,输出为O,可形象的表示为:I=>S1=>S2=>… =>Sn=>O。为了使输出O尽可能的接近输入I,可以通过调整系统中的参数,这样就可以得到输入I的一系列层次特征S1,S2,…,Sn。对于堆叠的多个层,其中一层的输出作为其下一层的输入,以实现对输入数据的分级表达,这就是深度学习的基本思想。
  • [其他] 利用Group Conv在单个CNN中实现集成学习
    论文:Group Ensemble: Learning an Ensemble of ConvNets in a single ConvNet地址:https://arxiv.org/pdf/2007.00649.pdf0. 动机集成学习通过融合多个模型得到更准确的结果,在深度神经网络模型上应用集成学习可以提高网络性能。通常来讲,在深度神经网络中使用的集成策略可以分为2类:其一为显式的集成策略(explicit ensembling strategy),训练多个模型,通过专家委员会(a committee of experts)或其他方法得到最终结果。由于需要使用多个神经网络模型,这种方法计算量比较大。其二为隐式的集成策略(implicit ensembling strategy),这种方法又能分为2类:在单个模型中引入随机操作模仿集成,比如DropOut、DropConnect、DropBlock、StochDepth、Shake-Shake;在单个模型中使用多条路径模仿集成,比如ResNet、ResNeXt、DenseNet、Inception系列。作者提出了Group Ensemble方法,在单个模型中融合显式和隐式的集成方法,能够在几乎不提升原模型计算需求的基础上提高模型性能。1. Group Ensemble一些研究表明,对同一架构的网络使用不同方法(比如改变权重初始值、改变数据集的划分策略)训练多次,得到的多个网络中浅层的表达很类似;甚至不同的网络结构,比如VGG和ResNet系列网络,基于同一任务训练,得到的网络浅层表达也很类似。基于上述发现,作者认为,可以通过共享浅层网络、独立多个深层网络来达到显式集成的效果,以减少计算量。作者提出了名为GENet(Group Ensemble Network)的网络结构,用于在单个神经网络中进行显示集成学习,如下图所示:从上图中可以看出,作者使用Group卷积的形式达到“独立多个深层网络”的效果,每个分类器的输出结果融合得到最终结果。多个独立的深层网络提供了用于集成学习的多个分类器,并且引入了多个分类器的差异性;共享浅层网络,相比于传统的使用多个模型集成的方法,有效地减少了计算量。多个独立的深层网络使用同一个浅层网络,因此共享的浅层网络也可以理解为对共享参数的一种正则化手段。假设深层的Group卷积**有n个组,整个模型的损失函数为:上式中的表示第m个Group卷积的损失函数。推理时,这些独立的深层网络分别输出各自的结果,通过取平均值得到整个网络的最终结果。2. Aggregation Strategies作者介绍了3种训练时给样本分配权重的方法,它们分别为Group Averaging、Group Wagging、Group Boosting,可以使用这些方法提高深层网络的多样性,达到更好的集成效果。第m组的损失函数 可以表示为:上式中,i表示样本的索引,b 表示 batch size,表示第i个样本的损失,表示第i个样本对应的权重。下图说明了该公式的含义:Group Averaging、Group Wagging、Group Boosting这3种方法决定了上式中的取值策略。Group Averaging:所有的取值为1,不同组的多样性由它们的权重初始值、各自的损失和各自的反向传播决定。Group Wagging:是服从均匀分布或者高斯分布的随机值,若服从高斯分布,表示为。随机选取能在样本层面增加不同组的多样性。Group Boosting 当前组的取决于上一组对该样本的识别效果,当上一组对该样本识别错误时,在当前组中取较大值,即让当前组重点关注上一组识别错误的样本。为了在训练时就能得到某个组对样本的识别效果,作者使用了online boosting方法,定义在第m组中某个样本的权重为:上式中的为第m-1组对该样本的识别概率,为参数。这三种方法的示意图如下所示:作者探讨了多个组之间保持独立性对于最终分类结果的影响:假设一个简单的2分类任务,多个模型的输出服从于同样的正态分布,即上式中表示对于某个样本第i个模型输出的正确类别的预测得分,n表示模型数量,和分别表示均值和标准差。如下图所示:左上图为单个模型的输出分布,右上图为2个独立模型的输出分布,左下图为4个独立模型的输出分布,从这3个图可以看出,融合多个模型的输出结果会更准确,且模型个数越多越好。右下图为2个相关系数的模型的输出分布,对比右上图和右下图可以看出,模型越独立,融合后输出结果越准确。因此可知保持多个模型独立的重要性。3. 实验3.1 分类任务作者在CIFAR和ImageNet数据集上测试GENet。使用Group Averaging策略分配样本权重,使用Pytorch实现。对于CIFAR数据集,使用ResNet-29和ResNeXt-29作为Backbone,网络最后一层为用于分类的FC层,使用center-crop的方法在验证集上测试。在CIFAR-10和CIFAR-100数据集上的Top1错误率如下图所示:上图中的Ensemble表示使用传统的多个模型集成方法,“2x”和“3x”分别表示使用2个和3个模型。从上图中可以看出GENet保持和baseline基本一致的计算量,性能与传统的模型集成方法接近。对于ImageNet数据集,使用ResNet-50、ResNeXt-50、ResNeXt-101作为Backbone,在验证集上使用224x224尺寸的center-crop进行测试,错误率如下图所示:从上图中可以看出,GENet和传统的模型集成方法性能接近,但是有更少的参数量和计算需求。3.2 目标检测任务在COCO2017数据集上使用Faster R-CNN测试,Backbone为ResNet50并且使用了FPN。保持Faster R-CNN中的RPN不变,只将R-CNN head部分改为group ensemble形式,测试结果如下图所示:从上图中可以看出,使用group ensemble能够在保持参数量不变的前提下达到多个模型集成的性能,验证了GENet对baseline性能的提升,以及在不同领域的有效性。4. 总结提出了GENet,通过共用浅层网络、独立深层网络的形式在单个CNN中实现显式模型集成;说明了保持多组网络独立性的意义,以及通过aggregation strategy提高多组网络独立性和多样性的方法;通过实验证明了GENet在几乎不改变baseline计算需求的前提下提升性能。
  • [行业动态] CVPR 2021华为诺亚方舟实验室发表30篇论文 |CVPR 2021
    一年一度的计算机视觉顶会IEEE计算机视觉及模式识别大会CVPR录用结果最近公布。据悉,今年CVPR投稿量与论文接收量相对往年继续上升,有效投搞量达7015篇,接收论文1663篇,接收率23.7%,与往年相比略有上升。华为诺亚方舟实验室此次有30篇论文被接收,包括两篇Oral,其中主要由正式或者实习员工完成的工作有24篇,主要由高校合作方完成的工作有6篇。研究方向涵盖模型压缩和能耗高效、神经网络搜索、语义理解、底层视觉、自动驾驶、无损数据压缩、可解释AI等多个方面。诺亚方舟实验室的这些文章,体现出工业界需求与学术前沿的紧密结合,围绕业务中的迫切需求,结合最新学术进展提出创新性解决方案,也让学术研究能够有具体落地。如这些文章中包含了去年AdderNet算法的继续演进AdderSR,以及最近广为流传的IPT网络等。下面挑选一些本次CVPR接收的代表性论文进行介绍。CVPR 2021代表性工作介绍AdderSR: Towards Energy Efficient Image Super-Resolution本论文研究使用加法网络解决图像超分的问题,降低超分网络的能耗。由于任务的属性不同,直接将加法网络应用到超分任务上损失严重,本文对该问题进行了深入分析。首先,加法算子难以学到恒等映射;除此之外,加法算子难以学到有效的高通滤波器,但是这两个特性对于图像处理任务非常重要。在此基础上,本文继而提出自连接加法单元和可学习的幂激活函数来调整特征分布、增强细节,有效解决该问题。实验表明,本文提出的加法超分网络可以有效减少2.5x能耗,并达到与原模型非常接近的效果。ReNAS: Relativistic Evaluation of Neural Architecture Search (Oral)一个有效的神经网络结构性能评估方案是神经网络结构搜索(NAS)成功的关键。现有NAS算法通常在训练时间有限的小型数据集上训练和评估神经结构。但这样一种粗糙的评估方式很难对神经网络结构进行准确评估。本文提出一种新的神经网络结构评价方案,旨在确定哪个神经网络结构的性能更好,而不是精确地预测性能绝对值。因此,我们提出了一个结构相对性能预测NAS (ReNAS)。我们将神经结构编码为特征张量,并利用预测器进一步细化表示。本方法可用于离散搜索,无需额外评估。在NASBench101数据集上抽样424个(搜索空间的0.1%)神经架构及其标签已经足够学习一个准确的架构性能预测器。在NAS-Bench-101和NAS-Bench-201数据集上,我们搜索的神经结构的准确性高于最新的方法,显示了本方法的优先性。Transformation Invariant Few-Shot Object Detection不同于以往基于元学习的小样本物体检测框架,本文从样本扩增的角度解决这一问题。本文提出了一种简单而有效的变换不变原则,它可以灵活地应用于各种元学习模型,以提高新类物体的检测性能。该方法通过对变换后图像的预测结果引入一致性正则,增强小样本物体检测模型的泛化能力。重要的是,这一方法可以处理未标记数据,从而解决半监督小样本物体检测问题。实验表明,本文提出的方法在标准小样本物体检测和半监督小样本物体检测上均有效。Joint-DetNAS: Upgrade Your Detector with NAS,Pruning and Dynamic DistillationJoint-DetNAS是一个融合了NAS、剪枝以及蒸馏的目标检测模型优化算法,由两个主要部分组成:a) 构建弹性教师模型池:通过一次渐进式收缩训练获得大量高质量模型,用于支撑教师模型搜索b)学生-教师网络联合优化:通过交迭搜索,动态寻找最优蒸馏组合。学生网络采用Network Morphism策略, 有效融合模型结构演化和剪枝技术。算法直接输出学生模型作为结果,无需额外训练。Joint-DetNAS搜索高效且优化效果显著:如对于R101-FPN模型,在FPS及FLOPS优化 50%的情况下,仍能有2.5%的AP提升。TransNAS-Bench-101: Improving Transferrability and Generalizability of Cross-Task Neural Architecture Search神经网络架构搜索(NAS)的最新突破将该领域的研究范围扩展到了更广泛的视觉任务和更多样化的搜索空间。现有的NAS方法大多是在单个任务上进行搜索,而跨任务搜索的算法正在涌现。为了降低计算成本和实验复杂性对跨任务算法研究的阻碍,本论文提出了TransNAS-Bench-101基准测试数据集。该数据集涵盖了图像分类、语义分割、自编码器等七个不同的视觉任务,并探索了两类不同的搜索空间:Cell-based搜索空间和Macro-based搜索空间。通过7,352个backbone在七个任务上的训练,我们提供了51,464个模型的详细训练数据。我们希望借助TransNAS-Bench-101来鼓励跨任务的NAS算法的出现,从而将跨任务搜索的效率和通用性提高到新的水平。Pre-Trained Image Processing Transformer随着现代硬件计算能力的快速增强,在大规模数据集上预训练的Transformer模型(例如BERT,GPT-3)表现出了巨大的潜力和超越传统模型的效果。我们提出了一种可用于底层视觉任务(例如,去噪,超分辨率和去雨)的预训练Transformer模型(IPT)。为了最大程度地挖掘Transformer的能力,我们利用具有大量自然图像的ImageNet数据集生成大量降质图像对,并在这些图像上使用多头和多尾机制对IPT模型进行预训练。另外,我们还引入了对比学习以来提升模型的泛化性能。我们提出的IPT模型可以在迅速微调后有效地用于不同的底层视觉任务中,并在多项任务上取得了SOTA的结果。Efficient Multi-Stage Video Denoising with Recurrent Spatio-Temporal Fusion论文提出了极简的视频去噪网络EMVD,旨在通过结合传统图像处理和深度学习构造高能效的像素级视频处理框架。基于时序融合、空间去噪和时空精细化等多阶段设计,结合可逆可学习变换,既递归地利用视频中自然固有的时空相关性渐进改善视频质量,又大大降低模型的复杂度。通过业界公开数据集和真实数据集评测,计算量仅5.38GFLOPS的EMVD精度和视觉效果超过300多倍计算量的SOTA网络模型,在硬件资源有限的终端设备上处理1080P视频可达50FPS,业界首次在终端设备上实现实时的高分辨率视频AI降噪算法。深度学习领域的图像降噪方法往往需要噪声图像和相应的干净图像配对来训练,然而在真实场景中构造训练配对是十分困难的。我们提出Neighbor2Neighbor:通过近邻采样,从含噪图像采样出两张“相似但不相同”的子图以构成配对数据来训练降噪网络,其中两张子图每个位置对应的像素在原噪声图像中都是近邻像素;同时,在损失函数中引入正则项来修正两张近邻子图“相似但不相同”导致的过度平滑问题。本方法仅需噪声图像数据集即可训练任意降噪网络,在RGB域合成数据和RAW域真实含噪图像数据集上均表现出优秀的降噪效果,性能接近基于“噪声-干净”图像配对进行训练的模型。相比于现有的自监督图像降噪方法,本方法既不需要构造配对数据的采集过程,也不需要改造网络结构,同时无需额外的噪声模型信息,在暗光人脸拍照、夜间户外拍照、医学图像降噪等场景具有较高的应用潜力。Focus on Local: Detecting Lane Marker from Bottom Up via Key Point当前车道线检测的主流方向分为基于分割和基于检测的方法两大类。前者生成像素级的语义类别并通过聚类生成不同实例的曲线,后者由每个锚点预测整根曲线,这两种方法都直接建模全局信息,存在聚类容易产生误差以及远端预测不准的问题。受到人体位姿估计方法的启发,我们首次将车道线检测转化为局部关键点估计及其关联问题,用距离信息建模局部关联关系。车道线局部建模相对于全局建模更加简单,复杂度更低,泛化性能更好。我们采用两个轻量化的模型,在车道线检测公开数据集CULane和TuSimple上取得了新的SOTA结果,另外在跨数据集的泛化性能上也展现出了相当大的优越性。综上,我们的方法证明了位姿估计方法在车道线检测中的应用潜力,为解决这一问题开辟了新的方向。AF2-S3Net: Attentive Feature Fusion with Adaptive Feature Selection for Sparse Semantic Segmentation Network激光雷达点云的语义分割可视为自动驾驶的基石功能之一,精确的分割结果可以辅助物体检测、定位等核心感知任务。针对LiDAR语义分割问题,AF2S3Net以3D稀疏神经网络为框架,通过多分支、多层级主动特征融合实现了全局空间语义与局部细节的动态叠加,在单个网络中实现了单点网络与3D卷积网络的有机统一。同时为了降低特征融合后产生的梯度噪声,各分支原始特征被投票后送入特征选择模块,该模块通过压缩赋权过滤了部分噪声特征列向量,从而进一步提升了网络稳定性和泛化能力。在SemanticKITTI和nuScenes两大重量级LiDAR数据集语义分割竞赛排行榜上,AF2S3Net斩获双料冠军。QPP: Real-Time Quantization Parameter Prediction for Deep Neural Networks深度神经网络的权重和特征的量化可以降低能耗,提升计算效率,有助于促进其在手机等设备上的应用。量化感知训练的方法通常可以达到较好的效果,但是需要完整的数据集,但是这一点很多情况下难以满足。非训练量化的方法通常需要一个比较耗时的量化参数计算过程,否则量化精度损失比较严重。本文提出一种量化参数预测的算法,称为QPP。通过部分训练数据或者无标签数据的学习,QPP预测器在给定网络输入的情况下可以准确预测激活值的量化参数。预测器在避免复杂计算的同时有效保持了原始模型的精度。因此,本文的方法结合了动态量化和静态量化的优点。本文将QPP算法用在两个标准的动态量化算法上,并在分类、分割、超分等视觉任务上进行了广泛的验证。iVPF: Numerical Invertible Volume Preserving Flows for Lossless Compression在存储领域,高效无损压缩由于可以有效降低存储介质成本,故被广泛研究。AI算法通过学习数据分布规律并根据数据规律进行压缩,具有压缩率高等有点,具备良好的研究和应用前景。可逆流模型(Flow model)能准确拟合概率分布,理论压缩比高,但由于浮点误差问题,不能直接用于无损压缩任务。本方案第一次提出基于保体积流模型(volume preserving flow)的无损压缩方法吗,具有压缩率高,压缩吞吐率大的优点。首先,设计保体积流算子的数值计算方法,消除数据和待压缩隐变量的误差,保证无损压缩正确性;其次,设计基于保体积流模型的压缩和解压算法,它能达到最优的理论压缩率上界,压缩比高,压缩吞吐率高。本方法在图像数据集取得了最优的压缩率性能。CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models解耦表征学习旨在寻找低维的、由多个可解释因子组成的观测数据的隐表征。常用的变分自动编码器(VAE)的框架假设因子是独立的。然而,在实际场景中,具有语义的因素并不是必然独立的。相反,可能有一个潜在的描述这些因素相互依赖的因果结构。因此,我们提出了一个新的基于VAE的框架,名为因果VAE,其中包括带有因果结构的神经层,以此找到数据中的因果相关概念。在华为解耦数据集和真实数据集CelebA的实验表明,因果VAE学习的是语义上可解释的隐表征。我们可以控制某些语义因子,他们之间的信息可以通过表征之间的因果关系正确传递,生成反事实图片。
  • [技术讨论] 为什么WIMAX消失了
    什么是WIMAXWiMAX全称为,World Interoperability for Microwave Access,即全球微波接入互操作性,是一项基于IEEE 802.16标准的宽带无线接入城域网技术关键技术OFDM/OFDMAOFDM(正交频分复用)是一种多载波数字调制技术,它具有较高的频谱利用率,且在抵抗多径效应、频率选择性衰落或窄带干扰上具有明显的优势。而OFDMA是利用OFDM的概念实现上行多址接入,每个用户占用不同的子载波,通过子载波将用户分开。OFDMA允许单个用户仅在部分子载波发送,降低了对发送功率的要求。在WiMAX系统中,OFDM技术为物理层技术,主要应用的方式有两种:OFDM物理层和OFDMA物理层。OFDM物理层采用OFDM调制方式,OFDM正交载波集由单一用户产生,为单一用户并行传送数据流。它支持TDD和FDD双工方式,上行链路采用TDMA多址方式,下行链路采用TDM复用方式,可以采用STC发射分集以及AAS自适应天线系统。OFDMA物理层采用OFDMA多址接入方式,支持TDD和FDD双工方式,可以采用STC发射分集以及AAS。通常向下数据流被分为逻辑数据流,这些数据流可以采用不同的调制及编码方式以及以不同信号功率接入不同信道特征的用户端。向上数据流子信道采用多址方式接入,通过下行发送的媒质接入协议(MAP)分配子信道传输上行数据流。虽然OFDM技术对相位噪声非常敏感,但是标准定义了ScalableFFT,可以根据不同的无线环境选择不同的调制方式,以保证系统能够以高性能的方式工作。HARQHARQ( 混合自动重传要求)技术因为提高了频谱效率,所以可以明显提高系统吞吐量,同时因为重传可以带来合并增益,所以间接扩大了系统的覆盖范围。在WiMAX技术的应用条件下(室外远距离),无线信道的衰落现象非常明显,在质量不稳定的无线信道上运用TCP、IP协议,其效率十分低。WiMAX技术在链路层加入了HARQ机制,减少了到达网络层的信息差错,可大大提高系统的业务吞吐量。在802.16e的协议中虽然规定了信道编码方式有卷积码(CC)、卷积Turbo码(CTC)和低密度校验码(LDPC)编码,但是对于HARQ方式,根据目前的协议,16e中只支持CC和CTC的HARQ方式。具体规定为:在16e协议中,混合自动重传要求(HARQ)方法在MAC部分是可选的。HARQ功能和相关参数是在网络接入过程或重新接入过程中,用消息SBC被确定和协商的。HARQ是基于每个连接的,它可以通过消息DSA/DSC确定每个服务流是否有HARQ的功能。AMCAMC(自适应调制编码)在WiMAX的应用中有其特有的技术要求,由于AMC技术需要根据信道条件来判断将要采用的编码方案和调制方案,所以AMC技术必须根据WiMAX的技术特征来实现AMC功能。与CDMA技术不同的是,由于WiMAX物理层采用的是OFDM技术,所以时延扩展、多普勒频移、PAPR值、小区的干扰等对于OFDM解调性能有重要影响的信道因素必须被考虑到AMC算法中,用于调整系统编码调制方式,达到系统瞬时最优性能。WiMAX标准定义了多种编码调制模式,包括卷积编码、分组Turbo编码(可选)、卷积Turbo码(可选)、零咬尾卷积码(ZeroTailbaitingCC)(可选)和LDPC(可选),并对应不同的码率,主要有:1/2、3/5、5/8、2/3、3/4、4/5、5/6等码率。MIMOMIMO(多进多出)是未来移动通信的关键技术。MIMO技术主要有两种表现形式,即空间复用和空时编码。这两种形式在WiMAX协议中都得到了应用。WiMAX相关协议还给出了同时使用空间复用和空时编码的形式。支持MIMO是协议中的一种可选方案,结合自适应天线阵(AAS)和MIMO技术,能显著提高系统的容量和频谱利用率,可以大大提高覆盖范围并增强应对快衰落的能力,使得在不同环境下能够获得最佳的传播性能。QoS机制在WiMAX标准中,MAC层定义了较为完整的QoS机制。MAC层针对每个连接可以分别设置不同的QoS参数,包括速率、延时等指标。WiMAX系统所定义的4种调度类型,只针对上行的业务流,分别为非请求的带宽分配业务(UGS.UnsolicitedGrantService)、实时轮询业务(rtPS.RealTime Polling Service)、非实时轮询业务(nrtPS.Non Real Time Polling Service)、尽力而为业务(BE.Best effort)。对于下行的业务流,根据业务流的应用类型只有QoS参数的限制(即不同的应用类型有不同的QoS参数限制)而没有调度类型的约束,因为下行的带宽分配是由BS中的Buffer中的数据触发的。这里定义的QoS参数都是针对空中接口的,而且是这4种业务的必要参数。WIMAX未普及原因1、第一个802.16光有基础的覆盖,缺乏鉴权、计费、运营的配套。如果直接用VoIP,3G核心网对接802.16理论行可行。然而这样还不如直接铺WCDMA、LTE,问题会更少,更可运营、可维护。2、技术规范根本没有考虑运营商怎么做网络优化、网络运维。准备累死工程实施、运行维护人员的节奏。3、终端需要配合移动IP技术,否则移动切换过程当中,必然造成掉话、数据业务中断。而移动IP本身又是天生和IPv6更配的技术。IPv6老美都没有积极推广。4、还是移动切换,本身802.16就没有考虑清楚数据链路层怎么支持无缝切换。另外搞了个802.20,结果夭折了。5、终端天线尺寸偏大,没有考虑智能手机。6、特色技术,OFDM、MIMO等,都被LTE吸纳了。
  • [其他] CNN是不是一种局部self-attention?
    cnn可不是一种局部的attention,那么我们来辨析一下cnn和attention都在做什么。1:cnn可以理解为权值共享的局部有序的fc层,所以cnn有两个和fc层根本区别的特征,权值共享和局部连接。也就是在保证不丢失一些根本feature的情况下大大减少了参数量。2:attention的步骤是通过Q和K点乘得到attention maritx并表示二者的相似性,即Q和K相似性越大的部分点乘越大,之后scale并softmax之后得到attention score,之后乘以V,得到attention之后的结果。attention的本质是求Q和K的相似性,强调Q中和K相似的部分而已。其本质区别还可以理解为cnn是提取特征,attention是强调特征即可,二者可不相似。那要是这么说所有model都是围绕feature做一些东西,那就说这些都是一样的话显然不合理。更新,因为对CNN有了新的理解,所以对之前的答案进行更新,但是我前面之前的回答就不会在删了,后续有什么关于这方面进一步的补充和说明会再加进来,欢迎大家收藏。关于RNN和self-attention的区别,可以看我的这篇回答,希望对你有所帮助。https://zhuanlan.zhihu.com/p/360374591首先,说结论,CNN可以看作简化版的Self-attention,又或者说Self-attention是CNN的泛化。之前我们对CNN和self-attention作比较,其实下意识的想的是CNN用于图像处理,将self-attention用于NLP,所以会产生这两种方法怎么会有关联的错觉,那么下面都将从图像处理方面来讨论CNN和self-attention的区别和联系,更好的来对比CNN和self-attention。self-attention用于图像处理的流程:首先,如果用self-attention对图像进行处理,对于每一个pixel(像素值)产生Query,其他的pixel产生Key,Query*Key,然后softmax(正如评论中说的,其实不一定非要softmax,也可以采用Relu等激活函数),最后乘以对应的Value并求和作为每一个pixel经过softmax的输出值。这里大家会发现对图像做self-attention的时候每一个pixel考虑了整张图片所有的pixel,要考虑整张图像中所有的信息。那么,如果我们用CNN对图像进行处理,我们会选取不同的卷积核,用卷积核对图像进行处理,每一个pixel(像素值)其实只需要考虑这个卷积核中其他的pixel就可以了,只需要考虑这个receptive field就可以了,而不需要考虑整张图像中的所有信息。进而,我们可以得到一个一般性的结论,CNN可以看作一种简化版的self-attention,即CNN只需要考虑卷积核(receptive field)中的信息即可,但是对于self-attention需要考虑全局的信息。反过来,我们可以同样理解为,self-attention是复杂化的CNN,CNN需要划定receptive field,只考虑Receptive field里面的资讯,而Receptive field的范围和大小是需要自己设定的大小。而对Self-Attention而言,用attention找到相关的pixel,就好像Receptive是自动学出来的,即以这个pixel为中心,其他哪些pixel是需要我这个pixel考虑的,是与我这个pixel相关的。简单一句话,CNN每一个pixel只学卷积核中的信息,Self-Attention每一个pixel学整张图像中的信息。(这里只考虑一层卷积,如果多层卷积的话,CNN其实达到了和self-attention类似的效果)那么,知道self-attention和CNN联系,我们可以得到什么结论呢?我们知道了CNN就是Self-Attention的特例,或者说Self-Attention就是CNN的泛化,非常的flexible的CNN,对Self-Attention做某些限制, Self-Attention和CNN是一样的。(论文:https://arxiv.org/abs/1911.03584 中得到的结论)对于self-attenion来说,这是一种非常flexible的model,所以需要更多的数据进行训练,如果数据不够,就可能over-fitting,但对于CNN来说因为限制比较多,在training data不多的时候可以train出一个比较好的Model。如图所示,在training data比较小的时候,CNN比较好,在training data比较大的时候,self-attention的效果会更好一些。即Self-Attention的弹性比较大,所以需要比较多的training data,在训练资料比较小的时候就容易over-fitting,CNN的弹性比较小,在training data比较小的时候,训练结果比较好,在training data比较多的时候,CNN就没有办法从更大量的训练资料中得到好处了。作者:匿名用户https://www.zhihu.com/question/448924025/answer/1784363556有相似性,但是也有差异。CNN可以认为是在每个位置与固定的静态的模板做内积,是局部的投影,而attention是在不同位置之间计算内积,某种意义上可以看作一个distance metric,其中的加权矩阵其实是定义了一种distance metric。从更普遍一点的意义上,CNN是更加local的,self-attention更多强调relation. 说CNN是一种特殊的退化的attention也许更合适一点。作者:林建华https://www.zhihu.com/question/448924025/answer/1793085963我认为CNN的卷积层和self-attention不是一回事情.self-attention的K和Q都由数据产生, 所以是反应数据内部的关系CNN卷积层可以看成由参数组成的K和不同数据产生的Q, 反应的是数据和参数的关系.也就是说self-attention通过参数构建了不同的空间, 使得数据在不同空间中呈现不同的自相关性质而CNN卷积通过参数, 构建了某些固定的特征, 通过统计数据在这些特征上的表现来进行后面的处理作者:阿良https://www.zhihu.com/question/448924025/answer/1786277036cnn的核心在于使用局部特征获取全局特征。可以说每次将注意力放在局部的卷积核。最后通过局部卷积核特征形成整体的特征表示。自注意力机制是重点还有个自己的自,自己和自己进行计算,它的好处在于通过自注意力机制能够对每个词能够融入全局的信息,目的是借助全局信息帮助局部特征更好表示。所以cnn是局部到整体,自注意力机制是整体辅助局部。如果硬要将cnn与注意力扯上关系,我个人理解可以看成是局部注意力(注意没有自字)作者:alueahttps://www.zhihu.com/question/448924025/answer/179309914调转一下顺序,self-attention是一种强归纳偏置的CNN。这不难理解,我们来看一下self-attention具体做了什么。假设,对于一层self-attention,存在a、b、c、d四种侯选特征可同时输入,而仅有ac、bd两种combine的嵌入表示对下游任务有贡献。那么self-attention就会注意这两种combine而遮掩其他特征;比如,[a,b,c]->[a',0,c']。Ps. a'表示a的输出表征。对于一层CNN,就比较直白,有一说一,[a,b,c]->[a',b',c']。那么CNN可不可以完成像self-attention的功能,完全可以,再加一层CNN弄两个过滤器一个滤ac;一个滤bd就完事了。当然我CNN完全可以不这么干,也能拟合分布;而self-attention必须这么干,所以这是一种更强的归纳偏置。关于归纳偏置的重要性,这里就不赘述了。
  • [算子编译] mindspore的conv2d算子支持不对称卷积吗
    import torcha = torch.randn(1,32,5,5)  # 创建一个1x32x5x5的输入,BNWH格式conv3x1 = torch.nn.Conv2d(32,32,(3,1))    # 3x1卷积conv1x3 = torch.nn.Conv2d(32,32,(1,3))    # 1x3卷积请问mindspore咋表示这个例子哩,请大佬指教,谢谢!!!