← 返回第 20 天导读(大人版) 下载打印:PDF 简体 · PDF 繁體 · 繁體網頁
第 20 课

会互相商量的记忆抽屉

本课讲 2018 年的一篇文章。DeepMind 公司的 Santoro 和同事们把电脑的记忆分成几个“抽屉”,还让抽屉们互相商量。他们管它叫关系记忆核心。

适合 10 岁左右约 40 分钟需要:方格纸、尺子、铅笔、便利贴、2 位同伴

1热身:只听一遍,你能比吗?

先用一张纸盖住下面方框里的字。请同伴慢慢念一遍,只念一遍。你只听,不许写。

小明 1 米 32,小红 1 米 45,小刚 1 米 28,小丽 1 米 39,小军 1 米 35,小芳 1 米 41。

① 第 3 个念到的是谁?
② 谁最高?
③ 第 2 高的是谁?
④ 和小军身高最接近的是谁?

第 ① 题只要记住一件事。第 ②③④ 题难多了:你得同时记住 6 个人,还要拿他们互相比。这节课的主角,就是一种擅长“记住好几样,再互相比”的电脑记忆。

2老办法:所有东西倒进一个大口袋

LSTM:一个大口袋 RMC:一排抽屉

第 2 课的 LSTM 有一条记忆传送带,靠三扇门挑着擦掉、写进。可是传送带上只有一份记忆。读到的所有东西,都要揉进这一份里。这就像把所有东西倒进同一个大口袋。

想问“小红和小芳谁高”,得先从口袋里把两个人翻出来,才能比。东西一多,口袋里就乱成一团。第 17 课的格子板能分开放,但是格子之间不说话。

3新办法:把记忆分成几个抽屉

Santoro 他们的新零件叫关系记忆核心,英文缩写是 RMC。“关系”就是东西和东西之间的联系,比如“谁比谁高”“谁离谁远”。

RMC 把记忆分成几个记忆槽。你可以把记忆槽想成抽屉,一个抽屉放一份记忆。抽屉的数量是固定的,比如 4 个或 8 个。每个抽屉放什么,没有人规定。电脑在训练中自己学会怎么分。

大口袋:所有东西混在一起,要用时先翻找、再拆开。
格子板(第 17 课):分开放了,可是格子之间不交流。
RMC 的抽屉:分开放,抽屉之间还会互相看、互相比。这是它最特别的地方。

4每读一样新东西,抽屉们就互相抬头看

RMC 也像第 1 课那样,一样一样往下读。每读到一样新东西,它就做下面 4 件事:

1每个抽屉抬头,看看别的抽屉和新东西
2比一比谁和自己有关,从那里拿来信息
3每个抽屉自己整理一下拿到的信息
4门决定:留下多少旧的,放进多少新的
抽屉 1 抽屉 2 抽屉 3 抽屉 4 新东西刚读到 蓝线:抽屉互相看。粉色虚线:抽屉看新东西(示意)。

第 1、2 步就是第 13 课讲过的注意力:每个“字”抬头看一看大家,决定该多关注谁。只是这一次,抬头的不是句子里的字,而是记忆里的抽屉。

谁来提问?只有抽屉会提问。新东西不提问,只被抽屉们看。所以看完以后,抽屉还是那么多个。
好几组同时看:和第 13 课一样,抽屉们分好几组同时看。
门从哪来?第 4 步借用了第 2 课的门。这里用两扇:遗忘门管擦掉多少旧的,输入门管写进多少新的。

还记得第 19 课的比较器吗?它把一张图里的东西两两拿来比。可是它只能比同时摆在眼前的东西。RMC 要比的东西是先后读到的,所以得先放进抽屉,再让抽屉互相比。你可以说:RMC 把第 19 课的两两比较,搬进了记忆里。

5考题:“第 N 远”是哪个点

科学家专门出了一道考“记住再比较”的难题,叫第 N 远任务。电脑一个一个读进 8 个点的位置。读完后回答:离第几号点第几远的,是哪一个点?

真正的考题里,每个点不在纸上,而是用一串数字表示。我们画在方格纸上,换成 6 个点来体会(示意):

1 2 3 4 5 6

问题:离 3 号点第 2 远的是哪个点?

先量出 3 号点到其他每个点的距离,再从远到近排队:

2 号 → 5 号 → 1 号 → 6 号 → 4 号

排第 2 的是 5 号。如果问“第 3 远”,答案就是 1 号。

这道题难在哪?每个点都可能是答案,所以一个也不能丢。还要拿它们和指定的点一个一个比距离,再排队。这正是“记住好几样,再互相比”。

瞎猜 LSTM RMC 约 12% 约 30% 约 91%

8 个点里挑 1 个,瞎猜只能 8 次对 1 次。LSTM 大约 10 次对 3 次。RMC 大约 10 次对 9 次。抽屉加上互相比较,差别就这么大。

论文还考了别的题:
· 读一小段简单的电脑程序,说出运行结果:多数情况下比 LSTM 好。
· 玩吃豆子走迷宫的 Mini PacMan 等游戏:把 LSTM 换成 RMC,得分更高。
· 读维基百科、老书和新闻,猜下一个词:猜得比 LSTM 更准。

6这和今天有什么关系

说实话,RMC 这个零件后来没有流行起来。第 13 课的 Transformer 赢了。电脑够快时,干脆让整段话里的每个字都互相看,比一步步更新几个抽屉更简单。

· 可是抽屉的问题又回来了:ChatGPT、Claude 这些聊天 AI 聊得越久,要回头看的字就越多,越来越慢、越来越贵。科学家又在研究“只用固定几个格子的记忆”。他们要回答的,正是 RMC 的问题。
· 分条记、再比较:有的 AI 助手会把记住的事分成一条一条存起来。用的时候,挑出有关的几条,再和眼前的问题对照。

7动手:抽屉记忆 vs 大口袋

玩法(3 个人,约 15 分钟)

准备: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

你会发现:格子一样多,抽屉却更好用。新卡片来了,只改一个抽屉。箭头让“谁比谁多”一眼就能看出。大口袋的字挤成一串,得先拆开才能比。

8动手:“第 N 远”游戏

玩法(2 个人,约 15 分钟)

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 个点都得记住,还要互相比距离。

9词语小卡片

记忆槽(抽屉)把电脑的记忆分成几份,每一份叫一个记忆槽。
关系记忆核心(RMC)记忆分成几个抽屉,抽屉之间还会互相看、互相比的电脑零件。
互相注意每个抽屉抬头看看别的抽屉和新东西,从有关的那里拿来信息。
第 N 远任务记住一串点,再回答离某个点第几远的是哪个点。专门考“记住好几样,再互相比”。

10想一想

  1. 你的书包、铅笔盒、抽屉里,哪些东西混在一起放,哪些分格放?找东西时哪种快?为什么?
  2. “第 N 远”游戏里,如果一开始就告诉你“只问 3 号点”,游戏会变容易吗?为什么?
  3. 抽屉是不是越多越好?抽屉多了,每读一样新东西,要比的次数会怎样变化?
一句话记住:记忆分成几个抽屉,抽屉之间互相比,电脑就更会比较。

给家长和老师:本课讲的是 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