1.引言
最初自注意力机制(self-attention)的提出是在NLP领域,但是由于其全局特征提取的能力,自注意力机制很快就席卷了CV领域。但是对于2D的图像,self-attention有以下不足:(1)将图像铺成1D序列损失了2D结构信息。(2)平方复杂度使得高分辨率的图片(如800*800)计算开销太大了。(3)仅仅提取了空间上的适应性,而忽视了通道channel维度的适应性。因此,基于LKA(Large Kernel Attention)提出一种新的网络架构VAN。尽管架构比较简单,就是DWConv+DWDilationConv+PWConv的叠加,但是它的表现却能与当前SOFT的视觉Transformer以及CNN相媲美。作为一种通用的骨干网络,在图像识别、目标检测、语义分割以及个体分割等下游任务中均取得很好效果。
2.实现方法
注意力模块的实现主要有两种,一是Transformer中的self attention,但是对于2D图像有三种缺陷;二是使用大核卷积(类似于MobileNet_V3中使用的SE模块),但是参数太多,计算开销过大。因此就提出将大核注意力模块分解的思想。
2.1大核注意力模块LKA
将大的卷积核分解成DWConv+DWDilationConv+PWConv的形式,
(1)DWConv提取局部细致特征
(2)DWDilationConv提取大范围特征
(3)PWConv提取通道C维度上的特征
经过以上三个阶段,计算得到对应像素点的权重。
3.整体架构
计算参数:
普通卷积:卷积核H*卷积核W*输入通道数*输出通道数
DW卷积:卷积核H*卷积核W *输出通道数
由表5可以看出,d=3,K=21精度基本饱和并且计算参数不算多。
由表1可以看出,VAN综合考虑了局部特征、大范围特征、空间适应性以及通道维度的适应性。
VAN由4个stage组成。每个stage由LKA模块以及前馈神经网络CFF组成,整体架构与transformer的self-attention+两层MLP的架构非常类似。(在ConNeXt中提到过,transformer表现的好与其架构的设计是分不开的)
与swin-transformer一致,每个stage第一个block都进行下采样down sample,模块图像分辨resolution都减小,而通道数channels增加。文中通过控制卷积的滑移步长stride来控制下采样率。除第一个block下采样外,其余block的输入输出特征图保持一致。
4.结果
4.1试验细节
在ImageNet上进行试验,数据增强方面,random clipping, random horizontal flipping, label-smoothing [59], mixup [102],cutmix [100] and random erasing [105] 。使用AdamW优化器训练了310个epochs,momentum=0.9, weight decay=5 × 10−2。初始学习率LR=5 × 10−4,使用下降的余弦cosin学习率,Layer-Scale技术,batch_size=1024,Exponential moving average (EMA)来提高训练过程。
4.2在ImageNet上实验结果
由表6可知,VAN在top1上均取得最好的准确率,这还是在作者根据直觉调出的架构,相信对架构参数一些细节优化后,肯定还能提点。因为VAN综合了VIT和CNN,使用注意力综合了全局信息,又对局部细节进行了细致的处理。
消融实验
DWConv+DWDilationConv+PWConv缺一不可,
缺少DWConv,准确率下降0.5%;
缺少DWDilationConv,准确率下降1.3%,
缺少注意力机制,准确率下降1.1%;
缺少PWConv,准确率下降0.8%。
5.可视化分析
使用Grad-CAM进行可视化发现,在捕捉大范围特征的能力上优于SWIN_T以及ConvNeXt。
6.未来展望
(1)只是直觉的提出架构,架构参数还可继续优化。
In this paper, we only demonstrate an intuitive structure. There are a lot of potential improvements such as adopting different kernel size, introducing multi-scale structure and using multi-branch structure.
(2)大规模的自监督学习以及迁移学习。
综合了ViT与CNN架构的优势,能有提取2D结构的特征并且可根据输入动态的调整输出。
we believe VAN can achieve better performance in image self-supervised learning and transfer learning field.
python的学习还是要多以练习为主,想要练习python的同学,推荐可以去看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费。
他们这个python的练习题,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了Python入门的全部知识点以及全部语法,通过知识点分类逐层递进,从Hello World开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
牛客网(牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网)还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。
快点击下方链接学起来吧!