01研究问题
少了卷积的先验,Transformer 还能看懂图像吗?
卷积神经网络(CNN)并不是从零开始认识图像:卷积层会优先处理局部邻域,而且同一组卷积核会在不同位置重复使用。Transformer 则把输入当成一串 token,通过自注意力学习不同位置之间的关系。
作者的问题很直接:如果把图像分成小块,像处理词语一样交给标准 Transformer,能不能不靠复杂的视觉专用模块,也做好图像分类?论文把这套方法称为 Vision Transformer(ViT)。
答案要加上条件。在中等规模数据集上训练时,ViT 的准确率会比相近规模的 ResNet 低几个百分点;当预训练数据扩展到 1400 万至 3 亿张图像,再迁移到较小的识别任务时,表现明显改善。
这篇论文要说明的不是“卷积没有用”,而是:数据足够大时,模型可以从数据中学到许多视觉关系,不必把所有视觉先验都写进网络结构。
依据:原论文 §1:研究动机与数据规模。
02图像变成 token
先把一张图片改写成一串向量
图像 patch 对应输入 token;位置向量补上空间位置信息,分类 token 汇总整张图的表示。
切块、投影、加位置
设图片大小为 H × W,每个 patch 是 P × P 像素,那么 Transformer 接收的 patch 数量是 N = HW / P²。举例来说,224 × 224 的图片使用 16 × 16 的 patch,会得到 14 × 14 = 196 个 patch。这个数字是便于理解的算术示例,不是单独的实验结果。
每个 patch 先展平,再经过可学习的线性投影,变成 D 维向量。模型给这些向量加上可学习的位置编码,并在序列开头放入一个可学习的 [CLS] 分类 token。经过多层标准 Transformer 编码器后,取最后一层的 [CLS] 表示交给分类头预测类别。
图像结构从哪里来?
ViT 的自注意力可以让任意两个 patch 交换信息,但它不像 CNN 那样预设哪些 patch 是相邻的。论文使用一维可学习位置编码;作者观察到模型会从数据中学出行列与距离关系。微调到更高分辨率时,patch 数量会增加,论文通过二维插值调整预训练的位置编码。
03实验结果
预训练数据越大,ViT 越能发挥优势
作者用不同规模的数据做预训练,再把模型迁移到图像识别基准。规模从 ImageNet 的 130 万张图像,到 ImageNet-21k 的 1400 万张,再到 JFT-300M 的 3.03 亿张。下表选取原论文表 2 中 ViT-H/14 与 BiT-L(ResNet-152×4 基线)在 JFT-300M 上预训练后的三项结果。
| 基准任务 | ViT-H/14 | BiT-L |
|---|---|---|
| ImageNet | ViT-H/14 · JFT88.55 ± 0.04 | BiT-L · JFT87.54 ± 0.02 |
| CIFAR-100 | ViT-H/14 · JFT94.55 ± 0.04 | BiT-L · JFT93.51 ± 0.08 |
| VTAB · 19 项任务 | ViT-H/14 · JFT77.63 ± 0.23 | BiT-L · JFT76.29 ± 1.70 |
表中是原论文报告的均值 ± 标准差,来自三次微调运行;只在同一基准任务内比较数值,不把不同任务的准确率横向比较。表 2 还报告了 ImageNet-ReaL 90.72%、CIFAR-10 99.50% 等结果。
准确率之外,还比较了预训练计算量
在 JFT-300M 上更受控的规模研究中,作者报告:在五个数据集的平均性能与计算量折中上,ViT 达到同等表现所需的预训练计算量约为 ResNet 的 1/2 至 1/4。作者也提醒,优化器、训练时长和权重衰减等设置会影响效率比较,因此这不是对所有训练条件都成立的定律。
04适用边界
它的优势,建立在规模和任务范围上
- 数据较少时,CNN 的先验仍然有价值。在较小预训练数据集上,ViT 更容易过拟合;作者发现卷积对小数据训练有帮助,较大的数据集则让 ViT 学到足够多的视觉模式。
- 最强结果依赖大规模预训练。领先的 ViT-H/14 结果使用了含 3.03 亿张图像的 JFT-300M。论文也报告了 ImageNet-21k 预训练模型,但不同训练数据和规模会带来结果差异。
- 核心评估仍是图像分类与迁移。VTAB 包含多类视觉数据,但评估形式仍是分类。作者把目标检测、分割等视觉任务列为后续挑战,不能把本论文当成 ViT 已经在所有视觉任务上胜出。
- 自监督结果还只是初步尝试。遮盖 patch 预测让 ViT-B/16 在 ImageNet 上达到 79.9%,比从头训练高约 2 个百分点,但仍比监督预训练低约 4 个百分点。
ViT 证明的是:在足够大的数据上预训练,再迁移到多个图像识别任务,标准 Transformer 可以成为很强的视觉模型;它没有证明卷积在小数据或所有任务里都多余。