【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 C个通道,将其分为 C h C_h Ch C l C_l Cl 个通道,分别用于提取高频和低频特征。对于高频特征,均匀分为两部分 X h 1 X_{h1} Xh1 X h 2 X_{h2} Xh2(均为 C h / 2 C_h/2 Ch/2个通道),进行下面操作:

Y h 1 = FC ( MaxPool ( X h 1 ) ) Y_{h1}=\text{FC}(\text{MaxPool}(X_{h1})) Yh1=FC(MaxPool(Xh1))

Y h 2 = DwConv ( FC ( X h 2 ) ) Y_{h2}=\text{DwConv}(\text{FC}(X_{h2})) Yh2=DwConv(FC(Xh2))

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

最后,高频和低频的结果直接拼接在一起: Y c = Concat ( Y l , Y h 1 , Y h 2 ) Y_c=\text{Concat}(Y_l, Y_{h1}, Y_{h2}) Yc=Concat(Yl,Yh1,Yh2)

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

3、总体架构

请添加图片描述

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

请添加图片描述

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

请添加图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值