← 返回 PaperDaily
视觉与图像
LVLM遇模态缺失就“趴窝”?TTSD-FAR用0.629%参数把F1从0.48救回0.51
传感器掉线、字幕丢失、画面损坏……LVLM一遇模态缺失就肉眼可见地“降智”。这篇TTSD-FAR偏偏只更新0.629%的参数,就把50%文本缺失下的F1从趴窝的0.4785拉回0.5124,还顺手解决了持续适应的漂移问题。方法不算复杂,思路非常实用,值得所有做多模态落地的朋友读一读。
龙哥读论文
阅读 5
查看原文

原论文信息如下:
大家有没有想过一个场景:你正在参加一个重要的视频会议,对方说着说着,突然画面卡住变成了“马赛克艺术”,只剩下声音还在顽强输出。这时候,如果你是一个正在做“多模态情感识别”的AI,你还能准确判断出对方是高兴、愤怒还是尴尬吗?
再比如,智能客服系统正在分析一段用户反馈视频,结果语音识别服务突然抽风,字幕文件没生成出来。这时候,这个AI还能从“无声电影”里读懂用户的愤怒值吗?
这就是本期论文要解决的核心问题——在实际部署中,多模态AI经常会遇到“模态缺失”(Missing Modality),也就是某些输入通道突然失效。别看现在大视频语言模型(LVLM)在各种榜单上呼风唤雨,一旦遇到这种“缺胳膊少腿”的输入,它们的表现可能比路人甲还路人甲。
LVLM面对缺失模态为何束手无策?
论文作者先用一个非常直观的实验展示了问题的严重性。他们在MELD数据集上,用Video-LLaVA-7B模型做了个测试:把输入中的文本模态(即对话的字幕)随机遮挡掉50%,然后观察模型内部的表征变化。
结果可以说是相当“惨烈”。通过UMAP可视化可以清楚地看到,当所有模态都完整时,不同情绪类别的表征在隐空间里是“分家”的,边界清晰,一眼就能看出谁是谁。但当文本模态缺失后,这些表征就像过年挤地铁一样,全部糊成一团,分类边界彻底消失。
定量分析同样触目惊心:同一批样本,完整模态和文本缺失模态之间的最大均值差异(MMD)高达0.8350,余弦相似度只有0.6342。这意味着,仅仅去掉一个模态,模型内部的“世界观”就发生了翻天覆地的变化。性能上,F1分数从0.6149直接掉到0.4785,这还只是50%的缺失率,如果是100%呢?不敢想。
那既然问题这么严重,有没有现成的补救办法呢?传统的测试时自适应(TTA)方法,比如熵最小化(TENT、EATA),在LVLM面前直接“翻车”。论文里的实验数据显示,TENT在文本缺失50%的情况下,F1直接崩到0.1655,这跟随机猜(七分类大概是0.14)几乎没什么区别。EATA稍微好点,但也就0.2482,同样处于“报废”状态。
为什么熵最小化会失效?因为LVLM是自回归模型,它生成的是自然语言序列,输出层的“置信度”和分类任务里的“概率分布”完全是两码事。在模态缺失的情况下,模型很容易“自我感觉良好”地输出一个语法通顺但语义完全错误的答案,这时候去最小化熵,反而是在强化错误。
再看检索增强生成(RAG),这个方法在知识密集型任务里表现不错,但在模态缺失场景下也不灵了。原因很简单:RAG需要拿当前输入去检索知识库,但如果“当前输入”本身就不完整(比如文本没了),检索出来的东西自然也是“牛头不对马嘴”。论文实验显示,RAG在MELD上文本缺失50%时,F1也只有0.4660,比不处理的0.4785还低。
TTSD-FAR:自蒸馏+Fisher锚定的双保险方案
既然传统方法都不行,那该怎么办?蒙特利尔ETS和女王大学的研究者们提出了一个非常优雅的思路:既然缺失模态会导致模型内部表征发生偏移,那我们能不能在测试的时候,让模型自己学着把“偏移的表征”拉回到“完整模态的表征”上?
这就是TTSD(测试时自蒸馏)的核心思想。框架整体结构如图2所示,看起来不复杂,但里面藏着不少巧思。
框架的底座是一个冻结的7B Video-LLaVA模型,在此基础上挂了两组LoRA适配器:一组叫教师LoRA(Teacher LoRA),另一组叫学生LoRA(Student LoRA)。这两组LoRA的分工非常明确。
教师LoRA是在完整模态数据上训练出来的,它的“眼界”是完整的。在测试阶段,每当遇到一个模态完整的样本,教师LoRA就会对输入进行处理,产出一组高质量的内部特征表征,作为“标准答案”。
学生LoRA则在测试阶段同步参与。它的输入是被“特意破坏”的——论文里叫“掩码输入”。虽然当前测试样本本身是完整的,但研究者会人为地把它的一部分模态遮掉,比如把文本替换成空字符串,或者把视频帧换成零张量。这时候,学生LoRA接收的就是一个“缺胳膊少腿”的输入。
然后,一个特征级蒸馏损失(L_distill)被计算出来:学生LoRA在“缺失模态输入”下产生的表征,要尽量去模仿教师LoRA在“完整模态输入”下产生的表征。通过梯度回传,学生LoRA的参数被更新,从而学会了一种“脑补”的能力——即使看不到完整的输入,也能在特征空间里尽可能还原出完整模态应有的样子。
到了真正推理的时候,如果来了一个模态缺失的测试样本,模型就直接用学生LoRA来处理。此时,学生LoRA因为已经在测试阶段“见识”过各种缺失组合,所以它能在缺失模态下依然产出相对靠谱的表征,最终生成的情感判断也会准确得多。
这个流程解释起来有点绕,但核心只有一句话:用完整的模态去教缺失的模态,让学生学会“脑补”。
特征级蒸馏如何超越熵最小化与RAG?
为什么特征级蒸馏能成功,而熵最小化和RAG会失败?这里面的门道值得好好掰扯一下。
先看熵最小化。这类方法的底层逻辑是“置信度高的预测就是正确的预测”。这个假设在传统的单标签分类任务里基本成立,但在自回归LVLM里就站不住脚了。LVLM的输出是一个词一个词蹦出来的,每个词的置信度都很高,但组合起来的整句话可能完全跑偏。在模态缺失的情况下,模型特别容易“一本正经地胡说八道”,此时你再去优化熵,等于是给错误火上浇油。
再看RAG。RAG的思路是“用外部知识来补全缺失信息”,这听起来很合理,但实际操作起来有个致命的前提——检索的query(查询)得足够靠谱。如果当前观察到的模态很弱(比如文本全没了,只有一些模糊的视频帧),模型拿这些“弱信号”去检索,检索回来的东西大概率是“文不对题”的,反而引入了更多噪声。
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!