图像描述的多样性:同一张图可以有多种正确的描述——怎么评估描述的质量

假设你把同一张照片喂给两个图像描述模型。第一个说:"一只狗在沙滩上跑。"第二个说:"一只金毛犬叼着飞盘,沿着海浪边缘飞奔。"

AI technology illustration

人眼一扫就能判断:第二句信息量更大、描述更具体。但如果你拿学术界最常用的评测工具跑一遍,结果很可能反过来——第一句分数更高,第二句反而像"错误答案"。

这不是 bug,是设计使然。这篇文章想把它彻底讲清楚:为什么同一张图有无数种正确描述,而评测体系却只认其中少数几种。

问题根源:图像描述没有标准答案

分类任务有唯一标签,机器翻译通常也只有寥寥几种靠谱的译法。但图像描述是典型的一对多任务:一张图可以聚焦的内容是无限的。关注点不同、用词习惯不同、详细程度不同,都会产生完全合理但彼此不重合的描述。

MS COCO 的惯例是每张图标注 5 句人工描述。但 5 句只是 5 个采样点,不等于全部正确答案的集合。如果模型生成的描述是对的,却恰好落在采样之外,该怎么评分?这个问题让整个领域纠结了近十年。

从翻译领域借来的尺子,量错了对象

最早一批指标——BLEU、ROUGE、METEOR——全部来自机器翻译或自动摘要。它们共享一个前提:正确答案与参考句在字面上高度重合。这个前提在翻译里勉强成立,在图像描述里完全不成立。

指标 核心思想 用在描述任务上的硬伤
BLEU n-gram 精确率 + 长度惩罚 同义改写直接暴死,"puppy" 和 "dog" 算零匹配
ROUGE-L 最长公共子序列的 F 值 同样基于字面重合,偏向保守平实的句子
METEOR 一元词匹配 + WordNet 同义词 粒度停在"词",换一种句式就失灵
CIDEr TF-IDF 加权的 n-gram 余弦相似度 本质还是字面重合,只是权重更聪明

这些指标里,CIDEr 最讲究,后来成了 COCO Captioning Challenge 排名的主指标(用的是 CIDEr-D 变体)。它的设计动机是:人类描述之间的"共识"可以作为质量代理——大家都这么说,大概率没错。这个想法本身不坏,但它埋下一个隐患:既然评分靠"共识",一句正确但独特的描述,天生就拿不到分。

CIDEr 是怎么工作的,又是怎么把模型带偏的

CIDEr 的计算分四步:

  1. 把生成句和 5 句参考句都拆成 1 到 4 个词的 n-gram。
  2. 用 TF-IDF 给 n-gram 加权:越少见的词权重越高,"dog" 这种高频词几乎不值钱,"frisbee" 这种具体词权重很高。
  3. 算生成句与每句参考句的余弦相似度,取平均。
  4. 加长度惩罚:句子长度不能离参考句太远。

这意味着什么?一个极端但真实的例子:参考句是 "a dog running on the beach",模型输出 "a puppy playing in the sand"。语义完全正确,但 4-gram 一个都没撞上,得分约等于 0。

模型是端到端训练的,它不会抱怨"被冤枉",它只会学到:跟参考句用词越像,分数越高。于是模型集体学会了安全的空话——当图像里有人的时候,最稳的输出永远是 "a group of people standing on a street"。这不是某个模型的失误,是评测指标作为目标函数逼出来的结果。

SPICE:从"看文字"升级到"看意思"

2016 年,SPICE 论文换了一条路:不比较句子表面,而是先把描述解析成场景图——节点是物体(dog、beach),节点带属性(yellow),节点之间是关系(running on)。然后比较两幅场景图的 F1。

这样一来,"dog" 和 "puppy" 即便字面不同,只要解析到同一类物体,就算匹配。SPICE 对语义忠实度的判断,确实比 n-gram 指标靠谱得多。

但它有两个前提:第一,仍然需要参考句,参考场景图里没有的关系,描述了也不算对;第二,它依赖场景图解析器的质量,解析器看走眼,评估就跟着错。SPICE 把"评估"问题转移成了"语义解析"问题,并没有真正解决多样性。

CLIPScore:干脆不要参考句了

