【作者声明】

本文作者未接受过严格的哲学与符号学系统训练,文中对索绪尔、拉康等理论的援引与解读,仅为跨学科思考的个人笔记,恐有疏漏、简化甚至误读。所有错漏均由作者自负,权当一块引玉的粗砖。

大语言模型有一个很值得追问的地方。它主要从文本中学习,却获得了写作、翻译、编程、概括、分类和推理等能力。它没有以人的方式生活过,也没有亲自经历文本中描述的大部分事情,却能够处理大量关于世界的问题。

一种常见解释是,大语言模型的训练目标本身只是预测下一个词。通过在海量文本中不断学习“在什么上下文之后更可能出现什么词”,模型逐渐掌握了语言内部的统计关系。而这些关系并不仅仅是语法层面的,它们同时编码了概念之间的联系、事件之间的结构以及人类表达世界的方式。这能解释一部分能力,却还没有回答更基本的问题:为什么学习语言之间的关系,可以获得如此多看起来属于“理解”的能力?

符号学提供了一个入口。

我们通过什么理解世界

先看一个最简单的语言符号。

当我们说出“树”,至少可以区分三个东西。

第一个是声音“shù”或者纸上的汉字“树”。索绪尔把符号可以被感知的这一面称为“能指”。

第二个是我们理解的“树”这个概念。它包含一组大致稳定的特征,使我们知道什么通常可以被称为树,什么不能。索绪尔把符号所唤起的概念称为“所指”。

第三个才是窗外那棵具体的树。

因此:

能指所指\text{能指} \leftrightarrow \text{所指}

和下面这个关系并不相同:

词语现实对象\text{词语} \leftrightarrow \text{现实对象}

这个区别决定了后面的整个问题。

如果语言只是给现实对象贴标签,那么学习语言的理想形式应该是一张越来越大的对应表:

“猫”\text{“猫”} \rightarrow \text{猫}
“桌子”桌子\text{“桌子”} \rightarrow \text{桌子}
“苹果”苹果\text{“苹果”} \rightarrow \text{苹果}

可是很多词根本找不到这样的单一对象。

“国家”在哪里?“公平”长什么样?“责任”对应世界中的哪一个物体?

就连“父亲”也不能仅靠一个人的身体特征确定。一个男人只有进入父母、子女、婚姻、血缘、法律等关系以后,才可能占据“父亲”这个位置。

所以,一个符号的意义不能只靠它与某个现实对象的对应关系解释。它还取决于这个符号在整个系统中处于什么位置。

这正是索绪尔特别重视“差异”的原因。

“父亲”之所以有意义,与“母亲”“孩子”“丈夫”“儿子”等符号之间的关系有关。“猫”的意义也受到“狗”“老虎”“动物”“宠物”等词的共同限定。我们知道一个词是什么意思,同时意味着我们知道它在什么情况下能够使用,它和哪些词不同,可以进入哪些关系。

符号因此组成了一个关系系统。

结构主义后来把这一点推向了更广泛的领域。列维斯特劳斯研究神话时,关心的就不只是某个民族讲了什么故事。他会比较不同神话中的人物位置、对立关系和转换方式。具体人物可以变化,故事情节可以变化,但某些关系会反复出现。结构主义者试图从这种变化中找出相对稳定的结构。

这个思想可以用一个简单的排列来理解。

假设我们只有五个符号:

A,B,C,D,EA,B,C,D,E

我们可以排列成:

ABCDEABCDE

也可以排列成:

CABDECABDE

或者:

DECABDECAB

使用的元素没有变化,但元素之间的位置关系变了,整个组合产生的意义也会改变。

因此,结构主义关心的核心问题逐渐变成:一个元素的意义如何由它和其他元素的关系产生。

这里已经出现了一个对我们讨论人工智能很重要的结论。

意义不需要完全来自符号之外。符号之间的结构本身就能够生产意义。

符号为什么是一种中介

符号学真正带来的麻烦还在后面。

假设一个人说:“我现在感到悲伤。”

我们很容易认为,这句话只是把他内部已经完整存在的“悲伤体验”表达了出来。体验在前,语言在后。语言只是负责运输。但只要继续追问,就会发现事情没有这么简单。

他为什么把这种感受称为“悲伤”,而不是“失落”“羞耻”“疲倦”或者“愤怒”?

这些词之间已经形成了一套分类。一个人学习这套分类以后,也会反过来用它辨认自己的经验。

