历史浪潮:从规则到神经网络的语言模型简史
1966年,麻省理工学院的一间计算机实验室里,一台庞大的机器正在运行一个名为ELIZA的程序。它由约瑟夫·魏岑鲍姆(Joseph Weizenbaum)创造,仅仅通过简单的模式匹配和脚本,就能模拟罗杰斯式心理治疗师与用户对话。当人们面对屏幕,开始向这台机器倾诉自己 deepest 的秘密与痛苦时,魏岑鲍姆震惊了:他的玩具程序竟然被当作了有同理心的倾听者。ELIZA不懂“理解”为何物,它只是在重组用户的语句。但这一刻,一个根本性问题被无可回避地抛向了世界:机器,真能理解语言吗?
这个问题如同幽灵,缠绕了自然语言处理(Natural Language Processing, NLP)整整六十年。从符号逻辑的雄心,到统计概率的务实,再到神经网络的复兴,一代又一代的研究者前赴后继,试图让机器从“处理”符号,走向“ grasp ”语义。本章将带你穿越这段波澜壮阔却又充满挫折的演进史。我们将看到,每一次范式转移都不是凭空降临的革命,而是对前一个时代困境的深刻反思与必然突破。从基于规则的脆弱系统,到统计语言模型的数据饥渴,再到神经网络的表示学习革命,每一步都在为2017年那篇划时代的《Attention Is All You Need》论文铺路。理解这些先驱者的努力与局限,我们才能 truly comprehend :Transformer为何是“水到渠成”的答案,而非横空出世的奇迹。
一、符号主义的语言梦:规则系统的辉煌与黄昏(1950s-1980s)
故事始于图灵。1950年,艾伦·图灵发表《计算机器与智能》,提出著名的“图灵测试”,将“机器能否思考”的哲学思辨,转化为一个可操作的语言交互实验。这为整个领域锚定了终极目标:让机器通过自然语言与人类 indistinguishably 交流。早期研究者充满乐观,他们相信,只要为机器赋予足够的逻辑规则和世界知识,就能实现真正的语言理解。这一时期被称为“符号主义”或“基于规则”的黄金时代。
其核心思想是:语言是一个由语法和语义规则构成的 formal 系统,理解语言即是 applying 这些规则。最具代表性的系统有两个:ELIZA与SHRDLU。
ELIZA(1966)的“成功”极具讽刺意味。它的“智能”几乎为零。以“用户说‘我感到悲伤’→ 程序回应‘你为什么感到悲伤?’”为例,其背后只是一系列“关键词- reassembly ”模式:检测到“我”+“感到”+情绪词,就套用“你为什么感到[情绪词]?”的模板。它没有记忆,没有推理,更没有情感模型。但正是这种极简,暴露了早期研究的核心幻觉:流畅的句法转换被误读为语义理解。魏岑鲍姆后来在《计算机能力与人类理性》中严厉批判了这种“AI 炒作”,警告人们勿将表面的交互等同于真正的智能。
相比之下,特里·威诺格拉德(Terry Winograd)的SHRDLU(1970-1972)则展示了符号主义在 constrained 世界中能达到的惊人高度。这个程序在一个虚拟的“积木世界”中,通过自然语言指挥一个机械臂移动、堆叠彩色积木。用户可以说:“拿一个红色的方块,放在绿色三角上面。” SHRDLU能执行,并能回答后续问题:“它现在上面有什么?” 系统内置了关于物理世界(支撑、重力)、空间关系和动作语义的详尽规则库,并能进行上下文相关的指代消解。SHRDLU的辉煌在于,它在一个 micro-world 中,实现了近乎完美的“语义理解”与推理。
然而,SHRDLU的局限也是致命的。它的世界是人为定义的、封闭的,规则全部 hand-crafted。一旦离开积木世界,进入开放域的真实语言,这套方法 immediately 崩溃。为真实世界(哪怕只是一个餐厅场景)手工编码所有常识和语言现象,是一个 combinatorially 不可能的任务。规则系统的脆弱性在于:它无法处理规则未覆盖的例外,对歧义 resolution 能力极差,且维护成本随着规则增加呈指数级增长。到了1980年代中期,基于规则的机器翻译项目(如 Georgetown-IBM 实验的后续)遭遇严重瓶颈,产出译文生硬且错误百出,无法满足实用需求。符号主义在NLP的第一次浪潮,在“常识知识瓶颈”前黯然退场。
二、统计革命:当语言成为概率游戏(1990s-2000s)
1980年代末,IBM 的彼得·布朗(Peter Brown)等人发表了一系列开创性论文,提出了基于统计的机器翻译模型。这标志着NPL范式的根本转变:从“如何用规则生成正确句子”转向“从大量数据中学习最可能的译文”。语言不再是一套必须遵守的 formal 规则,而是一个可以被概率建模的 stochastic 过程。数据,而非专家知识,成为新王。
2.1 n-gram:语言模型的朴素奠基
统计语言模型的基石是 n-gram。其核心思想简单而 powerful:一个词出现的概率,依赖于它前面的 n-1 个词。例如,在三元模型(trigram)中,$P(w_i | w_{i-2}, w_{i-1})$ 就是我们要估计的概率。给定一个词序列 $w_1, w_2, ..., w_T$,整个句子的概率被近似为: $$ P(w_1, w_2, ..., w_T) = \prod_{i=1}^{T} P(w_i | w_{i-n+1}, ..., w_{i-1}) $$
这个公式的优美之处在于,它将无限复杂的语言概率问题,分解为对有限上下文(n-1个词)的条件概率估计。而估计方法,就是 最大似然估计:$P(w_i | context) = \frac{count(context, w_i)}{count(context)}$。例如,计算“the cat sat”的概率,就需要统计语料库中“the cat”后面出现“sat”的次数除以“the cat”出现的总次数。
n-gram模型的力量直接来源于数据规模。1990年代,随着大型文本语料库(如《华尔街日报》新闻文本)的可用性,n-gram模型在语音识别和机器翻译中取得了实质性进展。它提供了评估句子“流畅度”的量化指标(困惑度,Perplexity),并能通过 beam search 在解码时选择概率最高的候选序列。
然而,n-gram的天生缺陷随着n的增大而愈发凸显: 1. 数据稀疏与零概率问题:语言组合是无限的,而任何语料库都是有限的。对于未见过的n-gram组合,其计数为零,导致整个句子概率为零。解决方案是 平滑技术(如加一平滑、Kneser-Ney平滑),它们从已见数据中“偷”一点概率给未见组合,但这只是权宜之计,且引入了偏差。 2. 无法建模长距离依赖:n的大小受限于计算和存储。即使使用5-gram(上下文4个词),也无法捕捉“主语在句首,动词在句尾”的跨数十词的关系。语言中的指代、结构依赖,对n-gram而言是 blind spot。 3. 无法捕捉语义和语法泛化:“猫追老鼠”和“狗追猫”中的“追”共享相同语义,但在n-gram中,“猫追”和“狗追”是两套完全独立的计数,模型无法学到“追”这个动作的抽象概念。
尽管如此,n-gram及其衍生模型(如隐马尔可夫模型HMM、条件随机场CRF)统治了NLP近二十年。它们将NLP从玄学式的规则争论,转变为可量化、可 engineering 的科学。但人们逐渐意识到,仅靠浅层的、局部窗口的统计,永远无法触及语言的深层结构。我们需要一种能 学习词语本质表示 的方法。这个突破,在2013年不期而至。
三、词向量革命:分布式假设的胜利(2013)
2013年,谷歌的托马斯·米科洛维(Tomas Mikolov)团队在ICLR上发表了两篇论文:《Efficient Estimation of Word Representations in Vector Space》和《Distributed Representations of Words and Phrases and their Compositionality》。它们 introduce 了Word2Vec工具包,瞬间引爆了NLP界。其核心贡献是提供了一种高效训练 词向量(Word Embedding)的方法,让每个词成为一个稠密、低维(如300维)的实数向量。
词向量的思想根源可追溯至语言学中的 分布式假设(Distributed Hypothesis):“一个词的意义由其出现的上下文决定”(You shall know a word by the company it keeps)。Word2Vec的两大模型正是这一假设的巧妙实现:
- **连续词袋模型(CBOW)**:用上下文词(如周围5个词)的向量平均来预测中心词。训练目标是让正确中心词的预测概率最大。
- **Skip-gram模型**:用中心词的向量来预测其上下文词。这是更常用的模型,尤其在处理低频词时表现更好。
训练过程在一个巨大的语料库(如谷歌新闻)上进行。经过训练后,语义相似的词,其向量在空间中的距离也更近。最著名的例子是:`vector('King') - vector('Man') + vector('Woman') ≈ vector('Queen')`。这个线性关系表明,模型学到了“性别”和“王室”这样的抽象语义维度。词向量成为之后所有深度学习NLP模型的 预训练基础,它第一次让计算机拥有了可计算的、蕴含语义的“词义”表示。
然而,Word2Vec的局限性也是 inherent 的: 1. 静态表示,无法处理一词多义:“bank”在“river bank”和“bank account”中是同一个向量,无法区分。 2. 缺乏全局语境:每个词独立训练,句子级或篇章级的语境信息被忽略。 3. 词汇表固定,无法处理未登录词(OOV)。
这些局限性呼唤着一种能 根据上下文动态生成词表示 的模型。同时,语言理解需要的不仅是词的静态知识,更是词与词在序列中如何组合、如何相互作用以形成意义的动态过程。处理序列,正是循环神经网络(RNN)及其变体的主场。
四、序列建模:RNN与LSTM的漫长跋涉(2010s初期-中期)
循环神经网络(Recurrent Neural Network, RNN)是神经网络处理序列数据的 natural 架构。其核心是“循环”结构:在每一步 $t$,网络的隐藏状态 $h_t$ 不仅取决于当前输入 $x_t$,还取决于上一步的隐藏状态 $h_{t-1}$。这理论上赋予了它无限的历史记忆,能建模任意长度的依赖。
然而,朴素的RNN在实践中遭遇了严重的 梯度消失/爆炸问题。在通过时间反向传播(BPTT)训练时,梯度需要沿着时间步连续相乘。当序列很长时,连乘效应会导致梯度指数级地趋近于零(消失)或无穷大(爆炸),使得网络无法学习长距离依赖。1997年,霍赫赖特(Sepp Hochreiter)和施米德休伯(Jürgen Schmidhuber)提出了 长短期记忆网络(Long Short-Term Memory, LSTM),引入了精巧的“门控”机制,从根本上缓解了这一问题。
LSTM:门控的记忆单元
LSTM的核心是 细胞状态(Cell State) $C_t$,它像一条贯穿整个时间线的“传送带”,信息可以在上面相对无损地流动。三个门控单元精细调节信息的流入、流出和遗忘:
- **遗忘门(Forget Gate)**:决定从 $C_{t-1}$ 中丢弃哪些信息。$f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)$
- **输入门(Input Gate)**:决定哪些新信息存入细胞状态。$i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)$,候选值 $\tilde{C}_t = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C)$
- **输出门(Output Gate)**:基于细胞状态,决定当前隐藏状态 $h_t$ 的输出。$o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o)$,$h_t = o_t * \tanh(C_t)$
这些门控由当前输入和上一隐藏状态共同决定,让LSTM能够有选择地记忆、遗忘和输出信息。例如,在句子“我小时候住在巴黎,... 我现在想去[ ]看看”中,LSTM可以在很久之后仍保持“巴黎”在细胞状态中,并在需要时通过输出门激活它,以正确填充“巴黎”。
门控循环单元(GRU)是LSTM的简化变体,将遗忘门和输入门合并为“更新门”,计算更高效,在实践中常与LSTM表现相当。
编码器-解码器与序列到序列学习
2014年,伊利亚·苏茨科弗(Ilya Sutskever)等人在《Sequence to Sequence Learning with Neural Networks》中提出了 Seq2Seq 框架,将LSTM的应用推向高峰。其结构包括一个 编码器(Encoder) 将输入序列压缩为一个固定长度的上下文向量(通常是编码器最后一个隐藏状态),以及一个 解码器(Decoder) 根据该向量逐词生成输出序列。这首次实现了端到端的神经机器翻译(NMT),在特定任务上开始超越传统的基于短语的统计机器翻译(PBMT)。
Seq2Seq+Attention的进一步结合(2015年)解决了固定长度上下文向量的瓶颈。注意力机制(Attention) 允许解码器在生成每个词时,可以“回顾”编码器所有时间步的隐藏状态,并动态计算权重,聚焦于当前最相关的输入部分。这显著提升了长序列翻译的质量,并成为后续所有基于序列模型(包括Transformer)的标配。
LSTM时代的成就与宿命
在2010年代中期,LSTM及其变体是NLP的绝对主力。它们在机器翻译、文本摘要、问答系统等任务上取得了 state-of-the-art 的结果。然而,它们背负着与生俱来的 structural 缺陷: 1. 序列计算的固有瓶颈:RNN/LSTM的本质是循环,必须按时间步依次计算,无法并行化。这使得训练长序列模型非常缓慢,成为阻碍其处理超长文档(如书籍、长对话)和 scaling up 的主要障碍。 2. 长程依赖的遗忘风险:尽管门控机制缓解了梯度消失,但信息在细胞状态中传递数十甚至上百步后,仍可能被逐渐稀释或遗忘。对于需要整合全局信息的任务(如篇章连贯性分析),LSTM依然吃力。 3. 结构深度的限制:为了增加模型容量,研究者堆叠多层LSTM。但每增加一层,梯度传播路径更长,训练难度加大。深层LSTM的训练变得不稳定。
研究者们意识到,要突破这些瓶颈,可能需要一场 架构层面的颠覆。人们开始探索:能否设计一个完全基于并行计算、能一步到位建立任意两个位置之间直接连接的模型?这个想法在2017年夏天化为现实,它就是Transformer。而在深入Transformer之前,我们必须理解,为何基于注意力(Attention)的机制会成为必然选择——它正是对n-gram局部性、RNN序列性最深刻的超越。
---
侧边栏提示(电子版专属):*在阅读下一章前,您可以思考:如果让您设计一个能并行处理序列、并直接建模任意两个词关系的模型,您的核心组件会是什么?Transformer的答案,就隐藏在这个问题的思考过程中。*
---
五、总结:演进不是断裂,而是累积
回顾这段从规则到神经网络的旅程,一条清晰的逻辑主线浮现:人类对“语言理解”的追求,始终围绕着如何更有效、更泛化地捕捉语言中的“关系”与“表示”。
- **规则系统** 试图用显式的逻辑关系(主语-谓语-宾语)来表征,但知识获取是瓶颈。
- **统计模型(n-gram)** 用局部共现概率来捕捉浅层关系,但窗口有限,且表示是离散的、稀疏的。
- **词向量(Word2Vec)** 首次给出了稠密、连续的词级表示,并证明了语义关系可编码于向量空间,但它是静态的、词位的。
- **序列模型(LSTM)** 引入了动态的、上下文相关的表示,并通过门控机制尝试管理长程关系,但受制于序列计算,难以 scaling 且仍有遗忘。
每一个时代都解决了前一个时代的部分问题,但也 inheriting 了新的、更根本的约束。这些约束,恰恰构成了下一个突破的“靶心”。Transformer正是在此背景下诞生:它彻底抛弃了循环结构,完全基于自注意力(Self-Attention) 机制,实现了并行化的序列建模,并理论上能一步建立任意距离 token 间的直接联系。它不是一个凭空而降的“外星科技”,而是统计语言模型对长程依赖的渴望、词向量对分布式表示的胜利、以及LSTM对序列动态建模的尝试,在架构层面的集大成与革命性升华。
历史浪潮奔涌不息。站在Transformer的肩膀上,我们即将看到,如何通过预训练-微调范式(如GPT、BERT)和人类反馈强化学习(RLHF),将语言模型从“ next-word predictor ”推向“对齐人类意图的对话伙伴”。而这一切的起点,正是那些在ELIZA的简单回应、n-gram的稀疏计数、LSTM的门控向量中,永不熄灭的、对语言奥秘的探索之光。
历史浪潮:从规则到神经网络的语言模型简史
一、符号主义的语言梦:规则系统的辉煌与黄昏(1950s-1980s)
故事始于图灵。1950年,艾伦·图灵发表《计算机器与智能》,提出著名的“图灵测试”,将“机器能否思考”的哲学思辨,转化为一个可操作的语言交互实验。这为整个领域锚定了终极目标:让机器通过自然语言与人类无差别地交流。早期研究者充满乐观,他们相信,只要为机器赋予足够的逻辑规则和世界知识,就能实现真正的语言理解。这一时期被称为“符号主义”或“基于规则”的黄金时代。
其核心思想是:语言是一个由语法和语义规则构成的形式系统,理解语言即是应用这些规则。最具代表性的系统有两个:ELIZA与SHRDLU。
ELIZA(1966)的“成功”极具讽刺意味。它的“智能”几乎为零。以“用户说‘我感到悲伤’→ 程序回应‘你为什么感到悲伤?’”为例,其背后只是一系列“关键词-重排”模式:检测到“我”+“感到”+情绪词,就套用“你为什么感到[情绪词]?”的模板。它没有记忆,没有推理,更没有情感模型。但正是这种极简,暴露了早期研究的核心幻觉:流畅的句法转换被误读为语义理解。魏岑鲍姆后来在《计算机能力与人类理性》中严厉批判了这种“AI 炒作”,警告人们勿将表面的交互等同于真正的智能。
相比之下,特里·威诺格拉德(Terry Winograd)的SHRDLU(1970-1972)则展示了符号主义在受限世界中能达到的惊人高度。这个程序在一个虚拟的“积木世界”中,通过自然语言指挥一个机械臂移动、堆叠彩色积木。用户可以说:“拿一个红色的方块,放在绿色三角上