机器学习|大模型为什么会出现"幻觉"?

最近 OpenAI 发表了一篇文章《Why Language Models Hallucinate》,解释为什么会出现 "幻觉",周末我读了一下,总结这篇文章。

什么是"幻觉"?

幻觉是语言模型生成了似是而非的答案,即使很简单的问题,但是模型可能给出一些不符合事实的答案,比如:

css 复制代码
问题:请用一句话回复,其中第三个词是 "dog"
回答:I have a dog. 词列表:I, have, dog, a. 

以上就是一个 "幻觉" 错误,dog 并不是第三个词。

幻觉分类:

  • 内在幻觉(Intrinsic Hallucinations):生成的内容与输入的源信息冲突,类似上面的这个问题。
  • 外在幻觉(Extrinsic Hallucinations):生成了与源信息无关的内容,大部分情况是没有原始事实,会导致大模型开始 "胡说八道"。

为什么会出现 "幻觉"?

错误的奖励机制

"幻觉" 出现的一个原因源于目前的评估方法所设的错误奖励机制。

想像一下我们在做选择题的时候,对于不知道答案的情况下,我们会怎么选择?我们直接回答不知道,还是猜测一个答案?

大家应该更倾向猜测一个答案,毕竟有一定的概率猜中答案,这样就能获得分数,如果留空则没有奖励分数。

同样,如果只以准确度(即完全答对问题的百分比)来为模型评分,那就会鼓励模型猜测,而不是说"我不知道"。

所以根本原因是模型在训练过程中,并没有将弃权作为评估模型的一个指标,而是根据准确度来排列模型的先后次序。

以上是大模型幻觉率的排行榜,可以看到 "幻觉" 并不是模型越大,"幻觉" 就越低,而是和本身的模型评分标准相关。

尽管知道错误的奖励机制会导致 "幻觉" 的出现,但衡量准确度的评分机制仍在排行榜和模型资料卡上占据主导地位,促使开发人员建立倾向猜测而非选择不作答的模型,这样就进一步加剧模型更加自信的提供错误答案。

预训练数据和微调问题

"幻觉" 出现的另一个原因就是预训练本身就是概率预测下一个词,这里必然存在一定概率出现非事实回答,这个时候有人可能会说:为啥拼写和符号等问题不会错?

这个是由于某些事实的数据量小,或者事实没有规律可言的情况下,模型只能按照概率选择下一个词,导致开始 "胡说八道",所以模型的学习目标(最小化交叉熵损失进行概率密度估计)在统计上必然会导致其生成错误。

同时,Gekhman等人在研究中讨论了一个问题:用新知识进行LLM微调是否会促使幻觉现象的发生。

发现 LLM 学习带有新知识的样本,要比学习与模型预先存在的知识样本,学得更慢,一旦学习了这些带有新知识的样本,模型产生幻觉的倾向就会增加。

如何减少 "幻觉"?

基于如上两个出现的原因,其对应方案如下。

完善的评分准则

对于模型训练过程中相对于表示不确定答案,向自信的错误答案施予更严重的惩罚,并对表示不确定的答案给予部分分数。

论文中认为只针对表示不确定的答案增设若干新测试尚不足够,更有必要更新以准确度为基础的热门评估机制,借此令评分标准不再鼓励猜测。

假如主要的评分机制持续奖励侥幸猜测,模型就会持续学习猜想答案,修定评分机制更有助扩大幻觉减少技术的采纳范围。

提升训练数据质量或者引入外部数据

分布偏移:当测试或用户提问的分布与训练数据分布不同时(OOD),模型更易出错。

垃圾进,垃圾出:训练数据本身包含的错误、半真半假的信息和偏见,会被模型学习并复制。

所以高质量的训练数据对于模型是非常重要的,对于模型不了解的知识,应选择类似 RAG 等外部数据源,补充一些事实的缺失问题。

参考

(1)zhuanlan.zhihu.com/p/721611756

(2)openai.com/zh-Hant-HK/...

相关推荐
向量引擎6 分钟前
向量引擎接入 GPT Image 2 和 deepseek v4:一个 api key 把热门模型串起来,开发者终于不用深夜修接口了
人工智能·gpt·计算机视觉·aigc·api·ai编程·key
努力努力再努力FFF17 分钟前
医生对AI辅助诊断感兴趣,作为临床人员该怎么了解和学习?
人工智能·学习
AI医影跨模态组学30 分钟前
如何将纵向MRI深度学习特征与局部晚期直肠癌新辅助放化疗后的免疫微环境建立关联,并解释其对pCR及预后的机制
人工智能·深度学习·论文·医学·医学影像·影像组学
Empty-Filled31 分钟前
AI生成测试用例功能怎么测:一个完整实战案例
网络·人工智能·测试用例
eastyuxiao32 分钟前
设计一个基于 OpenClaw 的 AI 智能体来辅助交易
人工智能
波动几何1 小时前
因果动力学架构技能cda
人工智能
Lucas_coding1 小时前
【Claude Code Router】 Claude Code 兼容 OpenAI 格式 API, Claude code 接入本地部署模型
人工智能·python
jinanwuhuaguo1 小时前
(第二十七篇)OpenClaw四月的演化风暴:OpenClaw 2026年4月全版本更新的文明级解读
大数据·人工智能·架构·kotlin·openclaw
测试员周周1 小时前
【AI测试系统】第5篇:从 Archon 看 AI 工程化落地:为什么"确定性编排+AI 弹性智能"是终局?
人工智能·python·测试
RxGc1 小时前
微软AI Agent框架深度测评:Microsoft Agent Framework 1.0 vs OpenClaw/Claude企业级能力对比
人工智能·agent