MLP-Mixer: An all-MLP Architecture for Vision
MLP-Mixer:一个全MLP的视觉架构
paper: https://arxiv.org/abs/2105.01601
code: https://github.com/google-research/vision_transformer(暂未开源)
摘要
CNNs是CV的首选模型。最近,attention-based networks也开始流行了,例如:Vision Tranformer。
本文章中,我们表明convolutions 和attention尽管都足以获得良好的性能,但是他们都不是必须的。我们提出了 MLP-Mixer,一个专门基于多层感知机的架构(MLPs)。MLP-Mixer包含两种类型的layers:
一个是MLPs独立应用于image patches(i.e. “mixing” the per-location features),
另一个是MLPs跨patches应用(i.e. “mixing” spatial information)
当在大数据及或带有正则化方案进行训练时,MLP-Mixer在图像分类的benchmarks上获得了具有竞争力的score,预训练和推理成本可与最先进的模型相媲美。我们希望这个结果可以激发超越地位稳固的CNNs和Transformers的进一步研究。
引言
正如计算机视觉的历史所示,更大的数据集的可用性加上计算能力的增加,通常会导致范式的转变。虽然CNNs已经是计算机视觉事实上的标准,但是最近的Vision Transformers【14】(ViT),一种基于self-attention的替代品获得了SOTA的性能。ViT延续了从模型中去除手工制作的视觉特征和可归纳的偏置的长期趋势,并进一步依赖于从原始数据中心学习。
我们提出了一种MLP-Mixer架构(简称“Mixer”),这是一种具有竞争力但在概念和技术上比较简单的替代方案,这里边不用convolution 或self-attention.相反,Mixer的架构完全基于多层感知机(MLP),它是一种跨空间位置或特征通道重复使用的MLP。Mixer仅仅依赖于基本的矩阵乘法routines,对data layout(reshapes和transpositions)的更改和