第 10 章 怎样评价“语义传对了”:指标设计
10.1 为什么评价比想出模型更难
很多语义通信论文会说:“我们用语义通信降低了多少比特。”但如果没有回答“降低比特后,语义是否正确”,这个结论就没有意义。
评价语义通信必须回答至少三个问题:
- 传过去的数据像不像?(数据级)
- 传过去的意义对不对?(语义级)
- 接收方任务有没有成功?(任务级)
三者可能一致,也可能不一致。
10.2 数据级指标
10.2.1 均方误差
$$ \mathrm{MSE}=\frac{1}{N}\sum_{i=1}^{N}\|x_i-\hat{x}_i\|^2 $$它直接衡量数值差异,但对图像感知质量不敏感。例如,把图片整体平移几个像素,MSE 可能很大,但人看起来仍然清楚。
10.2.2 峰值信噪比
$$ \mathrm{PSNR}=10\log_{10}\frac{\mathrm{MAX}^2}{\mathrm{MSE}} $$其中 $\mathrm{MAX}$ 是像素最大可能值,例如 8 比特图像为 255。PSNR 越大,通常表示数值误差越小。
缺点:对纹理、结构、感知质量不敏感。
10.2.3 结构相似性
$$ \mathrm{SSIM}(x,\hat{x}) = \frac{(2\mu_x\mu_{\hat{x}}+c_1)(2\sigma_{x\hat{x}}+c_2)} {(\mu_x^2+\mu_{\hat{x}}^2+c_1)(\sigma_x^2+\sigma_{\hat{x}}^2+c_2)} $$其中:
- $\mu_x,\mu_{\hat{x}}$ 是局部均值;
- $\sigma_x^2,\sigma_{\hat{x}}^2$ 是局部方差;
- $\sigma_{x\hat{x}}$ 是局部协方差;
- $c_1,c_2$ 是防止分母为 0 的常数。
SSIM 比 MSE 更接近人类视觉感知,但它仍然只是“局部结构相似性”,不代表语义正确。
10.2.4 感知与生成指标
- LPIPS:用预训练网络提取特征,比较感知距离。
- FID:衡量生成图像分布与真实图像分布的距离。
- CLIPScore:用视觉-语言模型计算图像与文本之间的语义匹配度。
这些指标对“像素不匹配”的容忍度较高,更适合评估生成式系统,但仍不是“绝对语义真值”。
10.3 语义级指标:向量相似度
如果语义被表示为向量,最常用的是余弦相似度:
$$ \mathrm{sim}(\mathbf{u},\mathbf{v}) =\frac{\langle \mathbf{u},\mathbf{v}\rangle}{\|\mathbf{u}\|_2\|\mathbf{v}\|_2} $$或语义距离:
$$ d_s(\mathbf{u},\mathbf{v})=1-\mathrm{sim}(\mathbf{u},\mathbf{v}) $$也可以用:
$$ d_s(\mathbf{u},\mathbf{v})=\|\mathbf{u}-\mathbf{v}\|_2 $$问题:向量相似度只在“训练该向量时使用的语义空间”中有效。两个不同模型、不同训练数据得到的向量,不能直接比较。
10.4 任务级指标
任务级指标直接衡量“最终结果是否成功”:
- 分类准确率;
- 目标检测 mAP;
- 图像检索 Recall@K;
- 语义分割 mIoU;
- 语音识别 WER;
- 机器翻译 BLEU;
- 问答 F1;
- 机器人控制成功率;
- 用户主观评分。
这类指标最接近真实价值,但也最容易变成“只针对某个任务调优”,缺少通用性。
10.5 文本语义指标
10.5.1 BLEU
BLEU 比较候选文本和参考文本的 n-gram 重合程度:
$$ \mathrm{BLEU} = \mathrm{BP}\cdot \exp\left(\sum_{n=1}^{N}w_n\log p_n\right) $$其中 $p_n$ 是 n-gram 精确匹配比例,$\mathrm{BP}$ 是简短惩罚:
$$ \mathrm{BP}= \begin{cases} 1,& c>r\\ e^{1-r/c},& c\le r \end{cases} $$其中 $c$ 是候选长度,$r$ 是参考长度。
缺点:同义改写可能被惩罚,因为字面 n-gram 不匹配。
10.5.2 WER
$$ \mathrm{WER}=\frac{S+D+I}{N} $$其中:
- $S$:替换错误数;
- $D$:删除错误数;
- $I$:插入错误数;
- $N$:参考词数。
WER 常用于语音识别,但同样只衡量“字面”差异。
10.5.3 语义文本相似度
现代方法包括:
- BERTScore:用语义嵌入比较候选与参考;
- BLEURT:在预训练语言模型基础上微调,判断语义相似;
- METEOR:结合同义词、词干和词组匹配;
- 人工语义评分;
- 大模型“语义一致性”评估。
这些方法比 n-gram 更接近意义,但通常依赖预训练模型,且不同模型结果可能不同。
10.6 图像-文本语义指标
CLIPScore 是一种常见的图像-文本语义相似度:
$$ s(\mathbf{v}_{\text{image}},\mathbf{v}_{\text{text}}) =\frac{\langle \mathbf{v}_{\text{image}},\mathbf{v}_{\text{text}}\rangle}{\|\mathbf{v}_{\text{image}}\|\|\mathbf{v}_{\text{text}}\|} $$它可以衡量“图像是否与文本描述语义一致”。例如:
- “a dog in a park” 与狗的图片,相似度高;
- “a dog in a park” 与猫的图片,相似度低。
注意:这种分数是模型学出来的,不是外部真值。如果任务真值本身有歧义,模型分数也可能误导人。
10.7 语义失真应当怎样构造
一个合理的语义失真 $d_s(S,\hat S)$ 应当满足:
- 对真实语义转变敏感;
- 对不相关的变化尽量不敏感;
- 与任务一致;
- 可计算、可比较;
- 对噪声和异常值鲁棒。
常见的构造方式:
- 如果任务是分类,$d_s=\mathbb{1}[\hat y\ne y]$;
- 如果任务是指令执行,$d_s=\mathbb{1}[\text{task failed}]$;
- 如果任务是翻译,$d_s=1-\mathrm{BERTScore}$;
- 如果任务是图像描述,$d_s=1-\mathrm{CLIPScore}$;
- 如果任务是语义检索,$d_s=1-\mathrm{Recall@K}$;
- 如果任务必须重建,$d_s=1-\mathrm{SSIM}$ 或 LPIPS。
强列建议:在论文中明确写出“本次实验采用的语义失真/语义指标”,并说明为什么不使用其他指标。不要默认所有读者和评审与你共用同一个“语义”定义。
10.8 指标体系的分层
你可以把评价体系分成四层:
| 层级 | 示例 | 优点 | 问题 |
|---|---|---|---|
| 信号/比特层 | BER、SER | 客观、可复现 | 不能代表语义 |
| 数据/感知层 | PSNR、SSIM、LPIPS | 可比较图像/语音质量 | 对语义不敏感 |
| 语义/表示层 | 余弦相似度、BERTScore、CLIPScore | 更接近意义 | 依赖模型,缺少标准 |
| 任务/效果层 | Accuracy、mAP、WER、成功率 | 直接反映用户价值 | 只适用于特定任务 |
好的语义通信论文通常会同时报告多层指标,并讨论它们之间的差异。
10.9 怎样避免“指标骗局”
- 不要只挑对自己有利的指标。
- 明确信噪比、码率、数据集的公平比较。
- 报告误差棒和多次运行。
- 报告传统方案和 Deep JSCC 的双向对比。
- 不要用“语义通信”这个词替代实验性能。
- 考虑用户主观评价,特别是生成式系统。
- 检查是否产生了不利于隐私、安全或可控性的副作用。
第 10 章小结
- 语义通信的评价至少需要“数据级、语义级、任务级”三层。
- 余弦相似度、CLIPScore、BERTScore 是常用语义相似度工具,但都不是统一标准。
- 报告结果时要说明失真定义、任务定义、信道条件和训练设置。
- 没有一种指标适合所有语义任务,组合使用并讨论局限是更诚实的研究方式。