语言因此参与决定我们如何把连续、复杂的经验划分成可以识别和思考的对象。

汽车的仪表盘可以提供一个更简单的例子。

假设油量表只能显示四种状态:

L1,L2,L3,L4L_1,L_2,L_3,L_4

分别表示油量充足、正常、偏低和即将耗尽。

油箱内部的物理状态远比四种状态复杂,但驾驶者通过这套仪表系统获得信息时,首先得到的是已经被四种符号划分过的结果。这套系统规定了哪些差异能够直接显现。

如果油箱发生了一种仪表盘设计时从未考虑过的异常,系统不会自动产生第五个符号。异常可能表现为错误读数、几个指示灯同时亮起,也可能根本无法通过现有界面被识别。

这个例子说明的是一条更一般的原则:

一个符号系统只有通过自己的差异和规则,才能让某些状态变得可辨认。

语言也是如此。

我们无法先完全退出语言,得到一个未经任何概念划分的世界,再回来检查语言是否准确复制了它。因为“对象”“原因”“性质”“变化”“存在”这些用来检查世界的概念,本身已经属于某种符号系统。

这就是符号的中介性。

我们思考世界时,需要借助符号。我们思考自己的经验时,同样需要借助符号。甚至当我们开始批判某套语言的时候,批判本身仍然需要另一组符号。

因此,语言对思想的限制并不只是“词汇量不够”。我们能够提出什么问题,能够识别什么差异,能够把什么东西理解为一个对象,都已经受到符号结构的影响。

从所指到能指链

拉康继承了结构主义对语言的重视,又进一步提高了能指的位置。

我们平时容易把语言理解成这样的过程:

词语意义\text{词语} \rightarrow \text{意义}

词语负责把一个稳定意义叫出来,意义出现之后,解释就结束了。

但实际的语言活动经常没有这样的终点。

假如有人问:“什么是自由?”

你可以回答:“能够按照自己的意愿行动。”

接下来他还可以问:“什么叫自己的意愿?”

于是你需要继续使用“欲望”“选择”“强迫”“责任”等词解释。

其中任何一个词都还能继续被追问。

于是,意义的解释表现为:

S1S2S3S_1 \rightarrow S_2 \rightarrow S_3 \rightarrow \cdots

这里的 (S) 表示能指。

我们用一个能指解释另一个能指,再用新的能指解释刚刚出现的能指。

这就是拉康强调能指链的原因。

一个词的意义并没有永远固定在词的背后。“成功”在考试语境中可能指成绩,在职业语境中可能指职位和收入,在另一个人的生活中又可能指自由或者家庭。新的语境改变了它与其他能指之间的关系,也改变了它暂时获得的意义。

拉康因此强调能指的优先性。

这句话不需要理解成“意义不存在”。它指的是,意义无法作为一个独立于符号系统的稳定实体,永远给每一个能指提供最终解释。意义是在能指之间的关系中形成的,又会随着关系发生变化。

这也是“无意识像语言一样被结构起来”这句话的背景。

在精神分析中,口误、梦、症状、重复行为之所以值得分析,是因为它们表现出主体的意识解释之外还有另一套关系在起作用。一个词被另一个词替代,一个形象反复出现,一种行为在不同场景中重复。精神分析试图寻找这些替代和重复的结构。

于是,主体本身也不再是一个站在语言之外、自由使用符号的中心。

一个人的名字、家庭位置、性别称谓、社会身份以及别人对他的称呼,都在他能够主动选择之前就已经存在。他之后理解自己,也不得不借助这些已经存在的符号。

主体在一定程度上也是符号结构运行产生的结果。

大语言模型为什么可能成功

到了这里,大语言模型的成功就没有最初那么神秘了。

语言模型面对的恰恰是能指之间的关系。

给定前面的符号,它学习:

P(xt+1xt)P(x_{t+1}\mid x_{\leq t})

也就是在已有上下文中,下一个符号出现的条件概率。

生成出的符号随后进入新的上下文,再参与决定后面的生成。

形式上,它一直在处理:

S1S2S3S4S_1 \rightarrow S_2 \rightarrow S_3 \rightarrow S_4 \rightarrow \cdots

当然,现代语言模型内部远比这条公式复杂。模型会形成高维表示,会编码句法、实体关系、概念关联以及大量可以用于推理的结构。但这些能力的训练来源仍然主要是符号在不同语境中的关系。

