如果你关注了近年来自然语言处理 (NLP) 的爆发式增长,你一定知道 Transformer 架构是这场革命背后的引擎。从 GPT-4 到 Claude,Transformer 似乎已经掌握了复杂的推理、编程和创意写作。但在研究界,一个根本性的问题仍然存在: 我们真的理解它们是如何学习的吗?
大量的理论工作探索了 Transformer 能表示什么。例如,我们在数学上知道,Transformer 能够模仿一个 n-gram 语言模型 (一种基于前 \(n-1\) 个词来预测下一个词的简单模型) 。但仅仅因为神经网络在理论上能表示某个函数,并不意味着它能通过梯度下降从数据中实际学习到该函数。
这引出了一篇引人入胜的论文,题为 “Can Transformers Learn n-gram Language Models?” (Transformer 能学会 n-gram 语言模型吗?) 。 研究人员 Svete, Borenstein 等人决定剥离自然语言的复杂性,在一个基础任务上测试 Transformer: 学习合成的 n-gram 分布。他们的结果揭示了关于 Transformer “归纳偏置 (inductive biases) ”的惊人见解——本质上也就是它们更倾向于学习什么样的模式。
在这篇文章中,我们将剖析他们的方法论、他们测试的不同类型的 n-gram 模型,以及为什么 Transformer 有时在某些方面难以击败 90 年代的统计技术,而在其他领域却能占据主导地位。
基础知识: 我们到底在测试什么?
在深入实验之前,我们需要建立基本规则。这篇论文将现代神经网络与经典统计模型在学习概率分布的任务上进行了对比。
语言模型 (LM)
从核心上讲,语言模型仅仅是文本字符串上的概率分布。如下面的公式所示,我们通常以自回归的方式定义它: 整个序列的概率是给定历史记录时每个 Token 概率的乘积。

