[控场AI]
· 5 分钟阅读· 2,808 字

ILRN:无注意力循环网络用逆延迟记忆对标Transformer

ILRN:无注意力循环网络用逆延迟记忆对标Transformer

ILRN 用逆延迟记忆替代注意力机制,小规模实验中超越同参数 Transformer。

Reddit 开发者 rickey1990 发布了 ILRN(Inverse Lag Recurrent Network),尝试用逆延迟记忆(ILRM)替代 Transformer 的自注意力机制。ILRM 让循环网络按 1/k 衰减权重直接访问历史输入,绕过隐藏状态的信息瓶颈,并通过因果 FFT 卷积加速计算。模型采用双门控循环结构和四层 ILRM 块堆叠。在 CNN/DailyMail 下一词预测任务上,532K 参数规模下 ILRN 在 96 和 256 上下文长度均超过同规模 Transformer,256 token 时 Transformer 准确率下降而 ILRN 略有提升。但作者强调实验规模小、数据集单一,不足以证明普遍优势,训练速度仍是循环架构的短板。代码与论文已开源于 GitHub。

当注意力机制不再是唯一解

Transformer 架构几乎统治了序列建模领域,但它的自注意力机制在长上下文场景下的计算开销始终是个绕不开的问题。Reddit 上一位开发者 rickey1990 最近分享了一个名为 ILRN(Inverse Lag Recurrent Network)的项目,尝试用完全不同的思路来替代注意力机制——核心武器是一种叫做「逆延迟记忆」(Inverse Lag Recurrent Memory, ILRM)的机制。

这个项目的动机很直接:让循环网络直接访问历史输入的加权记录,而不是完全依赖隐藏状态来保存信息。换句话说,网络不需要「记住」所有东西,而是可以随时回查一份带有衰减权重的历史档案。

ILRM 的记忆机制是怎么设计的

ILRM 的核心思路并不复杂。对于当前位置之前的每一个输入,按照它与当前位置的距离 k 赋予 1/k 的权重。这意味着越近的输入贡献越大,但更早的输入依然保留直接影响——不是被完全遗忘,而是以递减的权重持续参与计算。最终得到一个归一化的历史表示。

这个设计跟传统 RNN 的隐藏状态有本质区别。标准 RNN 把所有历史信息压缩进一个固定维度的向量,时间一长信息就会严重损耗。ILRM 相当于给网络开了一条「直接通道」,让它能绕过隐藏状态这个瓶颈去读取原始历史。

实现层面,逆延迟历史的计算借助了因果 FFT 卷积来加速。不过循环状态的更新仍然是串行的——这部分没法并行化,也是循环架构的固有代价。

什么是因果 FFT 卷积?

卷积定理指出,两个信号在时域上的卷积等价于它们在频域上的逐点乘积。FFT(快速傅里叶变换)能将卷积的计算复杂度从 O(n²) 降到 O(n log n)。所谓「因果」卷积,是指位置 t 的输出只依赖 t 及之前的输入,不依赖未来位置——这对自回归序列建模是硬性要求。在 ILRM 中,对每个历史位置赋予 1/k 权重的加权求和,本质上是一个与固定核函数的卷积操作,因此可以用因果 FFT 卷积高效实现,避免逐位置串行累加。类似技术在 S4、H3 等状态空间模型中也被广泛采用。

双门控与四层堆叠

ILRN 的循环部分采用双门控设计。一个是访问门(access gate),控制之前的循环记忆对候选状态的贡献程度;另一个是写入门(write gate),决定候选状态中有多少内容会更新到存储记忆中。这种门控结构在 GRU 和 LSTM 中也有类似思路,但 ILRN 的门控是围绕逆延迟记忆来运作的。

实际模型 ILRN-4-96 由四个独立的 ILRM 块顺序堆叠而成。每个块拥有自己的逆延迟历史、两个门控、循环状态和可学习参数,块与块之间配有前置/后置 LayerNorm 以及残差连接。前一层的输出作为下一层的输入——这是比较标准的深层网络组织方式。

