神经网络与深度学习笔记
神经网络与深度学习笔记④|视觉Transformer(ViT)与视觉大模型
前言
本周学习了《神经网络与深度学习》课程中视觉Transformer(ViT) 与视觉大模型基础两大模块内容,系统讲解了ViT的架构原理、训练流程、实验效果,同时延伸介绍了大语言模型、多模态大模型、知识蒸馏与DINO等当下主流视觉大模型技术。
Transformer原本是自然语言处理(NLP)领域的标杆架构,而ViT成功将Transformer迁移到计算机视觉(CV)领域,打破了卷积神经网络(CNN)长期垄断视觉任务的格局,也是如今各类视觉大模型、多模态大模型的核心底座。
一、Vision Transformer(ViT)
1.1 ViT 概述与诞生背景
1.1.1 论文与起源
ViT(Vision Transformer)诞生于2020年CVPR会议,由Google Research团队发表经典论文:
《AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》
论文核心思想:把一张图像拆解为多个图像块(Patch),类比NLP中的单词(Token),将二维图像转化为一维序列数据,直接使用标准Transformer编码器处理视觉任务。在此之前,Transformer在CV领域仅作为CNN的辅助模块使用,ViT首次证明纯Transformer架构也能在图像任务上取得顶尖效果。
1.1.2 ViT 整体架构与工作流程
ViT整体架构分为三大核心模块:嵌入层(Embedding)、Transformer编码器、MLP分类头。
完整工作流程:
- 将二维图像切分为固定大小的Patch序列,转换为一维Token序列;
- 对Patch做线性映射、添加分类Token与位置编码,完成图像嵌入;
- 嵌入后的序列送入多层Transformer编码器,挖掘图像全局特征;
- 提取全局特征向量,通过MLP头完成图像分类;
- 训练范式:大规模数据集预训练 + 下游任务微调。
1.2 嵌入层(Embedding Layer)
嵌入层是ViT适配图像数据的核心环节,作用是把二维图像转换成Transformer可接收的 [序列长度, 特征维度] 格式向量,共分为图像分Patch、线性投影、添加Class Token、添加位置编码四个步骤。
1.2.1 图像切分为 Patch
设输入图像为 x∈RH×W×Cx \in \mathbb{R}^{H \times W \times C}x∈RH×W×C(高、宽、通道数),定义单个Patch尺寸为 p×pp \times pp×p,则图像可切分出 NNN 个Patch:
N=H×Wp2N=\frac{H \times W}{p^2}N=p2H×W
NNN 即为序列长度,对应NLP中一句话的单词数量。
经典实例(ImageNet标准输入):
输入图像尺寸 224×224×3224 \times 224 \times 3224×224×3,设置Patch大小为 16×1616 \times 1616×16:
- 单行/单列Patch数量:224÷16=14224 \div 16 = 14224÷16=14
- 总Patch数量:14×14=19614 \times 14 = 19614×14=196
- 单个Patch展平后维度:16×16×3=76816 \times 16 \times 3 = 76816×16×3=768
1.2.2 新增 Class Token
为了获取整张图像的全局特征,ViT额外增加一个可学习的Class Token(分类令牌),拼接在Patch序列最前方。
原本196个Patch序列,加入Class Token后,总序列长度变为 197,向量维度保持768不变。最终分类任务会基于该Token的输出特征完成。
1.2.3 Patch 线性投影
每个Patch展平后通过线性变换(Linear) 做维度映射,统一特征维度,该过程也被称为Patch Embedding,和NLP中的词嵌入逻辑一致。
1.2.4 位置编码(Position Embedding)
Transformer本身不具备空间位置感知能力,无法区分不同Patch的位置关系,因此必须为每个Token添加位置编码,编码结果直接与嵌入向量逐元素相加,向量维度不变。
(1)一维正弦位置编码(ViT默认方案)
ViT采用标准Transformer的一维正弦位置编码,公式如下:
{PE(pos,2i)=sin(pos10000(2i/dmodel))PE(pos,2i+1)=cos(pos10000(2i/dmodel))
\begin{cases}
PE(pos, 2 i)=sin \left(\frac{ pos }{10000^{\left(2 i / d_{model }\right)}}\right) \\
PE(pos, 2 i+1)=cos \left(\frac{pos}{10000^{\left(2 i / d_{model }\right)}}\right)
\end{cases}
⎩⎨⎧PE(pos,2i)=sin(10000(2i/dmodel)pos)PE(pos,2i+1)=cos(10000(2i/dmodel)pos)
其中:pospospos 为Token位置,dmodeld_{model}dmodel 为特征维度。
(2)位置编码选型实验
针对二维图像,理论上可使用一维编码、二维编码、相对位置编码三种方案,PPT中给出了对比实验结果:
| 位置编码类型 | 精度 |
|---|---|
| 无位置编码 | 0.61382 |
| 一维位置编码 | 0.64206 |
| 二维位置编码 | 0.64001 |
| 相对位置编码 | 0.64032 |
结论:三种编码方式效果几乎无差异,一维编码实现最简单,因此ViT最终选用一维位置编码。同时可视化结果证明:一维编码也能有效学习到图像的二维空间信息。
1.3 Transformer 编码器(Encoder)
ViT的编码器与标准Transformer编码器结构基本一致,仅存在一处细节差异:先做层标准化(LN),再执行多头注意力(MSA)(前置LN)。
1.3.1 整体计算公式
PPT给出ViT前向传播核心公式,完整描述数据流转过程:
-
嵌入层输出:
z0=[xclass;xp1E;xp2E;⋯ ;xpNE]+Eposz_{0}=\left[ x_{class} ; x_{p}^{1}E;x_{p}^{2}E;\cdots ;x_{p}^{N}E\right] +E_{pos}z0=[xclass;xp1E;xp2E;⋯;xpNE]+Epos
EEE 为线性投影权重,EposE_{pos}Epos 为位置编码矩阵。 -
多头注意力子层(残差连接):
zℓ′=MSA(LN(zℓ−1))+zℓ−1,ℓ=1...Lz_{\ell}'=MSA\left(LN\left(z_{\ell-1}\right)\right)+z_{\ell-1}, \quad \ell=1 ... Lzℓ′=MSA(LN(zℓ−1))+zℓ−1,ℓ=1...L -
MLP子层(残差连接):
zℓ=MLP(LN(zℓ′))+zℓ′,ℓ=1...Lz_{\ell}=MLP\left(LN\left(z_{\ell}'\right)\right)+z_{\ell}', \quad \ell=1 ... Lzℓ=MLP(LN(zℓ′))+zℓ′,ℓ=1...L -
最终输出特征:
y=LN(zL0)y=LN\left(z_{L}^{0}\right)y=LN(zL0)
1.3.2 编码器内部模块拆解
单个Encoder Block由层标准化、多头注意力、MLP层三部分组成,搭配残差连接防止梯度消失。
-
层标准化(Layer Norm, LN)
对特征向量做归一化处理,稳定训练过程,保留模型表达能力,是Transformer系列模型的标配组件。 -
多头注意力(Multi-Head Attention, MSA)
逻辑与NLP Transformer完全一致:通过Q/K/V计算注意力权重,捕捉所有Patch之间的全局依赖关系。
这也是ViT对比CNN的核心优势:CNN依靠局部卷积核提取局部特征,而ViT的注意力机制可以直接建模图像全局关联。 -
MLP 层
MLP为两层全连接网络,中间搭配激活函数与Dropout,维度变换流程:
197×768→Linear197×3072→GELU197×3072→Linear197×768197 \times 768 \xrightarrow{Linear} 197 \times 3072 \xrightarrow{GELU} 197 \times 3072 \xrightarrow{Linear} 197 \times 768197×768Linear197×3072GELU197×3072Linear197×768- 激活函数:GELU
ViT放弃ReLU,使用GELU(高斯误差线性单元),公式:
GELU(x)=x⋅Φ(x)GELU(x)=x \cdot \Phi(x)GELU(x)=x⋅Φ(x)
其中 Φ(x)\Phi(x)Φ(x) 为标准正态分布累积函数。GELU在负值区域过渡更平滑,非线性表达能力优于ReLU。 - 搭配Dropout/DropPath防止模型过拟合。
- 激活函数:GELU
1.4 MLP 分类头(MLP Head)
编码器最终输出的特征中,Class Token 对应向量代表整张图像的全局特征,将该向量送入MLP Head完成分类:
- 预训练阶段(ImageNet-21K大数据集):结构为Linear + tanh + Linear;
- 下游微调阶段:简化为单层Linear全连接层即可满足任务需求;
- 损失函数:使用交叉熵损失,计算预测标签与真实标签的误差,完成模型训练。
1.5 ViT 模型版本与参数规格
论文定义了三个不同规模的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 |
模型规模越大、参数量越多,特征提取能力越强,但计算开销也会同步提升。
1.6 实验效果对比
PPT将ViT与主流CNN模型(BiT-ResNet、EfficientNet)在多数据集上做精度与算力对比,结果如下:
| 数据集 | ViT-H/14(JFT) | ViT-L/16(JFT) | ViT-L/16(I21k) | BiT-L(ResNet152x4) | Noisy Student(EfficientNet-L2) |
|---|---|---|---|---|---|
| ImageNet | 88.55±0.04 | 87.76±0.03 | 85.30±0.02 | 87.54±0.02 | 88.4/88.5 |
| ImageNet Real | 90.72±0.05 | 90.54±0.03 | 88.62±0.05 | 90.54 | 90.55 |
| CIFAR-10 | 99.50±0.06 | 99.42±0.03 | 99.15±0.03 | 99.37±0.06 | - |
| CIFAR-100 | 94.55±0.04 | 93.90±0.05 | 93.25±0.05 | 93.51±0.08 | - |
| Oxford-IIIT Pets | 97.56±0.03 | 97.32±0.11 | 94.67±0.15 | 96.62±0.23 | - |
| Oxford Flowers-102 | 99.68±0.02 | 99.74±0.00 | 99.61±0.02 | 99.63±0.03 | - |
| VTAB(19项任务) | 77.63±0.23 | 76.28±0.46 | 72.72±0.21 | 76.29±1.70 | - |
| TPUv3算力消耗 | 2.5k | 0.68k | 0.23k | 9.9k | 12.3k |
核心结论:
- 在JFT、ImageNet-21K等大规模数据集预训练后,ViT整体精度超越传统CNN;
- ViT的算力开销远低于ResNet、EfficientNet,性价比更高;
- 预训练数据量越大,ViT的性能优势越明显。
1.7 ViT 模型微调(Fine-tuning)
预训练完成的ViT是优秀的通用特征提取器,可迁移至图像分类、目标检测等各类下游任务,微调是落地应用的关键。
1.7.1 核心问题
预训练常用图像尺寸为 224×224224 \times 224224×224,实际微调时为提升效果会使用更高分辨率图像(如 1024×10241024 \times 10241024×1024)。若保持Patch尺寸不变,Patch数量会大幅增加,而可学习位置编码的长度固定,无法直接适配新序列。
1.7.2 解决方案:二维插值位置编码
对预训练得到的位置编码做维度重排+插值重采样,适配微调阶段的新序列长度,完美解决不同分辨率图像的位置编码问题。
1.7.3 微调思路
冻结ViT主干大部分参数,仅更新MLP分类头或少量顶层参数,利用大规模预训练学到的通用视觉特征,快速适配下游小众数据集。
二、视觉大模型基础体系
前文系统总结了ViT(视觉Transformer) 的完整架构、训练逻辑与实验效果,而ViT并非孤立的模型,它是当下整个视觉大模型、多模态大模型生态的核心基础底座。本节结合课程PPT内容,从技术源头大语言模型(LLM)切入,逐层讲解多模态大模型、经典图文预训练模型CLIP、自监督学习与知识蒸馏框架DINO,同时梳理视觉大模型通用训练范式、技术痛点、落地场景与发展趋势,串联起从单模态视觉模型到通用大模型的完整技术链路。
2.1 大语言模型(LLM):视觉大模型的技术源头
Transformer架构最早诞生于自然语言处理(NLP)领域,大语言模型是Transformer最成熟的应用形态之一。理解LLM的原理、训练范式与架构设计,能帮助我们快速理解视觉大模型的底层逻辑——二者共享Transformer核心结构、残差连接、层归一化、预训练+微调等通用技术,这也是NLP技术向计算机视觉(CV)迁移的核心根基。
2.1.1 核心定义与主流模型分类
大语言模型(Large Language Model, LLM)是依托海量无标注文本数据训练的深度学习模型,具备文本理解、内容生成、问答、翻译、逻辑推理等能力,也是当前多模态大模型的“认知大脑”。主流LLM可分为闭源商用模型与开源社区模型两大类:
- 闭源模型:OpenAI GPT系列、Google Gemini、Anthropic Claude,综合能力强,主打通用对话与复杂推理;
- 开源模型:Meta LLaMA、阿里通义千问Qwen、字节云雀、百度文心一言等,开放权重,便于二次开发、本地化部署与学术研究。
2.1.2 自回归生成原理深度解析
LLM的核心工作逻辑为自回归文本生成,PPT中用“单字接龙”做了通俗解释,这里补充细节:
模型不会一次性生成整段文本,而是以历史上下文作为输入,逐词/逐字符预测下一个内容的概率分布;将生成的新字符并入原有上下文,循环迭代直至生成结束符,最终形成完整回答。该机制也是ChatGPT等对话模型、多模态对话模型的底层逻辑。
自回归的优势是文本连贯性强、符合人类语言习惯;缺点是长文本生成时串行推理,计算效率偏低。
2.1.3 GPT系列迭代:参数、数据与能力演进
GPT作为LLM的标杆系列,其迭代过程直观体现了大模型“数据扩容+参数扩容”的发展思路,课程PPT记录了核心版本参数与训练数据规模:
| 模型版本 | 参数量 | 训练文本数据规模 | 核心特点 |
|---|---|---|---|
| GPT-1 | 1.17亿 | 5G | 验证Transformer在语言生成的可行性,基础原型 |
| GPT-2 | 15亿 | 40G | 扩大参数与数据,实现无监督自由文本生成 |
| GPT-3 | 170亿 | 45T | 大参数模型雏形,具备零样本、少样本能力 |
| GPT-4 | 万亿级别 | >100T | 支持图文输入、复杂逻辑推理,走向多模态融合 |
可以看出,随着参数量与训练数据量提升,模型的语义理解、泛化能力、跨任务适配能力同步飞跃,这一规律也完全复刻到了ViT与视觉大模型中。
2.1.4 LLM标准三阶段训练流程
现代大模型通用的三段式训练流程,如今已被全面迁移至视觉模型、多模态模型训练中:
- 第一阶段:无监督预训练(基座模型构建)
利用海量互联网无标注文本让模型自主学习语言语法、语义、逻辑关系,包含两大主流预训练任务:- 语言模型(LM):即前文提到的“预测下一个单词”,是GPT系列的核心预训练任务;
- 掩码语言模型(MLM):随机遮挡句子中部分单词,让模型根据上下文预测掩码内容,以BERT为代表,侧重语义理解。
该阶段不针对具体任务,仅打造通用语言表征能力。
- 第二阶段:有监督微调(SFT,对齐对话逻辑)
采用人工标注的问答配对数据训练模型,让模型学习人类的提问方式、回答风格与交互逻辑,将通用语言模型转化为对话模型。此阶段仅小幅调整模型权重,保留预训练习得的基础能力。 - 第三阶段:奖励模型训练 + 强化学习(RLHF,优化回答质量)
这是模型“拟人化”的关键一步,分为两个子步骤:- 训练奖励模型(RM):人工对模型多条回答打分排序,输入「提示词+模型回答」,输出表征回答质量的标量分数;
- 强化学习优化:使用PPO算法迭代主模型,以奖励模型的打分作为优化目标;同时引入KL散度惩罚项,约束模型输出不会偏离原始基座模型太远,防止出现语义崩坏、乱码等问题。
2.1.5 LLM技术向视觉领域的迁移逻辑
LLM与ViT、视觉大模型看似分属不同领域,但核心技术高度互通,也是Transformer大一统架构的核心体现:
- 序列建模思想复用:NLP将句子拆分为单词Token,ViT将图像拆分为Patch Token,二者均把原始数据转化为一维序列处理;
- 网络组件通用:层归一化、多头注意力、残差连接、MLP模块在视觉与语言模型中完全通用;
- 训练范式统一:均采用「大规模无监督预训练 + 下游任务微调」的模式,摆脱对大量标注数据的依赖;
- 规模效应一致:模型参数量、预训练数据量越大,通用表征能力越强。
2.2 多模态大模型:视觉+语言的融合进阶
人类通过视觉、语言、音频等多种感官认知世界,多模态大模型便是模拟这一能力,融合图像、文本、视频、音频等多种数据形态的基础模型。
2.2.1 多模态的核心价值与行业定位
传统单模态模型存在明显局限:纯视觉模型只能完成分类、检测等视觉任务,无法理解语义;纯语言模型无法感知画面内容。多模态模型以ViT(视觉编码器)+ LLM(语言编码器) 为双底座,实现跨模态理解与生成,是当前通用人工智能(AGI)的核心探索方向。
从技术链路来看:单模态ViT/LLM → 模态对齐融合 → 多模态大模型,也是视觉大模型的主流演进路径。
2.2.2 多模态大模型发展历程
整理了近三年多模态模型爆发式发展的时间线,梳理关键里程碑模型与技术突破,按年份划分如下:
- 2022年:多模态模型起步,代表模型为Flamingo,首次实现视觉与大语言模型的深度融合,奠定跨模态交互基础;
- 2023年:模型百花齐放,Kosmos-1、BLIP-2、MiniGPT-4、LLaVA初代版本相继发布,开源多模态生态成型,轻量化部署成为热点;
- 2024年至今:模型能力全面升级,LLaVA-NeXT、Gemini、CogVLM、mPLUG-Owl2等模型问世,支持高清图像、长视频、多轮复杂推理,同时出现面向移动端、端侧的轻量多模态模型(MobileVLM系列)。
2.2.3 主流架构分类
根据模态融合时机与网络结构,当前多模态大模型主要分为三大架构:
- 双流独立架构:视觉、文本分别使用独立编码器(视觉端多用ViT,文本端多用LLM),仅在最后阶段做特征融合,代表模型:CLIP。优势是两个模态的表征互不干扰,训练难度低;
- 单塔融合架构:所有模态数据统一转化为Token序列,送入同一个Transformer网络完成编码与推理,模态融合贯穿全层。优势是全局关联建模能力强,适合复杂多轮对话;
- 编码器-解码器架构:编码器负责提取图像、文本等多模态特征,解码器负责生成文本、图像等结果,广泛应用于图文生成、视频理解任务,Stable Diffusion(稳定扩散) 便属于该架构。
2.2.4 核心技术:跨模态融合方案
不同模态的特征空间、数据维度存在天然差异,跨模态特征对齐与融合是多模态模型的核心难点。主流融合技术分为4类:
- 线性投影层(Projector):最简单的融合方式,将ViT输出的视觉特征通过单层/多层线性网络映射到文本特征维度,实现维度统一,多用于轻量化多模态模型;
- Q-Former/C-Former:轻量化Transformer子模块,对视觉特征做二次提炼,压缩图像Token数量,解决高清图像Token过长、算力爆炸的问题,BLIP-2等经典模型的标配组件;
- 交叉注意力(Cross-Attention):让视觉Token与文本Token互相计算注意力权重,建模图文之间的语义关联,是深度融合的核心技术;
- 多模态指令微调:在预训练完成后,使用图文配对的指令数据微调模型,让模型对齐人类的指令习惯,解锁视觉问答、图文描述、开放词汇识别等能力。
2.2.5 核心能力与应用场景
依托ViT与LLM的底座能力,多模态大模型具备三大核心能力,同时衍生出丰富的落地场景,结合GLIP、SAM、稳定扩散等模型分类说明:
- 核心能力
- 零样本能力:无需下游任务标注数据,依靠图文预训练知识完成图像分类、检索;
- 少样本/上下文学习(ICL):输入少量示例,模型即可快速适配新任务;
- 多轮多模态对话:支持“看图提问-根据画面推理-追问细节”的完整交互。
- 细分应用场景
- 视觉理解类(基于ViT+多模态编码器):图像问答、开放词汇检测(GLIP)、图像分割(SAM)、医疗影像分析、遥感图像解译;
- 多模态生成类(基于编解码架构):文生图、图生图(Stable Diffusion稳定扩散)、图文创作、短视频内容生成;
- 通用交互类:智能客服、教育图文教学、自动驾驶多模态感知、机器人视觉交互。
2.2.6 现存核心挑战
- 模态异构问题:图像是二维空间数据,文本是一维序列数据,二者特征分布差异大,完全对齐难度高;
- 长序列算力瓶颈:高清图像、长视频会产生海量Patch Token,Transformer的注意力机制复杂度为O(N2)O(N^2)O(N2),算力开销急剧上升;
- 模态偏见:模型过度依赖文本特征或视觉特征,出现“看图说错话”“读文误判画面”的问题;
- 数据壁垒:高质量图文、视频-文本配对标注数据稀缺,大规模标注成本极高。
2.3 CLIP:经典视觉-语言双流预训练模型
CLIP(Contrastive Language-Image Pre-training)是OpenAI提出的通用视觉语言预训练模型,也是连接ViT与多模态模型的关键桥梁。CLIP以ViT作为图像编码器核心,开创了“图文对比学习”的预训练范式,彻底改变了传统视觉任务依赖专属标注的模式。
2.3.1 整体架构拆解(双流架构)
CLIP采用典型的双流独立编码器架构,两个分支仅在损失计算阶段产生交互,整体结构分为图像分支与文本分支:
- 图像编码器:支持ViT(ViT-B/16、ViT-L/14等)或ResNet,业界主流选择ViT以获得更强的全局特征提取能力,输入图像经ViT分Patch、嵌入编码后,输出全局视觉特征向量;
- 文本编码器:基于标准Transformer文本模型,将输入文本(描述语句、分类标签描述)转化为文本Token,编码后输出文本特征向量;
- 特征归一化:对视觉、文本特征做L2归一化,计算向量余弦相似度,衡量图文匹配程度。
2.3.2 训练范式:图文对比学习
CLIP不使用传统分类标签,而是依托海量互联网图文配对数据做对比学习,这是其核心创新:
- 构造正负样本:一个批次内,匹配的图文对为正样本(如图片+“一只金毛犬”),不匹配的图文对为负样本;
- 优化目标:拉大正样本图文特征的相似度,缩小负样本图文特征的相似度;
- 优势:无需为每一个视觉任务单独标注数据,一次预训练即可适配绝大多数图文相关任务。
2.3.3 推理能力:零样本图像分类
CLIP最亮眼的能力是零样本分类,无需在下游数据集微调即可完成分类任务,实操流程:
- 针对分类任务,用文本模板生成类别描述文本(例如CIFAR-10分类任务,模板为This is a photo of [类别名]);
- 所有类别描述文本送入文本编码器,得到一组文本特征;
- 待测图像送入ViT图像编码器得到视觉特征;
- 计算视觉特征与所有文本特征的相似度,相似度最高的类别即为模型预测结果。
2.3.4 CLIP衍生生态与优缺点
- 主流衍生模型:CLIP开启了图文预训练热潮,课程PPT提及的BLIP、BLIP-2、FLAVA等模型均基于CLIP架构优化而来,分别在图像描述、多轮问答、轻量化部署上做了改进;
- 核心优势:泛化能力极强、摆脱任务专属标注、ViT骨干保证视觉特征质量、适配绝大多数图文跨模态任务;
- 局限性:双流结构无法实现深度图文交互,不适合复杂多轮对话;对细粒度视觉任务(如小目标检测)表现一般;高清图像推理算力较高。
2.4 知识蒸馏与DINO:视觉模型轻量化与自监督学习
在ViT与视觉大模型的落地过程中,标注数据稀缺和大模型算力过高是两大现实痛点。知识蒸馏与DINO两大技术:知识蒸馏解决大模型轻量化部署问题,DINO结合知识蒸馏实现无标注自监督视觉学习,二者是视觉模型工程落地与无标注数据利用的核心技术。
2.4.1 知识蒸馏:大模型落地的轻量化利器
2.4.1.1 核心概念与师生架构
知识蒸馏(Knowledge Distillation)是一种模型迁移技术,核心思路为「教师模型-学生模型」架构:
- 教师模型:通常是参数量大、精度高的模型(如ViT-L、ViT-H),拥有丰富的视觉知识与特征表达能力;
- 学生模型:轻量化小模型(如ViT-Tiny、MobileViT),参数量小、推理速度快,适合边缘设备部署。
训练时不依赖原始标签,而是让学生模型学习教师模型的输出分布、中间特征,在大幅降低参数量与算力的同时,逼近大模型的精度。
2.4.1.2 知识蒸馏主流分类
结合视觉模型应用场景,蒸馏分为三类:
- 离线蒸馏:先完整训练好教师模型,再固定教师权重,单独训练学生模型,视觉领域最常用,适配ViT轻量化;
- 在线蒸馏:师生模型同步训练,互相监督,训练难度高,多用于超大模型集群训练;
- 自蒸馏:模型自身拆分深浅分支,自己蒸馏自己,无需额外教师模型,适合中小型ViT模型优化。
2.4.1.3 视觉场景下的蒸馏价值
原版ViT-H(632M参数)、ViT-L(307M参数)精度优异,但无法在手机、嵌入式设备等边缘端部署。通过知识蒸馏,可将大ViT的知识迁移到百万级参数的轻量ViT中,实现 「云端大模型训练+端侧小模型部署」 的落地模式。
2.4.2 DINO:基于知识蒸馏的自监督视觉学习
DINO(DIstillation with NO labels)是2021年提出的自监督视觉模型,完全不依赖人工标注数据,以ViT作为骨干网络,融合知识蒸馏与动量平均思想,是无标注视觉数据挖掘的标杆方案,课程PPT将其作为视觉大模型自监督学习的重点案例。
2.4.2.1 诞生背景
传统有监督ViT需要大量标注图像,而医疗影像、卫星遥感、野外影像等场景中,标注成本极高甚至无法标注。DINO的目标就是利用海量无标注图像,让ViT自主学习有效的视觉特征。
2.4.2.2 核心架构与训练逻辑
DINO沿用师生模型架构,但做了两大关键创新:无标签训练 + 动量教师更新,整体基于ViT构建:
- 双ViT骨干:学生模型、教师模型采用完全相同的ViT结构,初始权重一致;
- 数据增强:对同一张图像做多种随机增强(裁剪、翻转、色彩变换等),生成多个不同视图;
- 动量更新教师权重(EMA):教师模型不参与反向传播更新,其权重由学生模型权重做指数移动平均得到,公式如下:
θteacher=m⋅θteacher+(1−m)⋅θstudent\theta_{teacher} = m \cdot \theta_{teacher} + (1 - m) \cdot \theta_{student}θteacher=m⋅θteacher+(1−m)⋅θstudent
其中mmm为动量系数(通常取0.996),保证教师模型特征稳定; - 蒸馏训练:学生模型学习匹配教师模型输出的特征分布,结合对比损失,最大化同一图像不同视图的特征相似度。
2.4.2.3 模型特性与迭代版本
- 特征优势:DINO训练的ViT特征不仅包含全局语义,还能捕捉图像纹理、边缘、局部细节,相比有监督ViT,在分割、检测等密集预测任务上表现更优;
- 版本迭代:原始DINO之后陆续推出DINOv2、DINOv3,进一步提升特征表达能力,支持图文跨模态对齐,常与CLIP组合使用;
- 与有监督ViT对比:有监督ViT依赖标签,擅长分类任务;DINO无需标注,擅长无标注数据集预训练、密集视觉任务。
2.4.2.4 典型应用场景
- 无标注数据集预训练:医疗影像、卫星图像、工业缺陷图库等标注困难场景的模型初始化;
- 下游任务迁移:将DINO预训练的ViT权重,微调后用于图像分类、语义分割、目标检测;
- 多模态融合:DINOv2提取视觉特征,搭配文本编码器构建轻量多模态模型。
2.5 ViT:全系列视觉大模型的通用底座
结合前文ViT架构与本章节各类模型可以发现:当下90%以上的视觉大模型、多模态模型均以ViT或其变体作为视觉编码器底座,CNN已逐步退出大模型主流赛道。本小节梳理ViT在不同视觉大模型中的复用与改造方式:
- CLIP/BLIP系列:直接使用原生ViT作为图像编码器,仅在输出端增加投影层对接文本特征,几乎不改动ViT主干;
- DINO系列:以原生ViT为师生模型骨干,仅修改训练损失与权重更新逻辑,网络结构保持不变;
- SAM(分割大模型):基于ViT改造,增强局部特征建模能力,适配像素级分割任务,是当前通用图像分割的标杆;
- Stable Diffusion(稳定扩散):将ViT融入扩散模型架构,用于图像语义理解与引导生成;
- GLIP(图文检测模型):ViT提取视觉特征,结合文本编码器实现开放词汇目标检测。
ViT成为通用底座的核心原因:
- 全局注意力机制擅长建模图像长距离依赖,契合大模型“通用理解”的需求;
- 序列式结构天然适配多模态Token统一建模,跨模态迁移成本低;
- 预训练范式成熟,海量公开预训练权重降低二次开发成本。
2.6 视觉大模型通用训练与微调范式
整合ViT、LLM、多模态模型的训练逻辑,结合ViT高分辨率微调知识点,总结视觉大模型统一训练与微调链路,也是工程落地的核心流程:
2.6.1 完整训练链路
大规模数据预训练 → 通用指令微调(多模态模型专属) → 下游领域适配微调
- 预训练阶段:使用千万/亿级通用图像、图文数据训练基座ViT/多模态模型,学习通用视觉/图文特征;
- 指令微调(多模态模型):使用图文指令数据训练,对齐人类交互习惯;
- 领域微调:针对医疗、工业、遥感等细分场景,使用领域数据微调模型。
2.6.2 细分微调策略(结合ViT位置编码问题)
- 全量微调:更新模型所有参数,效果最好,但算力开销大、易过拟合,仅适用于数据集充足的场景;
- 部分层微调:冻结ViT底层特征提取层,仅更新顶层编码器与分类/融合头,是ViT主流微调方式;
- 位置编码插值微调:对应前文ViT知识点,当微调使用比预训练更高分辨率的图像时,对预训练位置编码做二维插值,适配变长Patch序列,解决位置编码长度固定的问题;
- 轻量化微调(LoRA):冻结ViT主干,仅在注意力层插入少量低秩矩阵训练,兼顾效果与算力,广泛用于端侧多模态模型。
2.7 视觉大模型现存挑战与未来发展趋势
2.7.1 现阶段核心挑战
- 算力成本高昂:ViT-H、超大多模态模型训练需要数千块TPU/GPU,中小企业与科研团队难以负担;
- 数据依赖严重:优质标注数据、图文配对数据仍是模型性能的上限;
- 端侧部署困难:大参数量模型推理延迟高,无法适配手机、嵌入式等边缘设备;
- 鲁棒性不足:在模糊图像、遮挡、极端光照等真实复杂场景下,模型效果大幅下降。
2.7.2 未来发展趋势
根据行业前沿,视觉大模型将朝着三大方向发展:
- 轻量化与高效架构:结合知识蒸馏、模型剪枝、混合架构(ViT+CNN),打造“高精度+低算力”的轻量视觉大模型,推动端侧普及;
- 自监督与弱监督普及:以DINO为代表的自监督技术进一步落地,降低模型对人工标注数据的依赖;
- 多模态大一统:融合视觉、文本、音频、点云等全模态数据,打造真正的通用视觉大模型,实现跨场景、跨任务的通用人工智能;
- 行业垂直落地:通用基座模型 + 领域微调成为主流,在医疗影像、工业质检、自动驾驶、农业遥感等行业深度落地。
三、整体总结与学习感悟
3.1 技术脉络梳理
整个内容搭建了一条清晰的技术演进路线:
NLP Transformer → ViT(Transformer落地计算机视觉) → ViT作为视觉底座 + LLM → 多模态大模型
- ViT打破了CNN在视觉领域的垄断,证明纯注意力架构同样能胜任视觉任务,全局特征建模是其核心优势;
- 预训练 + 微调成为CV、NLP、多模态大模型的通用训练范式,大规模预训练数据是模型性能的核心保障;
- 当下视觉大模型不再是单一网络结构创新,而是底座模型+模态融合+轻量化优化的组合体系。
3.2 核心知识点复盘
- ViT核心流程:图像分Patch → 嵌入编码(Patch+Class Token+位置编码)→ Transformer编码器 → MLP分类头;
- ViT关键细节:前置层归一化、GELU激活函数、一维位置编码、插值适配高分辨率微调;
- 大模型训练三阶段:无监督预训练、有监督微调、强化学习优化;
- 多模态核心:跨模态特征对齐,依托ViT、LLM等单模态底座实现融合。
3.3 学习思考
传统CNN依赖局部卷积,感受野受限,而ViT借助注意力实现全局建模,是计算机视觉领域一次重要的范式革新。同时可以发现:大模型时代,数据规模、模型规模、迁移学习的重要性远超单一算子的优化。
ViT作为视觉大模型的基石,后续的SAM、Stable Diffusion、各类多模态对话视觉模型,均在其基础上拓展而来,吃透ViT的原理,也是学习前沿视觉大模型的必经之路。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)