大数跨境

绕过Softmax!「语义能量」替代语义熵,大模型幻觉检测迎来新突破

绕过Softmax!「语义能量」替代语义熵,大模型幻觉检测迎来新突破 机器学习算法与自然语言处理
2025-08-30
113
导读:专治“大模型一本正经的胡说”


MLNLP社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
来源 | PaperWeekly

大模型饱受“幻觉”困扰。大模型有时会给出错误答案却不自知,甚至“一本正经地胡说八道”,将错误隐藏的更深。如何刻画模型回答的可靠性,成为解决大模型“幻觉”的关键。

牛津大学发表在 Nature 上的语义熵(Semantic Entropy)通过采样多次输出并计算其语义的随机性来量化“幻觉”程度,引起广泛关注。

然而,语义熵在面对“模型多次重复错误答案”时却失效,且该现象在实际应用中占比极高(benchmark 上占比~30%)。最新提出的语义能量(Semantic Energy)提供了精准的不确定性刻画能力,对比语义熵,在“幻觉”检测任务上取得大幅性能提升(~15%)。

图片

论文标题:

Semantic Energy: Detecting LLM Hallucination Beyond Entropy

论文链接:

https://arxiv.org/abs/2508.14496

项目链接:

https://github.com/MaHuanAAA/SemanticEnergy/tree/main

不确定性估计与幻觉检测

大语言模型已经成为日常工作中不可缺少的一部分,作为强大生活和工作助手,极大的提高了便利性和效率。然而,大语言模型面向开放世界,难以做到通晓全部知识,在所有领域全知全能。

然而,更为严重问题在于大模型不仅会出错,还会流畅的输出看似正确的回复。因此,我们就需要一个指示器,能够准确的指示大模型出错的可能性。

为解决上述问题,牛津大学团队提出语义熵概念和方法并发表在 Nature 正刊 [1],展示了不确定性量化具有识别模型的幻觉的能留,并且在 reasoning [2],parallel thinking [3] 甚至是后训练过程 reinforce learning [4] 中展示了巨大潜力。

顾名思义,语义熵在计算熵的同时考虑了回复的语义,通过将相同语义的回复聚类,将不同的回复但相同的语义作为一个整体,来适应自然语言中正确答案的丰富表述形式。

图片

▲ 图1. 语义熵有效的场景

语义熵的局限性

上图中的例子展示了语义熵的有效场景。Question 1 计算出来的语义熵更高,准确的捕获了幻觉的出现。然而,语义熵存在一个致命缺点:熵是基于归一化的概率计算的,仅刻画了数据不确定性,无法刻画模型内在的不确定性。请看下面的这组例子:

(1)考虑两个问题 Question 2 和 Question 3,其中模型在与 Question 2 相关的数据上进行了大量训练(因此能回答正确),但与 Question 3 相关的训练数据有限(导致回答错误)。

(2)假设对每个问题分别采样得到 5 个回答,并根据它们的语义相似性进行聚类后获得一个聚类簇(因为每个问题的多次回复采样具有相同语义)。

(3)在这种情况下,尽管大语言模型对 Question 3 输出了 5 个语义一致的错误答案,但两种情况语义熵计算出来的结果都是 0,均被认为是可靠的回复。

图片

▲ 图2. 语义熵失效的场景

显然,语义熵在这种场景下完全失效。那可不可以忽略这种情况的影响?通过实验发现,这种场景占比极高,大模型非常擅长多次回答相同语义的错误答案。大模型多次回答相同语义的场景中有 15%~45% 的样本是回答错误的情况。

问题源头:归一化的局限性

这种现象是由于最后一层 softmax 的归一化引起的。如图 3 中所示,原本 logits 的强度会随着训练越来越充分累积 [5],能够指示模型的内在不确定性。

采样概率只关注不同 token 的相对关系,从而进行了归一化,并丢掉了这个指示信息。即使模型表达了截然不同的两种情况(例如 Question 2 和 Question 3),归一化的概率只能为用户提供没有任何区分度的信息。

图片

▲ 图3. 归一化概率带来的问题

显著优势:Semantic Energy替换Semantic Entropy

最新工作 Semantic Energy 提供了解决这个问题的思路,仅仅通过改变语义熵中最后一步的不确定性计算方式,就能使 LLM 分辨上述语义熵无法区分的场景。先看效果:

图片

