跳转至

常见任务形式

Q1:视觉问答中如何判断模型是利用了视觉信息还是纯靠语言先验?设计一个实验。

🧪 VQA 模型常“投机取巧”:只凭问题中的关键词和训练集的答案分布就能猜对,根本不看图像。判断它是否真用了视觉信息,需要切断语言先验,迫使其依赖图像。

实验设计:

  1. 构建对立的测试集:
  2. 原始测试集:标准的 VQA 数据集(如 VQA v2)。它已做了平衡,每个问题配不同图像和不同答案,减少了盲猜可能。
  3. 关键测试集:反事实图像测试。选择模型在原测试集上回答正确的问题,对图像进行修改,使答案改变。例如,原图是“黑色的猫”,问题是“猫是什么颜色?”,模型答“黑色”。然后将图像中的猫换成白色,再次提问。如果模型依然回答“黑色”,说明它没看图像。
  4. 更系统的做法是使用 VQA-CP (VQA under Changing Priors) 数据集,其中训练和测试的答案分布故意不同(如“是/否”问题的答案比例在测试集反转)。纯靠语言先验的模型会直接套用训练集的偏置而惨败。

  5. 消融实验:

  6. 只输入问题:将图像输入替换为全零向量或随机噪声,看模型在测试集上的准确率是否断崖下跌。若下跌极少,则模型原本就主要依赖语言。
  7. 随机配对图像:测试时,打乱问题和图像的对应关系,保持问题不变,配对无关图像。若模型准确率没有显著下降,它就是个“盲人”。

  8. 归因分析:

  9. 使用 Grad-CAM 或 注意力热力图 可视化。输入问题“狗在哪儿?”,看模型是否聚焦于图像中的狗区域,还是乱看或只看背景。若注意力均匀分布或聚焦文本,就是伪视觉利用。

  10. 诊断指标:

  11. 计算 Harmonic Mean 或 VQA Score 在上述诊断测试上的下降率。一个健壮的模型应当在反事实测试上大幅改变答案,在随机配对图像测试上准确率显著降低。

🔍 只有通过这些“拷问”,才能断定模型是真的“看见了”还是在“背题库”。

image.png


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:视频描述任务与图像描述任务相比,需要额外建模什么?时间连贯性如何评估?

🎬 视频比图像多了一个时间维度,因此需要额外建模:

  1. 时序动态性:物体如何运动、人物如何交互、事件如何发展。这需要模型捕捉光流、动作、时空变化。

  2. 时序依赖性:生成的句子不仅描述当前帧,还要描述跨帧的持续动作。如“一个人拿起杯子,喝了一口,然后放下”。这要求模型记忆并关联多帧信息。

  3. 事件顺序与因果:视频中动作有先后,描述必须遵循时间顺序。

时间连贯性评估:

时间连贯性指生成的描述在时间上是否流畅、不自相矛盾。评估方法:

  • 自动指标:现有指标(BLEU, CIDEr, METEOR)主要评估与参考描述的词重叠,对时间顺序不敏感。研究人员提出基于事件的指标:提取生成描述中的动词和事件序列,与参考序列比对顺序准确性。

  • 人工评估:让评估者就“描述是否遵循了视频中的时间顺序”、“有无动作时序错误”打分。通常采用1-5分尺度。

  • 诊断测试集:构建专门测试动作顺序的视频,如“先打开冰箱,再拿出牛奶”vs“先拿出牛奶,再打开冰箱”。看模型生成是否正确顺序。

⏱️ 目前,时间连贯性仍是视频描述的重大挑战,缺乏完美的自动化指标。


Q5:多模态情感分析通常融合哪几种模态?如何定义情感标签的模态一致性?

😊 多模态情感分析主要融合文本、视觉(图像/视频)、音频三个模态。

  • 文本:转录的文字,包含明确的情感词和语义。

  • 视觉:说话人的面部表情、肢体动作、视频场景。

  • 音频:语音的语调、音量、节奏、停顿,传递着文本之外的超语言情感信息。

情感标签的模态一致性定义:

模态一致性指在某个样本中,各个模态所暗示的情感是否统一。并非所有样本都一致,例如:

  • 一致:一个人笑着说“我很开心”,语调欢快(三模态均正向)。

  • 不一致:一个人面无表情或苦笑说“挺好的”,语调平淡或哽咽(文本中性或正向,视觉/音频负向)。实际中常有这种伪装或反讽。

