人类的心智是如何处理时间的?这个问题看似简单,却又无比复杂。我们所做的许多事情——从理解一段旋律、接住一个球到进行一次对话——都依赖于随着时间推移处理事件序列的能力。

语言尤其如此,它就像一条信息之河在时间中流动。一个句子的含义不仅取决于词语本身,还取决于它们的顺序。**“狗咬人”是平常新闻;“人咬狗”**就是头条新闻。

对于早期的人工智能与神经网络研究者来说,这个序列顺序问题是一个重大障碍。大多数模型被设计用来处理静态数据 (例如一张图片) 并对其分类。然而,你该如何赋予一个网络历史感?它怎样才能理解当前看到的内容与刚才看到的内容是相互关联的?

早期一个常见的“取巧”方法是将时间表示为空间。比如,把一部电影的每一帧并排铺开,再试图一次性通过观看这幅巨大的马赛克来理解剧情。这种“空间表示”在短的、固定长度的序列中或许可行,但笨拙又脆弱: 它需要庞大的输入层,无法处理可变长度的序列 (如句子) ,也难以识别只是时间上平移了的同类模式。

1990年,Jeffrey L. ElmanCognitive Science 杂志发表了一篇里程碑式论文,题为 Finding Structure in Time (在时间中寻找结构) 。他通过一个极其简单的架构改动,为标准神经网络赋予了某种形式的记忆。这种网络——如今被称为简单循环网络 (Simple Recurrent Network,SRN)Elman 网络——不仅能处理序列,还能发现其中隐藏的结构。仅仅通过学习预测句子中的下一个词,Elman 的网络便自学了语法的基本构件,从零开始发现了“名词”“动词”等概念。

本文将带你深入探索这一经典工作。我们将解析 SRN 背后的精巧思想,回顾 Elman 为测试其极限而设计的一系列聪明实验,并揭示这项研究如何为当今主导性的序列模型——如 LSTM 和 Transformer——奠定了基础。


一个有记忆的网络

在 Elman 之前,已有研究者在探索循环结构。1986年,Michael Jordan 提出了一个网络架构,将网络的输出在下一时间步反馈到一组特定的“状态单元”中。

Jordan 网络架构图,展示了输入层、隐藏层和输出层,以及一个从输出层到一组状态单元的反馈回路,这组状态单元也馈入隐藏层。

图 1: Jordan (1986) 提出的架构。某一时间步的输出被用作下一时间步的上下文。这是 Elman 模型的重要前身。

这种反馈使得网络的下一步动作能够受到先前动作的影响——对于如运动控制这样的任务,这是关键的一步。

Elman 对这一思想做了一个微妙而深刻的改变: 他反馈的不是网络的*输出 (即显性的动作) ,而是它的内部状态 *(即“思想”) 。

下面展示的简单循环网络 (SRN) 与标准的前馈网络几乎完全相同,只多了一个组件:** 上下文单元 (context units)** 。

简单循环网络 (SRN) 或 Elman 网络的图示。它显示了输入单元和上下文单元都馈入一个隐藏层,然后隐藏层再馈入一个输出层。一个关键的循环回路将隐藏层的激活复制回上下文单元。

图 2: SRN 的关键创新在于反馈回路: 时间 t 的隐藏层激活被复制到上下文单元,成为时间 t+1 输入的一部分。

它的工作原理如下:

  1. 在时间 \(t\),一个输入 (例如一个代表单词的向量) 被送入输入单元
  2. 输入单元与上下文单元共同激活隐藏单元,形成网络对输入的内部表示。
  3. 隐藏单元激活输出单元,产生结果。
  4. 在下一个周期开始之前,隐藏层的激活模式被一对一复制回上下文单元。

上下文单元充当网络的短期记忆。在任意时刻,隐藏层不仅能够感知当前输入,还能接收它在前一时刻的激活快照。这意味着,网络对输入的内部表示始终受到过去信息的影响。时间被内嵌于处理过程之中,而不是一个需要单独管理的外部维度。

在训练中,Elman 使用了一个强力的学习信号:** 预测**。在每一个时间步,网络必须预测序列中的下一个元素。要预测明天,首先要理解今天。


从简单节奏到隐藏规则

Elman 在多个任务上测试了他的网络,每一个任务都比前一个更复杂,以检验这种简单的记忆机制能否揭示更抽象的结构。

实验 1: 时间异或

异或 (XOR) 问题是经典的基准测试: 给定两个比特,若它们不同输出 1,相同则输出 0。

Elman 构造了一个时间版异或,生成一个连续比特流,其中每第三个比特是前两个比特的异或。例如:

  • 1, 0 → 1
  • 0, 0 → 0
  • 1, 1 → 0

形成的数据流为: 1, 0, 1, 0, 0, 0, 1, 1, 0 ...。网络每次只接收一个比特,任务是预测下一个比特。

一条线图,显示了网络在12个时间步内的预测误差。误差遵循一个重复的模式,每隔三步下降一次,在中间的两步上升。

图 3: 时间异或任务的平均预测误差。在每第三个比特 (可预测) 处,误差下降,表明网络学会了这种依赖关系。

这种高-高-低的周期性误差模式显示网络已掌握 XOR 规则: 前两个比特不可预测,第第三个 (异或) 比特可预测。重要的是,依靠上下文单元提供的记忆,SRN 足以解决这一需要回溯两步的问题。


实验 2: 在人造词汇中寻找结构

