ResMLP: Feedforward networks for image classification with data-efficient training
我们提出ResMLP,一个完全建立在多层感知器上的图像分类体系结构。它是一个简单的残差网络,它交替地(i)线性层,其中图像块相互作用,独立地和相同地跨通道,和(ii)两层前馈网络,其中每个通道块相互作用独立。当使用现代的训练策略进行训练时,使用大量的数据扩充和选择性的提取,它在ImageNet上获得了令人惊讶的良好的精度/复杂性权衡。我们还训练ResMLP模型在一个自我监督的设置,以进一步消除先验使用标记的数据集。最后,通过使我们的模型适应机器翻译,我们获得了令人惊讶的好结果。
我们共享预先训练的模型和基于Timm库的代码。
1简介
最近,transformer架构(transformer architecture)[60]从其在自然语言处理中的最初用途改编而来,只做了一些小的改动,当使用足够大的数据量进行预训练时,它的性能可以与ImageNet-1k[50]上的最新技术相媲美[16]。回顾过去,这一成就是朝着用较少的先验知识学习视觉特征迈出的又一步:卷积神经网络(CNN)已经用灵活的、可训练的结构取代了手工设计的硬连线特征选择。视觉变换器进一步消除了编码在卷积结构中的几个困难决策,即平移不变性和局部连通性。
更好的训练方案推动了该体系结构向较少硬编码先验的演变[16,56],在本文中,我们进一步推动了这一趋势,证明了基于纯多层感知器(MLP)的体系结构,称为剩余多层感知器(ResMLP),在图像分类方面具有竞争力。ResMLP算法设计简单,对图像编码的先验知识少:它以图像块为输入,用线性层进行投影,然后用两个残差操作依次更新图像块的表示:(i)一个交叉块线性层独立应用于所有通道;以及(ii)独立地应用于所有贴片的跨信道单层MLP。在网络的末端,补丁表示被平均化,并反馈给线性分类器。我们在图1中概述ResMLP,并在第2节中进一步详述它。
ResMLP体系结构受到视觉变换器(ViT)的强烈启发[16],但它在以下几个方面要简单得多:我们用一个线性层替换自注意子层,从而形成一个只有线性层和GELU非线性的体系结构[25]。我们观察到,当使用与DeiT[56]和CaiT[57]中相同的训练方案时,ResMLP的训练比ViTs更稳定,从而消除了对批特定或跨通道规范化(如BatchNorm、GroupNorm或LayerNorm)的需要。我们推测这种稳定性来自于用线性层代替自注意。最后,使用线性层的另一个优点是,我们仍然可以可视化贴片嵌入之间的相互作用,在较低层显示类似于卷积的滤波器,在最后一层显示更长的范围。
我们进一步研究了纯粹基于MLP的体系结构是否有利于图像以外的其他领域,特别是更复杂的输出空间。特别地,我们采用了基于MLP的结构来获取可变长度的输入,并展示了它在机器翻译问题上的潜力。为此,我们开发了一个序列到序列(seq2seq)版本的ResMLP,其中编码器和解码器都基于ResMLP,编码器和解码器之间相互关注[2]。该模型类似于原始的seq2seqTransformer,使用ResMLP层而不是Transformer层[60]。尽管最初不是为这项任务而设计的,但我们观察到,ResMLP在具有挑战性的WMT基准上与Transformer具有竞争力。
综上所述,在本文中,我们做了以下观察:
•尽管ResMLP非常简单,但它仅通过ImageNet-1k训练就达到了出人意料的高精度/复杂度权衡,而不需要基于批处理或通道统计的标准化;
•这些模型显著受益于蒸馏方法[56];它们还与基于数据扩充的现代自监督学习方法兼容,如DINO[7];
•在WMT机器翻译基准上,与seq2seq Transformers相比,seq2seq ResMLP实现了具有竞争力的性能。
2方法
在本节中,我们将描述我们的体系结构ResMLP,如图1所示。ResMLP受ViT的启发,本节将重点介绍对ViT所做的更改,这些更改将导致一个纯粹基于MLP的模型。我们请读者参考Dosovitskiy等人[16]了解有关维生素C的更多详情。
ResMLP的总体架构。
我们的模型用ResMLP表示,网格为N×N个不重叠的面片作为输入,其中面片大小通常等于16×16.然后这些贴片独立地穿过一个线性层,形成一组n2d维嵌入。
所得到的N2嵌入集被馈送到剩余的多层感知器层序列以产生N2 d维输出嵌入集。然后将这些输出嵌入平均(“平均池”)作为d维向量来表示图像,该图像被馈送到线性分类器以预测与图像相关联的标签。训练使用交叉熵损失。
剩余多感知器层。
我们的网络是一系列具有相同结构的层:一个线性子层应用于斑块,然后是一个前馈子层应用于通道。与Transformer层类似,每个子层都有一个跳跃连接[23]。缺乏自注意层使得训练更加稳定,允许我们用一个更简单的仿射变换代替层规范化[1]:
哪里α 以及β 是可学习的权重向量。此操作仅按顺序重新缩放和移动输入元素。与其他归一化操作相比,这种操作有几个优点:首先,与层归一化相反,它在推理时没有成本,因为它可以被相邻的线性层吸收。其次,与BatchNorm[30]和层规范化相反,Aff操作符不依赖于批统计。与Aff更接近的算子是Touvron等人[57]引入的LayerScale,还有一个附加的偏差项。为了方便起见,我们用Aff(X)表示独立应用于矩阵X的每一列的仿射运算。
我们在每个剩余块的开始(“预规范化”)和结束(“后规范化”)处应用Aff操作符。作为预规范化,Aff代替LayerNorm而不使用通道统计。在这里,我们初始化α = 1,和β = 0.作为后规范化,Aff类似于LayerScale,我们初始化它α 具有与[57]中相同的小值。
总的来说,我们的多层感知器采用了一组n2d维的输入特征,这些特征叠加在一个二维空间中× N2矩阵X,并输出一组N2 d维输出特征,通过以下一组变换叠加在矩阵Y中:
其中A、B和C是层的主要可学习权重矩阵。注意,等式(3)与Transformer的前馈子层相同,ReLU非线性被GELU函数取代[25]。参数矩阵A的维数为N2×N2,即,这个“交叉补丁”子层在补丁之间交换信息,而“交叉通道”前馈子层在每个位置工作。与Transformer类似,中间激活矩阵Z具有与输入和输出矩阵X和Y相同的维数。最后,权重矩阵B和C具有与Transformer层中相同的尺寸,即4d×d和d×分别为4d。
与Vision Transformer架构的区别。
我们的体系结构与ViT模型密切相关[16]。然而,ResMLP与ViT不同,有几个简化:
•无自注意块:被无非线性的线性层取代,
•无位置嵌入:线性层隐式编码关于面片位置的信息,
•没有额外的“类”标记:我们只是在补丁嵌入上使用平均池,
•没有基于批量统计的标准化:我们使用可学习仿射运算符。
MLP类作为平均池的替代方案。
我们建议对CaiT[57]中引入的类注意标记进行修改。在CaiT中,它由两个层组成,这两个层的结构与transformer相同,但其中只有类令牌根据冻结的补丁嵌入进行更新。我们将这种方法转化为我们的体系结构,只是在用线性层聚合补丁之后,我们用简单的线性层替换类和补丁嵌入之间基于注意的交互,仍然保持补丁嵌入的冻结状态。这以增加一些参数和计算成本为代价,提高了性能。我们将这个池变体称为“类MLP”,因为这几个层的目的是替换平均池。
序列到序列ResMLP。
与Transformer类似,ResMLP体系结构可以应用于序列到序列的任务。首先,我们遵循Vaswani等人[60]的通用编码器-解码器体系结构,其中我们用剩余的多感知器层替换自注意子层。在解码器中,我们保留了交叉注意子层,这些子层负责编码器的输出。在解码器中,我们通过将矩阵A约束为三角形,使线性子层适应语言建模的任务,以防止给定的令牌表示将来访问令牌。最后,在序列到序列模型中使用线性子层的主要技术难点是处理可变序列长度。然而,我们观察到,简单地用零填充并提取对应于一批中最长序列的子矩阵A,在实践中效果良好
3个实验
在本节中,我们将介绍ResMLP架构在图像分类和机器翻译方面的实验结果。我们还研究了ResMLP不同成分对消融研究的影响。我们考虑三种图像训练模式
•监督学习:我们使用softmax分类器和交叉熵损失从标记图像训练ResMLP。这一范式是我们工作的主要焦点。
•自监督学习:我们使用Caron等人[7]的DINO方法训练ResMLP,该方法通过从同一网络的先前实例中提取知识来训练没有标签的网络。
•知识提炼:我们采用Touvron等人[56]提出的知识提炼程序,用convnet指导ResMLP的监督培训。
3.1实验设置
数据集。
我们在ImageNet-1k数据集[50]上训练模型,该数据集包含120万个均匀分布在1000个对象类别上的图像。在没有可用于此基准的测试集的情况下,我们遵循社区中的标准实践,报告验证集的性能。这并不理想,因为验证集最初设计用于选择超参数。在这个集合上比较方法可能不够决定性,因为性能的提高可能不是由更好的建模引起的,而是由更好地选择超参数引起的。为了降低这种风险,我们报告了转移学习和两个替代版本的ImageNet的额外结果,这两个版本的ImageNet具有不同的验证和测试集,即ImageNet real[4]和ImageNet-v2[49]数据集。我们还报告了在ImageNet-21k上训练时的一些数据点。我们的超参数主要来自Touvron等人[56,57]。
超参数设置。
在有监督学习的情况下,我们用Lamb优化器[64]训练我们的网络,学习率为5× 10−3,重量衰减0.2。我们按照CaiT[57]的要求,将分层比例参数初始化为深度的函数。其余的超参数遵循DeiT[56]中使用的默认设置。对于知识提炼范式,我们使用与DeiT相同的RegNety-16GF[48],使用相同的训练计划。我们的大多数型号需要两天的时间在8个V100-32gbgpu上进行训练。
3.2主要结果
在本节中,我们将ResMLP与基于卷积或自关注的架构进行比较,这些架构在ImageNet上具有相当的大小和吞吐量。
监督设置。
在表1中,我们比较了不同卷积结构和Transformer结构的ResMLP。为了完整性,我们还报告了仅在ImageNet上训练的模型获得的最佳公布数字。虽然ResMLP的精度、FLOPs和吞吐量之间的折衷不如卷积网络或Transformer,但它们的高精度仍然表明,层设计施加的结构约束对性能没有很大影响,特别是在使用足够的数据和最新的训练方案进行训练时。
自监督设置。
我们使用称为DINO[7]的自监督方法在300个时期内预训练ResMLP-S12。我们在表2中报告了我们的结果。趋势类似于监督设置:ResMLP获得的准确度低于ViT。然而,对于纯MLP体系结构来说,性能出奇地高,并且在k-NN评估方面与Convnet竞争。此外,我们还使用地面真值标签在ImageNet上对预先训练好的网络进行了微调。与单独使用标签训练的ResMLP-S24相比,预训练显著提高了性能,在ImageNet val上达到79.9%的top-1准确率(+0.5%)。
知识升华设置。
我们利用Touvron等人[56]的知识提炼方法来研究我们的模型。在他们的工作中,作者通过从RegNet中提取ViT模型来展示训练ViT模型的影响。在这个实验中,我们探索ResMLP是否也从这个过程中受益,并将我们的结果总结在表3中(“基线模型”和“训练”)。我们观察到,与DeiT模型类似,ResMLP从convnet中提取非常有益。这一结果与d'Ascoli等人[14]的观察结果一致,他们使用convnets初始化前馈网络。尽管我们的设置与他们的设置在规模上不同,但在ImageNet上仍然存在前馈网络的过度拟合问题。从蒸馏中获得的额外正则化是这种改进的可能解释。
3.3斑块间线性相互作用的可视化与分析
交叉贴片子层的可视化。
在图2中,我们以平方图像的形式显示了ResMLP-S24模型不同深度的交叉贴片子层的权重矩阵行。早期的层显示出类似卷积的模式:权重类似于彼此的移位版本,并且具有局部支持。有趣的是,在许多层中,支架也沿两个轴延伸;见第7层。网络的最后7层是不同的:它们由斑块本身的尖峰和其他不同大小斑块的漫射响应组成;见第20层。
测量砝码的稀疏性。
上面描述的可视化表明线性通信层是稀疏的。我们在图3中对此进行了更详细的定量分析。我们测量了矩阵A的稀疏性,并将其与每个贴片MLP中B和C的稀疏性进行了比较。由于没有精确的零点,我们测量绝对值低于最大值5%的分量的比率。请注意,丢弃小值类似于我们通过最大值标准化矩阵并使用有限精度的权重表示的情况。例如,对于权重的4位表示,通常将绝对值低于最大值6.25%的所有权重四舍五入为零。
图3中的测量结果表明,所有三个矩阵都是稀疏的,实现补丁通信的层明显更稀疏。这表明它们可能与参数剪枝兼容,或者更好地与现代量化技术兼容,后者在训练时产生稀疏性,例如量子噪声[20]和DiffQ[19]。稀疏性结构,特别是在早期的层中,见图2,暗示我们可以用卷积实现补丁交互线性层。我们在消融研究中提供了一些卷积变异的结果。对网络压缩的进一步研究超出了本文的研究范围,但我们认为这是一个值得进一步研究的问题。
跨修补程序通信
如果我们去掉线性相互作用层(线性→ 无),我们获得了相当低的准确度(-20%前1名acc.)“袋补丁”的方法。我们已经尝试了跨补丁子层的几种替代方案,如表3所示(块“补丁通信”)。其中,使用与贴片处理相同的MLP结构(线性→ MLP),我们在补充材料中对其进行了更详细的分析。考虑到MLP变体需要在ResMLP-S12和ResMLP-S24之间进行一半的计算,并且比剩余MLP块需要更少的参数,单个线性平方层的简单选择导致了更好的精度/性能权衡。
图2中的可视化显示表明许多线性交互层看起来像卷积。在我们的消融中,我们用不同类型的3×3个卷积。深度方向的卷积不实现跨通道的交互——就像我们的线性贴片通信层一样——并且在相当数量的参数和触发器下产生类似的性能。当满3时×3卷积产生最好的结果,它们的参数和触发器的数量大约是原来的两倍。有趣的是,深度可分离卷积结合精度接近全3×3个卷积与我们的线性层相当的参数和触发器的数量。这表明,在所有层的低分辨率特征图上进行卷积是一种有趣的替代方案,而不是convnet的常见金字塔设计,早期层以更高的分辨率和更小的特征维数进行操作。
3.4消融研究
表3报告了我们基础网络的消融研究和我们初步探索性研究的总结。我们将在下面讨论消融,并在附录A中给出早期实验的更多细节。
过度装配的控制。
由于MLP会受到过度拟合的影响,我们在图4中展示了一个控制实验,以探索泛化问题。我们明确地分析了ImageNet val和不同的ImageNet-V2测试集之间的性能差异。曲线之间的相对偏移反映了模型过度拟合ImageNet val w.r.t.超参数选择的程度。我们基于MLP的模型的过度拟合程度总体上是中性的,或者略高于其他基于Transformer的架构或具有相同训练程序的convnet。
规范化和激活。
我们的网络配置不包含任何批处理规范化。相反,我们使用仿射每通道变换Aff。这类似于层规范化[1],通常用于Transformer,只是我们避免收集任何类型的统计数据,因为我们不需要它来收敛。在使用前范数和后范数[24]的初步实验中,我们观察到两种选择都收敛。在某些情况下,预标准化与批量标准化相结合可提供准确度增益,见附录A。
我们选择使用GELU[25]函数。
在附录A中,我们还分析了激活函数:ReLU[22]也给出了一个很好的性能,但在某些设置下它有点不稳定。我们在SiLU[25]和HardSwish[28]中没有取得好的结果。
联营。
用类MLP替换平均池(见第2节)可以带来显著的收益,而计算成本可以忽略不计。默认情况下,我们不包含它,以使模型更简单。
补丁大小。
较小的补丁显著提高了性能,但也增加了触发器的数量(见表3中的块“补丁大小”)。较小的面片对较大的模型更有利,但只适用于包含更多正则化(蒸馏)或更多数据的改进优化方案。
培训。
考虑表3中的“培训”部分。ResMLP从现代培训程序(如DeiT中使用的程序)中获得了显著的好处。例如,与ResNet[23]2所采用的训练相比,DeiT训练程序将ResMLP-S12的性能提高了7.4%。
这与最近指出训练策略对模型选择的重要性的工作一致[3,48]。对更多数据的预训练和蒸馏也提高了ResMLP的性能,特别是对于更大的模型,例如蒸馏使ResMLP-B24/8的精度提高了2.6%。
其他分析。
在我们早期的探索中,我们评估了几种可供选择的设计方案。就像在transformers中一样,我们可以使用混合了输入补丁的位置嵌入。在我们的实验中,我们没有看到使用这些特性有什么好处,见附录A。这一观察结果表明,我们的交叉补丁子层提供了足够的空间通信,参考绝对位置消除了任何形式的位置编码的需要。
3.5迁移学习
我们评估从ResMLP架构获得的特征在转移到其他领域时的质量。目标是评估由前馈网络生成的特征是否更容易过度拟合训练数据分布。我们采用典型的设置,在ImageNet-1k上预先训练模型,并在与特定域相关联的训练集中对其进行微调。我们在表4中报告了不同体系结构在各种图像基准上的性能,即CIFAR-10和CIFAR-100[34]、FLOWRS-102[42]、斯坦福汽车[33]和iNaturalist[27]。我们请读者参阅相应的参考文献,以获得对数据集更详细的描述。
我们观察到,我们的ResMLP的性能与现有的体系结构相比是有竞争力的,这表明具有足够数据的预训练前馈模型和通过数据扩充的正则化大大降低了它们在原始分布上过度拟合的倾向。有趣的是,这种正则化还可以防止它们在微调阶段过度拟合较小数据集的训练集。
3.6机器翻译
我们还评估了ResMLP转置机制,以取代神经机器翻译系统的编码器和解码器中的自注意。我们按照Ott等人[45]的设置,对WMT 2014英德和英法任务的模型进行培训。我们考虑尺寸为512的模型,其隐藏MLP大小为2048,并且具有6或12层。请注意,目前的技术状态采用了更大的模型:我们的6层模型与Vaswani等人[60]中的基本Transformer模型更为相似,后者作为基线,以及诸如递归和卷积神经网络等预Transformer结构。我们使用Adagrad,学习率为0.2,线性预热32k步,标签平滑0.1,En-De和En-Fr的退出率分别为0.15和0.1。我们将LayerScale参数初始化为0.2。我们使用波束搜索算法生成平移,波束大小为4。如表5所示,结果至少与比较的架构相当。
4相关工作
我们回顾了应用全连通网络(FCN)解决计算机视觉问题的研究,以及与我们的模型共享公共模块的其他体系结构。
完全连接的图像网络。
许多研究表明,FCNs在数字识别[12,51]、关键词识别[8]和手写识别[5]等任务上与convnet具有竞争力。一些著作[37,40,59]质疑FCN在自然图像数据集(如CIFAR-10[34])上是否也具有竞争力。最近,d'Ascoli等人[14]已经证明,用预训练convnet的权值初始化的FCN实现的性能优于原始convnet。Neyshabur[41]通过从零开始训练FCN(但使用正则化器将模型限制为接近网络)来实现竞争性能,从而进一步扩展了这一工作范围。这些研究是在小规模数据集上进行的,目的是从样本复杂性[18]和能源景观[31]的角度研究建筑对泛化的影响。在我们的工作中,我们发现,在ImageNet的大尺度环境中,FCNs可以在没有任何约束和初始化的情况下获得令人惊讶的精度。
最后,FCN网络在计算机视觉中的应用也出现在对无限宽网络特性的研究[43],或对逆散射问题的研究[32]。更有趣的是,张量化网络[44]是非常大的FCN的近似值,与我们的模型相似,因为它们打算通过近似更一般的张量运算来去除先验值,即,不沿着一些预定义的共享维度任意边缘化。然而,他们的方法被设计成压缩一个标准网络的MLP层。
具有类似组件的其他体系结构。
我们的FCN架构与其他架构共享多个组件,如convnets[35,36]或transformers[60]。完全连接层相当于具有1的卷积层× 1个感受野,有几项工作探索了具有小感受野的convnet架构。例如,VGG模型[52]使用3×3卷积,以及更高版本的其他体系结构,如ResNext[63]或exception[11]mix1×1和3×3个卷积。与convnets不同的是,在我们的模型中,补丁之间的交互是通过一个在通道间共享的线性层获得的,它依赖于绝对位置而不是相对位置。
最近,变形金刚已经成为一种很有前途的计算机视觉架构[10,17,46,56,67]。特别是,我们的架构从Vision Transformer(ViT)[17]中使用的结构中获得灵感,因此共享许多组件。该模型以一组互不重叠的斑块作为输入,通过一系列与ViT结构相同的MLP层,用一个线性斑块交互层代替自注意层。与卷积层不同,这两层都具有全局视野。而在自注意中,通过查询和键来聚集来自其他补丁的信息的权重是数据相关的,而在ResMLP中,权重不是数据相关的,仅基于补丁的绝对位置。在我们的实现中,我们遵循DeiT[56]的改进来训练视觉变换器,使用resnet[23]的跳过连接,并对层进行预规范化[9,24]。
最后,我们的工作对现有架构中自关注的重要性提出了质疑。在自然语言处理中也有类似的观察结果。值得注意的是,合成器[54]表明,点积自注意可以被前馈网络所取代,在句子表示基准上具有竞争力。与我们的工作相反,合成器确实使用依赖于数据的权重,但与转换器不同的是,权重仅从查询中确定。
5结论
在本文中,我们证明了一个简单的残差结构,其残差块由一个隐层前馈网络和一个线性面片交互层组成,在ImageNet分类基准上获得了出乎意料的高性能,前提是我们采用现代培训策略,例如最近为基于Transformer的体系结构引入的策略。由于它们的结构简单,以线性层作为主要的通信手段,我们可以将通过这个简单的MLP学习的滤波器可视化。虽然其中一些层类似于卷积滤波器,但我们早在网络的第二层就观察到稀疏的长程相互作用。我们希望我们的无空间先验模型有助于进一步了解先验较少的网络学习什么,并有可能指导未来网络的设计选择,而不是大多数卷积神经网络所采用的金字塔设计。
关于我们探索阶段的报告
正如本文所讨论的,我们设计一个剩余多层感知器的工作受到了视觉变换器的启发。对于我们的探索,我们采用了最近的CaiT变体[57]作为起点。这种基于转换器的体系结构仅在Imagenettraining上实现了性能状态(对于最佳模型,在Imagenet val上实现了86.5%的top-1精度)。最重要的是,随着训练深度的增加,训练相对稳定。
在我们的探索阶段,我们的目标是从根本上简化这个模型。为此,我们考虑了更快迭代的Cait-S24模型。这个网络由24层组成,工作尺寸为384。我们下面的所有实验都是用分辨率为224的图像进行的×224和N=16× 16个补丁。经过定期监督培训,Cait-S24在Imagenet上获得82.7%的前1名。
SA→ MLP。
这种自关注可以看作是一个权值发生器,对值进行线性变换。因此,我们的第一个设计修改是用一个残差前馈网络来代替自注意,该网络以转置的面片集而不是面片集作为输入。换句话说,在这种情况下,我们将沿通道维度操作的剩余块与沿面片维度操作的一些块交替使用。在这种情况下,MLP代替了自注意,它由一系列操作组成
因此这个网络在N和d上是对称的。通过保持其他元素与CaiT相同,当替换自注意层时,准确率下降到80.2%(-2.5%)。
全班注意→ MLP类。
如果我们进一步用MLP代替CaiT的类注意层,那么我们得到的无注意网络在Imagenetval上的top-1准确率为79.2%,与采用现代训练策略训练的ResNet-50相当。这个网络已经成为我们后续烧蚀的基线。注意,在这个阶段,我们仍然包括LayerScale、类嵌入(在类MLP阶段)和位置编码。
蒸馏。
受Touvron等人[56]启发,用蒸馏法训练的同一模型达到81.5%。我们选择的蒸馏变量对应于“硬蒸馏”,其主要优点是与香草交叉熵相比,它不需要任何参数调整。请注意,在我们所有的实验中,这种蒸馏方法似乎带来了一个增益,这是互补的,似乎几乎正交于其他修改。
激活:图层窗体→ 十。
我们在上述基于MLP的基线上尝试了不同的激活,并保持了GeLU的准确性和与Transformer选择的一致性。
消融对通信MLP大小的影响。
对于取代课堂注意力的MLP,我们通过调整扩展因子e,探索了不同大小的潜在层:线性N× e× N-格鲁-线性e× N× N。在这个实验中,我们使用平均池来聚集分类层之前的补丁。
我们观察到在贴片通信中大的扩展因子是有害的,可能是因为我们不应该在这个剩余块中引入太多的容量。这促使人们选择采用尺寸为N的简单线性层× N:在与上表相当的设置下,这随后将性能提高到79.5%。此外,如前所示,此选项允许可视化补丁之间的交互。
正常化。
在我们的MLP基线之上,我们测试了标准化层的不同变体。我们在下面报告性能的变化。
为了简单起见,我们因此只采用Aff变换,以便不依赖于任何批处理或通道统计。
位置编码。
在我们的实验中,当使用MLP或简单线性层作为跨贴片嵌入的通信平均值时,移除位置编码不会改变结果。考虑到线性层隐式地将每个面片标识编码为维度之一,并且另外线性层包括使得能够在共享线性层之前区分面片位置的偏置,这并不奇怪。
12层网络中交互层的分析
在本节中,我们将进一步分析12层模型中的线性交互层。
在图B.1中,我们考虑了在ImageNet-1k数据集上训练的ResMLP-S12模型,如第3.1节所述,并显示了所有12个线性面片交互层。有监督的12层模型中的线性交互层与图2中24层模型中观察到的类似。
我们还在图B.2中为该模型提供了相应的稀疏度测量值,类似于图3中为监督24层模型提供的测量值。监督12层模型(左面板)中的稀疏度水平与监督24层模型中观察到的稀疏度水平相似,参见图3。在图B.2的右面板中,我们考虑了蒸馏12层模型的稀疏度水平,其总体上与监督12层和24层模型中观察到的稀疏度水平相似。
D附加烧蚀
训练配方。
DeiT[56]提出了一种训练策略,只允许在ImageNet上使用数据高效的视觉变换器。在表D.1中,我们烧蚀了神明训练的每个部分,回到最初的ResNet50训练。正如预期的那样,ResNet-50论文[23]中使用的训练会降低性能。
培训时间表。
表D.2根据训练次数比较了ResMLP-S36的性能。我们观察到ResMLP在800个周期后的性能饱和。这种饱和现象在400个时代的神身上观察到。所以ResMLP需要更多的时间来达到最优。
共享层。
表D.3比较了两种池化层的性能:平均池化层和MLP级池化层,不同深度的蒸馏和不蒸馏。我们可以看到,类MLP通过只改变几个flop和参数的数量,比平均池的性能要好得多。然而,这两种方法之间的差距似乎随着模型的深入而缩小。