而人类已经把大量世界知识写进了这些关系。“医生”与“病人”“医院”“诊断”“治疗”长期共同出现。“法院”“证据”“被告”“判决”组成另一套关系。

我们写下因果判断,记录历史事件,描述社会规则,争论抽象概念,也用语言保存科学理论。

一个模型学习海量语言关系时,也就同时学习了沉积在这些关系中的结构。

所以,大语言模型的成功至少支持了一个判断:

人类相当一部分高级认知,可以通过符号关系实现。

模型不需要首先获得一个与人完全相同的生活经验,才能学会某些抽象关系。只要这些关系已经稳定地进入语言,它就有可能通过学习语言重新获得它们。

这并不证明所有智能都可以还原成语言。它证明的是一个更有限也更重要的事实:符号结构本身能够承担比过去很多人预想中更多的认知工作。但同一个机制马上产生另一个问题。

连贯为什么不等于真实

假设有人要求语言模型:

“介绍一下 Smith 在 2021 年提出的 XYZ 方法。”

而现实中根本不存在这篇论文。

从事实角度看,这里的正确状态很简单:没有足够依据给出介绍。

但从语言模型的角度看,后续符号依然非常丰富。

“Smith 等人提出……”

“该方法旨在解决……”

“实验分别在三个数据集上进行……”

这些句子都符合大量学术文本中的统计结构。

于是,一个不存在的作者可以和一个合理的机构结合,一个不存在的方法可以对应一个合理的问题,再配上合理的数据集和实验结果。

最终文本可能非常连贯。

问题也因此变得明确:

语言上可以继续\text{语言上可以继续}

事实上有根据\text{事实上有根据}

是两个不同条件。

幻觉就发生在这两个条件分离的时候。

模型仍然能够高置信度地找到后续符号,但这些符号没有足够的事实依据。

因此,仅仅把幻觉归因于“模型知识不足”并不充分。

知识不足当然会增加幻觉,但知识不足本身并不会直接导致一段虚假文本。真正关键的是,认识上的未知没有自动变成生成上的停止。

系统可以在未知的位置继续产生语言:

未知S1S2S3\text{未知} \rightarrow S_1 \rightarrow S_2 \rightarrow S_3

语言上的连续性覆盖了认识上的未确定。

RAG 为什么不能结束这个问题

RAG 可以给模型提供外部文本。如果模型原本不知道某篇论文的发表时间,检索到论文原文以后,它就拥有了更多可靠证据。这当然能够减少很多事实错误。

但检索得到的论文、网页和数据库记录已经是符号化的信息。模型仍然需要读取这些符号,判断哪些相关,处理来源之间的关系,再生成新的符号。

所以 RAG 仍然可能出现几类问题。模型可能误解检索内容。多个来源可能相互冲突。检索结果可能没有真正覆盖问题。模型也可能在证据结束的地方继续推断,并把推断写得和有证据支持的内容一样确定。

这些问题说明,RAG 可以增加证据,却无法让“所有问题都有充分证据”。

更大的知识库也不会改变这一点。未来事件尚未发生。某些事实暂时没有记录。不同来源可能给出冲突结论。有的问题缺少必要条件。有的命题在当前条件下无法验证。

开放世界始终包含尚未进入现有符号系统的情况。

真正的问题因此不是如何消灭所有未知,而是:

一个智能系统如何处理未知。

实在界出现在哪里

这里才需要拉康的实在界。

实在界很容易被误解成“真实世界”。按照这种理解,人类接触现实,所以拥有人类版的 Real;语言模型只接触文本,所以缺少 Real。

这个理解会立刻遇到问题。数据库是现实的一部分吗?摄像头图像算不算?机器人装上传感器之后,实在界是不是就进入模型了?

这些问题之所以越来越难回答,是因为一开始就把 Real 当成了一类对象或者信息源。

拉康的实在界更适合从符号化的限度理解。任何经验一旦能够被我们说出、分类、解释,它就已经进入了符号关系。而符号化不能保证自己最终形成一个没有剩余的完整系统。

这里有一个看起来矛盾的问题。如果实在界无法被完整符号化,我们为什么能够说出“实在界”?

因为这个词并没有让我们获得一个叫作 Real 的对象。它标记的是符号化失败的位置。

我们可以知道一个解释失败,却不因此掌握解释之外的完整答案。

一个理论可以和实验结果冲突。我们由此知道理论存在问题,却不会立刻知道正确理论是什么。