在任务中如何考虑:

  • 显式建模不一致:在标注时,不仅标注整体的情感标签,还单独标注每个模态的情感标签。然后定义:如果各模态标签相同,则为一致样本;否则为不一致样本。训练时,对不一致样本可采用特殊处理,如门控融合让模型学会根据模态可靠性动态选择,或利用不一致损失让模型对矛盾信号敏感。

  • 隐式学习:不显式标注,但通过注意力机制,让模型自己学会在某个模态信号弱时依赖其他模态。例如在反讽检测中,模型必须理解文本与音频/视觉的冲突才能正确判断。

💡 模态一致性是多模态情感分析的难点和魅力所在,它要求模型具备冲突识别与消解能力。


Q6:跨模态迁移学习:在一个模态上训练的模型,能否不通过成对数据就迁移到另一模态?有哪些方法?

🌉 可以,这正是“零样本跨模态迁移”或“无监督跨模态域适应”的目标。核心思想是学习模态无关的语义表示。

方法类别:

  1. 共享嵌入空间 + 弱对齐:利用少量无标签或弱对齐数据(如互联网共现的图文),通过对比学习(如CLIP)或跨模态聚类,将不同模态的数据映射到同一空间。训练好的文本模型,可以通过计算图像特征与该空间文本原型的相似度来识别图像类别,无需成对标注。

  2. 跨模态生成:训练一个模态翻译模型,例如从文本生成图像特征(或反之)。然后在目标模态无标签的情况下,用翻译出的特征训练分类器。或是使用CycleGAN-like的循环一致性,将图像特征翻译成文本,再翻译回来,保持语义一致。

  3. 知识蒸馏:有标注的源模态(如文本)训练好的教师模型,给无标注的目标模态(如图像)的数据生成软标签。学生模型(图像编码器)用这些伪标签学习,从而实现迁移。

  4. 跨模态自监督:在目标模态上设计代理任务(如图像的自监督学习),并约束其学习到的特征表示与源模态的特征空间在统计特性(如特征分布的矩)上对齐,不需要成对样本。

  5. 跨模态原型匹配:在源模态上为每个类别计算一个原型特征向量。在目标模态上,通过最小化目标模态特征与对应原型的距离(或最大化互信息)来调整编码器,无需成对标签。

🔬 这些方法的成功依赖于模态间的底层语义共现性假设。


Q7:多模态事实验证:给定图文断言,判断真伪,需要模型具备哪些核心能力?

🕵️ 多模态事实验证(如 Factify, DGM4 等)输入一个图文对和一个断言(claim),输出“支持”或“反驳”。这比简单匹配复杂得多,需要以下核心能力:

  1. 细粒度跨模态对齐:将断言中的实体、关系、数量与图像和文本中的具体元素对齐。例如,断言“猫坐在红垫子上”,需找到图像中的猫、垫子,并验证颜色和空间关系。

  2. 逻辑推理与常识:即使对齐,也需要常识判断。如断言“大象比老鼠轻”,即使图文描述了大象和小鼠,也需要外部常识来反驳。

  3. 冲突检测:能够发现图像和文本自身是否矛盾,再与断言比对。如果图文本身描述不一致,那么断言可能既不被支持也不被直接反驳,而是“信息不足”。

  4. 数值比较与计数:很多断言涉及数量(“有三个苹果”),模型必须具备计数能力。

  5. 外部知识检索(隐性或显性):对于需要背景知识的事实(如“埃菲尔铁塔在伦敦”),模型需能检索或内化世界知识。

  6. 证据合成:当断言需要结合图像和文本多个信息才能判断时,模型要能综合多源证据,而不是碎片化匹配。

🧪 评价这类模型时,常需构建专门的“冲突”和“数值”子集,以分别考察上述能力。


Q8:在语音+文本+视频的三模态会议摘要任务中,最大的技术难点是什么?

