【ARXIV2205】Inception Transformer

请添加图片描述

【ARXIV2205】Inception Transformer

论文:https://arxiv.org/abs/2205.12956

代码:https://github.com/sail-sg/iFormer

1、研究动机

这个论文的核心思想仍然是:把 attention 和 CNN 相结合(谷歌的Inception),但是出发点不太一样。作者给出了VIT的 傅立叶谱,发现能量基本上集中于低频部分,对于图像中的边缘、角点等高频信息提取不足。(其实很好理解,attention本质类似于全局的加权求和,对于局部信息就有所损失了)

请添加图片描述

2、 Inception mixer

论文的主要贡献是改进了 attention ,提出了新的模块: Inception mixer。作者的想法非常直接,如下图所示,在现有的VIT结构中加入高频分支!

(1)高频分支。 可以看出,高频分支来自于经典的 Inception(如下图所示),其中的 linear 层本质就是 1x1 卷积。

对于输入的特征为\(C\)个通道,将其分为 \(C_h\)\(C_l\) 个通道,分别用于提取高频和低频特征。对于高频特征,均匀分为两部分 \(X_{h1}\)\(X_{h2}\)(均为\(C_h/2\)个通道),进行下面操作:

\[Y_{h1}=\text{FC}(\text{MaxPool}(X_{h1})) \]

\[Y_{h2}=\text{DwConv}(\text{FC}(X_{h2})) \]

(2)低频分支。 低频分支为传统的 MHSA,因为另外的分支带来了额外的计算量,因此这个分支首先进行 average pooling 操作,然后进 MHSA 计算以后再进行 upsample 操作。

最后,高频和低频的结果直接拼接在一起:\(Y_c=\text{Concat}(Y_l, Y_{h1}, Y_{h2})\)

最后,因为低频上采样操作中直接插值,导致相邻 token 之间过度平滑和相似,为了解决这一问题,作者加一个DwConv,具体为:\(Y=\text{FC}(Y_c+\text{DwConv}(Y_c))\)

3、总体架构

请添加图片描述

作者采用了当前主流的4阶段 transformer 架构,构建了 small, base, large 三个模型,具体细节如下表所示。从表中可以看出,在网络浅层阶段,高频(conv)占比重较大,低频(MHSA)占比重较小。在网络深层阶段,就反过来了。这和当前主流卷积和Transformer结合方法的结论基本一致。同时,在结论中,作者也承认,高频和低频之间的比例需要根据经验来确定,是这个方法的 limitation。

请添加图片描述

该方法在图像分类任务上取得了非常好的性能。作者还做了目标检测、语义分割的实验,详细可以参照作者论文。

请添加图片描述

posted @ 2022-07-11 20:45  高峰OUC  阅读(204)  评论(0编辑  收藏  举报