AI / Technology
把图片当成一串“词”Vision Transformer 为什么成立
论文:Alexey Dosovitskiy 等,An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale,ICLR 2021,arXiv v2。
原文:摘要页 · PDF
一、先记住这三点
- 改动很朴素: 把图片切成固定大小的小块,把每块变成一个向量,再交给几乎原样的 Transformer 做分类。[论文,第 3 页,图 1 与 §3.1]
- 真正的门槛不是“能不能用”,而是“有多少预训练数据”: 数据不足时,ViT 比同规模卷积网络更容易过拟合;数据达到数千万乃至数亿张后,它的扩展性开始显现。[论文,第 1–2、6–7 页,§1、§4.3]
- 最强证据是大规模预训练后的迁移表现与算力效率: JFT-300M 预训练的 ViT-H/14 在 ImageNet 达到 88.55%,并在论文所列多项分类基准上超过当时的 BiT-L;但这并不证明小数据训练、检测或分割也同样占优。[论文,第 6、8–9 页,表 2、§5]
一句话概括:这篇论文证明,卷积并非图像分类的必需品;只要先用足够大规模的数据学习视觉规律,标准 Transformer 也能成为强大的通用图像表示器。
二、问题:为什么图像模型以前离不开卷积
卷积神经网络(CNN)把“附近像素更相关”“同一种局部图案换个位置仍有意义”等规则写进了结构。这些归纳偏置 让模型在数据有限时更容易学会看图。Transformer 原本处理一维词序列;若让每个像素与所有像素直接做自注意力,序列太长,计算量会随元素数近似平方增长。此前的视觉注意力方法因此常保留 CNN,或设计局部、稀疏等专用注意力。[论文,第 1–2 页,§1–§2]
ViT 的问题意识很直接:能否不再围绕 CNN 修修补补,而把图片改写成一个足够短的序列,直接复用成熟的标准 Transformer?论文的关键反转是:弱化结构先验会提高数据需求,却可能换来更好的规模扩展性。[论文,第 2、4、7 页,§1、§3.1、§4.3]
图 1|教学示意,不是论文原图。左侧表示 CNN 内置的局部性,右侧表示 ViT 让图像块直接建立全局关系。依据:论文第 2、4 页。
三、方法:把二维图片翻译成 Transformer 能读的序列
第一步:切块并编码。 对高为 (H)、宽为 (W) 的图片,ViT 将其切成 (P\times P) 的小块,共得到 (N=HW/P^2) 个块。每块展平后,经可学习的线性投影变成固定维度的向量。模型名中的 “/16” 就表示 16×16 像素的块;块越小,序列越长,计算也越贵。[论文,第 3、5 页,§3.1、§4.1]
第二步:补上顺序与汇总入口。 模型给每个块向量加上可学习的位置向量,使它知道块来自图片的什么位置;序列开头再放一个可学习的分类向量。Transformer 编码结束后,这个分类向量的状态被当作整张图的表示。[论文,第 3–4 页,§3.1]
第三步:预训练后迁移。 ViT 先在大型带标签数据集上训练;迁移到目标任务时,换掉分类头并微调。若微调分辨率更高,块大小不变、序列变长,原有位置向量会通过二维插值适配新网格。[论文,第 4 页,§3.2]
图 2|ViT 的最短数据流。圆形表示负责汇总的分类向量。教学图依据论文第 3 页图 1 与 §3.1 重新设计。
为什么可能有效?自注意力从底层就能连接相距很远的图像块;论文对内部表示的检查还发现,有些注意力头偏全局,有些偏局部,且模型学到的位置向量保留了行列与距离结构。这是机制线索,不等同于严格的因果证明。[论文,第 8–9 页,§4.5、图 7]
四、证据与边界:大数据把劣势变成优势
论文比较了三种预训练规模:ImageNet 约 130 万张、ImageNet-21k 约 1400 万张、内部 JFT 约 3.03 亿张。小规模预训练时,大型 ViT 不如较小 ViT,且同等计算量下比 ResNet 更易过拟合;在 9000 万张以上的 JFT 子集上,ViT 开始反超对应 ResNet。作者据此认为,卷积先验对小数据更有价值,而足够数据能让模型直接学出所需模式。[论文,第 4、6–7 页,§4.1、§4.3]
图 3|关系示意,不是数值图。它表达论文观察到的条件关系:ViT 的优势依赖大规模预训练,再通过微调迁移。依据:论文第 6–7 页。
下面只摘录论文表 2 中最能支撑主张的结果;准确率为三次微调的均值,括号内为标准差。JFT 是内部数据集,因此结果并非只依赖公开数据。
| 模型与预训练集 | ImageNet | CIFAR-100 | VTAB 19 任务 | 预训练成本 |
|---|---|---|---|---|
| ViT-H/14,JFT-300M | 88.55 ± 0.04% | 94.55 ± 0.04% | 77.63 ± 0.23% | 2.5k TPUv3-core-days |
| ViT-L/16,JFT-300M | 87.76 ± 0.03% | 93.90 ± 0.05% | 76.28 ± 0.46% | 0.68k TPUv3-core-days |
| BiT-L(ResNet152×4),JFT-300M | 87.54 ± 0.02% | 93.51 ± 0.08% | 76.29 ± 1.70% | 9.9k TPUv3-core-days |
| ViT-L/16,ImageNet-21k | 85.30 ± 0.02% | 93.25 ± 0.05% | 72.72 ± 0.21% | 0.23k TPUv3-core-days |
来源:论文第 6 页,表 2。成本单位是 TPU v3 核数乘训练天数;不同训练方案会影响效率,因此不能把差异全部归因于架构。论文的受控扩展实验另报告:达到相同性能时,ViT 约少用 2–4 倍预训练计算。[论文,第 6、8 页,§4.2、§4.4]
最大的未决风险也很清楚:最亮眼的结果依赖 3 亿级内部带标签数据与可观算力;论文主要研究分类,未建立检测、分割等任务上的普适优势;其遮挡图像块的自监督实验虽让 ViT-B/16 达到 79.9% ImageNet 准确率、比从头训练高 2 个百分点,却仍比监督预训练低 4 个百分点。[论文,第 9 页,§4.6、§5]
五、实践意义:这不是“立刻删掉 CNN”,而是换一种扩展路线
作者证据支持的结论: 如果团队拥有大规模预训练数据与计算预算,简单、标准化的 Transformer 主干可以在多种图像分类迁移任务中取得很强的效果,并表现出优于 ResNet 的性能—计算扩展趋势。[论文,第 6–8 页,§4.2–§4.4]
我的实践解读: 架构选择应和数据条件绑定。小数据、从零训练或算力紧张时,CNN 的内置视觉规律仍是实用优势;若能复用大型预训练模型,ViT 的价值则在于把一次昂贵的通用表示学习,摊到许多较小的下游任务上。这是从论文结果推导出的决策建议,不是作者直接验证的产品结论。
阅读这篇论文时,最值得保留的判断框架不是“Transformer 战胜 CNN”,而是:模型结构可以少写规则,但省下的先验往往要用数据补回来。 论文最强地证明了这条路线在大规模图像分类与迁移上的可行性;它没有证明所有视觉场景都应采用同一答案。
研究附录:术语、证据账本与复核问题
术语
- 归纳偏置(inductive bias):模型结构预先假定的数据规律。CNN 的局部性和平移等变性是典型例子。
- 图像块(patch):从图片规则切出的方块。ViT 将它视作类似词元的序列元素。
- 迁移学习:先在大数据集学通用表示,再在较小目标数据集上微调。
- VTAB:19 个低数据任务的迁移评测,每个任务使用 1000 个训练样本,覆盖自然、专业和结构化图像。[论文,第 5 页,§4.1]
精简证据账本
| 条目 | 论文证据 | 状态 |
|---|---|---|
| 核心变化 | 图片切块、线性映射、位置向量、分类向量、标准 Transformer | 已定位:第 3–4 页 |
| 数据规模 | ImageNet 1.3M;ImageNet-21k 14M;JFT 303M | 已定位:第 4 页 |
| 模型规模 | ViT-B 86M;ViT-L 307M;ViT-H 632M 参数 | 已定位:第 5 页表 1 |
| 主要对照 | 修改后的 ResNet(BiT)、Noisy Student、CNN–Transformer 混合模型 | 已定位:第 5–6 页 |
| 最强结果 | ViT-H/14:ImageNet 88.55%、CIFAR-100 94.55%、VTAB 77.63% | 已定位:第 6 页表 2 |
| 限制 | 小数据更易过拟合;依赖 JFT;分类之外待验证;自监督仍落后 | 已定位:第 7、9 页 |
| 不确定性 | JFT 非公开,独立复现实验的数据等价性受限 | 由数据可得性推断,非作者实验结论 |
建议复核
- 在你的数据规模和增强方案下,ViT 从零训练是否仍比强 CNN 基线更易过拟合?
- 若只允许公开预训练数据,精度与成本优势还剩多少?
- 把分类换成检测、分割或高分辨率任务后,序列长度带来的内存成本是否可接受?
- 论文比较使用的优化器、训练时长和正则化不同程度地影响结果;架构收益能否在统一训练配方下保持?
来源说明
本文以 arXiv v2 / ICLR 2021 论文为唯一事实来源,页码按 PDF 显示页计。三张插图均为基于论文机制重新设计的原创教学图,不复用论文图片,也不承担数值证据功能。
关于这篇论文的三个关键问题
把图片当成一串“词”:Vision Transformer 为什么成立 解决了什么问题?
卷积神经网络(CNN)把“附近像素更相关”“同一种局部图案换个位置仍有意义”等规则写进了结构。这些归纳偏置 让模型在数据有限时更容易学会看图。Transformer 原本处理一维词序列;若让每个像素与所有像素直接做自注意力,序列太长,计算量会随元素数近似平方增长。此前的视觉注意力方法因此常保留 CNN,或设计局部、稀疏等专用注意力。[论文,第 1–2 页,§1–§2]
把图片当成一串“词”:Vision Transformer 为什么成立 的核心结论有哪些证据?
最大的未决风险也很清楚:最亮眼的结果依赖 3 亿级内部带标签数据与可观算力;论文主要研究分类,未建立检测、分割等任务上的普适优势;其遮挡图像块的自监督实验虽让 ViT-B/16 达到 79.9% ImageNet 准确率、比从头训练高 2 个百分点,却仍比监督预训练低 4 个百分点。[论文,第 9 页,§4.6、§5]
阅读 把图片当成一串“词”:Vision Transformer 为什么成立 时最需要注意什么局限?
最大的未决风险也很清楚:最亮眼的结果依赖 3 亿级内部带标签数据与可观算力;论文主要研究分类,未建立检测、分割等任务上的普适优势;其遮挡图像块的自监督实验虽让 ViT-B/16 达到 79.9% ImageNet 准确率、比从头训练高 2 个百分点,却仍比监督预训练低 4 个百分点。[论文,第 9 页,§4.6、§5]