返回 深度学习 思维导图
中文·English
🧠 深度学习ID: vit

ViT 与归纳偏置

ViT & Inductive Bias
🎯核心定义
ViT 将图像切成 p×pp \times p 的 patch, 展平后线性映射成 token 序列(首部加 [CLS] token 用于分类, 并加位置编码), token 数 T=(H/p)(W/p)T = (H/p)(W/p)——224×224 输入、patch=16 时 T=14×14=196T = 14 \times 14 = 196(加 [CLS] 共 197), 送入标准 Transformer 编码器。与 CNN 对比: CNN 内建平移等变+局部性归纳偏置(参数共享、局部连接), 小数据下高效; ViT 只在 patch 层面有位置先验, attention 是全局的, 缺乏像素级局部归纳偏置 → 数据饥渴: 在 ImageNet-1K(128 万张)上从头训练的 ViT-B/16(~74% top-1)明显落后同规模 CNN(~76%), 而在 JFT-300M(3 亿张)预训练后 ViT-L/16 达到 ~87.8% top-1, 全面超越 CNN 约 1~2 个点。
💡使用场景
视觉大模型的骨干与多模态默认视觉编码器(CLIP、DINOv2、LLaVA 均用 ViT); 面试常问“为什么 ViT 需要大数据”“patch 大小的影响”“ViT 与 CNN 怎么选”。
解决的核心痛点
移除视觉专用归纳偏置, 用统一 Transformer 架构处理视觉——为图文统一建模与多模态拼接铺路; 数据量足够大时从约 74%(小数据)反超到约 87.8%(大数据), 同时 token 化设计天然兼容序列化的多模态输入。
🎯5 个高频面试考点 (Exam Points)
1
为什么 ViT 需要远多于 CNN 的训练数据? 从归纳偏置的角度回答。
2
手算 patchify: 224×224 输入、patch=16 时得到多少个 token?(含 [CLS])
3
ViT 与 CNN 各有什么优缺点? 在什么数据规模下 ViT 开始反超?
4
ViT 中位置编码和 [CLS] token 的作用是什么? 去掉位置编码会怎样?
5
数据有限时如何让 ViT 可用?(蒸馏、数据增强、减小 patch、局部注意力/Swin)
📖 关联深度指南:📄 cnn-and-vit-architectures
更新于 2026-08-12
🎯
检验攻克程度:针对「ViT 与归纳偏置」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点深度可分离卷积下一个知识点RNN 与 BPTT

🔗 更多 深度学习 知识点卡片

激活函数演进Adam/AdamWAutograd 动态图BatchNorm 批归一化