小言_互联网的博客

文献阅读(二十二):MLP-Mixer: An all-MLP Architecture for Vision

514人阅读  评论(0)

  • 出处:CoRR abs/2105.01601 (2021)
  • 主要内容:

摘要

卷积神经网络(CNNs)是计算机视觉的首选模型。最近,基于注意力的网络,如Vision Transformer,也变得流行起来。在这篇文章中,我们证明了卷积和注意力对于良好的性能都是足够的,但它们都不是必要的。我们提出了MLP-Mixer,一个专门基于多层感知器(MLPs)的体系结构
MLP-Mixer包含两种类型的层:一种是MLPs独立应用于图像patches(即“混合”每个位置的特征),另一种是MLPs应用于跨patches(即“混合”空间信息)。
MLP-Mixer在大型数据集或现代正则化方案上进行训练时,可以在图像分类基准上获得有竞争力的分数,其预训练和推理成本可与最先进的模型相媲美。我们希望这些结果能在CNNs and Transformers领域之外引发进一步的研究。

1 Introduction

正如计算机视觉的历史所证明的那样,大数据集的可用性加上不断增加的计算能力通常会导致范式的转变。虽然卷积神经网络(cnn)已经成为计算机视觉事实上的标准,但最近Vision Transformers(ViT),一种基于自我关注层的替代网络,获得了最先进的性能。ViT延续了去除模型中手工制作的视觉特征和归纳偏差的长期趋势,并进一步依赖于从原始数据中学习。

我们提出MLP-Mixer体系结构(或简称“Mixer”),这是一种具有竞争力但在概念上和技术上都很简单的替代方案,不使用卷积或自我关注。相反,Mixer的架构完全基于多层感知器(MLPs),这些感知器在空间位置或特征通道上重复应用。Mixer只依赖于基本的矩阵乘法例程、数据布局的更改(重塑和置换)和标量非线性

图1描述了Mixer的宏观结构。它接受一系列线性投影图像patches(也称为tokens),形状为“patches × channels”表作为输入,并保持这个维度。
Mixer使用两种类型的MLP层:channel-mixing MLPs and token-mixing MLPs(通道混合mlp和令牌混合mlp)。The channel-mixing MLPs信道混合MLPs允许不同channels之间的通信,它们独立地对每个token进行操作,并将表中的各个行作为输入。The token-mixing MLPs令牌混合MLPs允许不同空间位置(tokens)之间的通信,它们独立地对每个通道进行操作,并将表中的个别列作为输入。这两种类型的层是交叉的,以支持两个输入维度的交互。

在极端的情况下,我们的架构可以看作是一个非常特殊的CNN,它使用1×1卷积来进行信道混合,使用完全接受域的单通道深度卷积和参数共享来进行 token mixing。然而,相反是不正确的,因为典型的cnn不是Mixer的特殊情况。此外,在mlp中,卷积比简单的矩阵乘法更复杂,因为它需要额外地减少矩阵乘法和/或专门的实现。

尽管它很简单,Mixer还是获得了有竞争力的结果。当在大型数据集上进行预训练(即,约100万张图像)时,它在精度/成本权衡方面达到了最先进的性能,这是cnn和transformer之前声称的。这包括在ILSVRC2012“ImageNet”[13]上87.94%的top-1验证精度。当对更适度规模的数据进行预训练时(即,约1 - 10M图像),加上现代的正则化技术[47,52],Mixer也获得了强大的性能。然而,与ViT类似,它与专门的CNN架构略有不同。

2 Mixer Architecture

现代的深度视觉结构由多层组成,这些层(i)混合了特定空间位置的特征,(ii)不同空间位置之间的特征,或者同时混合了这两种特征。
在CNN中,(ii)通过N × N卷积(对于N > 1)和池化来实现。更深层次的神经元有更大的接受域[1,27]。与此同时,1×1卷积也执行(i),较大的内核同时执行(i)和(ii)。
在Vision transformer和其他基于注意力的架构中,自注意层允许(i)和(ii),mlp块执行(i)。
Mixer体系结构背后的想法是清楚地分离每个位置(通道混合)操作(i)和交叉位置(令牌混合)操作(ii)。这两种操作都是通过MLPs实现的。

