← 返回第 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