[Transformer] Inception Transformer

Inception Transformer混合架构!iFormer:灵活移植Inception的卷积与最大池化icon-default.png?t=M5H6https://mp.weixin.qq.com/s/ALj8LMcq2qKMhh1J0nwlDg

本片笔记主要参考上述文章

iFormer:Inception Transformer

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

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

一、图像高低频

图像中的低频信息和高频信息也叫做低频分量和高频分量。其中高频信息包括图像强度(亮度/灰度)变化剧烈的像素点,例如局部的边缘和纹理。而低频信息则包括图像强度(亮度/灰度)变换平缓的像素点,例如场景或物体的 全局形状和结构。如图1所示,将原图进行高低频信号分离后,可以很明显看出高频信号相比低频包含显著的边缘与轮廓信息。

一般地,在图像处理中,高频特征图更有利于显著性检测。然而如何区分图像高低频,则可以使用设置阈值的方法来划分。

二、为什么要用Inception?

ViT系列架构在建模远距离依赖关系时表现出强大的能力,这得益于self-attention的全局计算方式,然而在捕获更多全局信息(低频)的同时,却忽略了局部信息(高频)同样重要。

作者等人对ViT进行傅里叶频谱和相对对数振幅可视化比对,证明了上述结论,即ViT拥有对低频信号的偏好。

显然这种架构是不合理的,一味地捕获低频信息可能会恶化高频成分从而削弱ViT系列架构的性能,同时如上所述,高频信息在图像处理中更有利于显著性检测、细粒度分类任务等等。

因此一种能合理捕获并利用高低频信息的架构值得被提出。而卷积因其局部计算的特点,可以有效的提取高频信息,尽管目前已有不少工作将卷积神经网络与Transformer相结合,但缺点十分明显:

串联的结合方式,将导致在一层仅对一个方面进行建模,如在卷积层对局部建模,在Transformer层对全局建模。这样的结合方式并不能做到二者兼顾。

并行的结合方式,一般用一个分支处理局部信息,另一个分支用于处理全局信息。显而易见这样的方式如果对所有通道进行处理,将带来信息冗余。

而Inception结构可以很好的处理并行结合带来的问题,只需在进入分支前划分合适的通道即可。同时对于不同深度的层对于高低频信息的需求量不同,可以控制划分不同的通道数来适应深度。作者等人将iFormer进行特征图的傅里叶谱可视化,其结构如下所示:

可以看到 iFormer 在第 6 层捕获更多高频分量,在第 18 层捕获更多低频信息。同时高频信息从第 6 层逐渐减少到第 18 层,而低频信息则相反。

三、Inception Transformer剖析

Inception token mixer

如图所示,输入特征沿通道维度被切分为Ch和Cl,分别被送入High-frequency mixer和Low-frequency mixer。

其中High-frequency mixer由两个分支组成,如图,第一个分支包含最大池化和一个线性层,第二个分支由串联的线性层和深度卷积层组成。

特征通道为Ch在的特征图输入这两个分支前,被均分为二。

在Low-frequency mixer中,仅由一个单独的分支所构成。利用self-attention来学习全局特征。由于自注意力在大分辨率特征图上导致巨大的计算代价,这里利用平均池化来减轻计算负担。最后的Upsample则用以恢复维度。

 由于上采样操作是利用每个点周围的值来进行插值,忽略了其他的点,容易造成相邻token之间的过度平滑。因此设计一个fusion模块来解决这个问题:

利用深度卷积进行patch之间的信息交换,同时保留之前Transformer中的跨通道线性层。

为什么要分成两个分支去学习高频分量呢?

Considering the sharp sensitiveness of the maximum filter and the detail perception of convolution operation

事实上,对于高频分量的计算,如果仅使用一个简单的卷积去提取,效果一定是大打折扣的。本文设计其为分支结构,一个分支用以最大池化,计算局部最大值;一个分支用以深度卷积,在有效减轻参数量的情况下来提取局部特征,即高频分量。最终将二者的计算结果相融合,得到的效果远非一个简单的局部卷积可比。
 

Inception Transformer

如图所示,iFormer包含四个阶段。每一个iFormer Blocks的结构如图4最右侧所示,除了上文介绍过的Inception Mixer外,增加了残差连接与与前馈层来提升模型性能。

Frequency ramp structure

为解决并行结合方式带来的问题,需要在进行分支前划分不同的通道数。而在网络的不同深度,对高低频信息的需求量也不同。

在视觉结构中,底层更多地提取高频细节,而顶层更多地对低频全局信息进行建模。

通过捕捉高频部分的细节信息,底层可以得到初级的视觉特征,并逐步收集局部信息来实现对输入的全局理解。

因此我们提出了一个Frequency ramp structure,从底层向顶层逐步地分配更多的通道数给低频mixer。Ch/C和Cl/C代表的是Ch和Cl分别占C的比例,且二者和为1。

Ch/C逐渐减小,Cl/C逐渐增大。由此,iFormer可以有效的权衡高频和低频部分。

本文的具体通道划分如下表所示:

四、性能对比

1. 分类

对于20M左右的小容量模型来说,iFormer优于SOTA的ViTs和混合ViTs,尽管已经有一些ViTs(Swin、Focal、CSwin等)引入了类似卷积的inductive bias,混合ViTs直接在ViTs中引入了卷积。我们的iFormer-S比SOTA的ViTs(CSwin-T)和混合ViTs(UniFormer-S)分别取得了0.7%和0.5%的性能提升。

对于50M左右的中等容量模型来说,iFormer-B实现了84.6%的top-1准确率,比SOTA的ViTs和混合ViTs分别取得了1.0%和0.7%的性能提升。与CNN比较,iFormer-B比 ConvNeXt-S提升了1.5%。

表2报告了较大分辨率(即384×384)的微调精度。可以看到iFormer在不同的计算设置始终优于其他网络。这些结果清楚地证明了iFormer在图像分类方面的优势。

2. 目标检测和语义分割

COCO数据集上,iFormer比ResNet backbones网络提升8.2 APB,7.5APM。

比Transformer backbones网络(Uniformer-B,Swin-S)提升0.9APB和3.5APM。

ADE20K上的语义分割结果:iFormer在减少参数量的同时提高了性能。

消融实验

Mixer:remove其中的一些分支来看结果。效果最好的是同时使用Attention、maxpool和dwconv,不仅减少了参数量还提高了精确度。图4是这三个组件分支的傅里叶谱。attention更关注低频,而conv和maxpool更关注高频。

Frequency ramp structure:调整Ch和Cl的比例变化趋势。

图5 对网络进行Grad-CAM可视化展示。与Swin相比,iFormer能够更精准和完整地定位物体。比如图中被树枝分割开的鸟的两部分。

五、总结

ViT系列模型对局部信息(高频)捕获能力不足,因此有必要结合卷积来弥补性能损失。针对现有并行结合方式存在的计算冗余,提出通道划分原则来缓解。

为契合人类视觉系统,即高频分量中的细节有助于较低层捕捉视觉基本特征,并逐渐收集局部信息以对输入有全局理解,设计了Frequency ramp structure。当然缺点也是显而易见的:需要手动设定通道比。这样对于不同的任务,需要一定的经验才可以很好的完成这项工作。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值