图1总结了体系结构。Mixer将S个非重叠图像块序列作为输入,每个图像块投射到所需的隐藏维c上,得到一个二维实值输入表 X∈RS×C。如果原始输入图像的分辨率为(H, W),每个patch的分辨率为(P,P),则patch的数量为S = HW/P2。所有的patch用相同的投影矩阵线性投影。
Mixer由相同大小的多层组成,每层由两个MLP块组成。第一个是the token-mixing MLP block令牌混合MLP块:它作用于X的列(即,应用于一个转置的输入表X),映射RS→RS,并在所有列之间共享。第二个是the channel-mixing MLP block通道混合MLP块:它作用于X行,映射RC→RC,并跨所有行共享。每个MLP块包含两个完全连接的层和一个独立应用于其输入数据张量的每一行的非线性。Mixer layers层可以写成如下(省略层指数):

这里σ是一个单元级的非线性(GELU[16])。DS和DC分别是令牌混合mlp和信道混合mlp中可调的隐藏宽度。注意,DS的选择与输入patches的数量无关。因此,网络的计算复杂度在输入patches的数量上是线性的,而不像ViT的复杂度是二次的。由于DC与patch的大小无关,所以总体复杂度与图像的像素数成线性关系,就像典型的CNN一样。

如上所述,相同的通道混合MLP(令牌混合MLP)应用于x的每一行(列)。绑定the channel-mixing MLPs通道混合MLP的参数(在每一层中)是一个自然的选择——它提供了位置不变性,这是卷积的一个显著特征。然而,跨通道绑定参数并不常见。例如,在一些cnn中使用的可分离卷积[9,39],将卷积独立于其他通道应用于每个通道。然而,在可分离卷积中,不同的卷积内核应用于每个通道,而不像Mixer中的令牌混合MLPs,后者为所有通道共享相同的内核(完全接受域)。当增加隐藏维度C或序列长度S时,参数绑定防止体系结构增长过快,并导致显著的内存节省。令人惊讶的是,这一选择并不影响实证绩效,见补充A.1。
在混合器的每一层(除了最初的patch投影层)接受一个相同大小的输入。这种“等向的”设计与Transformers或其他领域的深度RNNs非常相似,它们也使用固定的宽度。这与大多数具有金字塔结构的CNNs(更深的层有更低的分辨率输入,但更多的通道)不同。请注意,虽然这些是典型的设计,但其他组合存在,如等向的ResNets[37]和pyramidal ViTs[50]。
除了MLP层之外,Mixer还使用了其他标准的架构组件:跳转连接[15]和层规范化[2]。此外,与ViTs不同,Mixer不使用位置嵌入,因为the token-mixing MLPs令牌混合mlp对输入令牌的顺序很敏感,可能学会表示位置。最后,Mixer使用带有全局平均池化层的标准分类头,然后是线性分类器。总体而言,JAX/Flax可以简洁地编写该体系结构,代码见补充E。

3 Experiments

我们对MLP-Mixer模型的性能进行了评估,该模型使用中大规模数据集进行预训练,用于一系列中小型下游分类任务。我们对三个主要的量感兴趣:(1)下游任务的准确性。
(2)预训练的总计算代价,在上游数据集上从头开始训练模型时,这一点很重要。
(3)推理时的吞吐量,这对从业者很重要。我们的目标不是演示最先进的结果,而是展示一个简单的基于mlp的模型可以与当今最好的卷积模型和基于注意力的模型竞争。

Downstream tasks :我们使用多个流行的下游任务,如ILSVRC2012“ImageNet”(1.3M训练示例,1k类),带有原始验证标签[13]和清理的真实标签[5], CIFAR-10/100 (50k示例,10/100类)[23],Oxford- iiit Pets (3.7k示例,36类)[31],和Oxford Flowers-102 (2k示例,102类)[30]。我们还对视觉任务适应基准(VTAB-1k)进行了评估,该基准由19个不同的数据集组成,每个数据集包含1k个训练示例[55]。

Pre-training data:我们遵循标准的迁移学习设置:预处理训练,然后对下游任务进行微调。我们在两个公共数据集上对所有模型进行预训练:ILSVRC2021 ImageNet和ImageNet-21k,这是ILSVRC2012的超集,包含21k类和14M图像[13]。为了更大规模地评估性能,我们还对JFT-300M进行了训练,这是一个专有数据集,包含300个示例和18k个类[43]。正如Dosovitskiy等人[14]、Kolesnikov等人[22]中所做的那样,我们删除了所有与下游任务测试集相关的预训练数据集。