▲ 图4. 语义熵 vs 语义能量

参照下列玻尔兹曼分布,Semantic Energy 与 Semantic Entropy 的关键区别在于 Semantic Entropy 根据归一化之后的概率计算不确定性,而 Semantic Energy 根据归一化之前的能量   计算不确定性

图片

对应到神经网络中,  为 logits(未经过 softmax 层的倒数第二层)的相反数,  代表配分函数。

关键方法如下:

(1)回复采样:和语义熵类似,对于一个问题,需要先采样多次回复,例如下面的图中,每个问题采样 5 次回复,统计每个回复各自的 logits 均值(logits 之和除以回复长度)。

(2)语义聚类:按照语义,将回复聚类成不同的语义簇,例如 Question 1 的回复聚类成了 3 个簇,而 Question 2 和 3 的回复都只聚类到了一个簇 (语义分析会影响性能,建议使用能力强大的模型,轻量模型建议用 TIGER-Lab/general-verifier)。

(3)不确定性估计:计算每个簇中的 logits 之和作为模型的可靠性,logits 之和越高,说明可靠性越强。

单条回复的可靠性:单条回复的可靠性等于其所在簇的可靠性,比如一个问题回答了 5 次,语义聚类(answer1,answer2,answer3)(answer4,answer5)。

然后可以计算两个簇的能量 energy_cluster1,energy_cluster2;最终 answer1,answer2,answer3 的可靠性就是 energy_cluster1 的计算得到的值,answer4,answer5 的可靠性为 energy_cluster2 计算得到的值。

图片

▲ 图5. 语义熵和语义能量计算方式的差异 

作者分别在中英文问答数据上进行了评估,通过定量的评估结果可以看到有大幅提升:

图片

而其中性能提升的主要来源就是 Semantic Entropy 失效的场景,Energy 为不确定性估计带来了 Entropy 在模型“坚定”回答重复语义的场景下原本不具备的区分度:

图片

显而易见的,Semantic Energy 为 Semantic Entropy 打了一个强力补丁,如果你正准备尝试利用不确定性进行下游任务,那么 Semantic Energy 是一个不错的选择;如果你发现了某个工作利用 Semantic Entropy 增强了下游任务,那么尝试将其替换为 Semantic Energy,你会有新的发现。

参考文献

[1] Sebastian Farquhar, Jannik Kossen, Lorenz Kuhn, and Yarin Gal. Detecting hallucinations in large language models using semantic entropy. Nature, 630(8017):625–630, 2024.

[2] Zihuiwen Ye, Luckeciano Carvalho Melo, Younesse Kaddar, Phil Blunsom, Sam Staton, and Yarin Gal. Uncertainty-aware step-wise verification with generative reward models. arXiv:2502.11250, 2025.

[3] Zenan Xu, Zexuan Qiu, Guanhua Huang, Kun Li, Siheng Li, Chenchen Zhang, Kejiao Li, Qi Yi, Yuhao Jiang, Bo Zhou, et al. Adaptive termination for multi-round parallel reasoning: An universal semantic entropy-guided framework. arXiv preprint arXiv:2507.06829, 2025.

[4] Qingyang Zhang, Haitao Wu, Changqing Zhang, Peilin Zhao, and Yatao Bian. Right question is already half the answer: Fully unsupervised llm reasoning incentivization. arXiv:2504.05812, 2025.

[5] Weitang Liu, Xiaoyun Wang, John Owens, and Yixuan Li. Energy-based out-of-distribution detection. Advances in neural information processing systems, 33:21464–21475, 2020.


技术交流群邀请函

△长按添加小助手

扫描二维码添加小助手微信

请备注:姓名-学校/公司-研究方向
(如:小张-哈工大-对话系统)
即可申请加入自然语言处理/Pytorch等技术交流群

关于我们

MLNLP 社区是由国内外机器学习与自然语言处理学者联合构建的民间学术社区,目前已经发展为国内外知名的机器学习与自然语言处理社区,旨在促进机器学习,自然语言处理学术界、产业界和广大爱好者之间的进步。
社区可以为相关从业者的深造、就业及研究等方面提供开放交流平台。欢迎大家关注和加入我们。

【声明】内容源于网络
0
0
机器学习算法与自然语言处理
1234
内容 0
粉丝 0
机器学习算法与自然语言处理 1234
总阅读0
粉丝0
内容0