2021 年,CLIPScore 论文提出一个更激进的思路:用 CLIP 把图像和文本映射到同一个向量空间,直接算余弦相似度。图像与描述越"相关",分数越高,整个过程完全不依赖参考句。论文还提出了 RefCLIPScore,在参考句可用时额外加上参考信息,与人工判断的相关性更高。

这是评估范式的一次偏移:评分标准从"跟人工描述像不像"变成"跟图像本身像不像"。理论上,它不再惩罚那些正确但新颖的描述。

但 CLIPScore 有自己的偏置。CLIP 擅长判断"相关",不擅长区分"相关"和"具体"。你写一句"这是一张照片里的一个东西",相关性可能不低,却毫无信息量。所以实际使用中,它通常要搭配幻觉检测(如 CHAIR、POPE)一起用。

一个扎心的实验:模型越多样,指标分越低

ConZIC 论文把这个矛盾摆到了台面上。这个模型用对比解码做零样本图像描述,输出的句子词汇丰富、句式多变,跟参考句的重合度极低。按 CIDEr 排名,它输得很惨;但用 TIGEr、CLIPScore 这类语义或跨模态指标评估,它的质量并不差。作者在论文里直言:评估这类多样性模型,应该放弃 n-gram 指标。

这不是个例,而是结构性矛盾:凡是基于参考句重合的指标,本质都在奖励"说得跟别人一样";而多样性要求模型"说得跟别人不一样"。两者天然对立。

到了 GPT-4V、Gemini 这类多模态大模型时代,这个矛盾更扎眼。它们的描述又长又细,动辄几十个词,而 COCO 的人工参考句平均只有十来个词。CIDEr-D 自带长度惩罚,一句信息量是参考句好几倍的描述,得分反而可能更低。用一套为短句共识设计的指标,去衡量长而具体的详细描述,本身就错位了。

我最早做模型对比时就在这上面栽过跟头。当时模型 A 的 CIDEr 比 B 高一大截,我差点就要下结论说 A 更好。把输出打印出来才发现,B 的描述明显更有信息量,只是用词不挨着参考句。那之后我想通了一件事:评测指标不是中立的尺子,它是目标函数的影子。你用哪个指标选模型,模型就往哪个方向长。

三个最常被问错的误解

指标分数高,就等于描述质量好吗?

不等于。n-gram 指标衡量的是"跟参考句的重合度",而不是"跟图像的对齐程度"。高分完全可能来自复述训练集里的高频短语。

CLIPScore 不需要参考句,是不是更公平?

它确实不惩罚多样性,但只看相关性,容易被"正确的废话"骗过。而且 CLIP 的训练数据本身存在偏差,某些概念的相关性计算并不完全可靠。

多样性越高越好吗?

不是。随机胡说也能产生极高的多样性,但没有意义。真正该追求的是在准确的前提下覆盖更多正确表达。所以 Self-CIDEr、n-gram 熵这类多样性指标,必须和准确性指标配对使用。

到底该用哪个指标?一张表说清

场景 推荐指标 原因
模型迭代时的快速粗筛 CIDEr-D + SPICE 便宜、标准化,能反映大致质量
判断描述是否忠实于图像 SPICE、CHAIR、POPE 检测语义错误和幻觉物体
衡量描述多样性 Self-CIDEr、n-gram 熵 测一组输出之间的差异度
对比多元化的生成结果 CLIPScore、TIGEr 不惩罚正确但新颖的描述
最终决策、对外发布结论 结构化人工评测 黄金标准,要计算标注者间一致性
点开:CLIP 到底是什么

CLIP 是 OpenAI 训练的对比模型,用约 4 亿对图文数据把图像和文本向量对齐到同一空间。CLIPScore 只是把这个对齐结果直接当分数用。优势是零样本、通用;劣势是它衡量的是"相关性",不是"描述质量"——这是两回事。

我的判断:指标即定义

图像描述评测难,根源不在技术,而在于我们始终没有一个"好描述"的形式化定义。数学题有标准答案,评分自然公平;一句话描述好不好,涉及信息量、准确性、具体性、新颖性多个维度,这些维度时常互相打架。

所以我最后的建议是:不要迷信任何单一指标。至少同时跑一个 n-gram 指标、一个语义指标、一个图像-文本对齐指标,再人工看一批输出。如果你只用一个指标,你优化的往往不是图像理解,而是那个指标的规则——这两件事,经常不是一回事。

原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/724.html

(0)
上一篇 4小时前
下一篇 4小时前

相关推荐