Pre-training details:我们使用Adam对所有模型进行预训练,β1 = 0.9, β2 = 0.999, batch size=4 096,在全局norm1处使用重量衰减和梯度裁剪。我们使用10k步的线性学习率预热和线性衰减。我们预先训练所有模型的分辨率为224。
对于JFT-300M,我们采用Szegedy等人[44]的裁剪技术,加上随机水平翻转,对图像进行预处理。
对于ImageNet和ImageNet-21k,我们采用了额外的数据增强和正则化技术。特别是,我们使用RandAugment[12]、mixup[56]、dropout[42]和随机深度[19]。这套技术的灵感来自timm库[52]和Touvron等人的[46]。关于这些超参数的更多细节在补充B中提供。

Fine-tuning details:我们使用具有动量的SGD进行微调,batch size=512,全局norm为1的梯度裁剪,以及带有线性预热的余弦学习率调度。我们在微调时不使用重量衰减。按照惯例[22,46],我们也对更高的分辨率进行微调,而不是在训练前使用的分辨率。由于我们保持patch分辨率固定,这就增加了输入补丁的数量(比如从S到S’),因此需要修改Mixer的 token-mixing MLP blocks令牌混合MLP块的形状。形式上,Eq.(1)中的输入左乘一个权值矩阵W1∈R^DS ×S^,改变输入维数s时需要调整此操作。为此,我们将隐层宽度从DS增加到DS’,并与patches个数成比例并初始化(更大的)权重矩阵W2 '∈R^DS ’ ×S '^,使用包含W2‘对角线副本的块对角线矩阵。详见补充C。在VTAB-1k基准上,我们分别在具有小和大输入图像的数据集上遵循BiT-HyperRule[22]和微调Mixer模型,分辨率分别为224和448。

Metrics :我们对模型的计算成本和质量进行了权衡。对于前者,我们计算了两个指标:
(1)TPU-v3加速器上的总训练前时间,它结合了三个相关因素:每个训练设置的理论FLOPs、相关训练硬件上的计算效率和数据效率。
(2) TPU-v3上的吞吐量:图像/秒/核。由于不同规模的模型可能受益于不同的批大小,我们在{32,64,…, 8192}选择batch sizes,并报告每个模型的最高吞吐量。对于模型质量,我们关注微调后的 top-1的下游精度。(图3,右)对所有模型进行微调代价太大,我们报告了通过解决图像与标签之间的冻结学习表示之间的l2-正则化线性回归问题获得的少量拍摄精度。

Model:我们比较各种配置的Mixer,总结在表1,到最新的,最先进的,cnn和基于注意力的模型。
在所有的图和表中:
基于mlp的Mixer模型用:粉色()标记,
基于卷积的模型用:黄色()标记,
基于注意力的模型用:蓝色()标记。

The Vision Transformer (ViTs)具有类似于Mixer的模型尺度和补丁分辨率,包括vit-l/16和vit-h/14。
HaloNets是一种基于注意力的模型,它使用类似于resnet的结构,具有局部自注意层,而不是3×3卷积[49]。我们关注的是特别高效的“HaloNet-H4 (base 128, con-12)”模型,它是更广泛的HaloNet-H4架构的混合变体,其中一些自我关注层被卷积层取代。注意,我们用蓝色()标记HaloNets的注意力和卷积。
Big Transfer(BiT)[22]模型是针对迁移学习进行优化的ResNets,预先在ImageNet-21k或JFT-300M上进行训练。NFNets[7]是无标准化ResNets与几个优化的ImageNet分类。我们考虑NFNet-F4+模型变体。
最后,我们考虑了用于EfficientNet架构的MPL[33]和ALIGN[21]。MPL在JFT-300M图像上进行了非常大规模的预训练,使用来自ImageNet的元伪标签而不是原始标签。我们将其与EfficientNet-B6-Wide型号进行了比较。ALIGN预训练图像编码器和语言编码器对噪声网页图像文本对的对比方式。我们比较了他们最好的EfficientNet-L2图像编码器。

3.1 Main results

表2给出了最大的Mixer模型与文献中最先进的模型的比较。“ImNet”和“ReaL”列指的是原始的ImageNet验证标签[13]和清理后的ReaL标签[5]。“Avg。5 "代表所有五个下游任务(ImageNet, CIFAR-10, CIFAR-100, Pets, Flowers)的平均性能。图2(左)显示了精度-计算边界。

