MLP-Mixer: An all-MLP Architecture for Vision

原文链接:

MLP-Mixer: An all-MLP Architecture for Vision

文章概述

        CNN已成为计算机视觉的首选方案,近来兴起的基于注意力的网络(比如Vision Transformer)也逐渐变得流行。在本文中我们发现卷积和注意力虽然会得到更好的表现,但都不是必须的。本文提出一种基于MLP的结构-MLP Mixer,该结构包括两种类型的层,一种用于混合每个位置的特征,一种用于混合空间信息。实验表示该网络不仅能在数据集上取得较好的成绩,而且在预训练和预测时花费的成本与目前最先进的模型相当。

介绍

        作者提出了MPL-Mixer,一种具有竞争力并且在概念和技术上更简单的结构,仅依赖于在空间位置和特征通道上反复使用多层感知机,Mixer只使用基本的矩阵乘法来改变数据的布局以及其非线性。Mixer利用了两种类型的MLP层,channel-mixing MLPs和token-mixing MLPs。前者用于不同通道间的交互,后者用于不同token之间。

方法

        该网络的结构如下图所示:

       一共有三个部分Per-patch Fully-connected、Mixer以及最后的分类器。分类器由一个全局池化层+全连接层构成。

        Per-patch Fully-connected层,主要是将输入的图片分patch进行映射,最后转换为X=S*C的矩阵。假设输入图像为H*W,将其划分为大小为P*P的patch(共有S = HW/\mathbf{P}{^{2}}个patch),并由相同参数的矩阵对每个patch映射为一维特征,长度为C。

        例如,假设输入图像大小为240*240*3,模型选取的Patch为16*16,那么一张图片可以划分为(240*240)/(16*16)= 225个Patch。每个Patch包含了16*16*3 = 768个值,把这768个值做Flatten作为MLP的输入,其中MLP的输出层神经元个数为128。这样,每个Patch就可以得到长度的128的特征向量,组合得到225*128的矩阵。其中Patch的值和MLP输出单元个数为超参数。

        Mixer Layer由多个大小相同的层组成,每一层包括两个MLP块。第一个是token-mixing MLP(即图中的MLP1),作用于X的列向量。第二个是channel-mixing MLP(图中的MLP2),作用于X的行向量。每个MLP包括两个全连接层和一个GELU激活函数。此外,Mixer 还用了跳跃连接(Skip-connection)和层归一化(Layer Norm),这里的跳跃连接即残差链接,将输入输出相加。

        可以发现X的行代表了同一空间位置在不同通道上的信息,列代表了同一通道不同空间位置的信息。即对X的每一行进行操作可以实现通道域的信息融合,对Table的每一列进行操作可以实现空间域的信息融合。在CNN中,是通过卷积来核来实现通道空间上的信息融合,在Transformer中,是通过Multi-Head Attention来实现空间和通道的信息融合。

         除了最初patch映射层,每一层输出大小都是一样的,这种”各向同性“的设计与transformer或RNN中使用固定的宽度相似,与大多数越深层网络输入越小,通道数越多的CNN不同。与ViTs不同,Mixer不使用位置编码,因为token-mixing MLPs对输入的顺序很敏感。

实验

        作者评估了MLP-Mixer模型的性能,这些模型用中到大规模的数据集进行了预训练,然后应用在一系列中小型的下游分类任务上。如下表所示,展示了本文训练的不同规模下MLP-Mixer的具体架构。

总体实验结果 

        在不同数据集上进行预训练后的模型,在ILSVRC2012 “ImageNet” 下游任务上的结果如下表所示,其中Avg.5表示在ImageNet,CIFAR-10, CIFAR-100, Pets, Flowers这五个下游任务的平均性能。

        表2可以看出Mixer在成本相近的情况下具有与最先进的模型相当的精度。ImageNet-21k上进行预训练时,Mixer实现了整体上的强大性能(在ImageNet上有84.15%的top-1),尽管略逊于其他模型,但其运算速度比ViT和BiT快很多。 当上游数据集的规模增加时,(使用JFT进行预训练)Mixer的性能明显提高,Mixer-H/14在ImageNet上达到了87.94%的top-1准确率,比BiTResNet 152x4好0.4%,只比ViT-H/14低0.6%,并且其运行速度是ViT-H/14的2.5倍,几乎是BiT的两倍。

验证模型规模的作用 

         使用不同规模的MLP-Mixer进行对比,实验结果如下所示:

         由上图可以看出,Mixer与这些性能极佳的ResNets、ViTs和混合模型一样好,并且与HaloNet、ViT、NFNet和MPL处于同一水平。且随着数据规模的增长,Mixer的精度赶上或超过了BiT和ViT,即大型Mixer和ViT模型之间的差距缩小了。 

         ImageNet 验证不同规模的 ViT、BiT 和 Mixer 模型的 top-1 准确度与总预训练计算(左)和吞吐量(右)的结果如下图所示。

        可以看出,尽管Mixer在模型规模的较小时略低于最好的结果,但它在规模较大的时候却明显地表现出了最好的水平。 

 验证预训练数据集的大小对模型的影响

       

        从上表可以看出,随着数据集的增加,Mixer-L/32和Mixer-L/16的性能都比BiT增长得快;Mixer-L/16不断改进,而BiT模型则趋于平稳。Mixer-L/16和ViT-L/16之间的性能差距随着数据规模的扩大而缩小,Mixer比ViT更受益于数据集规模的增长。这是由于ViT中的自我关注层导致所学函数的某些属性与Mixer架构发现的真实基础分布的兼容性较差。  