GRU 与 LSTM 的门控机制

门控循环单元(GRU)和长短期记忆网络(LSTM)是两种经典的循环网络变体,核心思想都是通过可学习的「门」来控制信息的流动。LSTM 设有输入门、遗忘门和输出门,分别决定新信息写入多少、旧记忆保留多少、以及隐藏状态输出多少。GRU 则简化为重置门和更新门两个门,参数量更少。这些门通常由 sigmoid 函数激活,输出 0 到 1 之间的值作为「开关」系数。ILRN 的访问门和写入门在功能上与此类似,但作用对象不是传统的隐藏状态,而是逆延迟记忆存储。

小规模对比实验:ILRN vs Transformer

作者在 CNN/DailyMail 数据集上做了下一词预测的对比测试。两个模型参数量相当,各约 532K 参数,分别训练了 2000 万个下一词目标,并在 96 和 256 两种上下文窗口下独立训练。

留出测试集的 top-1 准确率结果:

上下文长度ILRNTransformer
96 tokens27.17%25.83%
256 tokens27.42%24.95%

ILRN 在两种上下文长度下都取得了更高的准确率。特别是在 256 token 场景下,Transformer 的准确率从 25.83% 降到了 24.95%,而 ILRN 反而略有提升(27.17% 到 27.42%)。这个趋势暗示逆延迟记忆在较长上下文中可能具有一定优势——但样本量太小,不能据此下结论。

速度方面,ILRN 最初的 CPU 实现在训练效率上明显慢于 Transformer。作者后来尝试了一个融合 CPU 内核来提升执行速度,同时保持 ILRM 的数学逻辑不变。

需要冷静看待的几个问题

作者本人在帖子中明确表示,这些是「初步的、小规模的实验,训练轮次有限,不能作为 ILRN 普遍优于 Transformer 的证据」。这个自我限定是诚实的,也确实反映了当前实验的局限。

532K 参数的模型规模在现代 NLP 研究中属于非常小的量级,2000 万训练目标也算不上充分。96 和 256 的上下文长度远未触及 Transformer 真正吃力的长序列场景。更关键的是,实验只在 CNN/DailyMail 这一个数据集上进行了验证,缺乏跨任务、跨领域的泛化性证据。

另外,训练速度的劣势即使在引入融合内核后是否完全解决,帖子中没有给出明确的量化对比。循环架构的串行特性决定了它在 GPU 上的并行效率很难与 Transformer 抗衡,这一点在扩大规模后可能更加突出。

循环架构为什么难以并行?

Transformer 的自注意力机制可以对序列中所有位置同时计算,天然适配 GPU 的大规模并行架构。而循环网络的状态更新是递推的:计算时刻 t 的状态必须先得到 t-1 的状态,这种时间步之间的串行依赖使得 GPU 的大量核心无法被充分利用。虽然卷积类操作(如 ILRM 中的 FFT 卷积)可以并行,但循环状态本身的递推无法绕过。这也是近年 SSM(状态空间模型)如 Mamba 尝试用选择性扫描等方式在保持循环特性的同时提升并行度的原因。在模型规模扩大后,这一瓶颈会越发显著。

开源与后续

作者已将研究 PDF、架构公式、Python 实现、融合内核和验证测试上传至 GitHub(仓库地址:github.com/rickey1990/ILRN)。对于关注循环网络复兴、注意力机制替代方案的研究者来说,这个项目提供了一套完整的可复现实现。

逆延迟记忆这个思路本身有一定的新意——它试图在循环架构的框架内引入类似注意力的「直接访问历史」能力,同时避免注意力的二次方复杂度。但从小规模实验到实际可用之间,还有相当长的距离需要验证。

#ILRN#逆延迟记忆#ILRM#无注意力网络#循环神经网络#Transformer对比#序列建模
分享:

相关推荐