常见任务形式
Q1:视觉问答中如何判断模型是利用了视觉信息还是纯靠语言先验?设计一个实验。¶
🧪 VQA 模型常“投机取巧”:只凭问题中的关键词和训练集的答案分布就能猜对,根本不看图像。判断它是否真用了视觉信息,需要切断语言先验,迫使其依赖图像。
实验设计:
- 构建对立的测试集:
- 原始测试集:标准的 VQA 数据集(如 VQA v2)。它已做了平衡,每个问题配不同图像和不同答案,减少了盲猜可能。
- 关键测试集:反事实图像测试。选择模型在原测试集上回答正确的问题,对图像进行修改,使答案改变。例如,原图是“黑色的猫”,问题是“猫是什么颜色?”,模型答“黑色”。然后将图像中的猫换成白色,再次提问。如果模型依然回答“黑色”,说明它没看图像。
-
更系统的做法是使用 VQA-CP (VQA under Changing Priors) 数据集,其中训练和测试的答案分布故意不同(如“是/否”问题的答案比例在测试集反转)。纯靠语言先验的模型会直接套用训练集的偏置而惨败。
-
消融实验:
- 只输入问题:将图像输入替换为全零向量或随机噪声,看模型在测试集上的准确率是否断崖下跌。若下跌极少,则模型原本就主要依赖语言。
-
随机配对图像:测试时,打乱问题和图像的对应关系,保持问题不变,配对无关图像。若模型准确率没有显著下降,它就是个“盲人”。
-
归因分析:
-
使用 Grad-CAM 或 注意力热力图 可视化。输入问题“狗在哪儿?”,看模型是否聚焦于图像中的狗区域,还是乱看或只看背景。若注意力均匀分布或聚焦文本,就是伪视觉利用。
-
诊断指标:
- 计算 Harmonic Mean 或 VQA Score 在上述诊断测试上的下降率。一个健壮的模型应当在反事实测试上大幅改变答案,在随机配对图像测试上准确率显著降低。
🔍 只有通过这些“拷问”,才能断定模型是真的“看见了”还是在“背题库”。

