神经网络与深度学习第五周学习笔记
·
核心要点:大语言模型基础→多模态大模型技术→视觉Transformer架构与实现→CLIP与DINO技术概述
一、大模型技术概述
1.1 大语言模型(LLM)定义与核心原理
- 定义:基于海量文本数据训练的深度学习模型,具备自然语言生成、语义理解能力,可完成文本摘要、问答、翻译等通用NLP任务。
- 典型代表:GPT-3.5/4、文心一言、通义千问、Claude等。
- 核心运作逻辑:单字接龙
- 给定任意长度上文,模型预测下一个字的概率分布并生成最优字
- 将生成的字与上文拼接为新上文,重复迭代生成任意长度文本
- 将问题本身作为上文的一部分,实现连贯的问答交互
1.2 GPT系列模型演进
| 版本 | 参数量 | 训练数据量 |
|---|---|---|
| GPT-1 | 1.17亿 | 5G |
| GPT-2 | 15亿 | 40G |
| GPT-3 | 170亿 | 45T |
| GPT-4 | 万亿级别 | >100T |
1.3 大语言模型三阶段训练流程
- 阶段一:无监督预训练
- 目标:让模型自学语言表达规律
- 技术分支:语言模型预训练(预测下一个单词)、掩码语言模型预训练(预测掩码位置单词)
- 阶段二:有监督微调(SFT)
- 在人类标注的规范问答数据集上训练,使模型掌握问题回答的格式与逻辑
- 采用梯度下降优化算法,最小化损失函数
- 阶段三:基于人类反馈的强化学习(RLHF)
- 训练奖励模型(RM):输入[提示词+生成文本],输出文本质量标量分数
- PPO算法优化:对比初始模型与当前策略模型的输出,用奖励差值更新模型参数,同时加入KL散度惩罚避免模型偏离过远
二、多模态大模型技术
2.1 核心概念与挑战
- 多模态本质:融合视觉、语言、声音等多种感知模态,围绕基础模型(Foundational Model)构建统一框架,视觉大模型是基础模型的重要组成部分。
- 主流技术路线:利用现成单模态基础模型(LLM提供认知能力,视觉/音频模型提供高质量表征),通过模态对齐实现协同推理。
- 核心挑战:不同模态模型独立训练,如何实现跨模态的语义对齐与协同推理。
2.2 发展历程与常用模型
- 关键节点:2022年Flamingo→2023年BLIP-2、MiniGPT-4、LLaVA→2024年Gemini 2.5、Qwen-VL、MobileVLM等轻量化模型涌现。
- 主流多模态大模型对比
| 模型名称 | 发布者 | 最新版本 | 核心特长 |
|----------|--------|----------|----------|
| ChatGPT | OpenAI(微软) | 4.5 | 综合能力 |
| Gemini | DeepMind(谷歌) | 2.5 Pro | 多模态综合 |
| Claude | Anthropic(AWS) | 4.0 | 编程能力 |
| Qwen | 阿里 | 3 | 问答与NLP |
| DeepSeek | 深度求索 | R1 | 综合推理 |
2.3 通用技术架构
模态编码器 → 投影层 → LLM主干 → 输出投影层 → 模态生成器
- 视觉编码器:ViT、CLIP、Eva-CLIP等
- 音频编码器:HUBERT、BEATS等
- LLM主干:Flan-T5、ChatGLM、LLaMA、Qwen等
- 生成器:Stable Diffusion(图像)、AudioLDM(音频)等
三、视觉Transformer(ViT)核心详解
3.1 诞生背景与核心思想
- 诞生:2020年CVPR,Google团队发表《AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》
- 核心突破:首次证明纯Transformer架构可在计算机视觉任务中超越CNN,用图像patch代替NLP中的单词token,将视觉任务转化为序列建模问题。
- 关键结论:经过足够大规模数据预训练后,ViT效果优于传统CNN(如BiT、EfficientNet),且计算效率更高。
3.2 ViT整体架构
ViT由嵌入层、Transformer编码器、MLP分类头三部分组成:
输入图像 → 切分为Patch → 线性投影 → 添加类Token+位置编码 → Transformer编码器(L层) → 提取类Token → MLP头 → 分类结果
3.3 嵌入层(Embedding Layer)
将2D图像转换为Transformer可处理的1D token序列:
- 图像切分
- 输入图像 (x \in R^{H×W×C}),切分为大小为 (p×p) 的patch
- 序列长度 (N = \frac{H×W}{p^2})
- 示例:224×224×3图像,patch=16×16,得到14×14=196个patch
- 线性映射:将每个patch(维度 (p^2×C))通过线性层投影为固定维度的token向量(如768维)
- 添加类Token(class token)
- 在序列开头添加一个可学习的特殊token,最终用于图像分类
- 此时序列长度变为196+1=197
- 位置编码
- 作用:Transformer本身不具备位置感知能力,需显式添加空间位置信息
- 类型对比:一维位置编码、二维位置编码、相对位置编码
- 实验结论:三种编码方式效果几乎无差异,ViT最终采用一维正弦位置编码
- 公式:
[
PE(pos, 2i) = sin\left(\frac{pos}{10000^{(2i/d_{model})}}\right)
]
[
PE(pos, 2i+1) = cos\left(\frac{pos}{10000^{(2i/d_{model})}}\right)
]
3.4 Transformer编码器
与标准Transformer编码器基本一致,采用Pre-LN结构(先层标准化,再注意力/MLP):
- 层标准化(LN):对每个样本的特征维度进行归一化,稳定训练过程
- 多头自注意力(MSA):与NLP中完全相同,通过Q、K、V计算注意力权重,捕捉patch间的全局依赖
- MLP层
- 结构:Linear → GELU → Dropout → Linear
- 隐藏层维度通常为输入维度的4倍(如768→3072→768)
- 激活函数:GELU(高斯误差线性单元),相比ReLU更平滑,缓解梯度消失
- 残差连接:每个子层(MSA/MLP)后均添加残差连接,缓解深度网络退化
3.5 MLP分类头
- 提取编码器输出序列中的类Token作为整幅图像的全局特征
- 预训练阶段:Linear + tanh + Linear
- 下游微调阶段:仅需一个Linear层即可完成分类
- 损失函数:交叉熵损失
3.6 ViT模型变体与参数
| 模型 | Patch大小 | 编码器层数 | 隐藏维度D | MLP大小 | 注意力头数 | 参数量 |
|---|---|---|---|---|---|---|
| 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 |
3.7 实验效果与微调策略
- 核心实验结果
- ViT-H/14在ImageNet上达到88.55%准确率,超越BiT-L(87.54%)和Noisy Student(88.4%)
- 在CIFAR-10、Oxford Flowers-102等数据集上均取得SOTA结果
- 计算效率:ViT-H/14仅需2.5k TPUv3-core-days,远低于BiT-L的9.9k
- 微调关键问题与解决
- 问题:微调时输入图像分辨率通常高于预训练(如224→1024),导致patch数量增加,预训练的位置编码不匹配
- 解决方法:对预训练的位置编码进行2D插值,扩展到新的序列长度
四、CLIP与DINO技术概述
4.1 通用视觉语言模型CLIP
- 核心思想:通过大规模图像-文本对进行对比预训练,学习跨模态的统一表征
- 优势:具备零样本迁移能力,可直接应用于各类下游视觉任务,无需针对特定任务微调
4.2 知识蒸馏与DINO
- 知识蒸馏:将大模型(教师模型)的知识迁移到小模型(学生模型),在保持性能的同时降低计算量
- DINO:基于知识蒸馏的自监督学习方法,无需标注数据即可训练高效的视觉特征提取器
更多推荐

所有评论(0)