一句话定义:VQA(Visual Question Answering,视觉问答)就是给模型一张图片和一句自然语言问题,让它直接输出答案。
它到底在做什么
举个具体例子。你给模型一张厨房照片,问“台面上有几个苹果”,它答“三个”;问“这个人手里的东西能放进微波炉吗”,它得先认出那是什么,再调用常识判断,最后答“能”或“不能”。答案可以很短(是/否、颜色、数字),也可以是一句话。
原理上,模型通常分三步走:先用图像编码器把图变成一组特征,再用文本编码器把问题变成另一组特征,然后把两边“对起来”做推理,最后输出答案。可以把它想象成一个坐在你对面的考生:眼睛负责看图,耳朵负责听题,脑子里还要有个翻译官,把“问题里的词”和“图上的区域”一一对应上。
难点为什么是跨模态对齐
图是像素,问题是文字,两者本来不在同一个语义空间里。问“左边那个红杯子是什么材质”,模型得知道“左边”对应画面哪一侧、“那个红杯子”指的是哪个物体。这就是跨模态对齐(cross-modal alignment):让问题中的每个概念都能落到图像的具体位置上。
再打个比方:两个人隔着电话合作描述一张照片,一个人只能看图,一个人只能看问题,中间还有个翻译官。翻译官对错了,答案就崩了。常见的坑包括语言先验(不看图也能靠常识猜,比如“香蕉是什么颜色”答黄色)、计数、空间关系、细小属性,以及一本正经地胡说。
和几个近亲任务的区别
| 任务 | 输入 | 输出 | 核心难点 |
|---|---|---|---|
| VQA | 图 + 问句 | 答案 | 跨模态对齐 + 推理 |
| 图像描述 | 图 | 一段描述 | 生成流畅、覆盖要点 |
| 图文检索 | 图 + 文 | 匹配分或排序 | 全局语义对齐 |
| OCR | 图 | 文字 | 字符识别 |
VQA 和图像描述(Image Captioning)最容易混:后者是“自己找话说”,前者是“按问题回答”。OCR 只负责把字读出来,VQA 还要在此基础上推理,比如“牌子上的字是什么颜色”。
对从业者和普通人的意义
对做产品的人,VQA 是检验多模态能力的最小闭环:模型能不能看懂图、听懂话、给出可用的答案。做评测时要小心问题设计,别让模型靠语言先验蒙对。对普通人,它最直接的价值是“拍一张、问一句”:视障人士问前方路况,客服场景问“这件衣服袖口有没有纽扣”,教育场景问习题图里的条件。但答案可能自信地错,关键场景仍需人工复核。各家模型的具体能力以官方页面为准。
