跳到主要内容
VLM 看不懂赛车游戏?我一点都不意外

VLM 看不懂赛车游戏?我一点都不意外

画唠
画唠

· 阅读约 4 分钟

前两天刷到一篇 8 月初挂上 arXiv 的论文,Schmid 和 Frosio 那篇,用 VLM 给游戏帧序列标奖励信号。核心发现一句话:VLM 连赛车游戏里的基本问题都经常答不上来。

我第一反应不是“哦,VLM 不行”,是——终于有人把这事摆到纸面上了。因为我之前自己撞过一模一样的墙。

先画一下这任务

补两句背景,懂的跳过:离线 RL 和条件训练都缺标注好的奖励信号,人工标又贵又慢,于是很自然的想法就是——把帧喂给 VLM,让它看图打分。画面里车在跑道上、没撞墙、名次靠前,这些“人一眼就看出来”的东西,理论上模型也应该看得出来。

理论上。

论文试的是赛车游戏,模型在基本问题上频繁翻车。作者还补了一句:别的游戏类型也观察到类似行为。

我以为的样子

我当时脑子里的图是这样的:

   游戏帧 ──► VLM 看图 ──► "车在跑道上吗?撞了吗?名次?" ──► 标签

一条线,特别顺。人看一眼能答,模型看一眼凭什么不能?

然后动手一试,不对。模型不是“看不懂图”,是它对游戏画面里“什么算重要”的感知跟人完全错位。你问画面里有没有车,它能答;你问这辆车是不是在跑道上、跟上一帧比是进步了还是退步了——开始一本正经地胡说。

我盯着结果琢磨了半天,才反应过来:我那张图里“看图”那一格太粗了。它不是一格,是好几个子步骤:

   帧 ──► 识别对象 ──► 判断空间关系 ──► 跨帧对比 ──► 输出判断
              ↑最容易           ↑开始漏风      ↑基本没戏

游戏画面恰恰是把后面几步全踩雷的素材:渲染风格不是真实照片、UI 覆盖物满屏都是、速度快了有运动模糊、跨帧的细微差异偏偏对判断至关重要。VLM 的预训练分布里真实照片占大头,游戏帧对它某种意义上是域外输入。

打个比方:让一个只看过新闻照片的人去当电竞裁判。他认识车,认识路,但“这帧比上帧走位更好”这种判断,他没有那个感知底座。这个比喻会漏风,得老实标一下——人稍微训练一下就能当裁判,VLM 现在可不是稍微调一下就行的。方向抓到就行,别推太远。

论文里让我点头的部分

这篇论文比“发现问题”多走了一步,它试了缓解手段,两条路:VLM 输出混合(多个模型的结果掺着用),和 prompt 优化。

另外它还量了几个 knobs:输入序列长度、分辨率、问题怎么打包成批,都会同时影响标注质量和 token 消耗。这几个结果我不意外——但“标注质量”和“token 账单”放同一张表里量,这个我喜欢。太多人做这类实验只报质量不报成本,好像 token 是免费的。做标注 pipeline 的都知道,规模一上去,token 消耗就是决定这条路走不走得通的变量,不是附注。

说到 token……等等等等,这里可以岔一句:帧序列塞进 context,序列长度和分辨率本质上都是在跟 context window 抢空间。我上次画 context window 那张“桌子”图的时候想的就是这类场景——桌子就这么大,塞十帧高分辨率进去,每帧分到的“注意力”就被摊薄了。游戏标注又偏偏是细节敏感型任务,摊薄就完蛋。所以“序列长度上去质量下来”这种 trade-off,画回桌子上看一点都不神秘。

为什么“一点都不意外”

回到我最想说的那个判断:这个翻车结果值得写,不是因为它暴露了 VLM 的短板,是它暴露了我们对“多模态”这个词的想象偏差。

“多模态”听起来像模型“看得懂”图像了。但看懂到哪一层?识别对象是一层,空间关系是一层,时序因果又是一层。赛车游戏这个任务把三层全要了,还是在一个域外分布上要的——翻车是正常发挥。

扯远了,但这其实和它有点关系:这活儿的需求是真实存在的,离线 RL 缺奖励标注这件事不会消失,人工标注的成本也不会消失。所以这篇论文的价值不在结论,在于它把“哪里漏风、拿什么补”老老实实量了一遍——混合输出能压一部分,prompt 优化再压一部分,剩下的窟窿明明白白摆在那。

藏起失败案例的探索是最高级的装,论文也一样。把翻车写足的论文,比满篇 SOTA 的有用多了。

收个尾

照例留个自检:你能不能给同行讲明白“VLM 给游戏打标为什么难”,讲的时候不靠“多模态还不行”这种糊弄话,而是能画出那几层子步骤、指出哪几层漏风?

我自己的实验欲望被勾起来了:拿个体育游戏帧序列,试试跨帧对比那格到底烂到什么程度。这个坑还没填完,填了再说。

这玩意儿真的太酷了——不是模型多能干,是“它到底在哪一层开始看不懂”这个问题本身太酷了。

画唠
画唠

把被讲玄的概念用图 + 比喻 + 动手实验拆到咔哒扣明白,错的也保留。

查看主页 →