论文:From "Hallucination" to "Suture": Insights from Language Philosophy to Enhance Large Language Models
0. 论文总体在讲什么?
-
这篇论文运用拉康(Lacan)的语言哲学和精神分析理论来分析大模型中出现的“幻觉”现象,并提出了一个叫做 Anchor-RAG 的新框架,试图从根本上缓解或减少模型胡编乱造(hallucination)的情况。
“答错”通常是指模型输出与事实答案不符,但幻觉特指一种“看似有理有据却是捏造”的现象;它可能自造细节或声称某东西在外部世界是真实的。
作者想强调它和“人类幻觉”或语言错乱有结构上的相似之处,尤其从语言哲学和精神分析的角度看,都是在“意义”与“符号”之间产生了漂移或误对接。
1. 问:文中经常提到拉康(Lacan)以及“语言哲学”和“精神分析”,这和LLM之间有何关联?
作者认为拉康的理论里有几个关键概念,能帮助我们理解模型产生幻觉的深层结构:
- 链条般的能指:句子中的词或符号不断彼此关联,形成一条“能指链”。意思(所指)并不固定,而是跟着“符号”的排列和上下文滑动。
-
“绗缝点”或“锚点”:这是让流动的意义临时固定下来的关键词或关键位置,如果这些关键锚点错了或缺失,就会造成理解或生成混乱。
-
因为LLM在生成时也会经历从一个词到下一个词的概率链式推断,如果缺失了正确的“锚”,就更容易“漫无边际”地飘出错误信息。
简言之,作者把拉康对人类语言的分析映射到LLM的生成流程里去看:当模型没有合适的“锚点”绑定到现实或正确的知识,就容易幻觉。
拉康认为,这些“描点”就是把意义固定住的临时“缝合点”,如果句子里没有这些点,含义就会一直漂移,不断衍生新的解释。
对应LLM,若在生成时没有用好外部知识或上下文来固定关键部分,就很可能各说各话,甚至无中生有。
-
对应到模型中,这些点就是那些必须查证或检索的关键信息,比如数字、日期、专有名词等。只要这些点一旦搞错,就会导致后面整段回答都偏离事实。
2. 问:论文提出的“Anchor-RAG”是什么框架?它的核心思路是什么?
“Anchor-RAG”是一种带有“锚定机制”的检索增强生成框架。
在 RAG 基础上做了一个“找锚点”的步骤:把输入句子里最需要查证、最可能出错或最不确定的一些位置找出来,用这些位置去检索最精确的外部资料,进而把这些检索结果强行锚定到模型的回答中,减少胡编乱造。
在传统RAG中,模型直接对整个问题统一检索,缺少对“具体token”的精细化定位
而 Anchor-RAG 强调“找重点(高不确定或易错部分)再检索”,能更精准地拿到那些最需要的证据。
把语言模型潜在最不确定的“锚点”先行检索,来“缝合”意义,避免幻觉。
此外,它也会根据不确定性来筛选或更新锚点,形成多轮的改进过程。
实际上也给模型提供了一种“自我检查”的能力:先看看自己对某些词很模糊,然后再去查证再回答。
Anchor-RAG【整体解法】
├── 子解法1:锚点识别 (Anchor Identification)
│ ├── 特征:捕捉高熵Token,以识别出“锚点”。
│ ├── 步骤:Mask输入 -> LLM预测 -> 计算信息熵 -> 标记锚点
│ └── (输出:锚点列表)
├── 子解法2:检索强化 (Contextual Retrieval)
│ ├── 特征:用锚点做检索Query,获取高相关外部文档,减少“瞎猜”。
│ ├── 步骤:用锚点向量检索 -> 计算相似度 -> 获取文档
│ └── (输出:关键文档或段落)
└── 子解法3:受控生成 (Controlled Generation)
├── 特征:对锚点处强约束,必须引用检索到的上下文。
├── 步骤:将检索文档与原输入融合 -> 解码时对锚点词约束
└── (输出:最终答案,幻觉率显著下降)
3. 问:在操作层面上,Anchor-RAG如何找到这些“锚点”呢?论文中提到了“mask”或“熵计算”等概念,能解释一下吗?
大致流程如下:
- 输入分析 & Mask:对输入的句子或问题,有选择地把某些词(尤其是模型不确定或容易出错的词)mask掉,然后让模型去预测这些被遮盖的词。
- 熵(Entropy)或Top-K不确定性:如果模型在某些词位置上预测分布非常分散、熵值高,就说明它对这些词很不确定,也可能是潜在的“锚点”。
- 检索:针对这些高不确定位置,去外部知识库或向量搜索引擎里检索,获取最相关的文档片段或证据。
- 生成:将检索到的内容与原始上下文一起送回语言模型,这样模型在回答时会以检索到的内容为依据,强化对锚点部分的正确性,从而减少幻觉。
├── 1 输入:用户查询 (X)【外部输入】
│ ├── 可能包含歧义或不完整信息【问题来源】
│ └── 需要LLM结合外部知识做准确回答【需求目标】
|
├── 2 预处理:低价值词过滤【输入清洗】
│ ├── 采用停用词表或规则筛选【技术手段】
│ └── 减轻后续计算负担,提高检索效率【目的】
|
├── 3 锚点识别【核心环节1:Anchor Identification】
│ ├── 对输入进行“掩码”(Mask)处理【方法1】
│ │ └── 将疑似高信息量的词或短语临时遮蔽【操作】
│ ├── LLM对掩码处进行top-k预测【方法2】
│ │ └── 统计预测结果的多样性和信息熵【度量】
│ └── 找出高方差tokens并标记为“锚点”【输出】
│ └── 这些锚点可视为“quilting points”以稳固意义【与拉康理论呼应】
|
├── 4 语境检索【核心环节2:Contextual Retrieval】
│ ├── 利用锚点作为检索query【衔接上一步】
│ ├── 通过向量检索(FAISS)或Dense Passage Retrieval (DPR)【检索技术】
│ │ └── 计算余弦相似度或点积相似度【实现方式】
│ └── 从外部知识库中获取与锚点相关的文档/片段【输出丰富上下文】
│ └── 减少LLM在“锚点”上的不确定性【降低幻觉】
|
├── 5 受控生成【核心环节3:Controlled Generation】
│ ├── 将“检索到的文档”与“原始输入”结合【融合上下文】
│ ├── 利用LLM进行生成推断【生成模型】
│ │ ├── 常用最大似然(ML)或Beam Search等解码策略【算法】
│ │ └── 或根据应用场景选择采样策略(Top-p/Top-k)【灵活配置】
│ └── 在锚点处严格参照检索内容【控制要点】
│ └── 避免生成与外部知识冲突的内容【减少幻觉】
|
├── 6 输出:最终回答【结果呈现】
│ ├── 回复用户问题,并提供合理且有据可依的解释【直接产出】
│ └── 相比传统RAG,更低的幻觉率、更高的准确度【性能收益】
|
└── 7 迭代优化【持续改进】
├── 根据反馈对锚点识别和检索策略进行微调【闭环学习】
├── 可进行小规模监督微调(SFT)或人类反馈强化学习(HFRL)【模型调优】
└── 达到更加稳健、可解释的生成效果【最终目标】
4. 问:如果我想用比较通俗的话总结本文的创新点,怎么说?
现有方法多集中于增加参数规模、数据规模或做反复调参,却未真正从语言学与认知根源分析 “为什么会出现幻觉”。
-
他们从语言哲学(拉康)切入,剖析了大语言模型“幻觉”的深层原理;
-
提出了“Anchor-RAG”,在RAG流程里显式地找“不确定锚点”再检索,给生成过程“打地基”;
-
判别条件是“模型对某词预测分布的熵值”或“Top-K预测的方差”等,用来决定该token是否存在大概率出现编造的风险。
-
这样能让LLM更加可控、减少胡编乱造,并呼吁学界不要只在“模型调参”里打转,而要回归语言本身的理论。
幻觉发生的根源在于“LLM对核心多义词的无控制自由联想”,而 Anchor-RAG 之所以能有效,是因为它将这些高熵、多义词“锚定”在真实文档之上,防止错误扩散。
5. 关于多跳推理与锚点数目
对于多跳问答(如HotpotQA),是否可能一次检索不够,需要不断“发现新锚点—检索”多次迭代?论文有没有讨论多轮检索策略?
作者在论文中确实提及Anchor-RAG可迭代进行,即先识别一批高熵token检索,再更新上下文后再次识别新锚点。
但是由于文章篇幅限制,具体多轮检索的实验细节并未在文中全面展开,后续版本或独立论文会深入探讨多轮、多跳场景。
数据来源
从论文中可知,作者提到使用了 6 大数据集(NQ, TriviaQA, HotpotQA, 2Wiki, PopQA, WebQA)做评估,每个都具有一定规模。
虽然文中没有列出所有数据量的确切数字,但这些数据集的典型规模大致如下(基于公开资料或常识):
- Natural Questions (NQ)
约 300k 条问答(以真实搜索问题为主)
- TriviaQA
约 650k 条问答(偏冷知识/琐事)
- HotpotQA
约 113k 条问答(多跳推理)
- 2Wiki
约 10k~12k 条问答(跨两个 Wiki 条目进行推理)
- PopQA
规模不算非常大,但主要聚焦常见的流行问答
- WebQA
针对网络环境开放域问答的数据集
为什么 LLM 会出现幻觉?
- 因为在生成回答时,模型可能对多义、高熵词语无所依托,缺乏外部真实信息约束,随意联想。
为什么对多义、高熵词语缺乏约束会导致幻觉?
- 因为LLM内部“能指链”可以无限延伸,没有固定的“锚点”来固定含义,导致输出与事实不符。
为什么LLM不能自动固定高熵词的含义?
- 现有RAG方法只检索整篇文档给LLM参考,但并未针对“最关键的多义词”进行精确控制,导致检索与生成环节存在脱节。
为什么需要针对“关键多义词”做精确控制?
- 如果只进行笼统的检索,LLM对核心概念理解不深;只有针对这些多义词进行重点检索并在生成时强约束,才能显著减少瞎编情况。
为什么强约束+检索就能有效解决幻觉?
强约束保证LLM在关键点上“只能”参考准确内容,而不会再次自由联想;检索则提供了足够的真实信息来源。这两个机制共同作用,使幻觉大幅降低。
得到的根本原因
:幻觉发生的根源在于“LLM对核心多义词的无控制自由联想”,而 Anchor-RAG 之所以能有效,是因为它将这些高熵、多义词“锚定”在真实文档之上,防止错误扩散。
针对多义高风险领域
在医学、法务、金融等领域,往往有些术语极其重要,一旦出错后果严重。
Anchor-RAG可对这类“要害词”做精准检索,对减少谬误更加有效。