摘要:本文先纠正一个常见误区——ViT 并不是和 Transformer 并列的独立架构,它就是 Transformer 在视觉任务上的落地版本。真正值得对比的是 CNN 和 Transformer 这两套“看图方式”:CNN 靠局部窗口层层堆叠扩大视野,省参数、适合纯视觉任务;Transformer(ViT)从第一层起就能全局建模,参数不共享、吃算力,但和 NLP 同构、天然适合多模态。一句话总结:CNN 和 Transformer 是两种并列的看图架构,ViT 只是后者在图像上的应用。
李沐深度学习191集课程全解析:模块拆解、学习路径-CSDN博客
吴恩达《面向开发者的提示词工程》-CSDN博客
吴恩达 MCP 教程(Model Context Protocol)(一)-CSDN博客
先纠正一个概念:ViT 不是和 Transformer 并列的东西——ViT 就是 Transformer 拿来做视觉的版本。真正值得对比的是 CNN 和 Transformer 这两套“看图方式”
对小白最直观的对比:
| CNN | Transformer(ViT) | |
|---|---|---|
| 看图方式 | 局部:每次只看一小块窗口,靠层层堆叠慢慢扩大视野 | 全局:第一层起每个位置就能直接"看到"全图所有位置 |
| 参数 | 全图共享一套卷积核,省参数、便宜 | 参数不共享,费参数、吃算力 |
| 打个比方 | 拿着放大镜逐块扫描图片的侦探 | 站在山顶一眼俯瞰全图的观察者 |
| 强项 | 纯视觉任务够用、省资源 | 全局关系建模强;和 NLP 同构,天然好做多模态 |
而"ViT vs Transformer"这个问题,就像问“香蕉和水果有什么区别”——ViT 就是 Transformer 的视觉落地版,流程笔记里讲得很清楚:把图切成 Patch → 每块线性投影成向量 → 加位置编码和 Class Token → 整串喂给标准 Transformer Encoder → 取 Class Token 输出做分类。架构上没有任何新东西,新的是“图像可以当成序列喂 Transformer”这个思路。
所以一句话记住:CNN 和 Transformer 是两种并列的看图架构;ViT 只是后者在图像上的应用。