目录

关于MLP的一些观点和一些未来可能的方向 【Can Attention Enable MLPs To Catch Up With CNNs】

标题 Can Attention Enable MLPs To Catch Up With CNNs
年份: 2021 年 5 月
GB/T 7714: Guo M H, Liu Z N, Mu T J, et al. Can Attention Enable MLPs To Catch Up With CNNs?[J]. arXiv preprint arXiv:2105.15078, 2021.

引入

这是真的吗?
2021年5月的第一周,来自四个不同机构的研究人员:谷歌、清华大学、牛津大学和Facebook分享了他们最新的研究成果,每个人都提出了新的学习架构,主要由线性层组成,声称它们可以比拟,甚至优于基于卷积的模型。这立即引发了学术界和工业界关于mlp是否足够的讨论和辩论,许多人认为学习架构正在回归mlp。

从这个角度来看,本文简要介绍了学习架构的历史,包括多层感知器(MLPs)、卷积神经网络(CNNs)和变压器。然后,本文将研究这四种新提出的体系结构有哪些共同之处。最后,本文提出了新的学习架构的挑战和方向,希望对未来的研究有所启发。

1. 学习视觉任务的架构

多层感知器由输入层和输出层组成,其间可能有多个隐藏层。层通常与线性变换和激活函数完全相连。

在深度卷积神经网络(DCNNs)取代之前,MLPs是神经网络的基础,极大地提高了计算机处理分类和回归问题的能力。

然而,mlp由于其参数数量大,计算成本高,容易过拟合。

mlp在获取输入中的局部结构方面也很差,因为层之间的线性转换总是将前一层的输出作为一个整体。

然而,本文注意到,mlp的能力在提出时并没有得到充分的开发,这一方面是由于计算机性能有限,另一方面是由于无法获得大量用于训练的数据。

为了在保持计算效率的同时学习输入中的局部结构,提出了卷积神经网络(CNNs)。

1998年,LeCun等人提出了LeNet,利用五层卷积神经网络大大提高了手写数字识别的准确性。

后来,AlexNet导致cnn在研究社区的广泛接受:它比以前的cnn像LeNet,并在ImageNet大型视觉识别挑战在20121以显著的优势击败所有其他竞争对手。

从那时起,开发了更多具有更深层次架构的模型,其中许多模型在许多领域提供了比人类更准确的结果,从而在科学研究、工程和商业应用中产生了深刻的范式变化。撇开计算能力和训练数据量方面的进步不提,cnn的关键成功在于它们引入的归纳偏差:它们假定信息具有空间局域性,因此可以利用具有共享权值的滑动卷积来减少网络参数的数量。

然而,这种方法的副作用是,cnn的接受域是有限的,使得cnn学习长期依赖的能力更低。为了扩大接受域,需要使用更大的卷积核,或者必须使用其他特殊策略,如扩展卷积。

注意
由几个小内核组成一个大内核并不是扩大cnn接收域的合适方法。

最近,人们提出了用于序列数据的Transformer神经网络结构,在自然语言处理方面取得了巨大成功,后又提出了视觉Transformer。注意机制是Transformer的核心,它能够很容易地以注意地图的形式学习输入数据中任意两个位置之间的长期依赖关系。然而,这种额外的自由度和减少的感应偏差意味着有效地训练基于transformer的架构需要大量的数据。为了获得最好的结果,这些模型应该首先在一个非常大的数据集上进行预训练,比如GPT-3ViT

2. Linear Layer Based Architectures

2.1. Four Recent Architectures

为了避免上述学习体系结构的缺点,并以更低的计算成本获得更好的结果,最近,四种体系结构几乎同时被提出[16,7,12,17]。它们的共同目标是充分利用线性层。本文在下面简要地总结了这些架构,见图1,这四种方法都采用了转换来模拟所有尺度上的交互。残差连接和标准化以类似的方式使用,以确保稳定的训练。

https://gitee.com/xiaomoon/image/raw/master/Img/image-20210605175321587.png
Figure 1. Four recent architectures in which linear layers predominate.

2.2. MLP-Mixer

MLP-Mixer以分辨率$P \times P$的S个非重叠图像patches作为输入。每个patch首先通过一个共享权的线性层投射到一个c维embedding,这样输入图像的表示就是一个矩阵$X \in \R^{S \times C}$。

接下来,X被送入一个相同的混合层序列,每个混合层由一个token混合MLP块和一个channel混合MLP块组成,分别混合来自所有patches和所有channels的信息。计算表示为

