论文 · arXiv 2010.11929
一张图像等价于 16x16 的词:用于大规模图像识别的 Transformer (An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale)
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
三句话总结
- 🎯 卷积神经网络凭借强归纳偏置长期主导计算机视觉,而标准 Transformer 缺乏对 2D 图像的直接、可扩展的应用方式。
- 🔧 将图像切分为固定大小的展平图像块(如 16x16),通过线性投影映射为 token 嵌入,添加位置嵌入,并在序列前拼接一个 [class] token,随后送入标准 Transformer 编码器。
- 📈 在 JFT-300M 上预训练后,ViT-H/14 在 ImageNet 上取得 88.55% 的 top-1 准确率,在 ImageNet ReaL 上达到 90.72%,在 VTAB 上达到 77.63%,且相比同类 CNN 消耗的预训练算力显著降低。
摘要
尽管 Transformer 架构已成为自然语言处理任务的事实标准,但其在计算机视觉领域的应用仍然有限。在视觉领域中,注意力机制要么与卷积网络结合使用,要么用于替换卷积网络的某些组件,同时保持其整体结构不变。我们证明这种对 CNN 的依赖并非必要,直接将纯 Transformer 应用于图像块(patches)序列即可在图像分类任务上表现出色。当在大规模数据上进行预训练并迁移到多个中小型图像识别基准(ImageNet、CIFAR-100、VTAB 等)时,Vision Transformer (ViT) 相比最先进的卷积网络取得了优异的结果,同时所需的训练计算资源显著减少。
英文原文摘要
While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.
论文解读
问题与动机
由于平移等变性和二维局部性等硬编码的归纳偏置,卷积架构(例如 ResNet)长期以来一直是现代计算机视觉的基石。尽管 Transformer 凭借计算效率和巨大的可扩展性成为自然语言处理(NLP)的标准,但先前将自注意力机制引入视觉的尝试通常将注意力机制与 CNN 骨干网络耦合,或者采用专门的局部/轴向注意力模式,难以在硬件加速器上高效扩展。本文研究了一种经过极少修改、直接应用于图像块序列的纯 Transformer 架构,能否匹敌或超越最先进的 CNN。
核心思想
- 图像即词序列:图像 被切分为大小为 的不重叠图像块。展平后的图像块与 NLP 中的 token 完全相同地被处理。
- 最小化归纳偏置:与每一层都具备空间局部性和平移等变性的 CNN 不同,ViT 在所有图像块之间使用全局自注意力。只有在提取图像块以及在更高分辨率微调时对位置嵌入进行插值时,才会涉及 2D 结构信息。
- 规模超越归纳偏置:由于缺乏强归纳偏置,ViT 在中小规模数据集(如未经强正则化的标准 ImageNet)上的表现不及 ResNet。然而,当在大规模数据集(拥有 1400 万张图像的 ImageNet-21k 或拥有 3.03 亿张图像的 JFT-300M)上进行预训练时,ViT 在消耗显著更少训练 FLOPs 的同时,性能达到或超越了 CNN。
方法
- 图像块嵌入与输入构建: 给定图像块尺寸 ,图像可切分为 个图像块。每个展平的图像块 通过矩阵 线性投影到维度 。在序列前添加一个可学习的分类 token ,并加上 1D 可学习位置嵌入 :
- Transformer 编码器层: 序列通过 个相同的模块,模块内部交替使用多头自注意力(MSA)和 MLP 块,并采用 pre-LayerNorm (LN) 与残差连接:
- 表征与分类头: 最终表征取自第一个输出 token: 预训练期间使用一个小型 MLP(含一个隐藏层)作为分类头,在微调时被替换为单个线性投影层()。
- 更高分辨率微调: 在更高图像分辨率(例如 或 )下微调时,图像块大小 保持不变,导致序列长度 增加。预训练的 1D 位置嵌入会根据其原始二维网格位置,通过 2D 双三次插值进行调整。
结果
- 与 SOTA 的对比:
- 在 JFT-300M 上预训练的 ViT-H/14 在 ImageNet 上达到 88.55%,在 ImageNet ReaL 上达到 90.72%,在 CIFAR-100 上达到 94.55%,在 VTAB 19 任务套件上达到 77.63%,耗费 2.5k TPUv3-core-days。
- 在 JFT-300M 上预训练的 ViT-L/16 仅耗费 0.68k TPUv3-core-days 即在 ImageNet 上达到 87.76%,超越了 BiT-L(ResNet152x4,87.54%,9.9k TPUv3-core-days),接近 Noisy Student EfficientNet-L2(88.4/88.5%,12.3k TPUv3-core-days)。
- 公开数据集预训练:在 ImageNet-21k 上预训练的 ViT-L/16 在 ImageNet 上达到了 85.30%。
- 计算量与性能的权衡: 在 JFT-300M 的扩展性实验中,纯 ViT 在帕累托前沿上全面优于 ResNet,达到相同精度所需的算力减少了 到 。
- 内部表征: 较低层中同时存在关注全图的注意力头与注意力距离较小、偏局部的注意力头。注意力距离通常随着网络深度的增加而单调增大。
局限性与开放问题
- 数据饥渴:在缺乏海量预训练数据(ImageNet-21k 或 JFT-300M)或强正则化手段的情况下,ViT 在小型数据集上的泛化能力较差。
- 自监督学习差距:基于掩码图像块预测的初步实验在 ImageNet 上达到了 79.9%(ViT-B/16),与有监督预训练相比仍有 4% 的性能差距。
- 稠密预测任务的应用:初期工作完全侧重于分类;将纯图像块 Transformer 适配到目标检测和语义分割等密集空间任务仍是一个持续探索的研究课题。
关键术语
- Vision Transformer (ViT)
- 一种纯 Transformer 架构,直接应用于非重叠图像块序列以执行视觉任务,无需卷积特征提取。
- Patch Embeddings (图像块嵌入)
- 通过将展平的 像素块线性投影到模型隐空间中获得的 维表征。
- Classification Token ([class]) (分类标记)
- 拼接在图像块序列最前端的可学习 token,其在最终 Transformer 层后的输出状态用作整张图像的全局表征。
- Inductive Bias (归纳偏置)
- 架构内置的先验假设;在 CNN 中包括空间局部性和平移等变性,而这些在 ViT 中大部分缺失。
- Position Embeddings (位置嵌入)
- 加到图像块嵌入上的 1D 可学习向量,用于保留序列内部的空间顺序信息。
- Attention Distance (注意力距离)
- 注意力头在图像中整合信息的平均空间距离,概念上类似于 CNN 中的感受野大小。
- Hybrid Architecture (混合架构)
- 一种模型结构,其图像块嵌入投影应用于早期卷积骨干网络提取的特征图,而非原始图像像素。
- Visual Task Adaptation Benchmark (VTAB) (视觉任务自适应基准)
- 一个包含 19 个多样化视觉任务的基准测试套件,分为自然、专业和结构化三组,每个任务使用 1,000 个样本进行评估。
常见问题
为什么 ViT 在较小的数据集(如 ImageNet-1k)上表现逊于 ResNet?
Transformer 缺乏卷积所具有的局部性和平移等变性等归纳偏置。在较小的数据集上,ViT 容易过拟合,因为它必须从零学习空间关系;而 ResNet 硬编码的归纳偏置使其在有限数据上更具样本效率。
ViT 在微调时如何处理不同或更高分辨率的图像?
ViT 保持图像块尺寸不变,从而增加了总序列长度。预训练的 1D 位置嵌入会被映射回原始的 2D 网格,并使用 2D 双三次插值调整大小以匹配新的网格尺寸。
感知 2D 结构的位置嵌入是否比标准 1D 嵌入更能提升 ViT 的性能?
不能。作者发现 2D 坐标嵌入或相对位置嵌入的性能与标准的可学习 1D 位置嵌入几乎完全相同,因为模型可以自行轻松学习 2D 行/列拓扑关系。
ViT 与混合架构(Hybrid architecture)之间有什么区别?
纯 ViT 直接将原始输入图像切分为 的像素块并应用线性投影。而混合模型首先让图像通过前置 ResNet 骨干网络,再从得到的中间特征图中提取图像块 token。
本页解读由 AI 根据论文生成,可能有错误;细节请以原文为准。