输入序列的不变性

        这里对输入的图像进行处理,1)对patch进行打乱,并在每个patch中使用相同的排列方式对像素进行排列 2)对整个图像中的像素进行全局排列,所有图像使用相同的排列方式。并在Mixer和Resnet上进行对比实验,具体结果如下图所示:

         可以看出 Mixer对于输入patch的顺序和patch内像素的顺序是没有影响的(蓝色和绿色曲线完全一致),ResNet在打乱后的数据上 表现出明显的下降 即其性能依赖于图像中像素的特定顺序。另外,在对像素进行全局排列时,Mixer的性能与ResNet相比下降得更少。 

总结 

        本文提出了一个非常简单的结构,实验证明该网络在权衡精确度和训练预测所需要计算的同时,达到了跟目前最好的模型差不多的效果。作者认为研究该模型与CNN、transformer学到的特征的主要区别可能是有用的,并且希望引发进一步研究,超越基于卷积和自我注意力模型,并对该设计在其他领域中(如NLP)的作用进行探索。

### 回答1: mlp-mixer是一种全MLP架构,用于视觉任务。它使用多层感知机(MLP)来代替传统的卷积神经网络(CNN)来处理图像。这种架构的优点是可以更好地处理不同尺度和方向的特征,同时减少了计算和内存消耗。它在许多视觉任务中表现出色,例如图像分类、目标检测和语义分割。 ### 回答2: mlp-mixer是一种全连接多层感知器(Multi-Layer Perceptron,MLP)网络架构,用于视觉场景的图像分类任务。它是在自然语言处理领域中Transformer的启发下发展起来的。与CNN、ResNet等传统的卷积神经网络架构不同,mlp-mixer主要采用全连接层(FC)和MLP Block。 mlp-mixer架构设计的主要思想是将全局信息和本地信息分离,然后通过一系列由FC和MLP Block组成的混合层进行特征提取。在每个MLP Block中,特征向量会被分成多个部分进行局部特征提取,之后再全局汇聚。这样可以保证局部信息不会在多次卷积操作后丢失,并且全局信息的汇聚也是非常高效的。 另外,mlp-mixer架构中的Layer Norm和MLP Block中的GELU激活函数等技术也是有其特点的。Layer Norm是比Batch Norm更加具有一般性的归一化技术,可以提高模型对小批量数据的扩展性。而GELU激活函数在接近0处光滑,对精度保持了很好的提升。这些技术的运用让mlp-mixer模型具有了更好的稳定性和鲁棒性。 综上所述,mlp-mixer是一个全新的神经网络架构,其与传统的卷积神经网络的不同点在于摆脱了卷积操作,通过全连接层和MLP Block等模块提取图像特征。该模型有很强的泛化性,并且在图像分类任务上取得了不错的效果。它的优点在于良好的可扩展性和可解释性,且训练效果非常稳定。在未来,mlp-mixer模型或许有望在计算机视觉领域中取得更进一步的发展。 ### 回答3: MLP-Mixer是一种全MLP(多层感知器)的架构,可以应用于视觉任务中的图像分类和目标检测等任务。MLP-Mixer在CVPR 2021中被提出并于同年6月被公开发布。 传统的卷积神经网络(CNN)被广泛应用于计算机视觉领域。但是,随着计算机视觉任务的不断发展和增加,如何更好地处理不同类型和规模的数据集,成为了一个挑战。因此,MLP-Mixer尝试解决传统卷积神经网络中一些问题,例如参数共享、池化和批归一化等。 MLP-Mixer的主要思想是将传统的卷积操作替换为由若干密集连接层(全连接层)组成的mixing层。传统的卷积操作只考虑空间上的邻居关系,而mixing层考虑全局视角。mixing层通过对不同通道(channel)的信息进行交互,捕捉不同通道之间的全局相关性,提高了特征提取的效率和性能,同时降低卷积神经网络的复杂性。 此外,MLP-Mixer还引入了多层感知器池化层(MLP Pooling Layer)代替传统的最大池化层(Max Pooling Layer),使神经网络更加灵活和高效。MLP-Mixer考虑到了计算机视觉中不同尺度的特征信息,通过MLP池化层进行特征重组和降维,使得神经网络可以处理多尺度特征信息,提高特征提取的精度和速度。 总的来说,MLP-Mixer是一种全MLP的架构,其独特的mixing层和MLP Pooling层相比传统的卷积神经网络有着更好的性能和可扩展性。未来,MLP-Mixer有望在计算机视觉领域的各种任务中得到广泛的应用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值