Inception Transformer解读

论文地址:https://arxiv.org/abs/2205.12956v2

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

截至2022.6.14尚未公开

主要内容:本文针对Transformer捕获高频的局部信息时表现出的不足,提出Inception Transformer混合架构(iFormer)。灵活移植Inception的卷积与最大池化,并以通道拆分机制来提高效率和频率斜坡结构来权衡高低频分量。

1. 摘要

        Transformer在构建远程依赖关系表现不错,但是捕捉高频信息就不太行。图像中的低频信息和高频信息也叫做低频分量和高频分量。其中高频信息包括图像强度(亮度/灰度)变化剧烈的像素点,例如局部的边缘和纹理。而低频信息则包括图像强度(亮度/灰度)变换平缓的像素点,例如场景或物体的全局形状和结构。如图所示,将原图进行高低频信号分离后,可以很明显看出高频信号相比低频包含显著的边缘与轮廓信息。

Inception Transformer解读_第1张图片

         Transformer捕捉高频信息=处理局部信息存在问题。为了解决这个问题,本文提出了Inception Transformer,简称iFormer,可以有效学习低频和高频信息。灵活移植Inception的卷积与最大池化,并以通道拆分机制来提高效率和频率斜坡结构来权衡高低频分量。

2.创新点

文章的框架图如图:是一个多层级的框架,每个stage图片大小和通道都发生变化。

iFormer block结构在图右,和一般的encoder很像,原来 Multi-head的地方被本文提出的Inception Mixer代替。

Inception Transformer解读_第2张图片

 

本来的主要创新点就是Inception token Mixer(ITM) ,如下图所示,maxpooling和DWConv两个分支作为高频混合器(High-frequency mixer),attention分支作为低频混合器。

Inception Transformer解读_第3张图片

 1. High-frequency mixer

拿到特征图X∈R^{NXC},channel一分为二,一半给高频混合器,

 一半给低频混合器,

其中:C_{l}+C_{h}=C

 高频里面做了两个分支,通道继续一分为二。maxpool分支表示为Y_{h1} = FC (MaxPool (X_{h1})),DWConv分支表示为\large Y_{h2} = DwConv (FC (X_{h2}))

Inception Transformer解读_第4张图片

2.Low-frequency mixer 

低频就比较简单了,比一半的多头注意力,多了一个在进入注意力计算前的一个 average pooling层用来降低计算参数量,也是目前transformer里面降参的常用方法了。\large Y_{l} = Upsample (MSA (AvePooling (X_{l}))) 

(这里要注意一下前两个stage,pooling和upsample的 kernel size和stride是2)

Inception Transformer解读_第5张图片

 

3.Fusion

因为还用了一个上采样的邻近插值办法,文中提到这样会导致相邻点的过度平滑,所以在将低频和高频混合器输出沿着channel维度concat后,使用了一个Fusion模块。即一个深度可分离卷积和一个跨通道的线性层。

 \large Y_{c} = Concat (Y_{l}, Y_{h1}, Y_{h2}) .

\large Y = FC (Y_{c} + DwConv (Y_{c})) .

Y就是最终Inception Token Mixer的输出。接下来的操作和一般encoder一样。残差后经过一个FFN输出。

最终the Inception Transformer block的公式表示如下:

Inception Transformer解读_第6张图片

 ITM是Inception Token Mixer,FFN是前馈神经网络(两个线性层+ReLU,不知道的去看attention is all you need那篇文章)

4.Frequency ramp structure(斜坡策略)

这个比较好理解了,底层在捕捉高频细节方面发挥着更多的作用,而顶层在建模低频全局信息方面发挥着更多的作用。所以就将更多的通道从较低层到较高层逐渐分割给低频混频器,减少高频混合器的通道数。具体来说,主干有四个阶段,具有不同的通道和空间维度。对于每个块,我们定义了一个信道比,以更好地平衡高频和低频分量。低频比上升,高频比下降,达到了想要的效果。

 

 从消融实验中可以看出,所提的混合器和斜坡策略都起到了效果。Inception Transformer解读_第7张图片

 可视化结果:iFormer注意到了鸟脚的树枝,说明是学习到了局部的信息

 

Inception Transformer解读_第8张图片

ImageNet-1K分类结果:

Inception Transformer解读_第9张图片

 384 × 384 在 ImageNet-1K微调结果Inception Transformer解读_第10张图片

 COCO val2017结果:

Inception Transformer解读_第11张图片 语义分割结果:

Inception Transformer解读_第12张图片

 总结:文章看起来,这个Mixer和斜坡策略还是比较有意思的,用卷积减少了transformer的参数量。实现起来也很简单。缺点是设计了频率斜坡结构。当然缺点也是显而易见的:需要手动设定通道比。这样对于不同的任务,需要一定的经验才可以很好的完成这项工作。

 

你可能感兴趣的:(transformer,transformer,深度学习,人工智能)