零样本与鲁棒性
Q1:零样本迁移中,Prompt 的设计对多模态模型性能有多大影响?请举 CLIP 的例子说明。¶

📝 影响程度:Prompt 设计对 CLIP 等模型的零样本性能影响巨大,甚至可造成数十个百分点的准确率差异。CLIP 在 ImageNet 上,使用默认的 "a photo of {class}" 与精心设计的 Prompt 相比,准确率可提升近 5 个点。在细粒度、专业领域差异更显著。
原理:
CLIP 通过对比学习,将图像和文本映射到共享空间。文本编码器训练时看到的都是完整句子,而非孤立的类别单词。因此,推理时若只给单个词(如 "cat"),与训练分布严重不符,编码器无法产出高质量语义向量。
CLIP 的经典 Prompt 工程案例:
-
原始论文中,对 ImageNet 使用
"a photo of a {class}"这个简单 Prompt,就比直接使用类别单词高出 1.3% 准确率。 -
进一步,针对不同数据集手工设计 Prompt(如
"a centered satellite photo of a {class}"用于遥感),性能大幅跃升。 -
Prompt 集成:CLIP 使用 80 个多样化 Prompt 模板(如
"a bad photo of a {class}","a origami {class}"),对每个类别生成 80 个文本特征,取平均后再与图像特征计算相似度。这种集成带来了 3-5% 的额外提升。
Prompt 的设计维度:
| 设计维度 | 影响 | 实例 |
|---|---|---|
| 语境丰富度 | 高 | "a photo of a {class}" 远好于 "{class}"。添加上下文词汇匹配训练分布。 |
| 领域适配 | 极高 | 宠物识别用 "a photo of a {class}, a type of pet";医疗用 "a histopathology slide showing {class}"。 |
| 风格与视角 | 中高 | 对素描图使用 "a sketch of a {class}" 能显著提升匹配度。 |
| 集成多样性 | 稳定提升 | 多角度 Prompt 取均值,缓解单一 Prompt 的偏差,提高鲁棒性。 |
🧪 Prompt 本质上是手动或自动地将类别标签映射到训练分布内的文本空间。这也是后来 CoOp(Context Optimization)等方法自动学习连续 Prompt 向量的动机——进一步解放手工设计,提升上限。
Q2:多模态模型对图像纹理、背景、光照变化的鲁棒性如何评估?常用哪些测试集?¶
🔍 评估多模态模型是否真正“看懂”了物体,而非依赖表面统计,需要系统性改变低级视觉属性,观察性能是否断崖下跌。
评估维度与方法:
-
纹理偏置 vs 形状偏置:模型是否像人类一样依赖形状,还是过度依赖纹理?通过纹理-形状冲突图像(如大象纹理的猫形状)测试。
-
背景偏置:将物体从原背景抠出,放入新背景,看模型是否仍能正确识别。
-
光照/颜色变化:改变色相、对比度、亮度,或模拟极端光照条件。
常用测试集:
| 测试集 | 测试重点 | 特点 |
|---|---|---|
| ImageNet-C | 图像损坏(噪声、模糊、天气、数字失真等15种损坏,5个严重级别) | 全面评估对常见劣化的鲁棒性。计算平均损坏误差(mCE)。 |
| ImageNet-R | 艺术、卡通、涂鸦、素描、折纸、玩具等非自然图像的“演绎”版本 | 测试模型对抽象、非摄影写实图像的泛化能力。 |
| ImageNet-Sketch | 黑白线条素描 | 强制依赖形状而非纹理和颜色。纯视觉捷径无法作弊。 |
| ObjectNet | 物体在非典型背景、视角、遮挡下的真实照片 | 去除了 ImageNet 常见的背景-物体共现偏置。 |
| SI-Score (Shape-Iou) | 纹理-形状冲突线索图 | 直接量化模型是偏向纹理还是形状。 |
📊 在这些基准上,许多在标准 ImageNet 上表现优秀的模型都会大幅降分。CLIP 相比纯视觉模型,在 ImageNet-R 等上表现更好,说明多模态对齐引入了一定的形状偏置和鲁棒性,但仍有改进空间。
Q3:对抗攻击在多模态模型中是否可以通过修改一个模态来欺骗另一个模态?举例说明。¶
🎭 完全可以。多模态模型引入了新的攻击面:跨模态对抗攻击。攻击者仅需扰动一个模态(如文本或图像),就可导致模型对另一模态的判断错误,甚至破坏整个跨模态理解。
实例说明:
- 图像扰动,欺骗文本检索:
- 原始:一张“斑马”的照片。给图像添加人眼不可见但对模型影响极大的对抗噪声。扰动后的图像,在 CLIP 模型中,与“斑马”文本的相似度大幅下降,反而与“长颈鹿”文本高度匹配。检索系统被欺骗。
-
更危险的:通过精心设计的图像对抗补丁,使得模型对任何文本查询都返回该图像(或反之),实现无差别攻击。
-
文本扰动,欺骗视觉定位:
-
在指代表达理解任务中,原描述为“左边的红杯子”。攻击者在文本中加入视觉不可见的字符(如零宽空格),或用对抗性同义词替换(杯子→容器),导致模型定位到错误的物体,或无法定位。
-
单模态攻击导致多模态推理错误:
- 在 VQA 中,攻击者轻微改变图像的某些像素(肉眼无法察觉),可导致模型对“这是什么动物?”从正确的“猫”变成“狗”。而文本问题完全不变,视觉模态的微小漏洞被放大到决策层。
根本原因:多模态模型在融合时,会对齐两个模态的特征。对抗扰动可以沿着梯度方向精准地破坏这种对齐,将一个模态的特征推向错误区域。由于跨模态交互的复杂性,一个模态的微小变化可能在高维融合空间中被急剧放大。
🛡️ 这要求多模态模型不仅要在各模态内鲁棒,还需要跨模态一致性的对抗训练。
Q4:面对分布外(OOD)数据,多模态模型是否比单模态模型更鲁棒?理论依据是什么?¶
🛡️ 通常情况下,多模态模型更鲁棒,但并非绝对,且有理论依据。
更鲁棒的理论依据:
-
信息互补与冗余:不同模态对同一概念的捕捉方式不同。图像通过像素模式,文本通过语义描述。OOD 数据可能在一个模态中表现为分布偏移(如素描图),但另一个模态(文本“猫的素描”)可能提供稳定且不变的信息,模型可依赖后者进行纠偏。这相当于多模态提供了多视角验证。
-
对比学习的模态不变性:CLIP 等通过对比损失拉近相同语义的不同模态,天然迫使模型学习对低级像素变化不敏感、而对高级语义敏感的特征。纯视觉模型可能学到依赖纹理等捷径特征,多模态对比学习则鼓励抓取对文本描述也通用的形状和语义,这与人类的形状偏置更接近,OOD 鲁棒性更好。
-
高维语义空间的线性结构:多模态对齐的语义空间具有更好的线性可分离性。即使OOD数据偏离了训练分布,只要其语义特征仍落在这个线性子空间附近,模型就能正确处理。
并非绝对更鲁棒的情况:
-
当OOD完全超出所有模态的理解范围(如科幻概念),或所有模态都被同样严重破坏,优势消失。
-
多模态模型引入了新的脆弱性:跨模态冲突。如果OOD数据在两个模态间给出矛盾信号(如一个从未见过的物体配上随机描述),模型可能崩溃,反而比纯视觉模型更不稳定。
📉 总的来说,多模态提供了一种从低级统计到高级语义的升华通路,这是其 OOD 鲁棒性的理论根基。
Q5:如何训练一个对图像损坏(如模糊、噪声)鲁棒的多模态理解模型?数据增强够吗?¶
🌧️ 数据增强是基础,但不够。它无法覆盖所有损坏类型,且多模态特有的损坏(如文本损坏、跨模态不一致)需要专门设计。
构建鲁棒模型的综合策略:
- 基础:广泛的数据增强
- 视觉损坏增强:使用 AugMix、DeepAugment 等,在训练时随机叠加 ImageNet-C 中的噪声、模糊、天气效果。这教模型看到“脏”的图片也能匹配干净的文本。
- 文本增强:对训练文本进行同义词替换、随机删除词、拼写错误模拟。这防止模型过度依赖文本中的特定词汇捷径。
-
局限性:增强无法穷尽真实世界的复杂退化,且可能改变语义(如过度模糊导致物体类别不可辨),引入标签噪声。
-
核心:多模态一致性正则化
-
强行约束:对于同一张图片的不同损坏版本,模型提取的图像特征应当彼此接近,并且都与原文本特征对齐。这可以通过一致性损失实现:
L_consist = || f(I) - f(I_corrupted) ||。这迫使特征提取器对损坏不敏感。 -
进阶:模态Dropout与噪声注入
-
在融合层随机丢弃一个模态(如只用图像或只用文本),或向其注入噪声,让模型不依赖于任何单一路径,如同给网络做“断网训练”。
-
高级:基于生成的恢复
-
在输入层之前,加一个轻量级的图像恢复网络(如基于扩散模型),先对损坏图去噪/去模糊,再送入主干。这可以作为预处理模块单独训练。
-
训练策略:对抗训练与课程学习
- 进行多模态对抗训练,生成最坏情况下的联合扰动,并优化之。
- 先正常样本训练,后期逐步增加损坏样本比例和严重程度。
🎯 因此,答案是一个以增强为基础,以多模态一致性约束为核心,辅以生成式恢复和鲁棒训练策略的多层防御体系。
Q6:多模态模型的“捷径”问题,除了语言先验,还有哪些形式?如视觉纹理捷径等。¶
🪤 捷径是指模型利用数据集中存在的虚假统计相关性来做出正确预测,而非真正理解底层概念。多模态模型中,捷径多种多样:
| 捷径类型 | 表现形式 | 举例 |
|---|---|---|
| 语言先验 | 过度依赖文本问题中的词汇与答案统计相关性,忽略图像。 | VQA:问“什么颜色?”就不看图像答“白色”,因为训练集中大量白猫白狗。 |
| 视觉纹理捷径 | 依赖特定纹理而非形状识别物体。 | 识别“猫”靠皮毛纹理,在卡通猫或线条猫上失效。 |
| 背景捷径 | 依赖物体出现的典型背景而非物体本身。 | 总是看到雪地就猜“北极熊”,即使图中是雪地上的狗。 |
| 空间位置捷径 | 文本中的位置词与训练集特定区域相关。 | “左边的物体”在训练集里多数是“水杯”,模型就记忆左边大概率是水杯,不看实际内容。 |
| 跨模态统计共现 | 利用图文对中的非因果共现。 | 训练集中所有“结婚”照片都有“婚纱”,模型就将婚纱纹理作为“结婚”概念的必备特征。 |
| 情感-颜色捷径 | 将特定颜色与情感强关联。 | 黑色图片→消极情感,暖色→积极情感,忽略内容。 |
| 音-视捷径 | 音频-视觉任务中,依赖明显的视听同步。 | 吉他声总是配吉他的画面,模型可能在静音或错位时无法分辨。 |
🔍 这些捷径都源于训练数据的选择偏误和模型容量过大,导致模型“偷懒”。缓解需要反事实数据增强、因果干预、正则化(如去偏损失)等方法。
Q7:多模态模型如何实现零样本图像分类?请以 CLIP 为例简述流程。¶
🎯 零样本图像分类是指模型在未见过某类别任何标注图像的情况下,直接对该类别的图片进行分类。CLIP 通过图文语义空间的对齐,将它转化为一个图文检索问题。
CLIP 零样本分类流程:
-
构建文本分类器:对于所有目标类别(如 ImageNet 的 1000 个类),手工设计一系列 Prompt 模板,如
"a photo of a {class}"。将每个类别的名称填入模板,生成 N 个文本(或使用 Prompt 集成为每个类别生成多个文本)。 -
提取文本特征:将所有文本送入冻结的文本编码器(Transformer),得到每个类别的归一化文本特征向量
t_k。若使用 Prompt 集成,则对同一类别的多个文本特征取平均。这些向量就是每个类别的“零样本分类器权重”。 -
提取图像特征:将待分类图像送入冻结的图像编码器,得到归一化图像特征向量
v。 -
计算相似度:计算
v与所有类别文本特征t_k的余弦相似度,得到一个相似度向量S。 -
预测:对
S使用 softmax 得到每个类别的概率。p(y=k | I) = exp(S_k / τ) / Σ_j exp(S_j / τ)。概率最高的类别即为预测结果。
🔮 这个过程完全没有使用任何图像的类别标签进行训练,依靠的是模型在 4 亿图文对上预训练学到的通用视觉-语义对齐。它将类别名称这种语义概念,直接投影为图像分类的决策边界。
Q8:如何理解多模态学习中的“语义鸿沟”?有哪些方法可以弥合这种鸿沟?¶
🌉 语义鸿沟是指原始多模态数据的低级物理特征(像素、声波、字符)与人类所理解的高级语义概念之间的巨大差异。在单模态中已存在(如像素→物体),在多模态中加剧:不仅存在模态内的底层到高层差距,还存在模态间同一语义的不同物理表达方式的差异(如“猫”的像素模式 vs “猫”的文本符号)。
弥合方法(递进层次):
| 层级 | 方法 | 作用 |
|---|---|---|
| 特征提取 | 深度卷积网络、ViT、预训练语言模型 | 将原始数据转化为具有一定语义抽象度的特征向量,实现模态内的底层→高层转换。 |
| 语义空间对齐 | 跨模态对比学习、典型相关分析(CCA) | 将不同模态的高层特征映射到同一共享语义空间,拉近同义、推远异义,解决模态间的表达差异。 |
| 细粒度交互 | 交叉注意力、协同注意力、图网络 | 在特征内部实现 token/区域 级别的对齐,捕捉词语与图像区域的精确对应,进一步细化语义连接。 |
| 知识注入 | 引入知识图谱、常识库、外部记忆 | 提供超越数据共现的结构化语义关系,帮助模型理解隐含的语义和因果,弥合数据驱动学习的盲区。 |
| 生成式桥梁 | 跨模态生成(图像字幕、文本到图像) | 通过翻译任务,迫使模型深刻理解模态间的语义映射关系,生成的中间表示也能辅助对齐。 |
| 多任务学习 | 联合训练检索、QA、推理、描述等 | 不同任务从不同角度鞭策模型建立深层语义理解,避免单一任务的表面统计拟合。 |
🪜 语义鸿沟的弥合是一个从“表面统计”到“深层理解”的渐进过程,目前最先进的模型(如GPT-4o)正是通过结合上述多种方法,才呈现出令人惊叹的多模态理解能力。
Q9:早期的视觉-语言模型(如 VQA 模型)为什么容易出现“语言先验”问题?如何缓解?¶
🎲 原因:早期 VQA 模型(如使用 LSTM+CNN 的 baseline)极易学到语言先验,即不看图像,仅凭问题中的关键词和训练集的答案分布就能猜对。
根源分析:
-
严重的数据集偏置:VQA v1 等早期数据集存在极端的答案分布不平衡。例如,问题以“什么颜色?”开头,答案“白色”占了绝对多数;问“是否…?”,答案“是”可能占 70%。模型发现记忆这些语言-答案映射比费力分析图像更简单、更有效。
-
简单的融合机制:早期的融合方式(如点乘、拼接)无法强迫模型进行深度的跨模态推理。问题特征很容易压过图像特征,主导分类器输出。
-
缺乏反事实训练:训练过程没有惩罚模型不看图像的行为。模型没有动机去关联视觉信息。
缓解方法:
-
构建平衡数据集(最直接):VQA v2 通过为每个问题收集成对的互补图像(使答案不同),确保纯语言无法猜对,平衡了每个问题的答案分布。这使得语言先验在数据层面失效,强迫模型必须看图像。
-
反事实数据增强:在训练时,使用一个对抗网络或规则,生成只改变图像关键属性(如颜色、物体)而保持问题不变的样本,并相应改变答案标签。让模型为忽视视觉付出代价。
-
去偏损失函数:如 RUBi (Reducing Unimodal Biases),训练一个纯语言“偏置模型”,主模型在训练时减去偏置模型的预测,鼓励主模型学习语言模型无法解释的图像相关内容。
-
视觉解释与归因正则化:添加损失项,要求模型的注意力图必须覆盖正确的物体区域,否则惩罚。强制其“看见”才能“答对”。
-
强大的预训练模型与微调:使用 CLIP、ViLBERT 等在大量数据上预训练的模型,其视觉理解和跨模态对齐能力本身已较强,再进行微调时不易滑向纯语言捷径。
📊 当前,语言先验仍是开放领域 VQA 需要注意的问题,但已通过数据和算法在很大程度上得到了控制。
Q10:在多模态表示学习中,为什么追求“模态无关表征”是有价值的?¶
🎯 模态无关表征指对同一语义概念,无论其来自哪个模态(图像、文本、音频),模型生成的表征向量都极为相似,以至于无法从表征本身区分其来源模态。
核心价值:
-
天然的跨模态迁移与零样本能力:若表征完全模态无关,则在一个模态上学习的知识(如文本分类器),可直接应用到其他模态,无需任何配对数据或微调。这正是 CLIP 零样本分类等能力的基础。
-
对模态缺失和噪声的内在鲁棒性:若表征与模态特性无关,则推理时某个模态缺失或损坏,其语义信息仍能被其他模态的近邻表征所替代或补充。模型可以从任意可用模态中提取所需语义。
-
简化下游任务设计:下游架构无需处理模态异质性,只需在统一的语义空间中进行操作。融合、比对、检索变得极为简单和高效。
-
去除模态特定捷径:追求模态无关迫使模型丢弃纹理、字体、音色等模态特定特征,只保留跨模态共享的本质语义,从根本上增强了对抗模态内捷径和噪声的能力。
-
迈向真正的“概念”理解:这是通往人类级别概念理解的必经之路。人类思考“猫”时,是一个抽象概念,不依赖于具体的文字或图像。模态无关表征是这种抽象能力的计算实现。
🌐 因此,模态无关表征被认为是多模态智能的一个重要目标,它将感知与模态解耦,使智能系统更接近概念层面的思考。
Q11:多模态数据增强有哪些常用手段?各有什么局限?¶
🎨 多模态增强需同时在各个模态以及跨模态关系上进行,比单模态更复杂。
常用手段与局限:
| 增强类型 | 具体手段 | 局限 |
|---|---|---|
| 单模态独立增强 | 视觉:几何变换、颜色抖动、裁剪、CutOut、噪声注入。文本:同义词替换、回译、随机删除/插入。 | 可能破坏跨模态对齐:如裁剪掉文本描述的关键物体,或替换掉关键词,导致图文失配。 |
| 跨模态一致增强 | 对图像进行裁剪后,同步修改文本(如添加空间描述“左边”);对图像改变颜色,文本也修改颜色词。 | 难以自动化,通常需要精细的规则或标注,无法大规模应用。 |
| 生成式增强 | 使用扩散模型生成新图像(如 Stable Diffusion),或用 LLM 生成新文本描述,保持语义一致。 | 生成质量不稳定,可能引入新噪声、伪影或语义错误;成本高。 |
| 模态替换与混合 | 将图像的某些区域替换为另一图像的对应区域(如 MixUp),文本也相应拼接或替换。 | 可能产生不自然、语义混乱的组合,尤其在物体边界和关系上。 |
| 跨模态反事实增强 | 改变图像中的关键属性(如颜色、纹理)而保持其他不变,文本相应更改。 | 需要精确的属性编辑器或生成模型,目前多限于简单属性。 |
| 模态屏蔽与交换 | 随机屏蔽部分图像块或文本词,或用其他样本的片段替换,迫使模型利用剩余模态进行补全。 | 屏蔽过多会丧失关键信息,交换不当会引入难以学习的噪声。 |
⚠️ 根本局限:如何保证增强后的多模态数据仍然保持精确的跨模态语义一致,是最大的挑战。一旦增强破坏了这种一致,它就会变成训练噪声,反而损害对齐效果。因此,多模态增强的设计必须始终以“保真跨模态映射”为第一原则。