在2021年5月份,谷歌,清华大学,牛津大学,Facebook等四大著名研究机构都不约而同的分享了它们的最新成果,它们都提出了一种新的学习架构,主要由线性层组成,声称它们基本可以比拟甚至优于CNN模型。这在学术界和工业界立即引发了关于 MLP 是否足够的讨论和辩论,许多人认为学习架构正在回归 MLP。这是真的吗?因此,本文从这个角度出发,我们将简要介绍了网络架构的历史,包括多层感知器 (MLP)、卷积神经网络 (CNN) 和Transformer。 最后我们将详细比较最新提出来的MLP架构之间的区别与共性。然后就目前MLP网络架构面临的挑战,提出了一些新的视角和方向,希望能激发大家后面的研究。 简介:多层感知器 (MLP)主要由输入层和输出层组成,中间可能有多个隐藏层。每层之间通常利用线性变换和激活函数进行完全连接。在深度卷积神经网络 (DCNN) 兴起之前,MLP 是神经网络的基础,极大地提高了计算机处理分类和回归问题的能力。然而,由于MLP拥有大量参数,计算成本高且容易过度拟合,而且因为层之间的线性变换总是将前一层的输出作为一个整体,所以MLP在捕获输入特征图中的局部特征结构的能力较弱。但是,因为当时的计算机算力和性能比较有限,无法获得大量的数据进行训练。所以,MLP 的功能在提出时并没有得到充分探索。之后,随着LeNet的提出,利用五层卷积神经网络大大提高了手写数字识别的准确性。后来,AlexNet的提出使得CNN得到了广泛的认可: 它比LeNet模型更大,并在ImageNet2012大型视觉识别挑战赛中在以显著的优势击败所有其他竞争对手。从此时起,开发了具有更深层次架构的模型便成为了主流,其中许多优化的模型在许多领域已经取得了比人类更准确的效果,继而CNN在科学研究、工程和商业应用中产生了深刻的范式变化。然而,撇开计算能力和训练数据量方面的进步,CNN的成功关键在于它们引入的inductive bias (归纳偏差)即:它们假定信息具有空间局域性,因此可以利用具有共享权值的滑动卷积核来减少网络参数的数量。然而,这种方法的副作用是,降低了CNN的receptive fields(感受野),从而就降低了CNN学习长期依赖的能力。为了扩大感受野,就需要使用更大的卷积核,或者必须使用其他特殊策略,如dilated convolutions。最近,在自然语言处理方面提出的Transformer结构取得了巨大成功,最近它又在视觉任务上取得了较大的效果。而注意力机制又是Transformer的核心,它能够很容易地以注意力特征图的形式学习输入数据中任意两个位置之间的长期依赖关系。然而,这种额外的自由度和减少的inductive bias意味着有效地训练基于transformer的架构需要大量的数据。因此,为了获得最好的结果,这些模型应该首先需要在一个非常大的数据集上进行预训练,比如GPT-3和ViT。 为了避免上述学习体系结构的缺点,并以更低的计算成本获得更好的结果,最近,四种基于MLP的网络结构几乎同时被提出。它们的共同目标是充分利用线性层来提取特征信息。我们在下面将主要总结这些架构;这四种方法都采用了transposition的方法来实现所有尺度上的交互,然后也使用了残差连接和正则化的方法来确保训练的稳定性。 每个网络结构的主要区别MLP-MixerMLP-Mixer首先将个分辨率为不重叠的image patches,作为输入,每个patch首先通过一个共享权重的线性层投射到一个c维嵌入空间:因此,输入图像的表示是一个矩阵,。接下来,X被送入一系列相同的mixer layers,每个mixer layer 由一个token-mixing MLP块和一个channel-mixing MLP块组成,分别混合来自所有patch和所有通道的信息。我们可以将计算表示为: 其中、···、为线性层,为GELU(非线性)激活函数。采用layer mormalization。代表每次通道特征聚合后的中间矩阵:x中列向量的共享权重映射。同样,每个patch进行两次线性变换,得到输出。 External AttentionExternal Attention揭示了自我注意力与线性层的关系。首先将自注意力简化为如下方程,其中 代表输入特征图。 然后引入外部存储单元,将M-to-M注意替换为M-to-M注意,如下所示: 最后,像self-attention一样,它使用两种不同的记忆单元和作为key和value来增强网络的能力。外部注意的总体计算如下: 又因为是矩阵相乘,它在中是线性的,因此又可以写作: 最后的输出可以表示为: 基于external attention,Guo等人还设计了一个multi-head external attention ,实现了一个名为EAMLP的全MLP体系结构。 Feed-forward-only ModelFeed-forward-only Model将Transformer中的注意力层替换为token维度上的简单前向反馈层。它首先在通道维度上使用线性层,然后在一个线性块的token维度上使用线性层。给定输入,详细计算可表示为: ResMLPResMLP也分别以per-patch和per-channel的方式来对信息进行聚合,具体可以表述为: ResMLP的一个主要区别是,它在规范化层的角色中使用仿射转换。这个仿射变换由两个可学习的参数向量,他们可以对输入的组成进行缩放和移动: MLP结构的共性
一些挑战和新的方向这些新引入的体系结构具有简单的网络结构和快速的推理吞吐量。然而,在ImageNet上,他们的结果目前比最好的cnn或Transformer网络提供的结果低5-10%。在准确性和速度之间的权衡上,它们也没有明显优于轻量级网络。因此,如果要实现这种结构的潜力,还需要更多的研究。
总结总的来说,新的体系结构分别在element(token)维度和通道维度上应用线性层来学习和实现特征矩阵中任意两个位置之间的远程交互,而传统的MLPs将这两个维度混合在一起作为一个长向量,从而使得他们之间的有效交互学习变得更加自由。我们的结论是,新的体系结构不应当是简单地重用传统mlp,而是对传统mlp的重大改进。 |
|