当在ImageNet-21k上进行额外的正则化训练时,Mixer实现了整体强劲的性能(在ImageNet上排名前1的84.15%),尽管略低于其他型号2。在这种情况下,正则化是必要的,而且Mixer没有它就会过适应,这与ViT[14]的类似观察结果一致。我们还报告了在ImageNet上从零开始训练Mixer时的结果(如表3所示),同样的结论也成立。补充B详细说明了我们的正则化设置。

3.2 The role of the model scale

上一节中概述的结果集中在计算范围上端的(大型)模型上。现在我们把注意力转向较小的Mixer模型。

我们可以通过两种独立的方式缩放模型:
(1)在预训练前增加模型大小(层数、隐藏维数、MLP宽度)。
(2)微调时提高输入图像的分辨率。前者同时影响训练前计算和测试时间吞吐量,后者只影响吞吐量。除非另有说明,否则我们在224分辨率微调。


我们比较了各种配置的Mixer(见表1),以类似规模的ViT模型和预训练与Adam BiT模型。结果总结在表3和图3中。当在ImageNet上从头开始训练时,Mixer-B/16达到了76.44%的合理的top-1精度。这比vit-b /16模型低3%。训练曲线(未报道)显示,两种模型获得了非常相似的训练损失值。换句话说,Mixer-B/16比vit-b /16更适合。对于Mixer-L/16和ViT-L/16模型,这种差异甚至更加明显。

随着训练前数据集的增长,Mixer的性能稳步提高。值得注意的是,在JFT-300M上预训练并微调到224分辨率的、在ImageNet上,Mixer-H/14仅比的vit-h /14慢0.3%,但运行速度快2.2倍。图3清楚地表明,尽管Mixer在模型规模的低端略低于前沿,但它在高端的前沿却很有信心。

3.3 The role of the pre-training dataset size

到目前为止提出的结果表明,在更大的数据集上进行预处理可以显著提高Mixer的性能。在这里,我们将更详细地研究这种效应。
为了研究Mixer利用越来越多的训练示例的能力,我们在包含3%、10%、30%和100%的JFT-300M随机子集上对233、70、23和7 epoch的所有训练示例进行预训练Mixer- b /32、Mixer-l /32和Mixer-l /16模型。
因此,每个模型都被预训练为相同数量的总步骤。我们使用ImageNet上的 linear 5-shot top-1准确率 作为传输质量的代理。对于每一次训练前的运行,我们都会根据最佳的上游验证性能提前停止。图2(右)报告了结果,其中我们还包括了vit-b /32、vit-l /32、vit-l /16和BiT-R152x2模型。
当在JFT-300M的最小子集上进行预训练时,所有Mixer模型都有很强的过拟合。BiT模型也会过拟合,但在较小的程度上,可能是由于与卷积相关的强归纳偏差。随着数据集的增加,Mixer-L/32和Mixer-L/16的性能都比BiT增长得更快;mix-l /16在不断改进,而BiT模式则处于停滞状态。
ViT的结论与Dosovitskiy等人的结论一致。然而,较大的Mixer模型的相对改进甚至更加明显。Mixer-L/16和vit-l /16之间的性能差距随着数据规模的增大而缩小。似乎Mixer模型比ViT更能从不断增长的预训练数据集中获益。我们可以用归纳偏差的差异来推测和解释它。也许,ViT中的自我关注层导致了学习函数的某些属性与真正的底层分布的兼容性不如Mixer架构。

3.4 Visualization

通常可以观察到,cnn的第一层倾向于学习作用于图像局部区域像素的Gabor-like检测器。相反,Mixer允许在令牌混合mlp中进行全局信息交换,这回避了它是否以类似的方式处理信息的问题。

图4显示了在JFT-300M上训练的Mixer前几个令牌混合MLPs的权重。回想一下,令牌混合mlp允许不同空间位置之间的通信(见图1)。一些学习到的特征作用于整个图像,而其他的则作用于更小的区域。第一个令牌混合MLP包含许多本地交互,而第二层和第三层包含更多跨更大区域的混合。较高层似乎没有明显可辨认的结构。与cnn相似,我们观察到许多低阶特征检测器都以相反相位[38]成对出现。在补充D中,我们证明了学习单元的结构依赖于超参数和输入增宽。在第一个贴片嵌入层的线性投影中,我们观察到高频滤波器和低频滤波器的混合;我们在补充图6中提供了一个可视化。

4 Related Work

