视觉大模型基础总结
一、大模型技术概述
什么是大语言模型(LLM)
- 基于海量文本数据训练的深度学习模型
- 能生成自然语言文本,理解文本含义
- 应用:文本摘要、问答、翻译等
- 示例:GPT-3.5/4、文心一言、通义千问
大语言模型原理
- 单字接龙:根据上文不断生成下一个字
- 将生成的字与上文组合成新的上文,循环生成任意长内容
GPT系列发展
| 版本 | 参数量 | 学习材料大小 |
|---|---|---|
| GPT-1 | 1.17亿 | 5GB |
| GPT-2 | 15亿 | 40GB |
| GPT-3 | 170亿 | 45TB |
| GPT-4 | 万亿级别 | >100TB |
大模型训练三阶段
- 无监督学习:模型自学语言表达规律
- 有监督学习:学习人类整理的规范问答
- 强化学习:通过奖励模型优化问答质量
二、多模态大模型技术
- 多模态:视觉、语言、声音等结合
- 核心挑战:不同模态之间的连接与协同推理
- 解决方法:多模态预训练 + 多模态指令微调
常用多模态大模型
| 模型名称 | 发布者 | 特长 |
|---|---|---|
| ChatGPT | OpenAI | 综合 |
| Gemini | DeepMind | 综合 |
| Claude | Anthropic | 编程 |
| LLaMA | Meta | NLP |
| DeepSeek | 深度求索 | 综合 |
| Qwen | 阿里 | 问答/NLP |
三、视觉Transformer(ViT)
ViT核心思想
- 将图像划分为固定大小的patch(如16×16像素)
- 每个patch被视为一个"词",输入Transformer编码器
ViT总体架构
- 嵌入层 :将图像转为Token序列
- 图像切分为patch
- 线性映射到低维空间
- 添加位置编码(1-D正弦/余弦)
- 添加类别Token(用于分类)
- 编码器 :与NLP Transformer类似
- 层标准化(LayerNorm)
- 多头注意力(MSA)
- MLP + GELU激活函数
- MLP头:用于分类输出
关键公式
- 输入嵌入:
z_0 = \[x_{\\text{class}}; x_1\^p E; ...\] + E_{\\text{pos}}
- 多头注意力 + 残差连接:
z'*\\ell = \\text{MSA}(\\text{LN}(z* {\\ell-1})) + z_{\\ell-1}
- MLP + 残差连接:
z_\\ell = \\text{MLP}(\\text{LN}(z'*\\ell)) + z'* \\ell
位置编码
- 使用1-D位置编码(实验证明效果不差于2-D或相对编码)
- 支持通过2-D插值适应不同分辨率图像
模型规模
| 模型 | Patch尺寸 | 层数 | 隐藏维度 | 参数量 |
|---|---|---|---|---|
| ViT-Base | 16×16 | 12 | 768 | 86M |
| ViT-Large | 16×16 | 24 | 1024 | 307M |
| ViT-Huge | 14×14 | 32 | 1280 | 632M |
微调(Fine-tuning)
- 保持预训练模型主体结构
- 适配不同分辨率图像:使用2-D插值调整位置编码
- 只更新输出层或部分参数以适应下游任务
四、CLIP与DINO
- CLIP:通用视觉-语言预训练模型,使用图像-文本对进行训练,适用于多种下游任务
- DINO:基于知识蒸馏的自监督学习方法,无需标注即可高效学习图像特征
五、总结
- 视觉大模型源自NLP,使用图像patch替代单词
- ViT是Transformer与视觉结合的基础
- CLIP实现视觉与语言的对齐
- DINO通过蒸馏实现高效自监督学习
本文为工大《深度学习与神经网络》课程要求学习总结,仅供参考,版权归原作者所有,侵权请联系删除,谢谢。