$$ \begin{aligned} \mathbf{U} &=\mathbf{X}+f_{2}\left(\sigma\left(f_{1}\left(\operatorname{Norm}(\mathbf{X})^{T}\right)\right)\right)^{T} \\ \mathbf{Y} &=\mathbf{U}+f_{4}\left(\sigma\left(f_{3}(\operatorname{Norm}(\mathbf{U}))\right)\right. \end{aligned} $$

其中$f1,···,f4$为线性层,σ为GELU(非线性)激活函数,采用层归一化。$U \in \R^{S \times C} $是每通道特征聚合后的中间矩阵,$X$中列向量的共享权映射$\R^S \rightarrow \R^S$。类似地,每个patch执行两个线性变换,得到输出$Y$。

2.3. External Attention

External Attention揭示了自注意力与线性层的关系。它首先将自注意简化为下式,其中$M \in \R^{ N \times d}$是输入特征图。 $$ A = softmax(FF^T) $$

$$ F_{out} = AF $$

然后引入external memory单元$M \in \R^{ S \times d}$,用M-to-M attention代替M-to-M意,如下所示

$$ \begin{aligned} \mathbf{A} &=(\alpha)_{i, j}=\operatorname{Norm}\left(\mathbf{F M}^{\mathbf{T}}\right), \\ \mathbf{F}_{\text {out }} &=\mathbf{A M} . \end{aligned} $$

最后,像self-attention一样,它使用两种不同的记忆单元$M_k$和$M_v$作为键和值来增加网络的能力。外部注意的总体计算如下

$$ \begin{aligned} \mathbf{A} &=\operatorname{Norm}\left(\mathbf{F} \mathbf{M}_{\mathbf{k}}^{\mathrm{T}}\right), \\ \mathbf{F}_{\text {out }} &=\mathbf{A M}_{\mathbf{v}} . \end{aligned} $$

因为$FM^{T}k$是矩阵乘法,它在F中是线性的,所以上式可以写成 $$ F{out} = f_2(Norm(f_1(F))) $$ 然后通过添加一个标识映射得到最终的输出,如下所示: $$ F_{out} =F + f_2(Norm(f_1(F))) $$

在外部关注的基础上,Guo等人还设计了一个多头外部关注,实现了一个名为EAMLP的全MLP体系结构。

2.4. Feed-forward-only Model

Feed-forward-only模型将Transformer中的注意层替换为token维度上的简单前馈层。它首先在通道维度上使用线性层,然后在一个线性块的token维度上使用线性层。给定一个输入$X \in \R^{N \times C} $,详细计算可以表示为

$$ \begin{aligned} &\mathbf{U}=\mathbf{X}+f_{2}\left(\sigma\left(f_{1}(\text { LayerNorm }(\mathbf{X}))\right)\right) \\ &\mathbf{Y}=\mathbf{U}+\int_{4}\left(\sigma\left(\int_{3} \text { LayerNorm }\left(\mathbf{U}^{T}\right)\right)\right)^{T} . \end{aligned} $$

2.5. ResMLP

ResMLP将每个patch和每个channel分别聚合信息,可以表述如下

$$ \begin{aligned} &\mathbf{U}=\mathbf{X}+\operatorname{Norm}\left(f_{1}\left(\operatorname{Norm}(\mathbf{X})^{T}\right)^{T}\right) \\ &\mathbf{Y}=\mathbf{U}+\operatorname{Norm}\left(f_{3}\left(\sigma\left(f_{2}(\operatorname{Norm}(\mathbf{U}))\right)\right)\right. \end{aligned} $$

ResMLP的一个主要区别是,它在规范化层的角色中使用仿射转换。这个仿射变换由两个可学习的向量参数化,以缩放和移动输入分量 $$ Aff_{\alpha , \beta}(X) = Diag(\alpha)x + \beta $$

上面没有使用输入的统计信息,因此可以在推理期间将其集成到线性层中以提高速度。

3. Common Themes

上述方法的共同点

3.1. Long distance interactions

像自注意力一样,这四种方法考虑了不同patch之间的相互作用。

MLPMixer、ResMLP和Feed-forward-only模型使用线性层作用于token维,以允许不同的patch彼此通信。External attention采用softmax和L1归一化来发挥类似的作用。

与CNNs不同的是,这些模型可以考虑patch之间的长距离相互作用,自动选择合适的和不规则的感受野

3.2. Local semantic information

与自然语言中的独立单词不同,单个像素只有很少的语义信息,它们与其他像素的交互不能直接提供信息。

因此,在使用mlp之前提取有意义的信息是很重要的。

MLP-Mixer, ResMLP和Feed-forward-only模型将图像分割成16个16个局部patches以获取语义信息。External attention采用T2T模块或CNN骨干,在将信息传递到线性层之前提供丰富的语义

3.3. Residual connections

残差连接解决了梯度消失的问题,稳定了训练过程,因此它们通常用于深度卷积神经网络。它们还有利于基于线性层的体系结构,并被上述所有模型所采用。

3.4. Reduced inductive bias

CNNs的局部化处理会导致inductive bias,当训练数据足够多时,准确率会降低。最近引入的体系结构在单个token上独立使用线性层,或平等地处理所有token,从而获得比CNNs更低的 inductive bias。

4. Challenges and future directions

这些新引入的体系结构具有简单的网络结构和快速的推理。然而,在ImageNet上,他们的结果目前比最好的cnn或Transformer网络提供的结果低5%到10%。在准确性和速度之间的权衡上,它们也没有明显优于轻量级网络。因此,如果要实现这种架构的潜力,还需要更多的研究。

下面提出了未来工作的可能方向:

  • 所有的线性层都直接或间接地处理图像的小块,提取局部特征,从而降低计算代价。将图像分割成不重叠的patch再次引入inductive bias。一方面,cnn能很好地捕捉局部结构,但缺乏处理长距离交互作用的能力。另一方面,这四个体系结构提供了一种处理远程交互的好方法。将两种架构的优点结合起来似乎很自然。
  • 这四种方法的一个主要目的是避免使用自注意机制。Transformer中用于此目的成功配置可用于这些线性体系结构。例如,Transformer可以使用多头注意力,这些方法可以使用类似的多头机制来提高模型的能力。
  • 残差连接在所有这些方法中都起着关键作用,说明网络残差结构至关重要。因为这些新架构比cnn简单,所以需要更好的backbone。
  • 由于这些新架构的简单性,它们可以很容易地处理不规则的数据结构,包括在各种应用中使用的点云、图等。此外,这种灵活性保证了建立跨模式模型的能力,并为所有模式的数据提供统一的网络主干。
  • 另外一个好处是,所有的计算都是矩阵乘法,可以在深度学习框架中高度优化,并易于在硬件上执行。这种简单性可以促进工业和商业的部署,也可以减少消耗。