当前位置: 首页 > 科技观察

将大核卷积分为三步,清华胡世民团队为新视觉Backbone清单分三大任务

时间:2023-03-20 15:46:12 科技观察

本文经AI新媒体量子位授权转载(公众号ID:QbitAI),转载请联系出处。在视觉任务方面,CNN和ViT各有优缺点。因此,在经典Backbone的基础上,在细节上取长补短,成为近期的热门研究方向。此前,微软的SwinTransformer引入了CNN的滑动窗口等特性,获得下游任务马尔奖。后来ConvNeXTwithMetaAI在ViT上使用了很多技巧,神奇地修改了ResNet,实现了性能上的反超。现在一个新的Backbone——VAN(VisualAttentionNetwork,视觉注意力网络)再次引起了学术界的关注。因为新机型再次刷了榜单的三大视觉任务,所以再次对比了以上两者。VAN号称同时吸收了CNN和ViT的优点,简单高效,精度更高,参数和计算量更小。VAN来自清华极图胡世民团队。他们提出一个标准的大核卷积可以拆解成三个部分:深度卷积(DW-Conv)、深度扩展卷积(DW-D-Conv)和1×1体积积(1×1Conv)。更重要的是,增加一个逐元素相乘的步骤可以获得类似注意力的效果。该团队将新的卷积模块命名为LKA(LargeKernelAttention)。论文最后还提到,目前的VAN只是直觉的原始版本,没有经过仔细打磨,这意味着未来还有很大的改进空间。(代码已经开源,地址在文末)拆解大核卷积可以看做是一种注意力机制,可以理解为一种自适应选择过程,可以根据输入并自动忽略噪音。关键步骤是学习输入数据的长距离依赖关系以生成注意力图。有两种常见的方法来生成注意力图。首先是来自NLP的self-attention机制,但是在视觉上还是有一些不足。例如,将图像转换为一维序列会忽略其二维结构。第二种是视觉大核卷积的方法,但是计算开销太大。为了克服上述问题,团队提出的LKA方法将大核卷积拆解为三部分。设扩展区间为d,一个KxK的卷积可以分解为一个K/dxK/d的深度扩展卷积,一个(2d?1)×(2d?1)的深度卷积核,一个1x1的点-明智的卷积。△c为通道做这件事,在捕获长距离依赖的同时节省了计算开销,还可以进一步生成attentionmaps。LKA方法不仅结合了卷积和self-attention的优点,还获得了通道适应性。在CNN中,LKA方法类似于MobileNet的两部分拆解法,加入深度扩展卷积可以捕获长距离依赖。与ViT相比,它解决了self-attention的二次复杂度对于高分辨率图像计算过于昂贵的问题。MLP架构中的gMLP也引入了attention机制,但是它只能处理固定分辨率的图像,并且只关注全局特征,忽略了图像的局部结构。从理论上讲,LKA方法在克服上述缺点的同时综合了各方的优点。那么,实际效果如何呢?新Backbone的三大任务刷榜按照LKA方法设计的新Backbone网络VAN延续了经典的四阶段设计,具体配置如下。每个阶段的结构如图所示,其中下采样率由步长控制,CFF代表卷积前馈网络(convolutionalfeed-forwardnetwork)。假输入和输出具有相等的宽度、高度和通道数,可以计算计算复杂性。其中,当卷积核大小(K)为21时,扩展间隔(d)设置为3以最小化参数量,因此这是默认配置。该团队认为,这种配置非常适合提取全局特征和局部特征。最终,不同尺度的VANs在ImageNet上的准确率超过了各种CNNs、ViTs和MLPs。在COCO2017的目标检测任务中,VAN也领先于Backbone多种检测方法的应用。ADE20K语义分割任务也是如此。并且如前所述,VAN在没有仔细打磨的情况下完成了榜单上的三大任务,未来仍有提升空间。对于未来的改进方向,团队表示可能会尝试更大的卷积核,从Res2Net引入多尺度结构,或者Inception中的多分支结构。另外,利用VAN进行图像自监督学习和迁移学习,甚至是否可以用于NLP,还有待后续探索。作者介绍,该论文来自清华大学计算机系胡世民团队。胡世民教授是清华大学计划框架团队的负责人,这是中国高校开源的第一个深度学习框架。博士研究生郭孟浩,目前就读于清华大学计算机系,同时也是策划组成员。本文代码已经开源,提供Pytorch版和规划框架两个版本。团队之前有一篇视觉注意力的复习,在arXiv上一炮而红。GitHub仓库视觉注意力论文集Awesome-Vision-Attentions也有1.2kstars。最后,八卦一下,难道是团队研究了各种视觉注意力机制才想出这个新idea的?也是666。论文地址:https://arxiv.org/abs/2202.09741GitHub地址:https://github.com/Visual-Attention-Network