M6-002M6: Multimodal & Generative ModelsVision Encoders (ViT / ConvNeXt)Easy
Mastery:

Vision Encoders (ViT / ConvNeXt): 比较 CNN 与 ViT 的归纳偏置与数据需求。

📐 Mathematical Definition
CNN: locality+equivariance;ViT: weak prior⇒ data-hungry\text{CNN}:\ \text{locality}+\text{equivariance};\qquad \text{ViT}:\ \text{weak prior}\Rightarrow\ \text{data-hungry}
⚡ Executive Summary
Core Concept: CNN 有局部性/平移等变先验(样本效率高);ViT 偏置弱(需大数据),但数据充足时上限更高。

📌 Key Takeaways

  • •
    CNN:局部性 + 平移等变 + 权重共享(强先验)
  • •
    ViT:全局注意力,无空间先验(需位置编码)
  • •
    交叉点:ImageNet-1k CNN 优;JFT-300M ViT 优

📐 Mathematical Derivations

数学机理:<strong>归纳偏置(inductive bias)</strong> 的差异(详见 M4 的'注意力归纳偏置'题)。(1) <strong>CNN</strong>——内置 (a) <strong>局部性</strong>(每个输出只看 k×k 邻域)、(b) <strong>平移等变性</strong>(同一卷积核滑动使用)、(c) <strong>权重共享</strong>;这些先验在图像上<strong>非常正确</strong>(局部纹理、平移不变),故 CNN 在<strong>小数据</strong>上样本效率高、训练稳定。(2) <strong>ViT</strong>——用<strong>全局自注意力</strong>(每个 patch 与所有 patch 交互)+ <strong>位置编码</strong>;<strong>无</strong>局部性与平移等变先验(注意力对 patch 的排列是等变的,故需位置编码注入顺序)。<strong>后果</strong>——ViT 需要<strong>更多数据</strong>才能学到这些结构(否则在小数据上欠拟合);但一旦数据充足,ViT 的<strong>灵活性</strong>(可学习任意长程依赖)使其<strong>上限更高</strong>。<strong>实证(ViT 论文)</strong>——(a) 在 <strong>ImageNet-1k</strong>(1.3M 图像)上,ViT 不如 ResNet(数据不足);(b) 在 <strong>JFT-300M</strong>(3 亿图像)上,ViT 超越 ResNet(且更大模型更好);(c) 交叉点约在<strong>数千万到上亿</strong>样本。<strong>其他关键差异</strong>——(a) <strong>感受野</strong>——CNN 逐层扩大(线性),ViT 从第一层就全局;(b) <strong>计算复杂度</strong>——CNN O(HW·k²·C²)、ViT O(N²·d)(长序列更贵);(c) <strong>与文本的统一性</strong>——ViT 的 token 化使其易于与 LLM 拼接(这是 VLM 用 ViT 而非 CNN 的关键工程原因)。<strong>注入先验的手段</strong>——(a) <strong>卷积 stem</strong>(用卷积做 patch embedding);(b) <strong>Swin 的窗口注意力</strong>(局部窗口 + 移动窗口);(c) <strong>相对位置编码</strong>;(d) <strong>混合架构</strong>(CNN + 注意力)。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'先验强度 vs 数据需求'是核心权衡</strong>——强先验(CNN)样本效率高但上限受限;弱先验(ViT)需数据但上限高。这解释了'ViT 需大数据、CNN 适合小数据'。② <strong>'VLM 用 ViT 的工程原因'</strong>——ViT 的 token 表示便于与文本 token 拼接(统一处理);CNN 的特征图需额外的'转 token'步骤。故现代 VLM 几乎都用 ViT 系(CLIP-ViT、SigLIP)。③ <strong>'自监督预训练改变了格局'</strong>——用自监督(MAE、DINO、CLIP)在大规模<strong>无标注</strong>数据上预训练 ViT,可大幅降低对标注数据的依赖;这是'ViT 数据饥渴'的主要解法(见自监督视觉预训练题)。④ <strong>'混合架构的实践'</strong>——ConvNeXt(用卷积模仿 Transformer 设计)、Swin(窗口注意力)在'样本效率 vs 灵活性'间折中;实践中'合适先验 + 足够数据'常优于纯架构之争。⑤ <strong>'小数据场景'</strong>——医疗/工业等小数据领域,CNN 或'预训练 ViT + 微调'更实用(从零训练 ViT 不现实)。⑥ <strong>面试要点</strong>——被问'CNN vs ViT',应给出'<strong>归纳偏置(局部性/平移等变 vs 全局/弱先验)→ 样本效率 → 数据交叉点</strong>'的框架,并说明'<strong>VLM 用 ViT 是工程考虑(token 统一)</strong>'与'<strong>自监督预训练降低了数据需求</strong>';这是 CV 基础类问题的核心。
⚠️ Common Interview Pitfalls
  • ✕
    在小数据上从零训练 ViT(欠拟合)
  • ✕
    忽略 VLM 选 ViT 的工程动机(token 统一)
🎯 Interviewer Follow-ups
  • ?
    ViT 需要多少数据才能超越 CNN?
  • ?
    如何给 ViT 注入视觉先验?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM6-001: Vision Encoders (ViT / ConvNeXt): 解释 ViT 的 patch embedding 与 token 数计算。📋Back to BankNext →M6-003: Vision Encoders (ViT / ConvNeXt): 解释 Swin Transformer 的窗口注意力与层级设计。