Q2:图文检索中的“双向检索”与“单向检索”在评估和训练上有何区别?¶
🔄 图文检索有两种方向,共同构成双向检索。
-
单向检索(图像→文本或文本→图像):给定查询(图像/文本),从候选库中检索最匹配的另一个模态。
-
双向检索:同时评估两个方向的检索能力,通常汇报平均指标。
评估上的区别:
-
指标:都使用 Recall@K (K=1,5,10)。但双向检索需报告 R@K (I→T) 和 R@K (T→I),常计算 R@K 均值 或 RSUM (所有R@K求和)。双向评估能更全面地反映模型的跨模态对齐能力。
-
测试集构建:双向检索的查询集和候选库通常互换。例如,Flickr30K 测试集有 1000 张图、每图5个描述,I→T 时以图像查询所有5000个描述;T→I 时以文本查询所有1000张图。任务不对称,I→T 通常候选库更大,难度更高。
训练上的区别:
-
对称损失:双向检索通常使用对称的对比损失。例如,给定一个batch的N对图文,计算 I→T 的 InfoNCE 损失和 T→I 的 InfoNCE 损失,然后相加。这强制模型同时优化两个方向的匹配。
-
单向训练:若只关注一个方向(如文搜图),可只使用单向损失。但即使在单向应用中,双向训练通常也能提升效果,因为它提供了更丰富的对比信号。
-
采样策略:双向训练中,负样本可以是batch内的所有其他图文对,高效但可能包含误负样本。一些方法使用大batch或记忆库。
📊 简言之,双向检索要求模型同时成为“以图搜文”和“以文搜图”的专家,训练与评估均对称,对表征的语义对齐要求更高。
Q3:指代表达理解任务中,如何结合视觉定位与语言理解设计损失函数?¶
🎯 指代表达理解(REC):给定一张图像和一个自然语言描述(如“穿红衣服的男人”),要求模型输出该描述所指目标物体的边界框。
核心挑战:将语言描述与图像区域精确匹配,并回归出坐标。损失函数必须同时惩罚定位不准和语义错配。
典型设计(以单阶段方法为例):
-
定位损失:使用传统的目标检测损失。对于预测框与真实框,计算 L1 损失 + GIoU 损失。公式:
L_reg = λ_L1 * ||b_pred - b_gt|| + λ_giou * (1 - GIoU(b_pred, b_gt)) -
语义对齐损失:确保模型选中的区域与语言描述确实匹配。可采用对比损失或交叉熵。例如,模型为每个候选区域输出一个匹配分数,将真实框对应的区域作为正样本,其余为负样本,使用二元交叉熵或多类别交叉熵。或者用 InfoNCE 损失 拉近文本特征与对应视觉区域特征的距离,推远与其他区域的距离。
-
多任务总损失:
L = L_align + L_reg。有些工作还会加入掩码损失(若需输出分割掩码)。
增强方法:
-
循环一致性:从预测框提取视觉特征,再反向重建或匹配回文本,形成闭环,加强跨模态对齐。
-
渐进式定位:先用粗糙损失快速找到大致区域,再用精细损失修正边界。
🔗 关键是让模型明白:不仅要找对物体,还要精确描绘其边界。
Q4:视频描述任务与图像描述任务相比,需要额外建模什么?时间连贯性如何评估?¶
🎬 视频比图像多了一个时间维度,因此需要额外建模:
-
时序动态性:物体如何运动、人物如何交互、事件如何发展。这需要模型捕捉光流、动作、时空变化。
-
时序依赖性:生成的句子不仅描述当前帧,还要描述跨帧的持续动作。如“一个人拿起杯子,喝了一口,然后放下”。这要求模型记忆并关联多帧信息。
-
事件顺序与因果:视频中动作有先后,描述必须遵循时间顺序。
时间连贯性评估:
时间连贯性指生成的描述在时间上是否流畅、不自相矛盾。评估方法:
-
自动指标:现有指标(BLEU, CIDEr, METEOR)主要评估与参考描述的词重叠,对时间顺序不敏感。研究人员提出基于事件的指标:提取生成描述中的动词和事件序列,与参考序列比对顺序准确性。
-
人工评估:让评估者就“描述是否遵循了视频中的时间顺序”、“有无动作时序错误”打分。通常采用1-5分尺度。
-
诊断测试集:构建专门测试动作顺序的视频,如“先打开冰箱,再拿出牛奶”vs“先拿出牛奶,再打开冰箱”。看模型生成是否正确顺序。
⏱️ 目前,时间连贯性仍是视频描述的重大挑战,缺乏完美的自动化指标。
Q5:多模态情感分析通常融合哪几种模态?如何定义情感标签的模态一致性?¶
😊 多模态情感分析主要融合文本、视觉(图像/视频)、音频三个模态。
-
文本:转录的文字,包含明确的情感词和语义。
-
视觉:说话人的面部表情、肢体动作、视频场景。
-
音频:语音的语调、音量、节奏、停顿,传递着文本之外的超语言情感信息。
情感标签的模态一致性定义:
模态一致性指在某个样本中,各个模态所暗示的情感是否统一。并非所有样本都一致,例如:
-
一致:一个人笑着说“我很开心”,语调欢快(三模态均正向)。
-
不一致:一个人面无表情或苦笑说“挺好的”,语调平淡或哽咽(文本中性或正向,视觉/音频负向)。实际中常有这种伪装或反讽。
在任务中如何考虑:
-
显式建模不一致:在标注时,不仅标注整体的情感标签,还单独标注每个模态的情感标签。然后定义:如果各模态标签相同,则为一致样本;否则为不一致样本。训练时,对不一致样本可采用特殊处理,如门控融合让模型学会根据模态可靠性动态选择,或利用不一致损失让模型对矛盾信号敏感。
-
隐式学习:不显式标注,但通过注意力机制,让模型自己学会在某个模态信号弱时依赖其他模态。例如在反讽检测中,模型必须理解文本与音频/视觉的冲突才能正确判断。
💡 模态一致性是多模态情感分析的难点和魅力所在,它要求模型具备冲突识别与消解能力。
Q6:跨模态迁移学习:在一个模态上训练的模型,能否不通过成对数据就迁移到另一模态?有哪些方法?¶
🌉 可以,这正是“零样本跨模态迁移”或“无监督跨模态域适应”的目标。核心思想是学习模态无关的语义表示。
方法类别:
-
共享嵌入空间 + 弱对齐:利用少量无标签或弱对齐数据(如互联网共现的图文),通过对比学习(如CLIP)或跨模态聚类,将不同模态的数据映射到同一空间。训练好的文本模型,可以通过计算图像特征与该空间文本原型的相似度来识别图像类别,无需成对标注。
-
跨模态生成:训练一个模态翻译模型,例如从文本生成图像特征(或反之)。然后在目标模态无标签的情况下,用翻译出的特征训练分类器。或是使用CycleGAN-like的循环一致性,将图像特征翻译成文本,再翻译回来,保持语义一致。
-
知识蒸馏:有标注的源模态(如文本)训练好的教师模型,给无标注的目标模态(如图像)的数据生成软标签。学生模型(图像编码器)用这些伪标签学习,从而实现迁移。
-
跨模态自监督:在目标模态上设计代理任务(如图像的自监督学习),并约束其学习到的特征表示与源模态的特征空间在统计特性(如特征分布的矩)上对齐,不需要成对样本。
-
跨模态原型匹配:在源模态上为每个类别计算一个原型特征向量。在目标模态上,通过最小化目标模态特征与对应原型的距离(或最大化互信息)来调整编码器,无需成对标签。
🔬 这些方法的成功依赖于模态间的底层语义共现性假设。
Q7:多模态事实验证:给定图文断言,判断真伪,需要模型具备哪些核心能力?¶
🕵️ 多模态事实验证(如 Factify, DGM4 等)输入一个图文对和一个断言(claim),输出“支持”或“反驳”。这比简单匹配复杂得多,需要以下核心能力:
-
细粒度跨模态对齐:将断言中的实体、关系、数量与图像和文本中的具体元素对齐。例如,断言“猫坐在红垫子上”,需找到图像中的猫、垫子,并验证颜色和空间关系。
-
逻辑推理与常识:即使对齐,也需要常识判断。如断言“大象比老鼠轻”,即使图文描述了大象和小鼠,也需要外部常识来反驳。
-
冲突检测:能够发现图像和文本自身是否矛盾,再与断言比对。如果图文本身描述不一致,那么断言可能既不被支持也不被直接反驳,而是“信息不足”。
-
数值比较与计数:很多断言涉及数量(“有三个苹果”),模型必须具备计数能力。
-
外部知识检索(隐性或显性):对于需要背景知识的事实(如“埃菲尔铁塔在伦敦”),模型需能检索或内化世界知识。
-
证据合成:当断言需要结合图像和文本多个信息才能判断时,模型要能综合多源证据,而不是碎片化匹配。
🧪 评价这类模型时,常需构建专门的“冲突”和“数值”子集,以分别考察上述能力。
Q8:在语音+文本+视频的三模态会议摘要任务中,最大的技术难点是什么?¶
🎙️ 三模态会议摘要旨在将冗长的会议录音、录像和文本转录,浓缩为简洁的会议纪要。最大难点是海量非结构化流式数据中的多模态对齐、噪声过滤与结构化摘要生成,具体分解为:
-
细粒度时间对齐与异步:语音、视频和文本(ASR转录)时间不同步。说话人提到“图3”时,可能几秒后视频才切换。如何将跨模态的事件精确对齐,同时处理不同模态的时间延迟,是首要难题。
-
多说话人、多模态信号冲突:多人对话,可能同时说话(语音重叠),不同人的面部表情和语调表达不同态度。模型需要分离声源,并将每个说话人的语言、语调、表情绑定,进行个体化情感和观点分析。
-
信息冗余与噪声压制:会议中大量口语、重复、停顿、无关闲聊。三个模态提供的信息高度冗余但又有各自的噪声(语音识别错误、视频模糊)。模型需要在极端冗余中提取高价值信息,并利用多模态互补去除噪声。
-
结构化摘要生成:摘要不是简单抽取句子,而是需要生成包含“议题、决议、行动项、分歧点”等结构化字段的纪要。这要求模型从对齐的多模态流中识别出讨论的结构和逻辑关系。
-
超长序列建模:一场会议可能长达数小时。如何将如此长的多模态序列有效压缩、记忆,并保留关键信息用于摘要生成,对模型的序列长度和记忆能力构成极大挑战。
🎯 因此,会议摘要堪称多模态理解的“终极测试”之一。
Q9:视觉问答(VQA)任务中,如何有效融合短文本问题和丰富图像信息?通常会遇到哪些挑战?¶
🔍 VQA 融合的经典方式:先从图像中提取网格/区域特征,从问题中提取词序列特征,然后通过注意力机制让两者交互,最后联合推理出答案。
有效融合方法:
-
协同注意力/交叉注意力:问题中的单词关注图像相关区域(“猫”关注图像中的猫),图像区域也关注问题单词。双向交互后,得到问题相关的视觉特征和图像相关的问题特征,再拼接或聚合。
-
多模态因子分解:如MFB/MFH,将图文特征投影到高维后进行逐元素乘法,实现低秩多模态融合。
-
图网络推理:将图像物体构建为图,问题词也构建图,通过图注意力推理物体间关系与问题逻辑。
-
Transformer统一融合:将图像区域特征和问题token送入单流Transformer,利用自注意力充分混合。
常见挑战:
-
语言先验作弊:如上Q1所述,模型忽略图像,仅凭问题统计猜答案。需用平衡数据集和反事实训练。
-
细粒度视觉理解:需要计数、属性识别、空间关系判断等,模型常在这些方面犯错。
-
外部知识需求:有些问题需要常识或百科知识(如“这是什么品种的狗?”),纯视觉+问题无法回答,需外部知识库。
-
推理复杂性:多步推理(“左边的狗和右边的猫,哪个更大?”)要求组合多个子任务。
-
答案歧义与评价:VQA答案常是单词或短语,相同语义不同表述(“二”和“2”)会被视为错误,需用软准确率评估。
⚖️ 解决这些挑战需要同时提升视觉编码、融合推理、外部知识注入以及鲁棒性评估。
Q10:图文检索任务中,常用的评价指标是什么?Recall@K 中的 K 通常如何选取?¶
📊 图文检索的核心评价指标是 Recall@K(召回率@K),通常报告 K=1, 5, 10,有时也报告K=1, 10或中位排名。
-
Recall@K:对于每个查询,若相关项在检索结果的前K位中出现,则认为命中。最终计算所有查询的命中率。
-
为何用Recall而非Precision:检索任务更关心“正确答案是否被用户看到”,而不仅是最相关的一个。用户通常会浏览前几页结果,因此Recall@K反映用户找到目标的概率。
K 的选取:
-
K=1:要求最高,第一个结果就必须正确。反映模型的顶尖精准度。
-
K=5:最常用,模拟用户浏览首屏结果(通常5条左右)的体验,是性能的核心指标。
-
K=10:更宽泛,用户可能翻页。常作为辅助指标。
-
常用组合:
R@1, R@5, R@10同时报告,并计算 RSUM = R@1 + R@5 + R@10 作为综合排序分。 -
选取依据:K值与最终应用界面展示结果数相关。若前端展示10条,R@10就是用户能看到正确答案的概率。
📈 对于大规模检索,还会考虑R@100等,以诊断模型潜力。
Q11:解释“视觉蕴含”任务,并说明它与自然语言推理(NLI)的异同。¶
🖼️ 视觉蕴含(Visual Entailment, VE)是NLI的视觉延伸。给定一张图像作为“前提”,一个文本作为“假设”,判断图像是否逻辑上蕴含该文本(蕴含)、矛盾(矛盾),还是无关(中性)。
与NLI的异同:
| 维度 | 自然语言推理 (NLI) | 视觉蕴含 (VE) |
|---|---|---|
| 前提模态 | 文本 | 图像 |
| 假设模态 | 文本 | 文本 |
| 任务实例 | 前提:“两个人正在公园散步。” 假设:“有两个人在户外。” 标签:蕴含 | 前提:一张包含两人在公园行走的照片。假设:“有两个人在户外。” 标签:蕴含 |
| 核心能力 | 语义理解、逻辑推理、词汇常识 | 视觉理解、跨模态对齐、常识推理、物体及关系识别 |
| 共同点 | 均需判断假设是否能从前提中合理推断,都分三分类(蕴含/矛盾/中性),都需要推理和常识。 | |
| 不同点 | 前提是结构化语义,推理可直接基于语义。 | 前提是原始像素,需要先理解图像内容,再与文本对齐推理。图像中可能存在模糊、遮挡,需要更强的鲁棒性和视觉常识。 |
🧪 因此,VE需要模型同时具备视觉识别和跨模态推理能力,比NLI多了一层视觉理解挑战。
Q12:什么是“指代表达理解”(Referring Expression Comprehension)?它和目标检测有什么本质区别?¶
🎯 指代表达理解 (REC):输入一张图像和一个自然语言描述(指代表达,如“左边穿红色裙子的小女孩”),任务是在图像中定位并框出该描述所指的唯一特定目标。
与目标检测的本质区别:
-
目标检测:识别图像中所有属于预定义类别的物体,输出每个物体的类别和边界框。它是类别驱动的,关注“是什么”。
-
REC:只定位一个目标,但这个目标是通过自由形式的语言精确描述的,可能涉及属性(颜色、材质)、空间关系(左边、抱着)、与其他物体的对比(比右边那个大的)。它是实例驱动的,关注“是哪个”。
区别总结表:
| 维度 | 目标检测 | 指代表达理解 |
|---|---|---|
| 输入信号 | 图像 | 图像 + 自然语言表达 |
| 输出 | 所有物体的类别+边界框 | 单个目标的边界框 |
| 通用性 | 类别固定,受限于训练类别 | 语言描述可组合,开放性强,可描述任意属性组合 |
| 核心挑战 | 特征提取、多尺度检测 | 语言与视觉的细粒度对齐,空间关系推理,区分同类物体 |
| 常见模型 | Faster R-CNN, YOLO, DETR | 基于视觉-语言Transformer + 检测头 |
📌 REC 比检测更难,因为它必须理解复合的语言描述,并在多个相似物体中精确辨识出唯一目标。
Q13:在视频-语言预训练中,如何处理长视频序列带来的时间维度挑战?¶
📽️ 长视频(几分钟到数小时)的密集时间维度导致计算量爆炸,且远距离依赖难建模。处理策略主要有:
- 稀疏采样与特征提取:
- 均匀采样关键帧:按固定间隔(如每秒1帧)或自适应选取关键镜头。大幅减少帧数。
-
视频编码器预处理:使用预训练的 3D CNN 或 TimeSformer 将原始视频片段编码为紧凑的时空特征,再送入预训练模型,极大压缩时间维度。
-
时间聚合与记忆机制:
- 多尺度时间建模:使用时间金字塔,在短、中、长不同时间窗口上池化特征,捕捉从动作到事件的不同粒度。
- 记忆网络/Long-former:引入外部记忆模块存储历史帧信息,或使用长程注意力(如长窗口Transformer)但限制复杂度。
-
时间分割与渐进融合:将长视频分成多个片段,对每个片段独立编码,然后通过一个跨片段的Transformer或RNN进行信息融合。
-
基于查询的摘要:
-
使用可学习的查询向量(类似DETR的object queries)从所有帧中动态提取相关信息,如VideoBERT的后续工作使用固定数量的query,避免对所有帧的直接注意力。
-
课程学习:
-
训练时先用短视频,再逐步增加到长视频,让模型逐渐适应长序列。
-
层次化预训练任务:
- 设计训练任务,如给定长视频,判断两个片段的时间顺序;或根据前半段预测后半段。这些任务强迫模型理解长时间依赖。
🎯 目标是在保证对长时依赖的捕获能力的同时,将计算复杂度控制在可接受范围内。