3.8 多模态视觉:对齐、生成与编辑
本节内容超出母本单讲的课堂范围,属于「课程点到、教程必须展开」的一类(见《教材写作规范》第三节)。它与 第 4 讲(生成建模)和 第 6 讲(多模态大模型)有重叠:这里只讲「视觉这一侧」的接口,生成模型的数学推导留给第 4 讲,语言模型侧的训练细节留给第 6 讲。
读法建议:如果只关心「怎么把图像接进语言模型」,读 3.8.1 与 3.8.2;如果关心生成与定制,读 3.8.3;只想知道「怎么评估一个看图说话的系统」,读 3.8.4。
到 3.7 节为止,视觉模型都在自己的空间里工作:图像进、标签或掩码出。多模态要做的是把视觉表示接到语言上——让模型能用自然语言描述图像、根据文字生成图像、按指令编辑图像。这一节讲这条接口上的三种典型做法:对齐(CLIP)、连接(BLIP-2 / LLaVA)、生成与编辑(扩散模型 + ControlNet / LoRA)。
3.8.1 CLIP:用对比学习把图像与文本对齐
CLIP(Contrastive Language-Image Pre-training)用两个独立的编码器(图像编码器 、文本编码器 ,故称双塔 dual-encoder)把图像与文本映射到同一个 维表示空间,用 L2 归一化后的点积作为相似度:
在一个 batch 的 对图文里,正确配对构成对角线。训练目标是在行、列两个方向上分别做 InfoNCE(3.6.3),即对称对比损失:
同一 batch 里的其他 个文本就是图像的"负样本",反之亦然——图文配对天然提供了负样本,不需要额外的增强策略。
3.6.3 的对比学习靠「同一张图的两个视图」构造正样本,正样本只包含「同一性」这一个信息(都是同一张图)。CLIP 用图像与它的描述文本构造正样本——于是监督信号里带上了语义:「这是一只猫」这句话本身在告诉模型哪些视觉特征重要。
这个改动带来的最大收益是零样本分类:
给定 C 个候选类别名,把每个类别名填进一个提示模板(如 "a photo of a {class}."),
用文本编码器得到 C 个文本向量;用图像编码器得到图像向量;
取相似度最高的那个类别作为预测。
整个过程中没有任何一个参数被更新——这就是「零样本」(zero-shot)的含义:模型没见过这个具体的数据集,但它见过足够多的图文对,因此能够把「视觉模式」与「语言描述」对上号。
提示模板(prompt template)为什么重要:直接用类别名("cat")效果明显差于模板("a photo of a cat.")。原因是训练时文本是完整句子,推理时若只给一个词,分布不匹配。原文的做法是为每个数据集尝试多个模板(如 "a photo of a big {class}"、"a cropped photo of a {class}")并集成。这套「模板工程」在当时是必要的补丁,也提示了一个更根本的方向——如果要让模型真正听懂指令,光对齐不够,还需要指令微调(3.8.2)。
(a)设 batch 有 对图文对,相似度矩阵(已归一化、已除以温度)如下,写出对称对比损失的两项并判断训练是否正常。
(b)某零样本图像分类任务有 个类别。若把每个图像的相似度向量记为 维,解释为什么「只用图像编码器、不用文本」的零样本是不可能的,而 CLIP 为什么可以。
(a) 对角线是正样本对,其余是负样本。
图像→文本(对每一行做 softmax 交叉熵,目标是对角线):
文本→图像(对每一列做同样的计算):对角概率依次为 ,得 。故总损失
判断: 对应对角线概率约 –——训练正常但远未收敛。四对样本的对角线相似度都在 左右,而负样本里已经出现了 这样的"接近值"(伪负样本风险),说明模型尚未把正样本充分推开。若损失长期停在 附近不降,通常要检查:温度 是否合适、batch 内是否出现了重复或近似重复的样本(会造成"伪负样本",把本该拉近的一对当成负样本)、文本是否被截断。
(b) 零样本分类要求把「图像表示」与「未曾见过的类别名的语义」比较。只用图像编码器,你能得到图像向量,但没有任何途径获得新类别的向量——除非为每个新类别提供样本(那就不是零样本了)。
CLIP 的文本编码器解决的正是这件事:类别名的语义可以通过语言侧被"即时编码",而语言侧的表示空间是与图像侧对齐过的。所以零样本分类的本质是:用语言作为类别的"接口"——只要你能用一句话描述一个新类,模型就能尝试识别它。这也解释了 CLIP 的几个已知弱点:对细粒度分类(区分狗的品种)弱(类别名之间的语义差异在语言侧本就很近)、对需要组合推理的任务弱("红色立方体在蓝色球左边"这类关系在双塔结构里无法被表达,因为图像向量与文本向量各自独立、不交互)。
∎| 工作 | 改动 | 动机 |
|---|---|---|
| SigLIP(2023,arXiv:2303.15343) | 把 softmax 对比损失换成 sigmoid 损失(每个图文对各做一个独立的二分类) | 去掉对全局归一化的依赖,因此不再需要跨设备收集全部负样本,小 batch 下也稳定 |
| EVA / EVA-02(2022/2023,arXiv:2211.07636、arXiv:2303.11331) | 用 MIM 重建 CLIP 的图像特征 | 把 CLIP 的语义对齐知识蒸馏进视觉骨干,同时保留掩码建模的可扩展性 |
| LLaVA / BLIP-2 一类 | 把 CLIP 系图像编码器当作冻结的视觉前端 | CLIP 的表示已经与语言对齐,接语言模型时所需的"翻译层"更薄(3.8.2) |
一条重要的边界:CLIP 不是生成模型。它只能给「图像与文本的匹配程度」,不能生成描述(那是 captioning / VLM 的事),也不输出坐标或掩码。把它当成"看图说话模型"是最常见的误用。
(a)给定 张图和 条查询文本,若要对每条查询找出最相似的图,双塔结构需要多少次编码?(b)如果改用「图文拼接后过一次模型打分」的交叉编码器(cross-encoder),需要多少次前向?(c)由此说明 CLIP 这类双塔模型的工程价值与它的表达力代价。
(a)双塔:图像与文本各自独立编码,因此可以离线预计算图像向量并用向量索引检索:
次编码,其中 次只做一次,之后每次查询只需 1000 次文本编码 + 一次矩阵乘(相似度矩阵为 与 的乘法)。
(b)交叉编码器:必须为每一对做一次前向,总前向次数为
即 10 亿次(且无法离线缓存,因为每一对都要算)。
(c)结论
- 工程价值:双塔的编码次数从 降到 ,在检索场景下这是决定性的(成本从不可行变成可行)。代价是图像与文本之间没有任何交互层——两个向量各自算完才比较。
- 表达力代价:没有交互意味着模型只能表达「图像整体与句子整体的相似度」,无法表达组合关系("红色立方体在蓝色球左边"这类需要 token 级对齐的结构)。要做细粒度对齐,就得引入交叉注意力(Flamingo 一类)或重排序阶段(先用双塔召回 top-k,再用交叉编码器精排)——这正是工业检索系统的标准两段式架构。
这个例子也解释了为什么"检索"与"问答"要用不同的模型:检索要的是快而可索引(双塔 + 向量库),问答要的是能理解关系(交叉交互 + 生成)。把两者混为一谈是常见的选型错误。
∎3.8.2 从对齐到对话:BLIP-2 与 LLaVA 的三段式
CLIP 让图像与文本“在同一空间“,但它不会说句子。要让它会对话,需要在视觉编码器与语言模型之间插一层连接器(connector),并做指令微调。
一个典型的视觉—语言模型(VLM)由三部分组成:视觉编码器(vision encoder,常为 CLIP 系,通常冻结)、连接器(把视觉 token 映射成语言模型能吃的 token)、语言模型(LLM,提供语言能力与指令跟随能力)。训练按三个阶段推进:
- 特征对齐(alignment):只训练连接器,让视觉 token 落到语言模型的表示空间里;视觉编码器与 LLM 冻结。
- 指令微调(instruction tuning):在视觉指令数据(图像 + 指令 + 回答)上训练连接器与 LLM(可能是 LoRA 或全参数)。这是「会回答问题」而不是「只会对齐」的关键一步。
- 对齐 / 偏好优化(可选):用人类或模型偏好数据做进一步优化(RLHF / DPO 一类方法,见 第 6 讲)。
一个反直觉的事实:把视觉特征送进语言模型,不需要一个和两侧同样大的网络。原因在于两侧的表示都已经「训练好了」——CLIP 的图像编码器知道"视觉上这是什么",LLM 知道"这个概念对应的词与用法"。连接器只需要完成一件小事:把视觉特征的坐标系统换到语言模型能解释的坐标系里。
于是出现了两种典型做法:
- BLIP-2:用一个轻量的 Q-Former(约几千万参数量级的可学习查询 + 交叉注意力)从冻结的图像编码器里抽取固定数量的视觉 token(如 32 个)。它的价值不仅是压缩——而是把可变的图像信息压成固定长度的接口,使语言侧的输入长度可控。
- LLaVA:结构更简单——一个 linear / MLP 投影层直接把手数可数的视觉 patch 特征映射成 LLM 的词嵌入维度,全部视觉 token 直接拼进序列。它的关键贡献其实是数据:用 GPT-4 生成图文指令数据(图像来自 COCO 等公开来源),做出「多模态指令微调」这条路线。
为什么"冻结视觉编码器"是常见选择:① 省算力(视觉编码器参数量大且训练昂贵);② 避免视觉侧被语言任务的梯度带偏;③ CLIP 系的表示已经对齐,重训反而可能破坏对齐。这与 3.6.2「先冻结、再逐步解冻」的思路完全一致。
| 模型 | 视觉→语言接口 | 关键设计 | 备注 |
|---|---|---|---|
| CLIP(2021,arXiv:2103.00020) | 无(双塔平行编码,只在相似度层面交互) | 对称 InfoNCE、4 亿图文对 | 不会生成文本;适合检索与零样本分类 |
| Flamingo(2022,arXiv:2204.14198) | 交叉注意力层(插入到冻结 LLM 的层间) | 处理交错图文序列(few-shot 示例图 + 问题) | 需修改 LLM 结构,插入新参数层 |
| BLIP-2(2023,arXiv:2301.12597) | Q-Former 抽取固定数量查询 token,再线性投影 | 两阶段:先学视觉—语言表示,再与 LLM 对齐 | 介于"轻连接"与"重交叉注意力"之间 |
| LLaVA(2023,arXiv:2304.08485) | 一个线性 / MLP 投影层 | 视觉指令微调(用 GPT-4 生成指令数据) | 结构最简、训练成本最低,但视觉 token 数多、上下文占用高 |
(a)LLaVA 风格:图像编码器输入 、patch 14,视觉 token 数是多少?若 LLM 的上下文窗口是 2048 个 token,视觉部分占多少比例?(b)BLIP-2 风格:若把视觉压成 32 个查询 token,比例变成多少?(c)说明这个比例差带来的实际后果。
(a) 个视觉 token。占上下文的比例为
(b) 。
(c)实际后果:
- 可用的对话长度:LLaVA 风格下只有约 个 token 留给问题、回答与历史;BLIP-2 风格下有约 个。对于需要长回答或多轮对话的场景,这个差别是决定性的。
- 训练与推理成本:注意力计算量与 token 数二次相关(命题 3.5.1 的二次项),576 对 32 是 倍的 token 数、 倍的注意力矩阵元素数——虽然总体受 LLM 宽度限制,但这仍是可观的差距。
- 信息保留的取舍:压到 32 个 token 必然损失空间细节,因此小目标定位、文字识别(OCR)、细粒度计数这类任务上,保留全部 patch 的做法通常更强。近年很多模型的做法是在两者之间折中:动态分辨率(按图像内容切分成多个子图分别编码)、token 合并/裁剪(保留重要 token 丢弃冗余)——本质都是"在固定的上下文预算里做信息密度的权衡"。
这个例子给出的工程判据:选择接口方式时,先算清楚视觉 token 占多少上下文、每张图要花多少延迟,再考虑精度——而不是先看论文上的榜单分数。
∎3.8.3 生成与编辑:扩散模型与两类定制手段
扩散模型本身的原理(前向加噪、反向去噪、ELBO 与噪声预测目标、潜空间扩散)是 第 4 讲 4.5 节的主题,本节不重复推导。这里只回答一个接口问题:当把一个预训练的强生成模型交给用户时,怎么让它按用户的空间条件(草图、姿态、深度图)生成,并让它记住一个特定的主体?
- 潜空间扩散(latent diffusion):先在自编码器(VAE)的潜空间上做扩散,而不是在像素空间。潜空间比分辩率小得多,因此同样的生成质量需要少得多的算力——这是 Stable Diffusion 一类模型能在消费级显卡上运行的关键设计(Latent Diffusion,2021,arXiv:2112.10752)。
- ControlNet(2023,arXiv:2302.05543):在冻结的扩散主干旁并联一个可训练副本,用零初始化的卷积层把它的输出接回主干。零初始化使新增分支在训练开始时输出恒为零——等价于「先完全保留原模型的行为,再逐步学会附加条件」,因此不会破坏已经训好的主干。
- LoRA(Low-Rank Adaptation,2021,arXiv:2106.09685):冻结原始权重 ,只学习一个低秩增量 (、、),于是
可训练参数量从 降到 。r 越小越省显存,表达力也越受限。
ControlNet 解决「空间控制」:用户提供一张条件图(边缘检测图、人体姿态骨架、深度图、涂鸦),希望生成结果在空间布局上遵从它。为什么需要零初始化?因为扩散主干已经是一个训练得很好的模型,随机初始化的旁支会在训练初期向主干注入大量噪声,破坏它。零初始化让旁支从"什么都不做"开始,训练过程变成从零逐步长出一条条件通路——这与残差连接"从恒等映射开始"的哲学完全同构(3.4.4)。
LoRA 解决「主体 / 风格记忆」:用户希望模型记住"我的猫"或某种画风。这时不需要空间控制,需要的是参数上的一小段偏移。LoRA 的价值在于:① 参数量极小(常为原模型的 – 量级,具体比例取决于秩 与目标层);② 多个 LoRA 可以分文件保存、按需加载与组合,不用为每个用户存一份完整模型;③ 训练显存需求大幅下降。
一句话区分:ControlNet 管"怎么摆",LoRA 管"长什么样"。两者正交,可以叠加使用。
① 文生图(text-to-image)
噪声 → 迭代去噪(每步由文本提示做条件)→ 解码器 → 图像
关键旋钮:采样步数、引导强度(classifier-free guidance 的 scale)、随机种子,负向提示
② 图生图(image-to-image)
原图 → VAE 编码到潜空间 → 加噪到某个强度 t(由 "去噪强度" 决定)
→ 从第 t 步开始去噪(条件 = 新提示)→ 解码
要点:去噪强度小 → 结果更接近原图(变化幅度小);强度大 → 更自由(可能偏离原图结构)
这与扩散模型的前向加噪过程是同一件事的两个视角(推导见 [第 4 讲 4.5 节](../lec04/overview.md))
③ 主体绑定(subject-driven,DreamBooth,2022,arXiv:2208.12242)
用同一主体的 3-5 张图 + 一个"罕见标识符"(如 "[V] dog")做少量步数微调
要点:标识符必须罕见(否则模型会把它与已有概念混淆);
通常配合 class-specific prior preservation(用同类别的生成样本防止语言漂移)
轻量替代:直接训练一个小 LoRA(参数量更小、更易分发)
某扩散主干的注意力层里有一个 的权重矩阵,。(a)训练它需要多少个可训练参数?(b)改用秩 的 LoRA 需要多少?(c)若这个模型共有 100 个这样的矩阵、全部加 LoRA(),可训练参数量总计多少?它与全参数微调的比值是多少?(d)什么情况下你不应该用 LoRA?
(a) 。
(b) 。(注意: 是 与 两个矩阵,共 个参数。)
(c) (约 );全参数版本为 。
即约 的可训练参数。若把优化器状态(Adam 的一阶、二阶动量,各 4 字节)也算进来,显存下降的幅度还会更大——这通常是 LoRA 让人能在单卡上微调大模型的实际原因。
(d)不该用 LoRA 的情形:
- 需要大幅改变模型行为(例如把生成模型从"自然图像"改造成"严格的技术图纸生成器"):低秩增量表达力有限,此时全参数微调或从头微调更合适。
- 任务需要全新的知识/词表(如引入大量领域专有术语):LoRA 不改动词嵌入与主干表示,纯低秩更新可能力不从心(可考虑加入可训练的嵌入层,但那已不是标准 LoRA)。
- 需要极强的推理速度优化:LoRA 是在推理时把 与 合并的(),合并后不增加推理开销;但如果在服务端需要动态切换多个 LoRA,每次切换都要重算合并或承担额外算子开销——高并发场景要额外设计。
- 数据充足、算力充足:LoRA 的主要收益是省显存与省参数,数据算力都不缺时,它的表达力限制反而成为瓶颈。
3.8.4 评估:看图说话系统怎么才算好
多模态模型的评估比分类困难得多:答案不是唯一的一个类别,而是一段自然语言。这一小节给出常用的两类口径与一个必须知道的现象。
- 视觉问答评估(VQA):常见做法有两种——(i) 封闭式,把问题设计成有限选项(是/否、多选、计数区间),用准确率评估;(ii) 开放式,用与人工参考答案的匹配度(早期常用 exact match,因同义表述被判错而受批评;后续出现用 LLM 当评委打分的方式——这类评测方法的可比性与稳定性本身存在争议,引用时需核实具体做法与版本)。
- 视觉幻觉(visual hallucination):模型描述了图像中不存在的物体或属性(如凭空说"桌上有一个红色杯子")。它不是因为语言能力差,而是因为语言先验压过了视觉证据——模型"顺着最可能的文本往下写"。
一个自然的问题是:图像是给定的,模型为什么还会"看错"?
机制上的解释是:这类模型的输出由语言模型逐 token 生成,每一步都在「最大化下一个词的概率」。当视觉证据弱(小物体、遮挡、模糊)而某个物体在语言上非常常见("桌子旁边通常有椅子")时,语言先验会压过视觉证据,模型就写出那个不存在的东西。这说明模型并不总是以图像为条件做判断——也在部分情况下以"这段话该怎么写下去"为条件。
一个必须注意的评测后果:直接用"看图说话"打分(如人工评分、LLM 评委)难以区分「描述准确」与「语言流畅」。所以把问题设计成可用答案核对的封闭形式是主流做法(例如「图中是否有 X?」)。
POPE(Polling-based Object Probing Evaluation,arXiv:2305.10355)
把评测变成"是/否"二分类:反复问"图中是否有 X?"
- 正例:图中确实存在的物体
- 负例:不存在的物体,分三种构造方式
random —— 随机采样一个不存在但常见的物体
popular —— 采样数据集中出现频率最高的物体(更难)
adversarial —— 采样与图中物体共现频率最高的物体(最难)
报告指标:accuracy / precision / recall / F1
价值:把"开放式生成"转成可核对的二分类,评测结果稳定、可复现
其他常用基准(用途与口径各不相同,不可混用)
MME(arXiv:2306.13394) —— 感知与认知能力的综合题组
MMBench(arXiv:2307.06281)—— 多项选择式的能力维度评测
阅读任何 VLM 榜单时的三个检查点:① 是零样本还是微调过该数据集(数据污染问题);② 指标是准确率 / F1 / 还是 LLM 评委打分(不同口径不可直接比较);③ 评测集是封闭式问题还是开放式生成(开放式更难复现,方差更大)。
VQA 榜单上的零点几个百分点差异,在真实系统里通常不重要;重要的是失败模式:
- 医疗 / 工业质检:一次幻觉可能直接导致错误决策 → 必须用封闭式、可核对的评测,并设置拒答机制(不确定时不输出)。
- 无障碍描述 / 内容检索:漏描述(recall 低)比多说一句(precision 低)的代价低得多 → 应该分别报告漏与多的指标,而不是只看一个综合分。
- 内容审核 / 自动驾驶:需要分群评估(不同光照、天气、人群),因为总体指标会掩盖特定子集的系统性失败(3.9 节会展开这一点)。
这条判断与 3.7.2 的教训是同一条:指标的选择必须由「错误的代价结构」决定,而不是由「大家都在报什么」决定。
- 「CLIP 是生成模型」:不是。它是双塔检索 / 对齐模型,不能生成描述、不能输出坐标或掩码。用 CLIP 做 captioning 是常见误用。
- 「CLIP 能理解关系与组合」:弱。双塔结构中图像与文本各自独立编码,没有交互层,因此「红色立方体在蓝色球的左边」这类关系型描述难以被区分。组合性(compositionality)是 CLIP 一类模型的已知短板。
- 「有 4 亿图文对,所以 CLIP 什么都能分类」:零样本性能对类别名的表述高度敏感(模板工程存在的原因),且细粒度类别之间在语言侧差异很小。零样本不等于全能。
- 「VLM 就是在 LLM 前面加个视觉编码器」:结构上大致是这样,但能否会回答问题取决于指令微调数据,而不是取决于接口结构。只做特征对齐(阶段 1)的模型只能"对上号",不能"答问题"。
- 「LoRA 与 ControlNet 是同一类东西」:LoRA 改参数(记忆主体 / 风格),ControlNet 加输入条件(空间布局)。两者正交、可叠加。
- 「去噪强度越高,图生图效果越好」:强度决定「保留多少原图结构」的交换。强度过高会脱离原图(等同于文生图),需要按任务调;这不是单调的"越好越好"。
- 「VQA 准确率可以直接跨论文比较」:不行。评测口径(封闭式 / 开放式 / LLM 评委)、是否微调过该数据集、参考答来源都不同,跨论文数字比较往往会得出错误结论。
- 「视觉幻觉是模型没看清」:更准确的说法是语言先验压过视觉证据——模型在"把这段文本写下去"与"忠实描述图像"之间,前者经常占优。这决定了缓解手段(更强的视觉条件、拒答、Verifier 复核)的方向。
Q1 写出 CLIP 的对称对比损失形式,并说明「负样本」从哪里来。
Q2 为什么零样本分类必须要有文本编码器?只用图像编码器能否做零样本分类?
Q3 VLM 三段式训练的三个阶段各训练什么?为什么「只做特征对齐」的模型不会回答问题?
Q4 ControlNet 为什么要用零初始化卷积?它与残差连接的相似之处是什么?
Q5 一个 的权重矩阵,用 的 LoRA,可训练参数是多少?占全参数的百分之几?
Q6 POPE 为什么要把评测设计成「是 / 否」问答?它怎么构造难例?
参考要点
Q1 , 是归一化点积除以温度。负样本来自同一 batch 内的其他图文对(行方向上的其他文本、列方向上的其他图像),不需要数据增强构造。
Q2 因为零样本要分类的是训练时未见的类别,唯一可获得的类别表示只有"类别名的语义"。文本编码器把新类名即时编码成向量,并借助对齐过的空间与图像向量比较。只用图像编码器就没有新类别的向量表示,除非给每个类别提供样本(那就不是零样本了)。
Q3 阶段 1 只训练连接器(视觉编码器与 LLM 冻结),让视觉 token 落到语言模型能解释的空间;阶段 2 用视觉指令数据训练连接器 + LLM(或 LoRA),学会跟随指令作答;阶段 3(可选)用偏好数据做进一步对齐。只做阶段 1 的模型只建立了"视觉模式 ↔ 词"的映射,没有学到"按指令组织答案"的能力,因此不会回答问题。
Q4 零初始化让新增的条件分支在训练开始时输出恒为零,因此模型初始行为与原始预训练模型完全一致——不会用随机噪声破坏已训好的主干,之后再逐步学出条件通路。这与残差连接「从恒等映射出发、只学增量」的哲学同构(3.4.4):都是让新增部分从"什么都不做"开始。
Q5 ;全参数 。比值 ,即约 。
Q6 因为把"描述图像"这种开放式生成转成可核对的二分类后,评测结果稳定、可复现、不依赖人工或 LLM 评委的主观性。难例构造:random(随机的不存在物体)、popular(数据集中最高频的物体)、adversarial(与图中物体共现频率最高的物体——最容易诱发语言先验的幻觉)。报告 accuracy / precision / recall / F1。
- CLIP:Radford et al., Learning Transferable Visual Models From Natural Language Supervision(2021,arXiv:2103.00020)——注意其 ImageNet 零样本数字属论文正文结果(摘要只写到"与原始 ResNet-50 相当"),引用时标注来源。
- SigLIP:Zhai et al., Sigmoid Loss for Language Image Pre-Training(2023,arXiv:2303.15343)。
- Flamingo:Alayrac et al., Flamingo: a Visual Language Model for Few-Shot Learning(2022,arXiv:2204.14198);BLIP-2:Li et al.(2023,arXiv:2301.12597);LLaVA:Liu et al., Visual Instruction Tuning(2023,arXiv:2304.08485);Qwen-VL:Bai et al.(2023,arXiv:2308.12966)。
- 扩散与定制:Rombach et al., High-Resolution Image Synthesis with Latent Diffusion Models(2021,arXiv:2112.10752);Zhang et al., Adding Conditional Control to Text-to-Image Diffusion Models(ControlNet,2023,arXiv:2302.05543);Hu et al., LoRA: Low-Rank Adaptation of Large Language Models(2021,arXiv:2106.09685);Ruiz et al., DreamBooth(2022,arXiv:2208.12242)。
- 评测:Li et al., Evaluating Object Hallucination in Large Vision-Language Models(POPE,2023,arXiv:2305.10355);Fu et al., MME: A Comprehensive Evaluation Benchmark for Multimodal Large Language Models(2023,arXiv:2306.13394);Liu et al., MMBench(2023,arXiv:2307.06281)。
本节小结:多模态的视觉侧有三种典型接口——对齐(CLIP 用 4 亿图文对的对称 InfoNCE 把图像与文本放进同一空间,从而支持零样本分类,但不会生成、组合推理弱)、连接(BLIP-2 的 Q-Former 或 LLaVA 的投影层把视觉 token 接进 LLM,配合三阶段的特征对齐 + 指令微调;视觉 token 数量直接决定上下文预算)、生成与编辑(潜空间扩散作主干,ControlNet 用零初始化旁支加空间条件、LoRA 用低秩增量做主体 / 风格定制)。评估上必须区分封闭式与开放式口径,并警惕视觉幻觉——它不是“看不清“,而是语言先验压过视觉证据。下一节换到另一面:这些能力一旦部署,会带来哪些偏见、安全与隐私问题。