🎙️ 三模态会议摘要旨在将冗长的会议录音、录像和文本转录,浓缩为简洁的会议纪要。最大难点是海量非结构化流式数据中的多模态对齐、噪声过滤与结构化摘要生成,具体分解为:

  1. 细粒度时间对齐与异步:语音、视频和文本(ASR转录)时间不同步。说话人提到“图3”时,可能几秒后视频才切换。如何将跨模态的事件精确对齐,同时处理不同模态的时间延迟,是首要难题。

  2. 多说话人、多模态信号冲突:多人对话,可能同时说话(语音重叠),不同人的面部表情和语调表达不同态度。模型需要分离声源,并将每个说话人的语言、语调、表情绑定,进行个体化情感和观点分析。

  3. 信息冗余与噪声压制:会议中大量口语、重复、停顿、无关闲聊。三个模态提供的信息高度冗余但又有各自的噪声(语音识别错误、视频模糊)。模型需要在极端冗余中提取高价值信息,并利用多模态互补去除噪声。

  4. 结构化摘要生成:摘要不是简单抽取句子,而是需要生成包含“议题、决议、行动项、分歧点”等结构化字段的纪要。这要求模型从对齐的多模态流中识别出讨论的结构和逻辑关系。

  5. 超长序列建模:一场会议可能长达数小时。如何将如此长的多模态序列有效压缩、记忆,并保留关键信息用于摘要生成,对模型的序列长度和记忆能力构成极大挑战。

🎯 因此,会议摘要堪称多模态理解的“终极测试”之一。


Q9:视觉问答(VQA)任务中,如何有效融合短文本问题和丰富图像信息?通常会遇到哪些挑战?

🔍 VQA 融合的经典方式:先从图像中提取网格/区域特征,从问题中提取词序列特征,然后通过注意力机制让两者交互,最后联合推理出答案。

有效融合方法:

  • 协同注意力/交叉注意力:问题中的单词关注图像相关区域(“猫”关注图像中的猫),图像区域也关注问题单词。双向交互后,得到问题相关的视觉特征和图像相关的问题特征,再拼接或聚合。

  • 多模态因子分解:如MFB/MFH,将图文特征投影到高维后进行逐元素乘法,实现低秩多模态融合。

  • 图网络推理:将图像物体构建为图,问题词也构建图,通过图注意力推理物体间关系与问题逻辑。

  • Transformer统一融合:将图像区域特征和问题token送入单流Transformer,利用自注意力充分混合。

常见挑战:

  1. 语言先验作弊:如上Q1所述,模型忽略图像,仅凭问题统计猜答案。需用平衡数据集和反事实训练。

  2. 细粒度视觉理解:需要计数、属性识别、空间关系判断等,模型常在这些方面犯错。

  3. 外部知识需求:有些问题需要常识或百科知识(如“这是什么品种的狗?”),纯视觉+问题无法回答,需外部知识库。

  4. 推理复杂性:多步推理(“左边的狗和右边的猫,哪个更大?”)要求组合多个子任务。

  5. 答案歧义与评价: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. 稀疏采样与特征提取:
  2. 均匀采样关键帧:按固定间隔(如每秒1帧)或自适应选取关键镜头。大幅减少帧数。
  3. 视频编码器预处理:使用预训练的 3D CNN 或 TimeSformer 将原始视频片段编码为紧凑的时空特征,再送入预训练模型,极大压缩时间维度。

  4. 时间聚合与记忆机制:

  5. 多尺度时间建模:使用时间金字塔,在短、中、长不同时间窗口上池化特征,捕捉从动作到事件的不同粒度。
  6. 记忆网络/Long-former:引入外部记忆模块存储历史帧信息,或使用长程注意力(如长窗口Transformer)但限制复杂度。
  7. 时间分割与渐进融合:将长视频分成多个片段,对每个片段独立编码,然后通过一个跨片段的Transformer或RNN进行信息融合。

  8. 基于查询的摘要:

  9. 使用可学习的查询向量(类似DETR的object queries)从所有帧中动态提取相关信息,如VideoBERT的后续工作使用固定数量的query,避免对所有帧的直接注意力。

  10. 课程学习:

  11. 训练时先用短视频,再逐步增加到长视频,让模型逐渐适应长序列。

  12. 层次化预训练任务:

  13. 设计训练任务,如给定长视频,判断两个片段的时间顺序;或根据前半段预测后半段。这些任务强迫模型理解长时间依赖。

🎯 目标是在保证对长时依赖的捕获能力的同时,将计算复杂度控制在可接受范围内。