作者丨Ziyang Li
编辑丨极市平台
写在前面的话
当以平衡网络宽度与深度著称的Inception与以建模远程依赖关系著称的Transformer相遇,会擦出怎样的火花?本文针对Transformer捕获高频的局部信息时表现出的不足,提出Inception Transformer混合架构(iFormer)。灵活移植Inception的卷积与最大池化,并以通道拆分机制来提高效率和频率斜坡结构来权衡高低频分量。代码将开源。
论文地址:https://arxiv.org/abs/2205.12956v2
代码地址:https://github.com/sail-sg/iFormer
一、预备知识——什么是图像高低频?
图像中的低频信息和高频信息也叫做低频分量和高频分量。其中高频信息包括图像强度(亮度/灰度)变化剧烈的像素点,例如局部的边缘和纹理。而低频信息则包括图像强度(亮度/灰度)变换平缓的像素点,例如场景或物体的全局形状和结构。 如图1所示,将原图进行高低频信号分离后,可以很明显看出高频信号相比低频包含显著的边缘与轮廓信息。
图1:图像高低频比较。(取自论文《Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convol》)
一般地,在图像处理中,高频特征图更有利于显著性检测。然而如何区分图像高低频,则可以使用设置阈值的方法来划分。
二、为什么要用Inception?
ViT系列架构在建模远距离依赖关系时表现出强大的能力,这得益于self-attention的全局计算方式,然而在捕获更多全局信息(低频)的同时,却忽略了局部信息(高频)同样重要。
作者等人对ViT进行傅里叶频谱和相对对数振幅可视化比对,证明了上述结论,即ViT拥有对低频信号的偏好。
图2:(a) ViT和iFormer的傅里叶光谱。(b) 傅里叶变换的特征图的相对对数振幅。
显然这种架构是不合理的,一味地捕获低频信息可能会恶化高频成分从而削弱ViT系列架构的性能,同时如上所述,高频信息在图像处理中更有利于显著性检测、细粒度分类任务等等。
因此一种能合理捕获并利用高低频信息的架构值得被提出。而卷积因其局部计算的特点,可以有效的提取高频信息,尽管目前已有不少工作将卷积神经网络与Transformer相结合,但缺点十分明显:
- 串联的结合方式,将导致在一层仅对一个方面进行建模,如在卷积层对局部建模,在Transformer层对全局建模。这样的结合方式并不能做到二者兼顾。
- 并行的结合方式,一般用一个分支处理局部信息,另一个分支用于处理全局信息。显而易见这样的方式如果对所有通道进行处理,将带来信息冗余。
而Inception结构可以很好的处理并行结合带来的问题,只需在进入分支前划分合适的通道即可。同时对于不同深度的层对于高低频信息的需求量不同,可以控制划分不同的通道数来适应深度。作者等人将iFormer进行特征图的傅里叶谱可视化,其结构如下所示:
图3:iFormer的特征图傅里叶谱可视化。
可以看到 iFormer 在第 6 层捕获更多高频分量,在第 18 层捕获更多低频信息。同时高频信息从第 6 层逐渐减少到第 18 层,而低频信息则相反。
三、Inception Transformer剖析Inception token mixer
图4:Inception token mixer的详细结构。
如图所示,输入特征沿通道维度被切分为和,分别被送入High-frequency mixer和Low-frequency mixer。
其中High-frequency mixer由两个分支组成,如图,第一个分支包含最大池化和一个线性层,第二个分支由串联的线性层和深度卷积层组成。
特征通道为在的特征图输入这两个分支前,被均分为二,即 -> + 。
为什么要分成两个分支去学习高频分量呢? 作者等人解释为“考虑到最大滤波器的敏感性和卷积运算的细节感知”。事实上,对于高频分量的计算,如果仅使用一个简单的卷积去提取,效果一定是大打折扣的。本文设计其为分支结构,一个分支用以最大池化,计算局部最大值;一个分支用以深度卷积,在有效减轻参数量的情况下来提取局部特征,即高频分量。最终将二者的计算结果相融合,得到的效果远非一个简单的局部卷积可比。
在Low-frequency mixer中,仅由一个单独的分支所构成。平均池化的操作一方面是为了减轻计算负担,另一方面,“平均”后的特征图可以为接下来的全局学习带来更好的表达。该分支最后的Upsample则用以恢复维度。
Inception Transformer
图5:Inception Transformer的整体架构。
如图所示,iFormer包含四个阶段。在上文有提及,为解决并行结合方式带来的问题,需要在进行分支前划分不同的通道数。而在网络的不同深度,对高低频信息的需求量也不同。因此本文的具体通道划分如下表所示:
表1:不同版本iFormer的详细配置对比。
每一个iFormer Blocks的结构如图4最右侧所示,除了上文介绍过的Inception Mixer外,增加了残差连接与与前馈层来提升模型性能。
四、性能对比
下表展示了各模型在ImageNet-1K上的性能对比。除此之外,论文中还对COCO 2017以及ADE20K等数据集进行了性能对比。iFormer的不同容量版本均表现出优良的性能。
表2:各模型在ImageNet-1K上的性能对比。
一张效果明显的CAM可视化结果对比:(在这张图中,Swin捕获了部分无关信息,而iFormer则准确定位对象)
图6:CAM可视化结果对比。
五、思考与总结
本文重点关注以下两个问题:
- ViT系列模型对局部信息(高频)捕获能力不足,因此有必要结合卷积来弥补性能损失。紧接着针对现有并行结合方式存在的计算冗余,提出通道划分原则来缓解。
- 为契合人类视觉系统,即高频分量中的细节有助于较低层捕捉视觉基本特征,并逐渐收集局部信息以对输入有全局理解,设计了频率斜坡结构。当然缺点也是显而易见的:需要手动设定通道比。这样对于不同的任务,需要一定的经验才可以很好的完成这项工作。
在本文之前,从频率角度对网络机制进行分析的文章并不少。如在当年引起轰动的八度卷积(ICCV 2019),尽管是纯卷积的网络,但将特征图划分为高低频并行的结构,同时进行高低频并行的卷积,甚至还有高低频信息交互操作。
这些都是充分考虑应用的视觉任务而提出的方法,如高频特征图更有利于显著性检测,低频信息不可或缺等等。
本文为未来Transformer与卷积相结合的架构设计提供了一种有效的思路,也希望在未来能将理论与实际相结合,看到这样架构在现实场景中的部署~