论文标题:
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
local-window self-attention 在视觉任务上的表现瞩目,但是它有以下两个缺点:
感受野有限receptive field limited, 建模能力弱weak modeling capability
出现上述两个缺点的原因是,self-attention的计算是在无重叠的窗口(non-overlapped windows)上完成的,并且在通道维度上共享了权重(shares weights on the channel dimension)。
此论文的改进:
结合以上两个改进,此论文实现了在窗口和维度之间(windows and dimensions)更加有效的特征融合。
此论文的方法的效果:
分类任务,与EfficientNet相当,优于RegNet和Swin Transformer
下游任务(downstream tasks)强于其他模型。(MS COCO, ADE20K, LVIS)
此论文提出了MixFormer作为一个通用的视觉transformer
此论文缓和了感受野受限以及建模能力不够的问题。
此论文的方法通过结合local window 和 depth-wise convolution的平行设计,不需要移动或者混合窗口就可以增大感受野。
双向的交互增强了通道和空间维度上的建模能力。
大量的实验显示了MixFormer在分类任务和其他下游视觉任务上优于其他模型。
此论文主要提出了两个关键设计:(1)使用平行设计结合了local-window self-attention和depth-wise convolution (2) 在分支间引入了双向交互。以上两个关键设计解决了感受野受限和建模能力不足的问题。
下图是融合了这两个关键设计的Mixing Block的图示。

问题:在互无重叠的窗口间进行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)平行设计同时建模了窗口内和窗口间的关系,使得不同分支间的特征得到了交流,实现了更好的特征表示学习。
问题:权重共享限制了在共享维度上的建模能力
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的设计一样。
根据上面的两个重要改进,此论文整合构建了一个新的Tranformer Block叫做Mixing Block
FFN使用的原始的MLP结构,因为对比了使用PVTv2与HRFormer时的效果并没有太大提升。

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