Vision Transformer:谷歌研究如何终结CNN在计算机视觉领域长达十年的统治

GitHub April 2026
⭐ 12502
来源:GitHubTransformer architecture归档:April 2026
谷歌研究院推出的Vision Transformer(ViT)彻底打破了卷积神经网络在计算机视觉领域长达十年的主导地位。通过将图像视为一系列图像块并应用纯Transformer编码器,ViT在图像分类任务上达到了业界顶尖水平——但前提是必须在海量数据集上训练。AINews深度解析其架构、权衡取舍以及引发的行业连锁反应。

2021年6月,谷歌研究院发表了一篇论文并开源了一个模型,从根本上改变了计算机视觉的发展轨迹:Vision Transformer(ViT)。近十年来,ResNet、EfficientNet和ConvNeXt等卷积神经网络(CNN)一直是图像理解领域无可争议的标准。ViT挑战了这一正统观念,证明纯Transformer架构——最初为自然语言处理设计——在图像分类上能够匹配甚至超越CNN的性能,前提是它必须在足够大的数据集(例如包含3亿张图像的JFT-300M)上进行预训练。其核心创新看似简单:ViT将图像分割成固定大小的图像块(通常为16x16像素),将每个图像块展平并线性嵌入为一个向量,

技术深度解析

Vision Transformer(ViT)代表了与自2012年AlexNet以来主导计算机视觉的卷积范式的彻底决裂。其核心思想是将图像视为一维的图像块序列,类似于语言模型将句子视为词元序列。

架构概览:

1. 图像块嵌入: 大小为H×W×C的输入图像被划分为N个大小为P×P的图像块,其中N = (H×W)/P²。对于标准的224×224图像,P=16时,会生成196个图像块。每个图像块被展平为长度为P²·C的向量(对于RGB图像,16×16×3 = 768),并通过一个可训练的线性层投影到D维嵌入空间。

2. 位置嵌入: 由于Transformer编码器是置换不变的,必须注入位置信息。ViT使用可学习的一维位置嵌入,并将其添加到图像块嵌入中。值得注意的是,原始论文中二维感知位置嵌入(例如相对位置)并未带来显著改进,这表明模型能够从图像块内容本身学习空间结构。

3. [CLS] 标记: 借鉴自BERT,一个特殊的可学习标记被添加到序列的开头。其最终隐藏状态用作图像表示以进行分类。另一种方法(在后续工作中使用)是对所有图像块的输出进行平均。

4. Transformer编码器: 该序列通过L层多头自注意力(MSA)和MLP模块,每个模块前应用LayerNorm,模块后使用残差连接。原始的ViT-Base使用L=12,隐藏大小D=768,以及12个注意力头。

5. 分类头: 在[CLS]标记输出之上使用一个简单的MLP(或线性层)来生成最终的类别logits。

关键技术洞察——归纳偏置的权衡:

CNN具有强大的归纳偏置:局部性(卷积核关注小邻域)、平移等变性(无论位置如何,猫就是猫)以及层次化特征学习(边缘→纹理→部件→物体)。ViT几乎不具备这些特性——它必须从数据中学习。这就是为什么ViT在小型数据集(例如包含120万张图像的ImageNet-1K)上表现不如CNN,但在海量数据集(包含3亿张图像的JFT-300M)上表现出色的原因。该模型需要足够的数据来克服缺乏内置先验知识的问题。

性能基准测试:

| 模型 | 参数量 | 预训练数据 | ImageNet Top-1 准确率 | 吞吐量(图像/秒) |
|---|---|---|---|---|
| ViT-B/16 | 86M | ImageNet-21K | 81.8% | 1,120 |
| ViT-L/16 | 307M | ImageNet-21K | 85.2% | 620 |
| ViT-H/14 | 632M | JFT-300M | 88.6% | 310 |
| ResNet-152 | 60M | ImageNet-1K | 78.6% | 1,450 |
| EfficientNet-B7 | 66M | ImageNet-1K | 84.3% | 1,100 |
| ConvNeXt-L | 198M | ImageNet-21K | 87.5% | 890 |

*数据要点:ViT-H/14达到了最高准确率(88.6%),但其参数量是ResNet-152的10倍以上,是ConvNeXt-L的2倍以上。吞吐量的代价也很显著——ViT-H/14每秒仅处理310张图像,而ConvNeXt-L为890张。这揭示了核心权衡:ViT以计算效率为代价,提供了顶尖的准确率。*

开源生态系统:

GitHub上的官方仓库(google-research/vision_transformer)提供了JAX/Flax实现。然而,社区已将ViT移植到PyTorch(例如Phil Wang广受欢迎的`vit-pytorch`包,拥有超过10k星标)和Hugging Face Transformers。值得关注的后续仓库包括:

