神经网络与深度学习 课程 第四周 课程总结
本周主要学习了视觉大模型的发展脉络,重点理解了 Vision Transformer(ViT)的原理、结构及其与 CNN 的对比。此外,还了解了 CLIP 和 DINO 这两种前沿视觉模型的设计思想。以下是本周的知识总结与个人思考。
一、视觉大模型发展概述
视觉大模型的发展经历了从 CNN 到 Transformer 的演进:
-
CNN:依赖局部感受野与参数共享,难以建模全局依赖。
-
ViT:将图像切分为 Patch,送入 Transformer 编码器,实现全局建模。
-
CLIP:通过对比学习对齐图像与文本,支持零样本分类。
-
DINO:自监督蒸馏学习,无需标注即可学习高质量视觉特征。
二、ViT 的核心设计
1. 图像分块(Patch Embedding)
输入图像 x∈R^(H×W×C),划分为大小为 P×P 的 Patch,每个 Patch 展平为 P^2C 维向量。
示例(ImageNet 标准输入):
-
图像尺寸:224×224×3
-
Patch 大小:16×16×3
-
每个 Patch 维度:16×16×3=768
-
Patch 数量:14×14=196
每个 Patch 通过线性映射得到嵌入向量:
其中 D 为嵌入维度(如 ViT-Base 中 D=768)。
2. 添加 Class Token 与位置编码
-
在 Patch 序列前添加一个可学习的 Class Token,用于汇聚全局信息。最终输入序列长度为 196+1=197。
-
由于 Transformer 本身无顺序感知,需加入 位置编码。ViT 使用一维可学习位置编码:
此外,经典的正弦位置编码公式也可作为备选:
3. Transformer 编码器结构
ViT 采用 Pre-LN 结构(先 LayerNorm,再进入子层):
最后取出 Class Token 的输出:
其中:
-
MSA:多头自注意力(Multi-Head Self-Attention)
-
LN:LayerNorm
自注意力机制:
多头注意力:
4. MLP 层与 GELU 激活函数
MLP 通常扩展维度为 4D4D 再压缩回 DD:
GELU 激活函数:
三、预训练与微调
模型规模对比
| 模型 | Patch Size | Layers | Hidden Size D | MLP Size | Heads | Params |
|---|---|---|---|---|---|---|
| ViT-Base | 16×16 | 12 | 768 | 3072 | 12 | 86M |
| ViT-Large | 16×16 | 24 | 1024 | 4096 | 16 | 307M |
| ViT-Huge | 14×14 | 32 | 1280 | 5120 | 16 | 632M |
微调中的位置编码插值
当微调时使用更高分辨率图像,Patch 数量增加,预训练位置编码长度不匹配。解决方法:
-
将一维位置编码还原为二维网格。
-
进行双线性插值到新尺寸。
-
重新展开为一维位置编码。
四、CLIP 与 DINO 简介
CLIP(多模态对齐)
-
核心思想:通过对比学习,将图像和文本映射到同一语义空间。
-
训练目标:最大化匹配图文对的相似度,最小化不匹配对的相似度。
-
零样本分类:通过文本提示(如 “a photo of a cat”)识别新类别。
DINO(自监督视觉表征)
-
核心思想:知识蒸馏 + 自监督学习,无需人工标签。
-
特点:学生网络模仿教师网络的输出,教师网络由学生网络的动量更新得到。
五、ViT 与 CNN 对比
| 特性 | CNN | ViT |
|---|---|---|
| 主要机制 | 卷积(局部连接) | 自注意力(全局建模) |
| 归纳偏置 | 强(局部性、平移等变性) | 弱(需从数据学习) |
| 小数据表现 | 较好 | 一般 |
| 大数据表现 | 一般 | 优秀 |
| 可并行性 | 较高 | 极高 |
两者并非相互替代,而是在不同数据规模和任务场景下各有优势。ViT 更适合大规模数据驱动的全局建模场景。
六、个人总结与思考
通过本周学习,我对视觉大模型有了更系统的认识:
-
视觉大模型的核心思想:将图像表示学习推向通用化,ViT 通过 Patch 序列将图像问题转化为序列建模问题。
-
ViT 的关键设计:Patch Embedding、Class Token、位置编码、多头自注意力、Pre-LN 结构。
-
训练范式:大规模预训练 + 下游微调,已成为视觉大模型的主流训练方式。
-
跨模态对齐:CLIP 实现了图像与文本的统一表示,为多模态大模型奠定基础。
-
自监督学习:DINO 减少了对人工标注的依赖,展示了无标签数据的学习潜力。
-
与 CNN 的关系:ViT 与 CNN 互补,未来可能是混合架构(如 Swin Transformer)的天下。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)