在这里,\(\mathbf{y}_{ 现代大型语言模型 (LLMs) 关注巨大的上下文窗口。然而,n-gram 模型做了一个简化的假设: 下一个 Token 的概率仅取决于前 \(n-1\) 个 Token。 如果 \(n=3\) (一个 trigram/三元模型) ,模型只关心最后两个词来预测第三个词。这种限制使得 n-gram 模型成为探索神经网络的绝佳“玩具问题”,因为我们可以完美地从数学上定义“真实 (Ground Truth) ”分布。 作者引入了一个至关重要的区分,这也是整篇论文的驱动力。定义 n-gram 模型有两种截然不同的方式,而 Transformer 对它们的反应也各不相同。 想象一个模型,其中针对每一个可能的历史记录,下一个词的概率是完全任意的。 “the cat” 和 “a dog” 之间没有任何关系。它们只是海量数据库中独立的条目。在一个 通用 n-gram LM 中,每个上下文的参数都是独立的。不存在参数共享。要学习这个模型,模型只需计算 “sat” 跟在 “the cat” 后面出现的次数。 现在,想象一个模型,其中历史记录被转换成一个向量 (一种表示) 。 这被称为 基于表示的 n-gram LM 。 它使用一组共享参数 (输出矩阵 \(\mathbf{E}\) 和表示函数 \(h\)) 来计算概率。 在这个框架中,概率不是原始计数;它是应用于权重和隐藏状态点积的 Softmax 函数。 作者怀疑,因为 Transformer 是依赖于密集向量表示的神经网络,它们在处理“通用”类型 (纯粹的记忆/计数) 时会很吃力,但在“基于表示”的类型上会表现出色。 为了验证这一假设,研究人员组织了一场各类模型之间的“较量”。他们生成了合成数据集,其中的真实分布是特定的 n-gram 模型,然后尝试训练各种架构来恢复该分布。 在深度学习时代之前,NLP 依赖于计数。极大似然估计 (MLE) 是最简单的方法: 直接统计频率。 然而,当 MLE 在测试集中看到训练集中从未出现过的序列时 (赋予其零概率) ,它就失效了。为了解决这个问题,研究人员开发了 平滑 (smoothing) 技术。 这些模型在深度学习意义上是“非参数化”的——它们不通过梯度下降学习权重;它们只是直接从数据中估计统计量。 他们还引入了一种使用 Sparsemax 注意力的 Transformer 变体。与标准的 Softmax (给所有事物分配非零概率) 不同,Sparsemax 可以为不相关的词分配完全为零的注意力。理论工作表明,这应该有助于 Transformer 更严格地学习 n-gram 结构。 由于研究人员是合成生成的数据,他们掌握了“真实”概率分布,记为 \(p_n\)。他们想要测量训练好的 Transformer (\(p_\mathcal{T}\)) 与这个真值有多接近。 选择的度量标准是 Kullback–Leibler (KL) 散度 。 第一个主要结果来自对比这些模型学习“通用” (任意) n-gram LM 与“基于密集表示”的 LM 的效果。 在 通用 n-gram LM 中,每个上下文都是独立的。最佳策略就是计数。在 基于密集表示的 LM 中,符号共享参数 (概念上类似于词嵌入的工作方式) 。 让我们看看在 6-gram 数据 (\(n=6\)) 上训练的模型结果: 请看“参数共享 (Parameter Sharing)”下方标为“No”的列。 现在看标为“Yes”的列。 核心结论: Transformer 对基于表示的语言有很强的 归纳偏置 。 它们假设相似的输入应该产生相似的输出。当数据本质上是说“记住这些随机数字”时,Transformer 相比简单的计数方法会失败。但当数据说“学习隐藏特征”时,Transformer 就会大放异彩。 随后,研究人员增加了任务的复杂性。他们改变了 n-gram 的阶数 \(n\) (历史长度) 、词汇表大小 \(|\Sigma|\) 以及用于生成数据的矩阵的秩 \(R\)。 他们进行了一项回归分析,以此观察哪些因素会让 Transformer 的学习变得更困难。 观察表 4,我们可以看到预测误差 (KL 散度) 的系数 (\(\hat{\beta}\)): 标准的 Transformer 使用 Softmax 注意力。这意味着当模型回顾历史时,它会以至少微小的概率关注每一个之前的 Token。 然而,n-gram 模型是严格的: 它只关心窗口 \(n-1\) 内的特定 Token,而不关心其他任何东西。理论上,一种能将权重设置为完全为零的注意力机制应该更擅长此道。 研究人员通过将 Softmax 替换为 Sparsemax 来测试这一点。 表 9 的结果令人震惊。在几乎所有词汇表大小 (\(\Sigma\)) 和阶数 (\(n\)) 的配置下, Sparsemax Transformer (底行) 都比标准 Softmax Transformer 实现了更低的 KL 散度 (更低的误差) 。 这表明,对于学习形式语言和严格的逻辑结构,我们目前标准的 Transformer 架构 (使用 Softmax) 可能是次优的。能够完全忽略不相关信息是 Sparsemax 提供的一项强大能力。 这就篇研究论文为我们如何看待大型语言模型提供了一次现实检验。 通过研究这些“玩具”模型,我们对驱动现代 AI 的庞大引擎有了更清晰的认识。它们不是魔法;它们是带有非常特定偏置的统计学习器——而这些偏置恰好与人类语言的结构完美契合。n-gram 假设

核心方法: 构建 n-gram 的两种方式
1. 通用 n-gram 语言模型 (即“查找表”)
2. 基于表示的 n-gram 语言模型 (即“神经”方法)


参赛选手
基线: 经典平滑技术

神经挑战者
我们如何评判成功?

实验 1: Transformer 的归纳偏置

“通用”列 (无参数共享)
“基于表示”列 (有参数共享)
实验 2: 复杂性与规模


实验 3: Softmax vs. Sparsemax

结论: 这对 AI 意味着什么?
](https://deep-paper.org/en/paper/2410.03001/images/cover.png)