本课讲 2018 年的一篇文章。DeepMind 公司的 Santoro 和同事们把电脑的记忆分成几个“抽屉”,还让抽屉们互相商量。他们管它叫关系记忆核心。
先用一张纸盖住下面方框里的字。请同伴慢慢念一遍,只念一遍。你只听,不许写。
小明 1 米 32,小红 1 米 45,小刚 1 米 28,小丽 1 米 39,小军 1 米 35,小芳 1 米 41。
第 ① 题只要记住一件事。第 ②③④ 题难多了:你得同时记住 6 个人,还要拿他们互相比。这节课的主角,就是一种擅长“记住好几样,再互相比”的电脑记忆。
第 2 课的 LSTM 有一条记忆传送带,靠三扇门挑着擦掉、写进。可是传送带上只有一份记忆。读到的所有东西,都要揉进这一份里。这就像把所有东西倒进同一个大口袋。
想问“小红和小芳谁高”,得先从口袋里把两个人翻出来,才能比。东西一多,口袋里就乱成一团。第 17 课的格子板能分开放,但是格子之间不说话。
Santoro 他们的新零件叫关系记忆核心,英文缩写是 RMC。“关系”就是东西和东西之间的联系,比如“谁比谁高”“谁离谁远”。
RMC 把记忆分成几个记忆槽。你可以把记忆槽想成抽屉,一个抽屉放一份记忆。抽屉的数量是固定的,比如 4 个或 8 个。每个抽屉放什么,没有人规定。电脑在训练中自己学会怎么分。
大口袋:所有东西混在一起,要用时先翻找、再拆开。
格子板(第 17 课):分开放了,可是格子之间不交流。
RMC 的抽屉:分开放,抽屉之间还会互相看、互相比。这是它最特别的地方。
RMC 也像第 1 课那样,一样一样往下读。每读到一样新东西,它就做下面 4 件事:
第 1、2 步就是第 13 课讲过的注意力:每个“字”抬头看一看大家,决定该多关注谁。只是这一次,抬头的不是句子里的字,而是记忆里的抽屉。
谁来提问?只有抽屉会提问。新东西不提问,只被抽屉们看。所以看完以后,抽屉还是那么多个。
好几组同时看:和第 13 课一样,抽屉们分好几组同时看。
门从哪来?第 4 步借用了第 2 课的门。这里用两扇:遗忘门管擦掉多少旧的,输入门管写进多少新的。
还记得第 19 课的比较器吗?它把一张图里的东西两两拿来比。可是它只能比同时摆在眼前的东西。RMC 要比的东西是先后读到的,所以得先放进抽屉,再让抽屉互相比。你可以说:RMC 把第 19 课的两两比较,搬进了记忆里。
科学家专门出了一道考“记住再比较”的难题,叫第 N 远任务。电脑一个一个读进 8 个点的位置。读完后回答:离第几号点第几远的,是哪一个点?
真正的考题里,每个点不在纸上,而是用一串数字表示。我们画在方格纸上,换成 6 个点来体会(示意):
问题:离 3 号点第 2 远的是哪个点?
先量出 3 号点到其他每个点的距离,再从远到近排队:
2 号 → 5 号 → 1 号 → 6 号 → 4 号
排第 2 的是 5 号。如果问“第 3 远”,答案就是 1 号。
这道题难在哪?每个点都可能是答案,所以一个也不能丢。还要拿它们和指定的点一个一个比距离,再排队。这正是“记住好几样,再互相比”。
8 个点里挑 1 个,瞎猜只能 8 次对 1 次。LSTM 大约 10 次对 3 次。RMC 大约 10 次对 9 次。抽屉加上互相比较,差别就这么大。
论文还考了别的题:
· 读一小段简单的电脑程序,说出运行结果:多数情况下比 LSTM 好。
· 玩吃豆子走迷宫的 Mini PacMan 等游戏:把 LSTM 换成 RMC,得分更高。
· 读维基百科、老书和新闻,猜下一个词:猜得比 LSTM 更准。
说实话,RMC 这个零件后来没有流行起来。第 13 课的 Transformer 赢了。电脑够快时,干脆让整段话里的每个字都互相看,比一步步更新几个抽屉更简单。
· 可是抽屉的问题又回来了:ChatGPT、Claude 这些聊天 AI 聊得越久,要回头看的字就越多,越来越慢、越来越贵。科学家又在研究“只用固定几个格子的记忆”。他们要回答的,正是 RMC 的问题。
· 分条记、再比较:有的 AI 助手会把记住的事分成一条一条存起来。用的时候,挑出有关的几条,再和眼前的问题对照。
准备:A 念卡片。B 当“大口袋”,用一条画了 12 个方格的纸。C 当“抽屉”,用 4 张各画 3 个方格的便利贴。一格写一个字或数字。
1. A 说明最后问“谁跳得多”。再念 6 张卡片,每张念一遍,停 10 秒:A 85、B 72、C 93、D 80、E 66、F 88(1 分钟跳几下)。
2. B 只往纸条里写,可以擦改,不许画线和箭头。C 每个抽屉最多写 3 格,抽屉之间可以画写着“>”的箭头。念完后,A 盖住卡片,问下表的问题。
| 问题 | 第 1 多 | 第 2 多 | 第 3 多 | 比 D 多的人数 |
|---|---|---|---|---|
| 大口袋 B | ||||
| 抽屉 C |
你会发现:格子一样多,抽屉却更好用。新卡片来了,只改一个抽屉。箭头让“谁比谁多”一眼就能看出。大口袋的字挤成一串,得先拆开才能比。
1. A 在方格纸上点 6 个点,编 1 到 6 号。A 问“离 3 号点第 2 远的是几号?”B 用尺子量 3 号点到每个点的距离,填进下表,再从远到近排队回答。
| 3 号点到 | 1 号 | 2 号 | 4 号 | 5 号 | 6 号 |
|---|---|---|---|---|---|
| 距离(厘米) |
2. A 再问“第 4 远是几号?”B 还要重新量吗?
3. 挑战:A 在新纸上点 6 个点。B 看 30 秒后盖住,凭记忆答“离 5 号点第 2 远的是几号?”答对了吗?
你会发现:排好的队,换个“第几远”也能用。凭记忆就难多了:6 个点都得记住,还要互相比距离。
给家长和老师:本课讲的是 Adam Santoro、Ryan Faulkner、David Raposo 等人 2018 年发表在 NeurIPS 的论文 Relational recurrent neural networks。论文提出关系记忆核心(RMC):隐状态是若干记忆槽组成的矩阵,每步用多头点积注意力更新(查询只来自记忆,键和值来自记忆加新输入),再做逐行 MLP,最后用类似 LSTM 的输入门和遗忘门控制保留多少。第 N 远任务上,RMC 约 91%,LSTM 约 30%。RMC 在程序求值、Mini PacMan 等强化学习环境和 WikiText-103 等语言建模数据集上也超过 LSTM。
讲义把记忆槽说成“抽屉”,逐行 MLP 说成“自己整理一下”,多头注意力说成“好几组同时看”。“LSTM 像大口袋”是比喻,指它的记忆是一个向量。“瞎猜约 12%”是按 8 选 1 算的参考线,不是论文数据。热身题、口袋和抽屉图、抽屉互相看的图、6 个点的方格图(论文依次输入 8 个多维向量)、两个动手游戏都是我们编的示意。想深入可看本站的 第 20 天中文导读,代码见开源项目 30u30 第 20 天目录(英文)。
极客教育 jikejiao.com 原创讲义 · 2026-10