Mixer是一种新的计算机视觉架构,它不同于以前成功的架构,因为它既不使用卷积也不使用自我关注层。然而,设计选择可以追溯到CNNs [24, 25] and Transformers [48]的文献想法。
自从AlexNet模型[24]超越了基于手工图像特征的主流方法以来,cnn一直是计算机视觉领域事实上的标准,概述见[34]。

接下来是大量的工作,重点是改进cnn的设计。我们只强调与这项工作最相关的方向。
Simonyan和Zisserman[40]证明了一系列具有小型3×3接受域的卷积足以训练最先进的模型。
后来,He等人在[15]中引入了跳连接和批处理归一化层[20],可以训练数百层的非常深的神经网络,进一步提高了性能。
一个重要的研究方向已经研究了使用稀疏卷积的好处,如分组[54]或深度[9,17]变体。
最后,Hu等[18]和Wang等[51]提出用非局部操作来增加卷积网络,部分减轻了cnn局部处理的约束。

Mixer将对小内核使用卷积的想法发挥到了极致:通过将内核大小减少到1×1,它有效地将卷积转换为独立应用于每个空间位置(通道混合MLPs)的标准密集矩阵乘法。这种修改本身不允许空间信息的聚合,为了弥补这一点,我们应用了适用于所有空间位置上的每个特征的密集矩阵乘法(令牌混合MLPs)。在Mixer中,矩阵乘法在“patches×features”输入表上逐行或逐列应用,这也与稀疏卷积的工作密切相关。最后,Mixer利用了跳过连接[15]和规范化层[2,20]。

基于self-attention的Transformer架构在计算机视觉中的最初应用是生成建模[8,32]。它们对图像识别的价值后来得到了证明,尽管与类似卷积的局部偏差[36]或非常低分辨率的图像[10]相结合。
最近,Dosovitskiy等[14]引入了ViT,这是一种具有更少局域性偏差的纯transformer模型,但可以很好地扩展到大数据。ViT在流行的视觉基准上取得了最先进的性能,同时保留了cnn[6]的健壮性。Touvron等人的[47]研究表明,在较小的数据集上使用广泛的正则化可以有效地训练ViT。Mixer借鉴了最近基于变压器的架构的设计选择;在Mixer中使用的mlp块的设计源自Vaswani等人[48]。此外,Dosovitskiy et al.[14]提出了将图像转换为一系列补丁,然后直接处理这些补丁的嵌入。
与Mixer类似,许多最近的工作努力为视觉设计更有效的架构。例如,Srinivas等人的[41]将ResNets中的3×3卷积替换为self-attention层。Ramachan- dran等人[36],Li等人[26]和Bello[3]设计了具有新的类似注意力机制的网络。Mixer可以看作是一个正交方向上的步骤,不依赖于局部性偏见和注意机制。
Neyshabur[29]是与Mixer关系相关的。作者设计了定制的正则化和优化算法,以训练一个全连接的视觉网络。该算法在小型图像分类任务中取得了良好的性能。相反,我们的体系结构依赖于令牌混合和通道混合mlp,使用标准的正则化和优化技术,并有效地扩展到大数据。
传统上,在ImageNet[13]上评估的网络是使用“入门”式的预处理[45]从头开始训练的。对于较小的数据集,ImageNet模型的传输是流行的。然而,现代的最先进的模型通常使用在较大的数据集上预先训练的权重,或者使用更近期的数据增强和训练策略。例如,Dosovitskiy et al. [14], Kolesnikov et al. [22], Mahajan et al. [28], Pham et al. [33], Xie et al.[53]等人都提高了使用大规模预训练权重进行图像分类的技术水平。改进由于增加或正则化改变的例子包括:Cubuk et al[11],通过数据增强获得良好的分类性能,以及Bello et al[4],表明规范的ResNets,如果使用最近的训练和增强策略,仍接近的状态。

5 Conclusions

我们描述了一个非常简单的愿景架构。我们的实验表明,在训练和推理所需的准确性和计算资源之间的权衡方面,它与现有的最先进的方法一样好。我们认为这些结果引发了许多问题。
在实际方面,研究模型学习到的特征和识别主要区别(如果有的话)从CNNs and Transformers学习到的特征可能是有用的。
在理论方面,我们希望了解隐藏在这些不同特征中的归纳偏见,以及最终它们在泛化中的作用。最重要的是,我们希望我们的研究结果能激发进一步的研究,超越基于 convolutions and self-attention的既定模型领域。看看这样的设计是否适用于NLP或其他领域将是特别有趣的。


转载:https://blog.csdn.net/qq_37486501/article/details/116780394
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场