代码如何击破 Transformers 的数学之谜

发布: (2026年1月9日 GMT+8 08:00)
10 min read
原文: Dev.to

Source: Dev.to

上下文: 我已经阅读了几天的多篇文章…

背景

我最近几天一直在阅读与 Google 和 CMU 最近的一篇论文相关的多篇文章,题为 “Deep sequence models tend to memorize geometrically; it is unclear why”(arXiv: 2510.26745 – 深度序列模型倾向于几何记忆;原因尚不清楚)。

流传的标题把这一发现描述成 圣杯

  • “模型 自发合成几何记忆”。
  • “它们不仅仅是记忆,而是 构建几何”。
  • 甚至暗示我们正看到一种 自行意志组织世界的意识 的最初闪现。

第一印象

我去看了原始 PDF。过程有点艰难,因为:

  1. 学术英语和我之间保持着相互尊重但有距离的关系。
  2. 我的数学水平像是一个从事30 年“敲石头”的工程师,而不是理论研究者。

阅读时,我的直觉立刻跳了出来。

当他们看到一个“谜团” (原因不明), 我只看到一个算法正好执行它被编程要做的事。我没有看到魔法。我看到一个 遵循最小努力法则的优化机制

实验

  1. 训练数据:原子级事实,如 “A 连接到 B”、 “B 连接到 C”。
  2. 训练过程:仅向 Transformer 输入这些局部连接,而不提供完整的地图。

传统学术预期

在拥有数十亿参数(内存充足)的情况下,最“懒散”的做法是 将每一对存入单独的抽屉,类似于一个巨大的哈希表,A 与 C 之间没有任何关联。

观察到的结果

模型 没有这么做。它不是把数据存放在孤立的抽屉里,而是 在向量空间中对其进行排序,把 A、B、C 排成一条线,形成几何结构。

对我来说,惊讶的是他们感到惊讶。

弹性橡皮筋的隐喻

想象一下,神经网络的基本机制是 测量向量之间的相似度(点积)。如果我说:

  • A 必须和 B 相似,
  • B 必须和 C 相似,

还会发生什么?

如果我用弹性橡皮筋把三块石头绑在一起并拉它们,它们会排成一线。
不是因为石头“懂几何”,而是因为这是唯一能释放橡皮筋张力的物理方式。

机械可视化

  • 概念(A、B、C) → 仓库地面上的沉重箱子。
  • 算法 → 用弹性橡皮筋连接箱子的工人。
顺序工人的操作
1“A 连接到 B”。在 AB 之间系上一根橡皮筋;橡皮筋被拉紧,拉动两箱子直到它们贴在一起。
2“B 连接到 C”。在 BC 之间系上一根橡皮筋;橡皮筋被拉紧时,会把 C 拉向 B …… 但也会把 B 拉向 C!

机械关键: B 位于中间,系着两根橡皮筋,充当链环。把 B 拉向 C 时,已经系在 B 上的箱子 A 也会被“顺带”拉动。

必然结果: 箱子们会排成 A‑B‑C 的列车。系统会寻找 最小张力状态;保持它们对齐在计算上比让橡皮筋向相反方向拉伸要 更省力

论文中所说的 “几何” 仅仅是当你让 梯度张力最小努力 来组织数据时,数据呈现出的形态。

球在山脉中的类比

让我们从观察橡胶和盒子转向观察系统运动的完整景观

  1. 训练 → 一个在山脉中滚动的球。
  2. 目标 → 让球到达尽可能最低的点(零误差的山谷)。

数学家的视角

“小心!这片地形充满了数百万个不规则的洞、裂缝和坑,球可能会卡在那里”。

这些“洞”代表无序解:模型在没有顺序和几何结构的情况下记忆数据的配置。从数学上讲,这些洞是存在的且是有效的解(零误差)。因此研究者们感到困惑,为什么球从未掉进这些洞,而总是落在宽阔且有序的几何山谷中。

工程师的视角

“放心,球不会掉进洞里,因为它不是自由滚动的。它在轨道上滚动”。

代码优化器施加约束,引导球的轨迹朝向低能量(低张力)解,避免混沌的“洞”。

简化到最本质

想象我们想要在数学上解决:

x + y = 10
  • 数学家:解空间是无限且混沌的:((5, 5))、((1, 9))、((100, -90))… 这些“洞”中的任意一个都是有效的。
  • 工程师(代码):从零开始(就像网络初始化一样),优化算法引导解向一个有序的配置收敛(例如,使某个额外范数最小的值)。

结论

Transformer 向有序状态的“拖拽” 不是众多选项中的一个;它是 不可避免的物理后果,源于它们使用的 back‑propagation 机制和 向量相似度度量

  • 梯度张力 像弹性橡胶一样,倾向于 直线而非扭曲的曲线
  • 论文中的 光谱偏差 仅仅是优化器倾向于偏好 低频(平滑)函数 而非 高频噪声 的表现。

换句话说,Transformer 并不“思考”几何几何出现 是因为它是 最省能量 的方式来 最小化系统能量

示例代码

x = 0
y = 0
while (x + y):
    # 这里会写循环逻辑
    # (为了展示结构,主体故意留空)
    pass

相反。 认识到“装置”倾向于默认生成几何,验证了一种设计系统的方式。如果我们给模型喂入具有明确逻辑结构(传递性、层级)的数据,就不需要显式编写规则。训练过程本身的摩擦会为我们生成那张“地图”。这是优化器免费提供的特性。

这种 几何惯性 是一把双刃剑。拖拽机制是盲目的;它没有真理标准,只有误差最小化的准则。如果我们给模型喂入嘈杂、不连贯或仅是偶然匹配的数据,算法会以同样的蛮力尝试对其进行排序。它会从纯噪声中构造出坚固且可信的几何结构,制造出虚假的因果关系,仅仅因为这是它唯一知道的降低数据之间数学张力的方式。

没有幽灵在机器里。只有被充分理解的计算物理。

几何记忆 并不是人工意识的涌现属性;它是寻找最小阻力路径的算法的必然结果。Google 的研究者在数据上是正确的,但他们的“神秘”叙事忽视了实现层面有时会施加纯理论看不到的限制。

对于我们这些紧贴代码工作的人来说,这提醒我们 实现从来不是中立的。我们选择的工具——优化器、初始化方式或损失函数——会为我们做出架构决策,塑造最终结果,甚至比底层数学理论更具影响力。

也许真正的挑战不是在“黑箱”中寻找谜团,而是更好地理解我们自己铺设的轨道的物理本质。

Back to Blog

相关文章

阅读更多 »

注意力矩阵中的故障

Transformer 人工制品的历史以及最新的修复研究。《注意力矩阵中的故障》首次发表于 Towards Data Science....