链载Ai

标题: RAG | (牛津大学Nature发文的RAG超简单幻觉检测器) 使用语义熵检测大型语言模型中的幻觉 [打印本页]

作者: 链载Ai    时间: 8 小时前
标题: RAG | (牛津大学Nature发文的RAG超简单幻觉检测器) 使用语义熵检测大型语言模型中的幻觉

1 研究问题

本文研究的核心问题是: 如何在大型语言模型(LLMs)中检测幻觉,特别是检测"胡说八道"型的幻觉。

假设在医疗领域使用LLM回答问题"Sotorasib的靶点是什么?"。LLM可能有时会回答KRASG12C(正确),有时会回答KRASG12D(错误),尽管指令相同。这种不一致和错误的回答就是一种幻觉,需要被检测出来以确保LLM的可靠性。

本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

针对这些挑战,本文提出了一种基于概率统计的"语义熵"方法:

该方法的核心思想是通过计算LLM生成内容的"语义层面"的熵来检测幻觉。具体来说,它首先生成多个可能的答案,然后使用双向蕴含关系将这些答案聚类成具有相同含义的组。最后,计算这些语义组的熵,而不是直接计算单词序列的熵。这种方法巧妙地解决了同一个意思可以用多种方式表达的问题,从而更准确地反映了LLM在语义层面的不确定性。高语义熵表示LLM在生成答案时存在高度不确定性,这通常意味着可能出现幻觉。这种方法不需要特定领域的先验知识,可以在不同的数据集和任务中通用,并且能够较好地泛化到新的、未见过的任务中。

2 研究方法

2.1 语义熵的基本原理

语义熵是一种新的不确定性度量方法,专门用于检测大型语言模型(LLMs)中的幻觉。传统的熵计算方法主要关注词序列的概率分布,而语义熵则聚焦于答案含义的分布。这种方法的核心思想是:即使模型生成的答案在词序列层面有所不同,只要它们表达相同的含义,就应该被视为模型对答案含义是确定的。

举个例子,假设我们问模型"埃菲尔铁塔在哪里?"模型可能会生成以下几个答案:

  1. "巴黎"
  2. "法国首都巴黎"
  3. "它位于巴黎"
  4. "埃菲尔铁塔坐落在法国的巴黎"

传统的熵计算方法会将这些答案视为完全不同的序列,从而得出一个较高的熵值,误认为模型对答案不确定。然而,从语义的角度来看,这些答案实际上表达了相同的含义。语义熵方法正是捕捉到了这一点,它会将这些答案聚类为同一个语义类,从而得出一个较低的熵值,更准确地反映了模型对答案含义的确定性。

这种方法的优势在于,它能够区分模型在表达方式上的变化和在实际含义上的不确定性。这就好比我们在日常交流中,可能会用不同的话来表达同一个意思,但我们的听者通常能够理解我们表达的核心含义是一致的。

2.2 语义熵的计算方法

语义熵的计算涉及以下几个关键步骤:

  1. 多样本生成: 对于给定的问题或上下文,我们首先让模型生成多个(通常是10个)可能的答案。这个过程类似于让模型"头脑风暴",产生多种可能的回答。
  2. 语义聚类: 接下来,我们需要判断这些生成的答案中哪些实际上表达了相同的含义。这是通过检查答案之间的双向蕴含关系来实现的。具体来说:








欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5