接着,Elman 创建了一种由辅音 (b, d, g) 和元音 (a, i, u) 组成的迷你语言。每个字母用一个 6 比特特征向量表示。

一个表格,根据类似音素的特征,定义了字母 b, d, g, a, i, u 的6比特二进制向量。

表 1: 人造字母表,每个字母由六个类似音素的二进制特征定义。

规则定义为:

  • b → ba
  • d → dii
  • g → guuu

随机生成的辅音序列按此规则扩展,得到类似 diibaguuubadi... 的数据流。

SRN 每次读取一个字母,并预测下一个字母。

一张图表,显示了网络在一段字母序列上的预测误差。在预测辅音 (d, g, b) 时误差很高,而在预测随后的元音 (a, i, u) 时误差很低。

图 4: 预测误差随时间的变化。不可预测的辅音处出现峰值;可预测的元音序列处出现低谷。

这种模式合理: 辅音随机出现,元音紧随其后,具有可预测性。但更深刻的洞见来自于按特征分析的误差。

一张图表,显示了仅针对“辅音性”特征的预测误差。该误差在整个序列中始终保持较低水平。

图 5(a): 辅音性 (Consonantal) 特征 (比特1) 的误差始终较低——在元音之后,网络可可靠预测下一个是辅音。

一张图表,显示了仅针对“高元音”特征的预测误差。在预测辅音时,该误差会飙升。

图 5(b): 高元音 (High) 特征 (比特4) 的误差在预测辅音时出现峰值,因为这些辅音在此特征上有所不同。

这表明 SRN 不只是记忆序列,它还掌握了有关特征的抽象规则,能够依据结构规律性进行部分预测


实验 3: 从连续文本中发现“单词”

在口语中,单词之间是没有空格分隔的。为模拟这一点,Elman 将简单句连接成一串长长的字母流,没有空格和标点。网络的任务是预测下一个字母。

一张图表,显示了网络在处理连续字母流时的预测误差。误差在每个单词的开头出现峰值,并随着单词的展开而降低。

图 6: 字母预测任务中的误差变化。峰值常对应单词边界,可预测性在此最低。

误差峰值与单词边界对齐: 单词开头不可预测性最高,随着单词展开,可预测性增加。这提示误差信号可以成为学习分词的线索——即便从未显式告知“单词”是什么。


压轴大戏: 从词序中学习语法

最后,Elman 让网络处理完整单词。他建立了简单语法,用 29 个词的词汇生成数千个短句。

一个表格,列出了用于生成句子的名词和动词类别,并为每个类别提供了示例。

表 3: 语法所用的词汇类别。网络从未见过这些标签——它必须自行推断。

一个表格,展示了用于生成训练数据的句子模板。

表 4: 规定了词序的句子模板。

每个词被随机分配一个独热向量 (one-hot vector) ,没有任何内在相似性。manwoman 在原始表示中与 rockeat 一样毫无关联。分组必须来自它们在句子中的分布。

训练网络预测连接句流中的下一个词后,它为每个词形成了隐藏层内部表示。Elman 将这些表示在不同上下文中取平均 (得到类型级表示) ,并进行层次聚类

一个树状图,显示了网络对所有29个单词的内部表示进行层次聚类的结果。

图 7: 网络的概念地图。单词按语法和语义角色分组——完全通过预测学习得出。

该树的结构惊人地贴近语言学:

  • 首次分裂:** 名词** vs 动词
  • 名词分为有生命 vs 无生命;有生命的再分为人类 vs 动物
  • 动词按句法行为划分: 及物动词、不及物动词、可选宾语动词。

SRN 仅凭分布统计就能推断语法的关联特性。


类型、实例与上下文

图 7 展示的是类型: 即不同上下文中多个实例的平均表示。但 SRN 的表示总是与先前上下文密切相关。因此,“boy chases…”中的 boy 与“…chases boy”中的 boy 是不同的。

两个树状图,展示了根据上下文对 BOY 和 GIRL 的单个实例进行聚类的结果。

图 9: BOYGIRL 的单个实例按句中位置和前文上下文进行聚类。

实例根据情境相似性聚类——例如句首 vs 句末——反映了上下文如何塑造词的表示。

为强调这一点,Elman 引入了一个新词:** zog**。他将 zog 插入所有 man 可以出现的位置,并将这些句子输入训练好的网络 (未重新训练) 。

一个树状图,在词汇聚类中包含了新词 ZOG。

图 8: 新词 ZOG 被归入人类名词,位于 MAN 旁——完全基于上下文用法。

网络将 zog 分类为人类名词,这与它在句子中的分布一致——这正是人类依靠上下文推测新词意义的方式。


结论: 一个简单思想的遗产

在时间中寻找结构 证明了:

  1. 时间可隐式表示在网络的内部状态中,无需依赖空间化的取巧方法。
  2. 预测是强大的训练信号,迫使网络捕捉时间结构。
  3. 语法类别可从分布模式中涌现,无需显式规则。
  4. 表示既可具备范畴性又可具上下文敏感性,能自然区分类型与实例。

SRN 是现代循环架构 (如 LSTM 和 GRU) 的始祖。如今的 Transformer 虽以不同方式解决序列问题,但依旧面临同一关键挑战: 如何将上下文融入每个元素的表示中。

Elman 的这一简洁改动,为神经网络赋予了内在的声音,能够记忆、预测并抽象。这是迈向教会机器不仅,还能理解事件流——即体验本质——的重要一步。