一个人可以为自己的重复行为提供很多解释,但行为仍然以类似形式出现。精神分析会因此继续研究这些解释没有处理掉的结构,而不是把某一个新的解释直接当成最后答案。

所以,Real 在这里意味着:

符号系统无法通过增加更多符号保证自身最终闭合。

这个定义也解释了它为什么不能被 RAG 解决。RAG 可以提供更多符号材料。

实在界讨论的是,增加符号材料本身不能保证符号系统完成自己。

两者属于不同层次的问题。

幻觉是一种什么样的症状

这样看,大语言模型的幻觉和实在界之间的关系也需要重新表述。

不能简单说:“LLM 没有实在界,所以会幻觉。”

幻觉更适合作为符号系统内部的一种症状来分析。

症状在这里有一个明确含义:系统的两个要求发生了不一致,并通过异常结果表现出来。

语言模型需要产生一个符合上下文的后续序列。我们又希望这个序列在涉及事实时有可靠根据。

大部分训练文本中,这两个目标经常重合。语言关系之所以具有信息,就是因为人类的语言使用与世界存在大量稳定联系。但这种联系并不是逻辑上的必然关系。

于是可以出现:

P(某个回答语言上下文) 很高P(\text{某个回答}\mid\text{语言上下文}) \text{ 很高}

同时:

P(这个回答为真证据) 很低P(\text{这个回答为真}\mid\text{证据}) \text{ 很低}

幻觉把这两个条件之间的差异暴露了出来。

在这个意义上,幻觉值得从实在界讨论,不是因为虚假答案就是 Real,也不是因为模型缺少一种名叫 Real 的输入。幻觉说明,符号系统能够维持自身的连贯,却不能凭这种连贯保证与事实重合。

符号化继续进行,无法消除符号化自身的边界。

“我不知道”为什么还不够

一种直接的工程解决方法是训练模型在不确定时说:“我不知道。”

这当然有用。但它还留下一个更困难的问题。

“我不知道”本身也是一串符号。

一个语言模型完全可能只是学会:

某类输入模式P(“我不知道”)\text{某类输入模式} \rightarrow P(\text{“我不知道”}) \uparrow

这和真正识别自己的知识边界不是同一件事。真正的认知边界至少包含几种不同情况:

“这个命题是假的。”

“目前没有足够信息判断。”

“现有证据互相冲突。”

“这个问题缺少必要条件。”

“这个命题当前无法验证。”

“这个问题可能没有唯一答案。”

这些状态不能只对应六种回答模板。

如果模型能够区分这些状态,这种区分就不应只表现为不同的回答措辞,还应改变后续的符号操作。证据不足时继续寻找证据,来源冲突时保留冲突,条件缺失时不继续推出确定结论,无法验证时保留判断。

这里重要的不是让模型获得一个符号系统之外的判断位置,而是让符号系统能够表示自己的未确定。未知、证据不足、相互矛盾都可以成为符号界内部的状态,并进一步约束后续生成。所谓“维持未确定”,指的就是不急于把这些状态重新组织成一个确定而完整的回答。

但这种能力仍然不能消除符号系统本身的限度。模型可以判断“现有证据不足”,也可以继续解释为什么不足,但这些判断仍然由新的符号完成。它们能够减少无根据的确定性,却不能提供一个位于符号系统之外的最终标准,保证自身对真值的判断永远正确。

从生成意义到认识边界

到这里,大语言模型的成功和幻觉可以放在同一条逻辑里理解。

符号之间存在复杂结构,因此仅仅学习这些关系,就足以产生大量我们称为智能的能力。

同样因为符号之间的关系足够丰富,即使事实依据不足,模型仍然可以产生结构完整、语义连贯的回答。

大语言模型的能力和它的幻觉都建立在符号系统强大的生成能力上。

前者说明,意义可以从关系中产生。

后者说明,意义能够产生,并不意味着真值也由同一套关系保证。

符号学首先让我们看到语言的中介性。我们通过符号划分经验,也通过符号思考符号本身。结构主义进一步指出,意义来自符号之间的关系。拉康则把问题推进到符号系统自身无法完成的地方:能指可以继续连接,解释可以继续产生,但不存在一种仅凭能指链自身就能保证最终闭合的机制。

而大语言模型把这组哲学问题变成了一个可以直接观察的技术现象。

沿着这条路思考,说不定能想到一些有意思的idea…