背 景
VLM(视觉语言模型)的评估比传统计算机视觉评估更复杂:目标检测有 mAP,分割有 IoU,两者都能直接对应空间精度;但 VLM 的输出是自由文本,同一含义可以用数十种同样有效的表达方式呈现。本文涵盖评估 VLM 输出的 10 项指标和训练 VLM 的 5 种损失函数,先给公式,再讲直觉,全程附代码示例。
VLM 评估指标分为两类:基于参考的指标(将模型输出与人工标注的真实文本对比)和无参考指标(直接从图像-文本对评估质量)。下文按方法分组讲解全部 10 项指标。
基于参考的评估指标
1. BLEU(双语评估替补)
定义:计算生成文本与参考文本的修正 n 元语法精确率。对大小为 1 到 N(通常 N=4)的 n 元语法,裁剪计数避免重复奖励,并对短输出施加长度惩罚。
公式:
BLEU-N=BP×exp(n=1∑Nwn×logpn)
其中:
pn:裁剪后的 n 元语法精确率;
wn=1/N(均匀权重);
BP(长度惩罚):min(1,exp(1−gen_lenref_len))(生成文本长于参考时无惩罚)。
示例:
参考文本:“a brown dog catches a frisbee on the beach”(9 个词);
候选文本:“a dog leaps for a flying disc at the shore”(10 个词)。
1 元语法匹配(裁剪后):“a”(2/2)、“dog”(1)、“the”(1)→ 共 4 次匹配,精确率 p1=4/10=0.40;
2 元语法及以上:无匹配(p2=p3=p4=0)。
长度惩罚:生成文本更长,BP=1。
无平滑时 BLEU-4=0;Method 1 平滑(对零计数加小量)后 BLEU-4≈0.059。
说明:此例暴露 BLEU 缺陷——“frisbee/disc”“beach/shore”是同义词却得零分。
优势:速度快,语料级分数比句子级更可靠。
劣势:纯精确率,忽略召回率;无法处理同义词;单样本与人类判断相关性低。
2. METEOR(显式排序翻译评估指标)
定义:修复 BLEU 缺陷,通过三种方式扩展一元语法匹配:精确匹配、词干还原(“running”匹配“runs”)、WordNet 同义词查找。结合精确率 P和召回率 R,用偏向召回率的调和平均(α=0.9)计算,再加碎片化惩罚。
注意:meteor_score需输入分词后的词列表而非原始字符串,否则会按字符拆分导致错误。
3. ROUGE-L(最长公共子序列)
定义:计算候选文本与参考文本的最长公共子序列(LCS,即顺序一致但不一定连续的词序列),再推导精确率、召回率和 F1。最初为摘要评估设计(Lin, 2004),适用于长文本 VLM 输出。
示例:
参考文本(9 词):“a brown dog catches a frisbee on the beach”;
候选文本(10 词):“a dog leaps for a flying disc at the shore”。
LCS 为 ["a", "dog", "a", "the"](长度 4);
精确率 =4/10=0.400,召回率 =4/9=0.444,F1 =2×0.400×0.444/(0.400+0.444)≈0.421。
代码差异说明:若开启 use_stemmer=True(词干还原),库输出约 0.316——因词干还原会改变匹配词(如“catches”→“catch”),且分词方式可能与手动拆分不同。
4. CIDEr(共识图像描述评估)
定义:对 n 元语法应用 TF-IDF 加权,再计算候选与参考向量的余弦相似度(Vedantam et al., 2015)。核心思想:高频通用 n 元语法(如“on the left side”)信息量低,低频特定 n 元语法(如“wearing a red hat”)信息量高——CIDEr 通过 IDF 降低前者权重,奖励后者。
优势:专为图像描述设计,TF-IDF 奖励图像特有内容,支持多参考文本,是与人类判断相关性最高的 n 元语法指标。
劣势:需参考语料计算 IDF,对语料构成敏感;0-10 分(CIDEr-D)不够直观。
5. SPICE(语义命题图像描述评估)
定义:将候选文本和参考文本解析为场景图(节点:对象;属性:特征;关系:交互),再计算元组级 F1。例如“A large brown dog on a sandy beach”会被解析为:
节点:狗、海滩;
属性:大、棕色、沙质;
关系:狗 ON 海滩。
优势:突破 n 元语法局限,能识别语义反转(如“狗追猫”vs“猫追狗”在 BLEU 中得分相同,但 SPICE 中不同)。
6. BERTScore
定义:用预训练 Transformer 的上下文嵌入计算 token 级余弦相似度(Zhang et al., 2020)。因“dog”和“canine”的 BERT 表示高度相似,能更好处理同义词。
7. VQA 准确率
定义:考虑标注者分歧,公式为 min(3模型答案出现次数,1)。若 3+ 标注者给出相同答案,准确率=1.0;仅 1 人同意则为 0.33。
适用场景:仅当有多标注者参考答案时使用;单参考 VQA 建议用精确匹配或 BERTScore。
8. 精确匹配(Exact Match)与 Token 级 F1
适用场景:结构化 VLM 输出(如发票字段提取、文档问答、文本形式的坐标框)。精确匹配是二元的(完全正确得 1,否则 0),Token 级 F1 给部分正确分数。
9. ANLS(平均归一化莱文斯坦相似度)
定义:文档理解(DocVQA、InfoVQA、ST-VQA)的标准指标,计算预测与参考字符串的归一化编辑距离(编辑距离/最大长度),对接近正确的 OCR 输出给部分分数。
公式:NL(a,r)为归一化莱文斯坦距离,τ通常取 0.5——编辑距离小于 50% 的预测得部分分数,完全错误的得 0。
无参考评估指标
10. CLIPScore
定义:唯一主流无参考指标,计算 CLIP 图像嵌入与候选文本 CLIP 嵌入的余弦相似度,无需真实参考文本。
优势:无参考,直接衡量图像-文本对齐,速度快。
劣势:继承 CLIP 偏见,无法捕捉看似合理但实际幻觉的细节,粒度较粗。
VLM 训练损失函数
评估指标告诉你“模型有多好”,损失函数告诉模型“如何改进”——二者不可互换(CIDEr/BLEU 不可微,不能直接用作训练损失)。以下是 VLM 微调常用损失函数,按使用频率排序。
1. 交叉熵损失(Cross-Entropy Loss)
定义:所有自回归 VLM 的基础,衡量模型在给定历史 token 和图像时预测下一个 token 的能力。
微调技巧:仅对响应 token 计算损失,用 -100掩码提示/指令 token(如微调 PaLIGemma 或 Qwen2.5-VL 时的默认损失)。
2. 对比损失(Contrastive Loss)
定义:训练模型对匹配的图像-文本对产生相似嵌入,对不匹配的对产生 dissimilar 嵌入。
适用场景:微调视觉-语言对齐阶段(视觉编码器与 LLM 之间的投影层),或检索增强型 VLM(依赖图像-文本匹配)。
3. 焦点损失(Focal Loss)
定义:修改交叉熵,添加调制因子 (1−pt)γ(γ通常取 1-3),降低简单样本权重,聚焦困难样本(Lin et al., 2017)。
适用场景:VQA 微调(存在类别不平衡,如大量“是/否”问题但少详细答案),或与分类目标联合训练时。
4. KL 散度(知识蒸馏损失)
定义:训练更小的“学生”VLM 匹配更大的“教师”VLM 的输出分布,衡量两个概率分布的差异。
适用场景:压缩大模型到可部署尺寸(如边缘设备 Raspberry Pi 部署、训练后量化)。
5. 直接偏好优化(DPO)
定义:替代复杂的 RLHF 流程,直接在“优选输出(yw)”和“非优选输出(yl)”对上优化,无需单独奖励模型。
适用场景:减少幻觉,尤其对视觉问答任务有效。Datature Vi 平台将推出 DPO 工作流接口,支持团队快速构建偏好数据。
常见陷阱
❌ 不要用 CIDEr/BLEU 作为训练损失:二者不可微(涉及离散 token 的 argmax)。训练用交叉熵,评估用 n 元语法/神经指标。例外是 SCST(自临界序列训练)——通过策略梯度估计器将 CIDEr 作为奖励信号。
实践建议
| 任务类型 | 首选指标 | 补充指标 |
|---|---|---|
| 图像描述 | CIDEr(主基准) | CLIPScore(无参考评估) |
| 多标注 VQA | VQA 准确率 | BERTScore |
| 文档理解 | ANLS | Token 级 F1 |
原则:至少报告两项指标,单一数字无法全面反映 VLM 质量。空间评估指标(mAP、IoU)见《用混淆矩阵评估 CV 模型指南》。
指标原始论文(按时间排序)
ROUGE-L(2004)、BLEU(2002)、METEOR(2005)、CIDEr(2015)、SPICE(2016)、BERTScore(2020)、CLIPScore(2021)、VQA 准确率(2015)、ANLS(2019)、焦点损失(2017)。
为什么 CIDEr 是图像描述的首选指标?
CIDEr 的 TF-IDF 加权奖励图像特有内容(而非通用描述),且在 n 元语法指标中与人类判断相关性最高。无参考场景用 CLIPScore 作为替代。
训练 VLM 用什么损失函数?
默认用响应 token 的交叉熵损失(掩码提示 token)。如需更好的图像-文本对齐,加对比损失;如有偏好数据并想减少幻觉,加 DPO 损失。
298