简介
随着Vision Transformer的发展,利用CNN与Transformer相结合、基于纯Transformer设计的网络架构层出不穷。与此同时,相当一部分研究聚焦于探讨Transformer的必要性,并由此出现了多层感知机(Multi layer perceptron, MLP)、傅里叶变换(Fourier transform)等替代Transformer组件构建网络模型的研究。
本文力图将现有前沿同Transformer相关或力图替代Transformer结构的相关研究汇总到一起,将其模型的架构分别简要列出,并统一汇总各个backbone模型对应的效果。
FC: Fully-Connected layer 全连接层,可用1*1卷积等价替代(Network in Network 论文)。
SA: Self-attention 自注意力模块
FT: Fourier transform 傅里叶变换
FF: Feed-Forward layer 前馈网络层
MHSA: Multi-Head Self-attention 多头自注意力模块
CNN&Transformer Network设计
Conformer:Local Features Coupling Global Representations for Visual Recognition
CNN中的卷积操作聚焦于提取图片的局部信息。Transformer能够通过构造patch embeddings提取到图片的全局表示。局部信息的小而精和全局表示的大而全会使得图像的特征提取过程出现提取能力不足和信息冗余的缺点。
为了更好地平衡两者信息各自包含的特点,作者提出了FCU(Feature Coupling Unit) 单元,作为CNN分支和Transformer分支的信息交互渠道,并在此基础上构建整个网络模型。为了解决两个分支的特征大小不匹配的问题,CNN采用 1×1 conv再上采样传递到Trans block中,Trans block采用下采样和1×1 conv传递到CNN。
其网络总结构图如下图所示:
Scaling Local Self-Attention for Parameter Efficient Visual Backbones
作者考虑了self-attention和CNN操作在广义的空间池化上的等价性,将其统一到了一起。作者阐明,该过程的本质是对图像中某一区域利用一个权重矩阵进行一个线性变换。因此,在HaloNet中,作者将原始图像划分后的patch的感知区域进行一定比例的扩大,引入一个Transformation matrix 对扩大后的区域进行线性变化。将每个patch进行上述操作之后,汇总成一个维度同输入图片的queies,keys和values的生成类似。
上述操作示意图如下所示:
HaloNet网络家族结构如下所示:
MLP Network设计
MLP-Mixer: An all-MLP Architecture for Vision(ViT团队)
手写数字识别实验(MNIST)中MLP模型能够取得较好的效果。随着图像复杂程度和数据集类别数目的增涨,MLP难以有较为高效的特征提取能力。为了避免特征提取中的参数过于冗余,因此出现了卷积/attention等操作。
为了融合图像像素特征信息和其位置信息,如ViT相同,将原始 H × W × C 1 H×W×C1 H×W×C1图像构建patch,得到