abstract:
近年来,visual Transformer (ViT)及其后续工作抛弃了卷积,利用自关注运算,达到了与CNN相当甚至更高的准确率。最近,MLP-mixer放弃了卷积和自关注操作,提出了一个只包含MLP层的体系结构。为了实现交叉拼接通信,在信道混合MLP的基础上,设计了一个额外的令牌混合MLP。
在JFT-300M等超大规模数据集上进行训练时,取得了令人满意的效果。但是在中等规模的数据集(如ImageNet-1K)上训练时,它无法达到与CNN和ViT同行一样出色的性能。令牌混合MLP的性能下降促使我们重新思考token混合MLP。我们发现MLP-mixer中的令牌混合操作是具有全局接收场和特定空间配置的深度卷积的一种变体。
在本文中,我们提出了一种新的纯MLP架构,空间移位MLP (S2 -MLP)。与MLP混频器不同,我们的s2 -MLP只包含通道混频器MLP。我们设计了一种空间移位操作来实现补丁之间的通信。它有一个局部接收场,是空间不可知论的。同时,该方法无参数,计算效率高。在ImageNet1K数据集上训练时,所提出的S2 -MLP比MLP-mixer具有更高的识别精度。同时,S2 -MLP在ImageNet-1K数据集上实现了与ViT一样出色的性能,其架构更简单,FLOPs和参数更少。
intro:
近年来,卷积神经网络(convolutional neural networks, CNN)[23,14]在计算机视觉领域取得了巨大成功。最近,受Transformer[41]在自然语言处理中的成功启发,人们提出了vision Transformer (ViT)[9]。它用Transformer中的自关注操作代替CNN中的卷积操作,对图像不同空间位置的局部patch之间的视觉关系进行建模。ViT及其后续工作[38,46,42,28,13,44,39]已经取得了与cnn相当甚至更好的性能。与CNN需要细致的卷积核设计相比,ViT堆叠了几个标准Transformer块,减少了手工操作,减少了归纳偏差。
最近,MLP-mixer[36]提出了一种更简单的替代方案,完全基于多层感知器(MLP),以进一步减少归纳偏差。MLPmixer的基本模块由两个部分组成:通道混合MLP和令牌混合MLP。信道混合MLP将特征映射沿信道维度进行投影,从而实现不同信道之间的通信。同时,token混合维度沿着空间维度投射特征映射,利用空间位置之间的通信。在JFT-300M等超大规模数据集上进行训练[33]时,MLP-mixer获得了很好的识别精度。但在ImageNet-1K和ImageNet21K等中等规模数据集上训练时,MLP-mixer与ViT的准确率仍有差距[8]。具体来说,Mixer-Base-16[36]在ImageNet-1K上的top-1准确率仅为76.44%,而viti - base -16[9]的top-1准确率为79.67%。
MLP-mixer在ImageNet-1K上的不理想性能促使我们重新思考混合令牌MLP。给定矩阵形式的N个patch特征,X = [x1,···,xN],令牌混合MLP进行XW,其中W∈R N×M为权矩阵。很容易观察到,token混合MLP的输出XW的每一列都是patch特征(X中的列)的加权求和,求和中的权重可以看作是Transformer中的关注点。但是Transformer中的自关注依赖于数据,而token混合MLP中求和的权重与输入无关。在某种程度上,加权求和更像深度卷积[5,19,20]。而深度卷积只有局部接收场。相比之下,token混合MLP具有一个全局接收域。此外,深度卷积核在不同位置之间是共享的,而token混合MLP的求和权值在不同位置是不同的。该方法不受局部接收场的限制和空间不可知约束,具有更强的拟合能力和灵活性。但是,不打破链条的自由伴随着失去空间不变的性质。
在这项工作中,我们提出了一种空间移位MLP (S2 -MLP)架构,这是一种概念上简单的架构,仅包含信道混合MLP。为了实现空间位置之间的通信,我们采用了一种无参数且计算效率高的空间移位操作。同时,空间转移是空间不可知论的,同时保持一个局部的接收场。图1展示了S2 -MLP的架构。它将图像裁剪成w×h不重叠的小块。对于每个patch,通过全连通层获得路径嵌入。wh补丁进一步通过S2 -MLP块堆栈进行特征提取。每个S2 -MLP块包含四个完全连接的层。每个S2 -MLP块中使用的全连接层与MLP-mixer中使用的通道混合MLP具有相同的功能。但是我们的S2 -MLP不需要令牌混合MLP。
通过提出的空间移位模块实现不同的空间位置。它是无参数的,只是将通道从一个补丁转移到相邻的补丁。尽管空间移位模块只支持相邻块之间的通信,但堆叠一系列S2 -MLP块使远程通信成为可能。
S2 -MLP的架构简单而优雅。在同等规模的参数和FLOPs下,该方法在ImageNet1K数据集上的识别精度明显高于MLP-mixer。同时,该方法在ImageNet1K数据集上的识别精度与ViT相当,且结构更简单,参数更少,FLOPs更少。
提出的空间移位多层感知(S2 -MLP)模型的结构。从图像中裁剪的非重叠块是模型的输入。它们通过一堆s2 -MLP块,这些块通过全局平均池化进一步聚合成单个特征向量。之后,将特征向量馈送到全连接层中用于预测标签。一个s2 -MLP块包含四个全连接层、两个GELU层[15]、两个层归一化[1]、两个跳过连接[14]和一个空间移位模块。提出的空间移位模块将c通道分成若干组。然后它将不同的通道组向不同的方向移动。
related work:
基于transformer的视觉模型:略
基于mlp的视觉模型:MLP- mixer[36]提出了一个完全基于MLP层的概念和技术上简单的架构。为了对空间位置之间的通信建模,提出了一种令牌混合MLP。尽管MLP-Mixer在大规模数据集JFT-300M上训练时取得了令人鼓舞的结果,但在包括ImageNet-1K和ImageNet-21K在内的中等规模数据集上训练时,它不如其视觉Transformer同类。FF[30]采用了类似的架构,但继承了ViT的位置嵌入。Res-MLP[37]也设计了一个纯MLP结构,提出了一种仿射变换层,便于大量MLP块的叠加。Res-MLP使用比MLP-mixer更深的架构,实现了比MLP-mixer更高的精度和与ViT相当的识别精度。gMLP[27]设计了门控操作来增强空间位置之间的通信,实现了与DeiT相当的识别精度。EA[12]通过从训练数据中学习到的外部记忆,将自注意模块替换为外部注意模块。它是由两个线性层的级联实现的。CCS-MLP[45]重新思考了令牌混合MLP的设计,提出了一种通道特定的循环令牌混合MLP。更先进的作品[25,3,18,32]采用分层金字塔来增强代表能力。
method:
预先要知道的:
空间移动MLP结构:
空间移动MLP主干网由一个面向patch的全连接层,N个s2MLP block和一个用于分类的全连接层组成。
本文提出的空间移位操作与Shift[43]、4-connected Shift[2]和TSM[26]密切相关。我们的空间移位操作可以看作是没有原点元素信息的特殊版本的4-Connected Shift。与fc- shiffc结构中的4连通移位残差块[2]不同,我们的S2 -MLP块,如图1所示,需要另外两个完全连通的层,仅用于混合fc-shift-fc结构之后的channel。此外,4-connected移位残差网络在早期层利用卷积,而我们的网络采用纯mlp结构。
全连接层:
用表示图像,均匀分割为W×H块个patch,对于每一个Pi,我们将其展开成一个向量并通过一个全连通层将其投影成一个嵌入向量ei,然后进行层归一化:其中和是全连接层的参数,并且LN是层归一化。
S2-MLP block:
我们的结构堆叠了N个相同尺寸和结构的s2-MLP,每一个空间位移块包含了四个全连接层,两个层归一化和两个激活函数GELU,两个跳跃连接,和一个先前的空间位移块。
值得注意的是,S2 -MLP中使用的所有全连接层仅用于混合通道。我们在MLPmixer中不使用令牌混合MLP。由于全连接层是众所周知的,并且我们已经在上面介绍了层归一化和GELU,因此我们在这里只关注提出的空间移位模块。
Group:
我们沿通道维度均匀分裂T,得到g个更薄的张量,其中T τ∈。值得注意的是,组的数量g取决于第二步中移动方向的设计。例如,默认情况下,我们只沿四个方向移动,因此在此配置中g被设置为4。
空间位移操作:
对于第一组通道t1,我们沿宽方向移动+1。同时,我们将第二组通道t2沿宽维移动- 1。同样,我们将t3沿高度移动+1,将t4沿高度移动- 1。
空间移位运算的公式演示了伪代码
可以看到,这里就是将输入划分成四个不同的分组,各自沿着不同的轴向(H和W轴)偏移,由于实现的原因,在边界部分会有重复值出现。分组依赖于方向的数量,这里默认使用4,即4个方向偏移。
虽然从单个空间偏移模块上来看,仅仅关联了相邻的 patch,但是从整体堆叠后的结构来看,可以实现一个近似的长距离交互过程。
上述的空间位移方式是最直接的移位方式之一,我们也评估了其他移位方式,令人惊讶的是,上述简单的方式取得了优异的成绩。
使用空间位移操作,我们不再需要token mixing作为mlp mixer,我们只需要channel mixing沿着通道维度投影patch特征,注意,单个块中的空间移位操作只能从相邻块中获得视觉内容,不能访问图像中所有块的视觉内容。但是我们N个堆叠的s2-MLP,全局的视觉内容就会扩散到每个patch上。
与深度卷积的关系:
介绍深度卷积:
给定一个定义为张量的,深度卷积在张量上的每个二维切片可分离地使用二维卷积核Ki,其中i是1到c,深度卷积计算量成本低,广泛应用于高效神经网络的快速推理
关系:
提出的空间偏移是受到TSM中提出的时间偏移的启发[26]。它最初用于建模相邻帧之间的时间关系,它沿着时间维度移动通道。
在这项工作中,我们将其扩展到二维空间场景。实际上,空间移位操作等于具有固定和特定于组的核权值的深度卷积。设一组深度卷积核为K = {K1,···,Kc}。如果我们设置
基于核群K的深度卷积相当于我们的空间移位操作。
实际上,四个方向的偏移都可以通过特定的卷积核构造来实现
所以分组空间偏移操作可以通过为 Depthwise Convolution 的不同分组指定对应上面的卷积核来实现。
也就是说,我们的空间移位操作是深度卷积的一种变体,具有上面定义的固定权重。
同时,空间移位操作在每组信道内共享核权重。正如我们在介绍中提到的,MLP-mixer中的令牌混合MLP是一个全局接收和特定于空间的深度卷积。同时,与我们的空间移位和普通深度卷积相比,在特定的空间位置,token混合中求和的权重是跨通道共享的。相比之下,香草深度卷积对不同的通道学习不同的卷积核,我们的空间移位操作在组内共享权值,并对不同的组采用不同的权值。换句话说,我们的空间移位操作和MLPmixer中的令牌混合MLP都是深度卷积的变体。我们在表1中总结了它们之间的关系和差异。