目录
2. 技术基础:自注意力机制与Vision Transformer
2.2 Vision Transformer (ViT):开创性的直接应用
3.1 Data-efficient Image Transformer (DeiT):告别大规模预训练
3.2 Swin Transformer:引领视觉任务的通用Backbone
1. Vision Transformer (ViT) 完整实现
2. DeiT (Data-efficient Image Transformer) 实现
摘要:本文深入探讨了Transformer架构如何颠覆性地改变计算机视觉(CV)领域的发展范式。始于自然语言处理(NLP)的Transformer模型,通过Vision Transformer (ViT)、Data-efficient Image Transformer (DeiT) 和 Swin Transformer等一系列里程碑式的工作,成功解决了卷积神经网络(CNN)固有的归纳偏置限制,实现了全局建模能力的突破。本文系统分析了这些核心模型的技术创新、理论基础及其对CV各个子领域的深远影响,并展望了未来多模态统一架构的发展趋势。
关键词:Transformer;计算机视觉;自注意力机制;Vision Transformer;Swin Transformer;全局建模
1. 引言:一场跨领域的架构迁移
2017年,Vaswani等人提出的Transformer架构【1】凭借其强大的自注意力机制和并行化训练能力,彻底改变了自然语言处理领域。然而,计算机视觉长期以来一直是卷积神经网络(CNN) 的天下,其固有的局部连接、权重共享和平移不变性等归纳偏置(Inductive Bias)被证明极其有效。
但CNN也存在本质局限:感受野有限,难以建立真正的长距离依赖关系;层次化特征提取过程可能丢失细节信息。Transformer的核心优势——全局建模能力和动态权重分配——恰好针对这些痛点。本文将详细论述Transformer如何跨越模态鸿沟,引领计算机视觉的新革命。
2. 技术基础:自注意力机制与Vision Transformer
2.1 自注意力机制核心思想
自注意力机制允许序列中的每个元素("词"或"图像块")与所有其他元素直接交互,计算其相关性。其核心计算公式为:
Attention(Q, K, V) = softmax(QKᵀ/√dₖ)V
其中Q(Query)、K(Key)、V(Value)均由输入线性变换得到。这种机制实现了:
-
全局感受野:每个位置都能直接关注所有其他位置
-
动态特征权重:注意力权重根据输入内容动态计算
-
强可解释性:注意力图谱可视化模型关注区域
2.2 Vision Transformer (ViT):开创性的直接应用
2020年,Dosovitskiy等人提出的ViT【2】是首个完全摒弃卷积、纯Transformer架构的CV模型。
-
核心创新:
-
图像分块嵌入:将输入图像分割成固定大小的 patches(如16x16),展平后线性投影为序列 tokens,加入位置编码。
-
类别Token:借鉴BERT的[CLS] token,用于最终分类。
-
Transformer编码器:直接使用标准Transformer编码器堆叠。
-
-
关键发现:
-
大规模数据需求:在JFT-300M等超大数据集上预训练后,ViT性能超越当时最佳CNN。
-
** scalability**:模型越大,性能越好,几乎没有饱和迹象。
-
全局建模优势:在处理需要全局信息的任务(如场景分类、细粒度识别)上表现出色。
-
-
局限性:
-
缺乏CNN固有的平移不变性和局部性归纳偏置。
-
需要大规模预训练数据,在小数据集上容易过拟合。
-
计算复杂度与图像尺寸成平方关系(O(n²)),处理高分辨率图像开销大。
-
ViT证明了"Everything is a sequence" 的范式在视觉领域同样可行,是CV领域的范式转换点。
3. 关键演进:解决ViT的痛点
3.1 Data-efficient Image Transformer (DeiT):告别大规模预训练
Touvron等人提出的DeiT【3】解决了ViT对海量数据的依赖问题。
-
核心创新:
-
知识蒸馏:引入一个蒸馏token,与class token一起通过注意力机制与教师CNN(如RegNet)交互学习。提出硬标签蒸馏和软标签蒸馏策略。
-
数据增强:结合了强数据增强策略(如Rand-Augment, Mixup, CutMix)。
-
优化策略调整:改进了优化器和超参数设置。
-
-
革命性意义:
-
仅使用ImageNet-1k数据即可训练出高性能ViT,使其应用门槛大幅降低。
-
提供了Transformer+CNN协同的新思路,教师CNN的归纳偏置通过蒸馏传递给学生Transformer。
-
3.2 Swin Transformer:引领视觉任务的通用Backbone
Liu等人提出的Swin Transformer【4】是CV Transformer发展的又一个里程碑,成为了诸多视觉任务的通用骨干网络。
-
核心创新:
-
层级化结构:像CNN一样构建层次化特征图(分辨率逐渐降低,通道数增加),而非ViT的单尺度序列。使其能与现有CV任务 pipeline(如FPN、U-Net)无缝衔接。
-
滑动窗口注意力:在不重叠的局部窗口内计算自注意力,将计算复杂度从O(n²) 降至O(n)。
-
移位窗口:下一层窗口相对上一层进行移位,使不同窗口间能够交互,实现了跨窗口连接,在保持效率的同时获得了全局建模能力。
-
-
革命性意义:
-
效率与性能的完美平衡:解决了ViT计算复杂度高的问题,并能处理高分辨率图像。
-
成为通用Backbone:在分类、检测、分割等任务上全面达到SOTA,证明了其作为CV基础模型的潜力。
-
统一架构的曙光:其设计思想影响了后续诸多工作,推动了视觉乃至多模态通用架构的发展。
-
4. 深远影响与领域革命
4.1 对计算机视觉子领域的颠覆
-
图像分类:ViT/DeiT/Swin系列模型在ImageNet上占据统治地位。
-
目标检测:Swin Transformer作为Backbone的检测器(如Mask R-CNN + Swin)在COCO数据集上取得显著提升。
-
语义分割:基于Swin的U-PerNet等模型在ADE20K等数据集上刷新纪录,得益于其多尺度特征表示。
-
图像生成:Transformer被用于自回归图像生成(如iGPT)和扩散模型(如DiT),展现出强大的序列建模能力。
-
视频理解:时空Transformer(TimeSformer等)通过时间、空间两个维度的注意力,有效建模视频中的长时序依赖。
4.2 研究范式的转变
-
从归纳偏置到规模化数据驱动:减弱了对人工设计偏置(如卷积的局部性)的依赖,更相信模型能从大规模数据中自行学习所需偏置。
-
架构统一趋势:NLP和CV的底层架构趋于统一(均为Transformer),为多模态学习(如CLIP, DALL-E)奠定了坚实基础,推动了“一个模型处理一切”的愿景。
-
Scaling Law的验证:CV领域也验证了模型规模、数据规模和计算量同步增长的“缩放

最低0.47元/天 解锁文章
753

被折叠的 条评论
为什么被折叠?



