我们都在做有损压缩
RNN输给Transformer,也许不是架构的宿命,而是一个可修复的机制问题。这个技术发现,牵出一个更大的问题:AI的记忆,该像人,还是像数据库?
Transformer记住所有东西。
这是它成为当今AI主干架构的核心原因之一:输入多长的文本,它就保留多长的记忆。你问它一篇万字文章的第三段说了什么,它能答出来,因为那段内容就压在它的注意力机制里,一字不漏。
但代价是复杂度随上下文长度呈二次方增长。简单说:文本越长,计算量不是翻倍,是翻倍的翻倍。这个账,迟早要还。
另一条路
RNN走的是另一条路。
它不记住所有东西。每处理一段输入,它就把信息压缩进一个固定大小的”隐藏状态”里,然后继续往前走。旧的细节会被覆盖,新的信息不断写入。它的记忆是一个大小固定的容器,装不下的就丢掉。
这让RNN在长文本的精确召回任务上天然吃亏。你问它第三段说了什么,它可能真的不记得了。
这也是为什么Transformer逐渐取代了RNN,成为大模型的标配。架构之争,看起来早有定论。
被误判的机制
但最近Google Research的一篇论文提出了一个问题:RNN输的,真的是架构本身吗?
他们的答案是:不全是。RNN真正的弱点,是那个固定大小的记忆。给RNN加上”记忆缓存”(Memory Caching),每隔若干个token就把当前的隐藏状态做一次检查点、保存下来,后续的计算既能读当下的记忆,也能回头调取之前存下的所有快照。它的有效记忆容量,就能随序列长度一起增长,不再受限于那个固定容器。
有意思的是这里的调节旋钮:保存得越密,越接近Transformer那种”什么都记得”的完整召回,也越昂贵;保存得越稀,越接近原来那个轻巧的RNN。中间的每一档,都是记忆与算力的一次配比。
实验结果显示,加了Memory Caching的RNN,在长上下文任务上大幅缩小了与Transformer的差距。Transformer依然是最准的那个,但差距被压到很小。而在代价上,它的复杂度落在RNN的线性和Transformer的二次方之间:不像Transformer那样越长越贵,也不再是纯粹的线性,而是一个可以按需拨动的折中。
这不是说RNN要卷土重来。但它说明,我们可能把一个机制问题,误判成了架构问题。
我们也在丢东西
读到这里,我忍不住想到人类的记忆。
我们的记忆系统更像RNN,不像Transformer。我们不记住所有东西。我们做的是有损压缩:把细节丢掉,留下轮廓;把情绪留下,忘记对话的原话;把结论记住,遗忘推导的过程。
这不是缺陷。这是设计。
完整记住所有细节的人,在心理学文献里有记录。这种现象叫超忆症(Hyperthymesia)。最知名的案例是Jill Price,她能精确回忆起过去几十年里几乎每一天发生了什么,却形容这种能力”永不停歇、无法控制,令人彻底精疲力竭”,是一种负担。每一个不愉快的瞬间都清晰地压在那里,无法淡化,无法远离。对她而言,遗忘不是缺失的能力,而是丢失的保护。
该像人,还是像数据库
那么问题来了:AI的记忆,应该更像人,还是更像数据库?
Transformer选择了数据库的路,完整、精确、可检索。Memory Caching是一个折中实验,试图在两者之间找到那个可以调节的平衡点。
但”遗忘多少才算合理”这个问题,没有固定答案。
它会跟着我们对”智能”的理解一起变。我们现在默认记忆越完整越好,但也许若干年后会发现,一个懂得遗忘的AI,比一个什么都记得的AI,更接近我们真正想要的东西。
参考:Ali Behrouz et al., Memory Caching: RNNs with Growing Memory, Google Research / Cornell / USC, 2026.