现代联想记忆
人脑能凭借残缺线索恢复完整记忆——闻到某种气味便回想起整段童年场景。如何用数学模型实现这种"部分输入→完整输出"的内容寻址能力,是计算神经科学与人工智能的根本问题之一,也是联想记忆(Associative Memory)研究的驱动力。
物理学家 John Hopfield 在 PNAS 发表经典论文,将统计力学中 Ising 自旋玻璃模型的能量函数思想引入神经网络。他定义了一个全连接的二值神经元网络,通过 Hebbian 学习规则("一同激发的神经元建立更强连接")将目标模式编码为能量曲面的局部极小值点。网络从任意初始状态出发,沿能量下降方向异步更新,最终收敛到最近的极小值——即检索到最匹配的记忆。Hopfield 用 Lyapunov 函数严格证明了收敛性。然而,经典网络的致命缺陷是存储容量极其有限:对于 N 个神经元,最多可靠存储约 $0.14N$ 个模式(Amit, Gutfreund & Sompolinsky 1985 年用统计力学方法给出的严格界)。超过此限,记忆间相互干扰产生"伪记忆"。
Hinton 与 Sejnowski 在 Hopfield 网络基础上引入隐藏单元和随机采样机制,提出 Boltzmann Machine。通过模拟退火避免陷入浅层局部极小值,并能学习输入数据的概率分布。这一工作将联想记忆推广到生成模型领域,开启了能量基模型(Energy-Based Model)的重要传统。受限 Boltzmann 机(RBM)后来成为深度学习早期预训练的关键组件(Hinton 2006 深度信念网络)。
Dmitry Krotov 与 Hopfield 本人联合提出 Dense Associative Memories。核心创新是将能量函数中传统的二次交互项 $x_i x_j$ 替换为高阶交互函数($n$ 次幂),使存储容量从线性 $O(N)$ 飞跃至多项式 $O(N^{n-1})$。这是三十余年来首次在理论上真正突破经典容量瓶颈,证明交互函数的非线性阶数直接决定记忆密度。
Ramsauer、Schäfl、Lehner 等人发表"Hopfield Networks is All You Need",提出连续值 Modern Hopfield Network。他们将交互函数推向极端——取指数函数,得到 log-sum-exp 形式的能量。对能量求梯度并求解不动点,得出的更新规则恰好等价于 Transformer 中的 softmax 注意力计算。这一发现在理论上统一了两个看似无关的领域:1982 年的神经科学联想记忆与 2017 年的 Transformer 注意力机制,且证明存储容量可达指数级 $O(e^{\alpha d})$($d$ 为向量维度)。
Modern Hopfield 网络进入实用阶段。DeepMind 将其应用于蛋白质-配体结合预测中的分子指纹匹配;Meta AI 探索将其作为 Transformer 的外挂长期记忆模块;语音领域的 FlowEdit(本日论文 [24])将其用作可在部署后持续扩展的发音联想词典——输入一个未知词的文本表征,即可从联想记忆中检索最相似的已知发音模式,实现终身发音适应而无需重新训练模型。
经典 Hopfield 网络存储 $M$ 个模式 $\{\boldsymbol{\xi}^\mu\}_{\mu=1}^M$,每个模式为 $N$ 维二值向量。能量函数定义为 $E(\mathbf{x}) = -\frac{1}{2}\mathbf{x}^T W \mathbf{x}$,其中权重矩阵由 Hebbian 规则确定:$W = \frac{1}{N}\sum_{\mu=1}^M \boldsymbol{\xi}^\mu (\boldsymbol{\xi}^\mu)^T$。更新规则 $x_i \leftarrow \text{sign}(\sum_j W_{ij}x_j)$ 保证每步能量不增(Lyapunov 稳定性)。存储容量上界为 $M_{\max} \approx 0.14N$。Modern Hopfield Network 将能量推广为连续形式:$E(\boldsymbol{\xi}) = -\text{lse}(\beta, X^T\boldsymbol{\xi}) + \frac{1}{2}\|\boldsymbol{\xi}\|^2 + \text{const}$,其中 $\text{lse}(\beta, \mathbf{z}) = \beta^{-1}\log\sum_i\exp(\beta z_i)$ 是 log-sum-exp 函数,$X = [\boldsymbol{\xi}^1,...,\boldsymbol{\xi}^M]$ 是存储模式矩阵,$\beta$ 为逆温度参数。对 $\boldsymbol{\xi}$ 求梯度并令 $\nabla_{\boldsymbol{\xi}}E = 0$,得到不动点更新规则:$\boldsymbol{\xi}^{\text{new}} = X \cdot \text{softmax}(\beta X^T\boldsymbol{\xi})$。将此式与 Transformer 注意力 $\text{Attn}(Q,K,V)=\text{softmax}(QK^T/\sqrt{d})\,V$ 对照:查询 $\boldsymbol{\xi}$ 对应 $Q$,存储模式 $X$ 同时扮演 $K$ 和 $V$,$\beta$ 对应 $1/\sqrt{d}$——两者数学完全同构。指数交互使存储容量跃升至 $M \sim e^{\alpha d}$,因为 softmax 的指数竞争使每个存储模式占据能量曲面上一个极其尖锐的"盆地",模式间干扰指数级衰减。
Modern Hopfield 网络的整体工作逻辑是:将查询与所有存储模式进行相似度比较,通过指数竞争(softmax)选出最匹配的模式,然后输出该模式作为检索结果——这个过程等价于一次注意力计算。
将 $M$ 个需记忆的向量 $\boldsymbol{\xi}^1,...,\boldsymbol{\xi}^M \in \mathbb{R}^d$ 直接排列为矩阵 $X \in \mathbb{R}^{d \times M}$。与经典 Hopfield 网络需要通过外积计算权重矩阵不同,Modern Hopfield 无需任何预处理——存储就是将向量"放入集合"。这一设计使得存储过程是 $O(1)$ 的,且天然支持动态增删:FlowEdit 中的发音词典可以在部署后随时插入新的发音条目,无需重新训练。存储容量仅受维度 $d$ 和逆温度 $\beta$ 约束,不依赖网络参数更新。
给定查询向量 $\boldsymbol{\xi}$(可以是某个存储模式的损坏版本、或一个全新的输入),计算它与每个存储模式的内积:$s_\mu = (\boldsymbol{\xi}^\mu)^T\boldsymbol{\xi}$,得到相似度向量 $\mathbf{s} \in \mathbb{R}^M$。选用内积而非欧氏距离是因为:①它与能量函数的梯度天然对齐;②在高维空间中计算效率更高(纯矩阵乘法);③内积度量的是方向相似性,对模式的缩放不敏感。这一步的计算复杂度为 $O(dM)$,是检索瓶颈所在。
对相似度施加 softmax 变换:$p_\mu = \exp(\beta s_\mu) / \sum_\nu \exp(\beta s_\nu)$。逆温度 $\beta$ 是最关键的超参