- DeiT(facebookresearch/deit):数据高效图像Transformer,使用知识蒸馏在仅ImageNet-1K上训练ViT,ViT-B达到了85.2%的准确率。
- Swin Transformer(microsoft/Swin-Transformer):引入了层次化特征图和移位窗口,在目标检测和分割任务上达到了SOTA。
- MAE(facebookresearch/mae):掩码自编码器,通过重建被掩码的图像块来预训练ViT,在下游任务上创下了新纪录。

关键参与者与案例研究

谷歌研究院(原创者):

ViT论文由Alexey Dosovitskiy、Lucas Beyer、Alexander Kolesnikov等人在Google Brain完成。他们的策略大胆:押注于扩展数据规模将释放Transformer在视觉领域的潜力。谷歌此后已将ViT集成到其Cloud Vision API中,并将其用作PaLI和PaLM-E等多模态模型的骨干网络。该公司的JFT-300M数据集仍然是专有的,这为谷歌在训练大型ViT变体方面提供了竞争优势。

Meta AI(Facebook研究院):

Meta是ViT最积极的采用者和改进者。他们的贡献包括:

- DeiT(2021年): 证明了ViT可以在没有海量数据集的情况下通过蒸馏进行训练,使该架构得以普及。
- MAE(2022年): 引入了用于ViT预训练的掩码自编码方法,ViT-H在ImageNet上达到了87.8%的准确率,并在检测/分割任务上创下了纪录。
- DINOv2(2023年): 自监督ViT,无需标签即可生成高质量视觉特征,被用于Meta的Segment Anything Model(SAM)。

更多来自 GitHub

无标题The GitHub profile of kaiquealves3r-dev, specifically the repository 'kaique' and its associated moonlight-stream wiki, Sunshine分支unicorn-os:开源游戏串流的新锐挑战者开源游戏串流生态迎来新玩家:unicorn-os/sunshine,这是对成熟项目LizardByte/Sunshine的一次分支。该分支旨在优化自托管串流服务器体验,兼容AMD、NVIDIA和Intel GPU,并与Moonlight客户Sanity 开源 Renovate 预设:依赖管理的隐形自动化引擎知名无头 CMS 平台 Sanity.io 在 GitHub 上发布了一套 Renovate 预设(sanity-io/renovate-presets),用于标准化和自动化依赖更新规则。该项目虽仅有 3 颗星,却标志着开发团队管理依赖方式查看来源专题页GitHub 已收录 3369 篇文章

相关专题

Transformer architecture49 篇相关文章

时间归档

April 20263042 篇已发布文章

延伸阅读

Google 的宏大视觉代码库:悄然驱动 Vision Transformer 霸主地位的引擎Google Research 在 GitHub 上的 big_vision 仓库,是 Vision Transformer (ViT)、SigLIP 和 MLP-Mixer 等里程碑式模型的官方代码库。AINews 深入剖析为何这一基础设掩码自编码器重塑计算机视觉:FAIR的MAE突破深度解析FAIR提出的掩码自编码器(MAE)已成为计算机视觉领域里程碑式的自监督预训练方法。通过随机遮蔽75%的图像块并仅重建缺失像素,MAE大幅降低计算成本,同时实现顶尖的迁移学习效果。本文深入剖析其架构、基准测试结果及长远影响。InsightFace:一个开源项目如何成为人脸分析的事实标准InsightFace已从一个GitHub小众项目,成长为全球2D与3D人脸分析的基础工具包。其全面的处理流程与开创性的ArcFace损失函数,为识别精度树立了新标杆,而其开源特性则大幅降低了技术门槛。Meta-Dataset:谷歌的基准测试,或将决定小样本学习的成败谷歌研究院推出的Meta-Dataset,将ImageNet到Omniglot等10个数据集整合为一个统一基准,旨在标准化小样本学习评估。但这个“数据集的数据集”真的能衡量跨领域泛化能力,还是引入了新的偏见?AINews深入探究。

常见问题

GitHub 热点“Vision Transformer: How Google Research Upended 10 Years of CNN Dominance in Computer Vision”主要讲了什么?

In June 2021, Google Research published a paper and open-sourced a model that would fundamentally alter the trajectory of computer vision: the Vision Transformer (ViT). For nearly…

这个 GitHub 项目在“ViT vs CNN benchmark comparison 2025”上为什么会引发关注?

The Vision Transformer (ViT) represents a radical departure from the convolutional paradigm that dominated computer vision since AlexNet in 2012. At its core, ViT treats an image as a 1D sequence of patches, analogous to…

从“ViT inference cost optimization techniques”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 12502,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。