• 论文阅读笔记MixFormer: Mixing Features acrossWindows and Dimensions


    1 论文简介

    论文标题:

    MixFormer: Mixing Features acrossWindows and Dimensions

    论文地址:

    [2204.02557] MixFormer: Mixing Features across Windows and Dimensions (arxiv.org)

    论文单位:

    Baidu VIS

    Institute of Automation, Chinese Academy of Sciences(中国科学院自动化所)

    代码地址:

    https://github.com/PaddlePaddle/PaddleClas

    https://github.com/chensnathan/PaddleClas/blob/release/2.3/ppcls/arch/backbone/model_zoo/mixformer.py

    2 摘要abstract

    local-window self-attention 在视觉任务上的表现瞩目,但是它有以下两个缺点:

    感受野有限receptive field limited, 建模能力弱weak modeling capability

    出现上述两个缺点的原因是,self-attention的计算是在无重叠的窗口(non-overlapped windows)上完成的,并且在通道维度上共享了权重(shares weights on the channel dimension)。

    此论文的改进:

    • 使用一种平行的设计(parallel design)结合了local window self-attention 与depth-wise conv
    • 在分支间进行双向交互,这样可以在通道和空间维度上获得补充的线索(complementary clues,ps这里实在不知道怎么翻译)

    结合以上两个改进,此论文实现了在窗口和维度之间(windows and dimensions)更加有效的特征融合。

    此论文的方法的效果:

    分类任务,与EfficientNet相当,优于RegNet和Swin Transformer

    下游任务(downstream tasks)强于其他模型。(MS COCO, ADE20K, LVIS)

    3 总结Conclusion

    此论文提出了MixFormer作为一个通用的视觉transformer

    此论文缓和了感受野受限以及建模能力不够的问题。

    此论文的方法通过结合local window 和 depth-wise convolution的平行设计,不需要移动或者混合窗口就可以增大感受野。

    双向的交互增强了通道和空间维度上的建模能力。

    大量的实验显示了MixFormer在分类任务和其他下游视觉任务上优于其他模型。

    4 方法Method

    此论文主要提出了两个关键设计:(1)使用平行设计结合了local-window self-attention和depth-wise convolution   (2) 在分支间引入了双向交互。以上两个关键设计解决了感受野受限和建模能力不足的问题。

    下图是融合了这两个关键设计的Mixing Block的图示。

    4.1 平行设计Parallel Design

    问题:在互无重叠的窗口间进行self-attention计算使得计算更加高效快捷,但是因为窗口间没有信息交流,使得感受野受限。

    以前的办法:使用shift,shuffle,convolution等操作连通不同的窗口。

    此论文认为卷积层被设计用于建模局部(local)关系,所以此论文使用卷积(depth-wise conv)去解决这个问题。

    问题:如何将local window self-attention和depth-wise conv结合

    以前的办法:交替级联地堆叠这两个算子(operator),但是这样做会减少窗口内和窗口间的关系的交织(make these two types of relations less interweaved, intra-window and cross-window relations)

    所以此论文中提出了一种平行设计(parallel design) 去同时捕获窗口内和窗口间的关系,从而增大感受野。(如上图所示)

    local window self-attention的计算中使用7*7的窗口大小;depth-wise conv中使用3*3的卷积核。在这以后使用不同的norm层对结果做处理,然后concat拼接,得到的结果送入级联的FFN(Feed-Forward Network)中去混合学习到的关系,生成最后的特征。

    平行设计的两个优点:

    (1)融合了local-window self-attention 与depth-wise conv,在不同的窗口之间建立了连接,解决了感受野受限的问题。

    (2)平行设计同时建模了窗口内和窗口间的关系,使得不同分支间的特征得到了交流,实现了更好的特征表示学习。

    4.2 双向交互Bi-directional Interactions

    问题:权重共享限制了在共享维度上的建模能力

    local window self-attention在空间维度上计算权重,同时跨通道共享权重,使得它在通道维度上的建模能力不足。

    以前的办法:与动态网络(dynamic networks)类似,生成数据独立的(data-dependent)权重

    此论文尝试生成通道维度的动态权重(channel-wise dynamic weights)。

    depth-wise conv在空间维度上共享权重,在通道维度上进行计算。它能够与local window self-attention相互补。因此此论文提出了双向交互。

     双向交互由通道交互(channel interaction)和空间交互(spatial interaction)两个平行的分支组成。

    depth-wise conv的信息通过channel interaction流向另一个分支,加强了通道维度的建模能力;

    来自local-window self-attention的空间关系通过spatial interaction流向另一个分支。

    双向交互为两个分支提供了互补的信息,两个交互的详细结构如上图。

    channel interaction的结构与SE layer的设计一样。

    4.3 混合模块Mixing Block

    根据上面的两个重要改进,此论文整合构建了一个新的Tranformer Block叫做Mixing Block

    FFN使用的原始的MLP结构,因为对比了使用PVTv2与HRFormer时的效果并没有太大提升。

    4.4 MixFormer

    基于Mixing Block提出了MixFormer网络,结构如下图

  • 相关阅读:
    java计算机毕业设计基于安卓Android的宿舍服务平台APP
    聊聊工业界“AI算法创新”乱象
    【Linux】环境变量
    博客园商业化之路-众包平台:从第一单看基于「开发任务」的定位
    el-table操作列动态自适应设置(根据操作项个数动态设置宽度)
    并查集(按秩合并,路径压缩)
    防抖和节流是什么?防抖和节流的使用场景(附源代码分享)
    基于SSM的医院科室人员管理系统
    【Javascript】等于与全等于
    VCS编译时如何加载shared library(.so)库
  • 原文地址:https://blog.csdn.net/lvdoujack/article/details/126333203