引言:视觉的范式转移
2020年,Google Research团队发表了一篇题为"An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale"的论文,彻底改变了计算机视觉的研究格局。视觉Transformer(Vision Transformer, ViT)将自然语言处理中统治多年的Transformer架构首次大规模应用于图像分类任务,展示了纯Transformer在视觉任务中的惊人潜力。
一、CNN时代的瓶颈与自注意力的崛起
1.1 卷积归纳偏见的局限性
卷积神经网络(CNN)自AlexNet(2012年)以来一直是计算机视觉的主流架构。其核心优势在于两个内置的归纳偏见:局部性(locality,即相邻像素具有更强关联)和平移等变性(translation equivariance)。这两个特性使CNN在小样本学习场景下表现出色,但也带来根本性限制:感受野的扩大必须通过多层堆叠逐步实现,长距离依赖关系的建模效率低下。
1.2 自注意力机制的全局视野
Transformer的核心——自注意力(Self-Attention)——天然具备全局建模能力。在自注意力层中,序列中任意两个位置之间的交互都是直接的,路径长度恒为O(1),这与CNN中O(N)(N为层数)的路径长度形成鲜明对比。这种全局视野使模型能同时捕获局部细节和全局语义,突破了CNN感受野受限的瓶颈。
二、ViT架构详解
2.1 图像分块(Image Patch Embedding)
ViT的第一步是将输入图像分割成固定大小的非重叠patch。对于一张H×W×C的图像,将其切分为N个P×P大小的patch:
N = (H × W) / (P × P)
以ViT-B/16为例,输入224×224×3的图像,patch大小为16×16,得到196个patch。每个patch展平为768维向量后,通过一个线性投影映射到Transformer的隐藏维度D(ViT-B中为768)。这一过程可视为将图像"词(token)化",每个patch对应NLP中的一个词。
2.2 位置编码的重要性
Transformer本身不具备顺序感知能力,必须注入位置信息。ViT使用可学习的一维位置编码(learnable 1D positional embedding),其维度与patch embedding相同,逐patch相加。后续研究表明,位置编码对性能至关重要:移除位置编码后,Top-1准确率下降超过3个百分点。2D位置编码和相对位置编码等改进方案也在后续工作中被提出。
2.3 CLS Token与分类头
ViT借鉴了BERT的设计,在patch序列前追加了一个可学习的[CLS] token(分类标记)。经过L层Transformer编码后,CLS token对应的最终状态被送入一个MLP Head,输出分类概率。CLS token在与所有patch交互的过程中逐步聚合全局信息,最终形成整张图像的全局表征。
2.4 完整的Transformer编码器
ViT的编码器与原始Transformer完全一致,由交替的多头自注意力(MHSA)和前馈网络(FFN)组成,层归一化(LayerNorm)置于每个子层之前(Pre-LN),残差连接贯穿每个子层:
z_prime = MHSA(LayerNorm(z)) + z
z_new = FFN(LayerNorm(z_prime)) + z_prime
三、关键变体与演进
3.1 DeiT:数据高效图像Transformer
ViT的巨大性能依赖于在超大规模数据集(JFT-300M)上的预训练。Facebook AI提出的DeiT(Data-efficient Image Transformer)引入了知识蒸馏策略,使用CNN教师模型(如RegNet)指导ViT训练,仅用ImageNet-1k即可训练出高性能ViT模型,打破了ViT必须依赖海量数据的认知。
3.2 Swin Transformer:层级化与滑动窗口
Microsoft Research提出的Swin Transformer是ViT演进中的里程碑。它引入了两个核心创新:层级化特征金字塔(借鉴CNN的多尺度设计)和滑动窗口注意力(Shifted Window Attention)。前者使模型能输出多尺度特征图,适配检测、分割等密集预测任务;后者将全局自注意力限制在局部窗口内,通过窗口偏移实现跨窗口交互,将复杂度从O(N²)降至O(N)。
3.3 Masked自监督:MAE与BEiT
2021年,何恺明团队提出MAE(Masked Autoencoder),将BERT式的掩码预训练引入视觉领域。MAE以极高比例(75%)随机掩码图像patch,要求模型重建被掩码的patch像素值。非对称编码器-解码器设计与极低掩码输入使MAE训练效率极高,且学到的表征在下游任务上表现卓越。
四、ViT与CNN的本质差异
4.1 感受野对比
ViT的第一层自注意力即实现全局交互,这意味着patch间的任意关系在理论上可从第一层开始就被捕获。而CNN的感受野随深度线性增长,深层神经元才具备全局感受野。这种架构差异使得ViT对"全局性"特征(如整体布局、远端物体关系)具有天然优势。
4.2 数据效率与归纳偏见
ViT缺乏CNN内置的局部性和平移等变性归纳偏见,导致其在中小规模数据集上表现不如CNN。但在大规模预训练场景下,ViT反而展现出更好的扩展性(scalability)。研究表明,当预训练数据量超过某一阈值时,ViT的性能优势将日益显著,且模型越大收益越大。
4.3 计算复杂度
自注意力机制对序列长度呈O(N²)复杂度,当图像分辨率较高时计算代价巨大。这是高分辨率密集预测任务中ViT面临的主要挑战,也是后续工作重点关注优化的方向。
五、影响与未来方向
ViT的影响已远超图像分类。在目标检测(DETR系列)、语义分割(SETR、Mask2Former)、视频理解(TimeSformer、ViViT)、多模态学习(CLIP、DALL·E、Stable Diffusion)等领域,Transformer已成为主导架构。
当前研究前沿包括:高效注意力线性化(Linear Attention、FlashAttention)、视觉与语言统一的多模态Transformer、以及面向3D视觉的点云Token化(Point Transformer)。视觉Transformer的下一个十年,将聚焦于效率与通用性的平衡,以及从"更大"到"更聪明"的范式进化。
参考资料
- Dosovitskiy et al., An Image is Worth 16x16 Words, ICLR 2021
- Touvron et al., DeiT: Data-efficient Image Transformers, ICML 2021
- Liu et al., Swin Transformer, ICCV 2021
- He et al., Masked Autoencoders Are Scalable Vision Learners, CVPR 2022

发表评论 取消回复