视觉大模型基础 ViT 学习笔记本文基于课程课件整理涵盖大模型基础、ChatGPT核心技术、Vision Transformer (ViT)、CLIP、知识蒸馏与DINO等内容适合作为视觉大模型入门的学习参考。目录一、大模型概述二、ChatGPT 核心技术三、多模态大模型四、Vision Transformer (ViT) 详解五、CLIP语言-图像联合预训练六、知识蒸馏与 DINO七、总结一、大模型概述大模型Large-scale Model是指参数规模达到亿级甚至千亿级的深度学习模型。近年来以 GPT 系列为代表的大语言模型LLM在自然语言处理领域取得了突破性进展同时也推动了视觉领域大模型的发展。核心特点海量参数数十亿到数千亿参数具备强大的表达能力和泛化能力大规模预训练在海量无标注数据上进行自监督预训练涌现能力当模型规模超过某个阈值后会出现小模型不具备的能力如思维链推理、上下文学习等二、ChatGPT 核心技术ChatGPT 的训练流程可以分为三个关键阶段2.1 无监督预训练Unsupervised Pre-training无监督预训练技术分为两个阶段阶段目标方式语言模型预训练预测下一个单词的概率自回归Auto-Regressive掩码语言模型预训练预测被掩码位置的单词自编码Auto-EncodingGPT 系列主要采用自回归的语言模型预训练方式在大规模语料上学习语言的统计规律。2.2 有监督微调Supervised Fine-Tuning, SFT微调技术是 ChatGPT 实现对话生成的关键技术之一。通过在人工标注的高质量问答数据上进行有监督训练使模型适应对话任务。使用梯度下降优化算法不断调整模型权重以最小化损失函数让模型学会遵循指令、生成符合人类偏好的回答2.3 奖励模型Reward Model, RM奖励模型的目标是评估模型输出在人类看来是否表现良好输入[提示(prompt), 模型生成的文本]输出一个标量分数表示文本质量训练数据来源Anthropic主要来自 Amazon Mechanical Turk 上的聊天工具OpenAI主要来自调用 GPT API 的用户数据2.4 PPO 强化学习Proximal Policy Optimization通过强化学习进一步优化模型从预先收集的数据中采样 prompt同时输入初始语言模型和当前训练中的语言模型policy得到输出y1,y2用奖励模型 RM 对y1,y2打分判断优劣使用打分差值作为训练信号通过PPO 算法更新模型参数这一阶段让模型能够生成更符合人类价值观和偏好的回答即RLHFReinforcement Learning from Human Feedback。三、多模态大模型多模态大模型Multimodal LLM是指能够同时理解和生成多种模态数据文本、图像、音频、视频等的大模型。代表模型GPT-4V / GPT-4oOpenAI 的多模态旗舰模型GeminiGoogle 的原生多模态模型LLaVA开源视觉语言模型将视觉编码器与大语言模型结合Qwen-VL阿里的通义千问视觉模型核心思路将图像通过视觉编码器如 ViT、CLIP 视觉分支转化为特征向量再通过投影层对齐到语言模型的嵌入空间实现图文联合理解。四、Vision Transformer (ViT) 详解ViT 是将 Transformer 架构从 NLP 迁移到计算机视觉领域的开创性工作论文An Image is Worth 16x16 Words。4.1 整体架构ViT 的核心思想将图像视为一系列 Patch图像块类比 NLP 中的 Token 序列直接送入 Transformer 编码器处理。输入图像 - 分块(Patch Partition) - 线性投影(Linear Projection) - 拼接Class Token - 位置编码(Position Embedding) - Transformer Encoder x L - MLP Head - 分类结果4.2 Embedding 层嵌入层这是 ViT 最关键的创新部分将 2D 图像转换为 1D 序列。图像分块Patch Partition假设输入图像为x ∈ R^(H×W×C)高 H、宽 W、通道数 CPatch 大小为P × PPatch 数量N H×W / P²每个 Patch 展平后维度P² × C分割后的序列xp ∈ R^(N × P²C)具体例子ImageNet输入224 × 224 × 3Patch 大小16 × 16 × 3Patch 数量(224/16) × (224/16) 14 × 14 196每个 Patch 维度16 × 16 × 3 768序列维度196 × 768线性投影Linear Projection / Patch Embedding将每个 Patch维度P² × C通过一个可学习的线性变换映射到 D 维嵌入空间Patch Embedding xp · E, 其中 E ∈ R^(P²C × D)这一步类似于 NLP 中的词嵌入Word Embedding。Class Token在序列开头拼接一个可学习的[class]token维度 D最终序列长度N 1 197序列维度197 × 768这个 Class Token 的最终输出用于分类任务。位置编码Position Embedding由于 Transformer 本身不具备位置感知能力需要加入位置编码。ViT 使用可学习的 1D 位置编码PE(pos, 2i) sin(pos / 10000^(2i/d_model)) PE(pos, 2i1) cos(pos / 10000^(2i/d_model))位置编码维度(N1) × D 197 × 768与 Patch Embedding 相加后送入 Transformer Encoder4.3 ViT EncoderViT 的 Encoder 与标准 Transformer Encoder 完全一致由 L 层堆叠而成每层包含公式表达输入构造z0 [x_class; x_p^1 E; x_p^2 E; ...; x_p^N E] E_pos其中E ∈ R^(P²·C × D)E_pos ∈ R^((N1)×D)第 l 层计算z_l MSA(LN(z_{l-1})) z_{l-1}, l 1...L z_l MLP(LN(z_l)) z_l, l 1...L最终输出取 Class Tokeny LN(zL^0)多头自注意力Multi-Head Self-Attention, MSA注意力机制的计算流程生成 Q、K、V通过三个不同的线性变换矩阵将输入映射为 Query、Key、Value计算注意力分数Q 与 K 做点积运算Softmax 归一化对注意力分数进行 softmax得到注意力权重加权求和用注意力权重对 V 进行加权求和Attention(Q, K, V) softmax(QK^T / √d_k) · V其中√d_k是缩放因子防止点积结果过大导致 softmax 梯度消失。MLP 层ViT 中的 MLP 由两个全连接层组成中间使用GELU激活函数GELU(x) x · Φ(x)其中Φ(x)是标准正态分布的累积分布函数CDFΦ(x) 1/2 · [1 erf(x/√2)]GELU 相比 ReLU 更加平滑在 Transformer 架构中表现更优。Layer Normalization (LN)在每个 MSA 和 MLP 之前应用 Layer NormalizationPre-Norm 结构稳定训练过程。4.4 MLP Head分类头Encoder 输出后取 Class Token 对应的输出向量通过 MLP Head 进行分类本质是一个全连接层或浅层 MLP输出维度 类别数类似于 BERT 中的[CLS]token 用法4.5 实验结果ViT 在大规模数据集如 JFT-300M上预训练后在多个图像分类基准上达到或超越了当时最先进的 CNN 模型相比 CNN如 ResNetViT 在大数据量下具有更强的表示能力在中小规模数据集上不如 CNN缺少 CNN 的归纳偏置如平移不变性和局部性4.6 微调Fine-tuningViT 在预训练后可以通过微调迁移到下游任务移除预训练的 MLP Head换为新的分类头或检测/分割头在目标数据集上进行端到端微调可采用更高的分辨率进行微调如从 224×224 提升到 384×384此时只需对位置编码进行 2D 插值即可五、CLIP语言-图像联合预训练CLIPContrastive Language-Image Pre-training由 OpenAI 提出是一个将图像和文本映射到同一嵌入空间的双塔模型。核心思想通过对比学习Contrastive Learning让配对的图文在嵌入空间中距离更近不配对的图文距离更远。图像 Image - 图像编码器 Image Encoder - 图像特征 文本 Text - 文本编码器 Text Encoder - 文本特征 ↓ 对比学习 Contrastive Learning ↓ 相似度矩阵训练方式使用4 亿图文对进行训练采用对称的InfoNCE 损失同时最大化图像→文本和文本→图像的正确匹配概率在 batch 内构造负样本应用零样本分类用文本描述作为类别标签无需微调即可分类图文检索图像搜文本、文本搜图像作为视觉编码器被广泛用于多模态大模型如 LLaVA的视觉 backbone六、知识蒸馏与 DINO6.1 知识蒸馏Knowledge Distillation将大型教师模型的知识迁移到小型学生模型软标签蒸馏使用教师模型的输出概率分布软标签训练学生特征蒸馏让学生模型模仿教师模型的中间层特征目标是让小模型在保持轻量的同时接近大模型的效果6.2 DINOSelf-Distillation with No LabelsDINO 是 Facebook AI 提出的自监督学习方法核心创新是无标签的自蒸馏Teacher-Student 架构教师和学生网络结构相同动量更新教师网络的参数不通过梯度更新而是由学生网络参数的指数移动平均EMA得到中心化与锐化使用 centering 和 sharpening 防止模型坍塌ViT DINO 的注意力图能自动学习到语义分割级别的物体轮廓这是 DINO 最令人惊叹的特性七、总结主题核心要点ChatGPT 训练流程无监督预训练 - 有监督微调 - 奖励模型 - PPO 强化学习ViT图像分块 - Patch Embedding - Transformer Encoder - MLP Head去除了 CNN 的归纳偏置CLIP双塔对比学习4亿图文对训练实现零样本分类知识蒸馏大模型教小模型DINO 实现了无标签自蒸馏技术演进路线CNN (ResNet) - ViT (纯 Transformer) - CLIP (图文联合) - 多模态大模型 (GPT-4V, LLaVA...) | v DINO (自监督)参考来源An Image is Worth 16x16 Words (ViT, ICLR 2021)Learning Transferable Visual Models From Natural Language Supervision (CLIP, ICML 2021)Emerging Properties in Self-Supervised Vision Transformers (DINO, ICCV 2021)Training language models to follow instructions with human feedback (InstructGPT, NeurIPS 2022)
vision_notes
发布时间:2026/6/8 13:29:49
视觉大模型基础 ViT 学习笔记本文基于课程课件整理涵盖大模型基础、ChatGPT核心技术、Vision Transformer (ViT)、CLIP、知识蒸馏与DINO等内容适合作为视觉大模型入门的学习参考。目录一、大模型概述二、ChatGPT 核心技术三、多模态大模型四、Vision Transformer (ViT) 详解五、CLIP语言-图像联合预训练六、知识蒸馏与 DINO七、总结一、大模型概述大模型Large-scale Model是指参数规模达到亿级甚至千亿级的深度学习模型。近年来以 GPT 系列为代表的大语言模型LLM在自然语言处理领域取得了突破性进展同时也推动了视觉领域大模型的发展。核心特点海量参数数十亿到数千亿参数具备强大的表达能力和泛化能力大规模预训练在海量无标注数据上进行自监督预训练涌现能力当模型规模超过某个阈值后会出现小模型不具备的能力如思维链推理、上下文学习等二、ChatGPT 核心技术ChatGPT 的训练流程可以分为三个关键阶段2.1 无监督预训练Unsupervised Pre-training无监督预训练技术分为两个阶段阶段目标方式语言模型预训练预测下一个单词的概率自回归Auto-Regressive掩码语言模型预训练预测被掩码位置的单词自编码Auto-EncodingGPT 系列主要采用自回归的语言模型预训练方式在大规模语料上学习语言的统计规律。2.2 有监督微调Supervised Fine-Tuning, SFT微调技术是 ChatGPT 实现对话生成的关键技术之一。通过在人工标注的高质量问答数据上进行有监督训练使模型适应对话任务。使用梯度下降优化算法不断调整模型权重以最小化损失函数让模型学会遵循指令、生成符合人类偏好的回答2.3 奖励模型Reward Model, RM奖励模型的目标是评估模型输出在人类看来是否表现良好输入[提示(prompt), 模型生成的文本]输出一个标量分数表示文本质量训练数据来源Anthropic主要来自 Amazon Mechanical Turk 上的聊天工具OpenAI主要来自调用 GPT API 的用户数据2.4 PPO 强化学习Proximal Policy Optimization通过强化学习进一步优化模型从预先收集的数据中采样 prompt同时输入初始语言模型和当前训练中的语言模型policy得到输出y1,y2用奖励模型 RM 对y1,y2打分判断优劣使用打分差值作为训练信号通过PPO 算法更新模型参数这一阶段让模型能够生成更符合人类价值观和偏好的回答即RLHFReinforcement Learning from Human Feedback。三、多模态大模型多模态大模型Multimodal LLM是指能够同时理解和生成多种模态数据文本、图像、音频、视频等的大模型。代表模型GPT-4V / GPT-4oOpenAI 的多模态旗舰模型GeminiGoogle 的原生多模态模型LLaVA开源视觉语言模型将视觉编码器与大语言模型结合Qwen-VL阿里的通义千问视觉模型核心思路将图像通过视觉编码器如 ViT、CLIP 视觉分支转化为特征向量再通过投影层对齐到语言模型的嵌入空间实现图文联合理解。四、Vision Transformer (ViT) 详解ViT 是将 Transformer 架构从 NLP 迁移到计算机视觉领域的开创性工作论文An Image is Worth 16x16 Words。4.1 整体架构ViT 的核心思想将图像视为一系列 Patch图像块类比 NLP 中的 Token 序列直接送入 Transformer 编码器处理。输入图像 - 分块(Patch Partition) - 线性投影(Linear Projection) - 拼接Class Token - 位置编码(Position Embedding) - Transformer Encoder x L - MLP Head - 分类结果4.2 Embedding 层嵌入层这是 ViT 最关键的创新部分将 2D 图像转换为 1D 序列。图像分块Patch Partition假设输入图像为x ∈ R^(H×W×C)高 H、宽 W、通道数 CPatch 大小为P × PPatch 数量N H×W / P²每个 Patch 展平后维度P² × C分割后的序列xp ∈ R^(N × P²C)具体例子ImageNet输入224 × 224 × 3Patch 大小16 × 16 × 3Patch 数量(224/16) × (224/16) 14 × 14 196每个 Patch 维度16 × 16 × 3 768序列维度196 × 768线性投影Linear Projection / Patch Embedding将每个 Patch维度P² × C通过一个可学习的线性变换映射到 D 维嵌入空间Patch Embedding xp · E, 其中 E ∈ R^(P²C × D)这一步类似于 NLP 中的词嵌入Word Embedding。Class Token在序列开头拼接一个可学习的[class]token维度 D最终序列长度N 1 197序列维度197 × 768这个 Class Token 的最终输出用于分类任务。位置编码Position Embedding由于 Transformer 本身不具备位置感知能力需要加入位置编码。ViT 使用可学习的 1D 位置编码PE(pos, 2i) sin(pos / 10000^(2i/d_model)) PE(pos, 2i1) cos(pos / 10000^(2i/d_model))位置编码维度(N1) × D 197 × 768与 Patch Embedding 相加后送入 Transformer Encoder4.3 ViT EncoderViT 的 Encoder 与标准 Transformer Encoder 完全一致由 L 层堆叠而成每层包含公式表达输入构造z0 [x_class; x_p^1 E; x_p^2 E; ...; x_p^N E] E_pos其中E ∈ R^(P²·C × D)E_pos ∈ R^((N1)×D)第 l 层计算z_l MSA(LN(z_{l-1})) z_{l-1}, l 1...L z_l MLP(LN(z_l)) z_l, l 1...L最终输出取 Class Tokeny LN(zL^0)多头自注意力Multi-Head Self-Attention, MSA注意力机制的计算流程生成 Q、K、V通过三个不同的线性变换矩阵将输入映射为 Query、Key、Value计算注意力分数Q 与 K 做点积运算Softmax 归一化对注意力分数进行 softmax得到注意力权重加权求和用注意力权重对 V 进行加权求和Attention(Q, K, V) softmax(QK^T / √d_k) · V其中√d_k是缩放因子防止点积结果过大导致 softmax 梯度消失。MLP 层ViT 中的 MLP 由两个全连接层组成中间使用GELU激活函数GELU(x) x · Φ(x)其中Φ(x)是标准正态分布的累积分布函数CDFΦ(x) 1/2 · [1 erf(x/√2)]GELU 相比 ReLU 更加平滑在 Transformer 架构中表现更优。Layer Normalization (LN)在每个 MSA 和 MLP 之前应用 Layer NormalizationPre-Norm 结构稳定训练过程。4.4 MLP Head分类头Encoder 输出后取 Class Token 对应的输出向量通过 MLP Head 进行分类本质是一个全连接层或浅层 MLP输出维度 类别数类似于 BERT 中的[CLS]token 用法4.5 实验结果ViT 在大规模数据集如 JFT-300M上预训练后在多个图像分类基准上达到或超越了当时最先进的 CNN 模型相比 CNN如 ResNetViT 在大数据量下具有更强的表示能力在中小规模数据集上不如 CNN缺少 CNN 的归纳偏置如平移不变性和局部性4.6 微调Fine-tuningViT 在预训练后可以通过微调迁移到下游任务移除预训练的 MLP Head换为新的分类头或检测/分割头在目标数据集上进行端到端微调可采用更高的分辨率进行微调如从 224×224 提升到 384×384此时只需对位置编码进行 2D 插值即可五、CLIP语言-图像联合预训练CLIPContrastive Language-Image Pre-training由 OpenAI 提出是一个将图像和文本映射到同一嵌入空间的双塔模型。核心思想通过对比学习Contrastive Learning让配对的图文在嵌入空间中距离更近不配对的图文距离更远。图像 Image - 图像编码器 Image Encoder - 图像特征 文本 Text - 文本编码器 Text Encoder - 文本特征 ↓ 对比学习 Contrastive Learning ↓ 相似度矩阵训练方式使用4 亿图文对进行训练采用对称的InfoNCE 损失同时最大化图像→文本和文本→图像的正确匹配概率在 batch 内构造负样本应用零样本分类用文本描述作为类别标签无需微调即可分类图文检索图像搜文本、文本搜图像作为视觉编码器被广泛用于多模态大模型如 LLaVA的视觉 backbone六、知识蒸馏与 DINO6.1 知识蒸馏Knowledge Distillation将大型教师模型的知识迁移到小型学生模型软标签蒸馏使用教师模型的输出概率分布软标签训练学生特征蒸馏让学生模型模仿教师模型的中间层特征目标是让小模型在保持轻量的同时接近大模型的效果6.2 DINOSelf-Distillation with No LabelsDINO 是 Facebook AI 提出的自监督学习方法核心创新是无标签的自蒸馏Teacher-Student 架构教师和学生网络结构相同动量更新教师网络的参数不通过梯度更新而是由学生网络参数的指数移动平均EMA得到中心化与锐化使用 centering 和 sharpening 防止模型坍塌ViT DINO 的注意力图能自动学习到语义分割级别的物体轮廓这是 DINO 最令人惊叹的特性七、总结主题核心要点ChatGPT 训练流程无监督预训练 - 有监督微调 - 奖励模型 - PPO 强化学习ViT图像分块 - Patch Embedding - Transformer Encoder - MLP Head去除了 CNN 的归纳偏置CLIP双塔对比学习4亿图文对训练实现零样本分类知识蒸馏大模型教小模型DINO 实现了无标签自蒸馏技术演进路线CNN (ResNet) - ViT (纯 Transformer) - CLIP (图文联合) - 多模态大模型 (GPT-4V, LLaVA...) | v DINO (自监督)参考来源An Image is Worth 16x16 Words (ViT, ICLR 2021)Learning Transferable Visual Models From Natural Language Supervision (CLIP, ICML 2021)Emerging Properties in Self-Supervised Vision Transformers (DINO, ICCV 2021)Training language models to follow instructions with human feedback (InstructGPT, NeurIPS 2022)