【综述专栏】MLP is Maybe Your Need
The following article is from RUC AI Box Author 周远航
在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。
01
最近,transformer 结构的模型在 ImageNet-1k 中取得了优异的表现。回顾历史,CV 任务的网络结构,存在往最少先验方向发展的发展趋势:早期基于手工设计的方法,需要大量的手工选择;CNN 抛弃了大量的手工选择,使用自动学习参数的卷积核;而最近的 Vision Transformer 则避免了对卷积结构固有的假设,并且显著避免了平移不变性。[1]
同样一篇论文[2]指出,随着数据量的增加和计算能力的提高,神经网络的模式不断变化。其中一个趋势是不断移模型中的除手工设计与 Inductive bias,让模型自动从原始数据中学习。
在这个去 Inductive bias 浪潮中,出现了若干篇使用 MLP 构建神经网络,并在现代大型数据集上取得不错效果的的论文,本文将对部分论文进行解读。
02
2.1 Inductive bias
2.1.1 什么是 Inductive bias
Inductive bias 是指在通过人为偏好,认为某一种解决方案优先于其他解决方案。这里的解决方案既可以指数据假设上,也可以指模型设计等。在深度学习时代,卷积神经网络认为信息具有空间局部性,可以用滑动卷积共享权重方式降低参数空间和提高性能;循环神经网络强调时序信息时间顺序的重要性;图神经网络则是认为中心节点与邻居节点的相似性会更好引导信息流动。可以说深度学习时代,不同网络结构的创新就体现了不同的归纳性偏。
2.1.2 图像数据的 Inductive bias
Local prior
图像具有 locality(局域性),例如一个像素与它邻近的像素更相关,与它远离的像素更不相关。
Global capacity
图像还具有 long-rangeS dependencies,例如一个像素与距离更远的像素同属于一个物体的相关性。
Positional prior
有些图像有 positional prior,例如人脸图片中,脸一般在图像中间位置,眼睛总是在脸部上方,嘴巴总是在脸部下方。
2.2 CV任务的网络结构
2.2.1 MLP
MLP 的工作模式可以是这样的:将 feature map 展开成一维向量,通过 FC层,最终再 reshape 成原来 feature map 的形状。因为 FC 的参数的作用是与位置相关的,因此 FC 就有建模 positional prior 的能力。又因为输出 feature map 的每一个点都与输入 feature map 的每一个点有关,所以 FC 也有捕捉 long-range dependencies 的能力。
2.2.2 CNN
CNN 通过手工设计卷积核尺寸、个数、stride 等超参数,进而在数据上自动学习卷积核参数。CNN 具有捕捉 local prior 的能力,在图像识别任务中取得成功。但是传统的 CNN 只能通过加深卷积层数、增大感受野来建模 long-range dependencies。这种建模 long-range dependencies 的模式效率较低,并且可能导致优化困难。
2.2.3 Transformer
Transformer 最早被用于 NLP 任务。最近 ViT[3] 等论文将 Transformer 用于 CV,取得了成功。Transformer 中的 self-attention,具有 global capacity 和 positional prior,MLP-Blocks 具有 global capacity。但是由于 Vision Transformer 不具有建模 local prior 的能力,因此需要大量的训练数据。最近这些基于 Transformer 的研究表明,更长的训练时间、更多的参数、更多的数据和或更多的正则化,就足以恢复像 ImageNet 分类这样复杂任务的重要先验。
03
由于 MLP 具有建模 long-range dependencies 和 positional prior 的能力, 而 CNN 具有建模 local prior 的能力,因此这篇论文[4]将 MLP 与 CNN 联合使用,提高多种计算机视觉任务的性能。
3.1 Contribution
首先,为了更好地完成图像分类任务,论文提出使用具有 global capacity 和 positional perception 的 FC,但是需要为 FC 增加 local prior
接着,论文提出了结构化重参数技术。训练时构建卷积层和 BN 层,推理时将卷积层、BN 层合并入 FC 层,给 FC 带来 local prior
最后,论文提出了 RepMLP,一种由具有 local prior 的 FC 构成的高效模块,可以作为传统卷积网络的通用组件,实现多种视觉任务效果提升
3.2 模型
由于使用了结构化重参数技术,模型在训练和推理时是不一样的。
训练时,RepMLP 会同时使用 FC 和 conv。此时 RepMLP 由三部分构成:Global Perceptron、Partition Perceptron、Local Perceptron。输入的 feature map 被分割成一组 partition。首先 Global Perceptron 将 partition 之间的相关性添加到每个 partition 上。然后 Local Perceptron 使用数个 conv 层捕获 Local Perceptron。而 Partition Perceptron 对 long-range dependencies 进行建模。
推理时,通过结构化重参数技术,将 conv 层和 BN 层的等效转换为 FC 层,降低参数量,减少推理时间消耗。
3.3 实验
论文做了两类实验,第一类是证明 RepMLP 各模块的的有效性,第二类是 RepMLP 如何与传统的 ConvNet 组合,提高性能。
论文首先在 CIFAR-10 数据集上通过测试一个 pure MLP 来验证 RepMLP 的有效性。主要结果如下:
(1)相比 Wide ConvNet,pure MLP 的 Accuracy 略低但非常相近,计算量更低,参数量更多
(2)RepMLP 中的 Global Perceptron、Partition Perceptron、Local Perceptron 均是有效的
(3)RepMLP 中的 FC 与 conv 都是有效的,无法相互替代
论文又在图像分类、人脸识别、语义分割任务上进行实验,主要结果如下:
(1)RepMLP 模块替换 ResNet 中的模块(下文称为 RepMLP-ResNet)会导致参数量的增加和轻微的减速
(2)相同参数量的 ResNet 与 RepMLP-ResNet,RepMLP-ResNet 速度更快
(3)在传统 ConvNet 中插入 RepMLP,可以提高精度:论文在 ImageNet 上将 ResNets 提高了 1.8% 的 Top-1 准确率,在人脸识别任务上提高了 2.9% 的准确率,在 Cityscapes with lower FLOPs 上提高了 2.3% 的 mIoU。
3.4 总结
论文将 FC 的 global capacity 和 positional perception 与卷积的 local prior 相结合,可以使神经网络在具有平移不变性(例如,语义分割)、对齐的图像和位置模式(例如,人脸识别)的任务上有更高的性能、更快的速度。
对于 FC 与 conv 的关系,论文认为一个 FC 比一个 conv 具有更强的表示能力,因为后者可以被视为一个具有共享参数的稀疏 FC。从理论角度看,将卷积网络视为 FC 的退化案例,开辟了一个新的视角,可以加深对传统卷积网络的理解。
RepMLP 是为主要关注推断吞吐量和准确性,而不太关心参数数量的应用程序场景设计的。
04
这篇文章来自 Google Brain (许多作者来自 ViT 团队),提出了一个只使用 MLP 的网络结构 MLP-Mixer,该结构可以取得与 CNN、Transformer 相似的性能。
4.1 特征混合方式
这篇论文按照特征混合方式分析各种网络架构。论文指出,用于视觉的神经网络架构由混合特征的神经网络层组成,这些神经网络层混合特征的方式有两种:
(1)在一个给定的空间位置,混合不同 channel 的特征。
(2)在不同的空间位置混合特征。
对于 CNN:
1*1 卷积会混合同一个特征点不同通道的特征。
N*N 卷积(N>1)和 pooling 会混合不同位置的特征,并且随着层数的增加,卷积和 pooling 的感受野越大,混合的特征数量越多。
对于 Vision Transformers 和其他基于 attention 的架构:
在图像的 patches 上做 self-attention,可以混合给定空间位置的特征,也可以混合不同空间位置的特征。MLP-blocks 只能混合给定位置的特征
MLP 的不同使用方法具有不同的特征混合方式。
channel-mixing MLP:将一个空间位置的不同 channel 上的特征 reshape 成一个向量,然后通过一个 FC。这样的 MLP 使用方法可以混合给定空间位置的特征。
token-mixing MLP:将同一 channel 上不同空间位置的特征 reshape 成一个向量,通过一个 FC。这样的 MLP 使用方法可以混合不同空间位置同一 channel 的特征。
本文的理念就是明确地分离 channel-mixing 和 token-mixing 两种 MLP 方法,并且在 MLP-Mixer 中交替使用,使基于 MLP 的 MLP-Mixer 架构既可以混合给定空间位置的特征,也可以混合不同空间位置的特征。
4.2 模型
4.3 实验
4.4 总结
05
5.1 模型
5.2 实验
5.3 总结
06
参考文献
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“综述专栏”历史文章
SOM(自组织映射神经网络)——理论篇
GAN学习指南:从原理入门到制作生成Demo
深度学习模型大小与模型推理速度的探讨
一文了解推荐系统中的图神经网络
自编码器的最佳特征:最大化互信息
系统了解Encoder-Decoder 和 Seq2Seq及其关键技术
GNN解耦表征论文汇总
最简单的self-supervised方法
Transformer结构理解及一些细节!
识别与诊断--基于深度学习的计算病理学进阶应用
BERT知识蒸馏综述
More About Attention
NLP词向量发展历程
基于深度学习的有监督关系抽取方法简介
AI系统安全的实用方法
更多综述专栏文章,
请点击文章底部“阅读原文”查看
分享、点赞、在看,给个三连击呗!