本課講 2017 年的一篇文章。DeepMind 的 Santoro 和同事給電腦加了一個小零件。它讓電腦學會比較東西之間的關係,回答「誰離誰最遠」這類問題。
看下面這張圖。圖裡有 5 個東西。請回答下面兩組題。
| A 組:看一眼就行 | B 組:得比一比 |
|---|---|
| 圖裡有綠色的東西嗎? | 離紅球最遠的東西是什麼顏色? |
| 紫色的東西是什麼形狀? | 和藍方塊形狀一樣的是什麼顏色? |
A 組題,盯著一個東西就能答。B 組題,眼睛得在好幾個東西之間來回跑。對電腦來說,這兩種題難度很不一樣。
第 8 課講過,電腦用小窗口一格一格掃圖片,很會認出「這是一個紅球」。可是 B 組題問的不是「是什麼」,而是「誰和誰怎麼樣」:誰離誰遠,誰在誰左邊,誰和誰形狀一樣。
東西和東西之間的這種聯繫,叫關係。靠比較關係來回答問題,叫關係推理。
小窗口每次只看一小塊。紅球和黃方塊隔得遠,不會出現在同一個小窗口裡。普通程序也能慢慢學會比較,可是要看非常多的例題。科學家想:能不能直接告訴它「請你一對一對地比」?
想像全班同學兩兩握手。每握一次手,這兩個人就一起說一句話:「我們倆之間是什麼關係?和老師的問題有關嗎?」說完寫在一張便條上,投進箱子。最後,老師把箱子裡的便條合在一起看,得出結論。這篇文章教電腦做的,就是這件事:
4 個東西配成 6 對,就是圖上 6 條線。每一對都用同一個配對小助手,它學會的本領每一對都能用。
兩個小助手都是會自己學習的小神經網絡,合起來叫關係網絡。它像一塊積木,可以插在第 8 課的小窗口後面:小窗口認東西,關係網絡做比較。
新同學要和前面每個人各握一次。第 4 個人來了,再握 3 次:3 + 3 = 6。請接著填:
| 幾個人 | 2 | 3 | 4 | 5 | 6 | 10 |
|---|---|---|---|---|---|---|
| 握幾次手 | 1 | 3 | 6 |
沒人告訴電腦「這是一個球」。小窗口掃完後,圖變成一格一格的結果。每一格就當作一個「東西」。
每一格還貼上位置標籤,比如「第 1 行第 1 列」。沒有標籤,小助手就不知道兩個東西隔多遠。
每一對握手前都先聽題目。問遠近,小助手就留意遠近。
電腦更「死板」:A—B、B—A 各算一次,自己和自己也算。比如 64 格,就要算 4096 對。
第 16 課講過:一袋水果沒有順序,叫集合。畫面裡的東西也是集合。關係網絡不怕順序,秘密在「加在一起」:每張便條是一串數字,電腦把它們對應相加,得到總便條。
加法不管先後:3 + 5 + 2 = 10 2 + 3 + 5 = 10
便條先投哪張、後投哪張,總便條都一樣,就像第 16 課的「榨果汁」。
科學家用一個專門考關係的看圖問答題庫來考它,叫 CLEVR。畫面裡有方塊、球和圓柱,顏色、大小不同,有的是金屬,有的是橡膠。題目像「和大金屬球顏色一樣的東西有幾個?」(示意)。電腦只能看圖片本身。
橫條是答對的比例。只加了這一個小零件,答對的比例就從論文對比的此前最好成績 68.5% 升到 95.5%,超過了人類測試者。科學家還考了另外 3 種題:
| 考什麼 | 怎麼考、考得怎樣 |
|---|---|
| 簡單小圖 | 作者自己畫的平面小圖,「認東西」和「比關係」分開考。普通程序做關係題明顯落後,加上關係網絡後兩種題都超過 90%。 |
| 短故事問答 | 讀幾句小故事再答題,比如「小明拿起蘋果,走到花園。蘋果在哪?」(示意)。每句話當一個「東西」。20 種題做對了 18 種。 |
| 會動的小球 | 有些小球之間連著彈簧。電腦只看小球怎麼動,就能猜出哪些連在一起。 |
第 13 課講過 Transformer,它是今天聊天 AI 的大腦結構。在 Transformer 裡,每個字都要「抬頭看」其他所有字。換句話說,每一對字都要比一比,打個分,再按分數輕重加在一起。
這和關係網絡很像,只是 Transformer 會給重要的便條更大的分量。從這個角度看,聊天 AI 讀一段話,也在做大量的關係推理。
兩兩配對的麻煩,今天還在。想想第 3 節的握手錶:1000 個字兩兩配對,就有將近 50 萬對。所以聊天 AI 讀長文章又慢又費電,科學家還在想辦法少算一些對。也有被換掉的地方:「每一格當一個東西」太粗糙,後來的程序學會了找出完整的東西。CLEVR 這套題現在也難不倒電腦了。
1. 桌上擺 5 個顏色、形狀不同的小物件,比如橡皮、瓶蓋、硬幣、積木、鉛筆帽,起名 A 到 E。
2. 兩人輪流當「配對小助手」:每一對量出相隔幾釐米,再寫一句關係,比如「A 比 B 大」。每對寫一張小便條,也抄進下表。
| 配對 | 隔幾釐米 | 寫一句關係 | 配對 | 隔幾釐米 | 寫一句關係 |
|---|---|---|---|---|---|
| A—B | B—D | ||||
| A—C | B—E | ||||
| A—D | C—D | ||||
| A—E | C—E | ||||
| B—C | D—E |
3. 當「總結小助手」,只看表回答:離 A 最遠的是;捱得最近的是和。
4. 把 10 張便條洗亂,按新順序讀一遍再答。答案變了嗎?
你會發現:答「離 A 最遠」要看 4 對,答「哪兩個最近」要看 10 對。洗亂便條,答案不變。
1. A 用 3 到 6 個小物件擺一個畫面。
2. A 出 1 道「看一眼」題和 1 道「比一比」題,像熱身那樣。
3. B 回答,說出自己比了幾對,A 記下。然後換人,擺的個數要變。
| 誰出題 | 擺了幾個 | 「看一眼」題比了幾對 | 「比一比」題比了幾對 |
|---|---|---|---|
| A 出題,B 答 | |||
| B 出題,A 答 |
你會發現:「看一眼」題不用比;「比一比」題,東西越多,要比的越多。
給家長和老師:本課講的是 Adam Santoro、David Raposo、David G. T. Barrett 等人 2017 年的論文 A simple neural network module for relational reasoning(NeurIPS 2017)。論文提出關係網絡(RN):共享的 MLP g_θ 處理每一對物體,求和後交給 MLP f_φ 輸出答案,求和使結果與物體順序無關。物體取自 CNN 特徵圖的格子並拼接座標,問題的 LSTM 編碼拼進每一對。CLEVR 像素輸入上 RN 達到 95.5%,人類 92.6%,論文對比的此前最好模型(CNN+LSTM+空間注意力)68.5%。另有 Sort-of-CLEVR(兩類題都超過 90%)、bAbI(聯合訓練解決 20 個任務中的 18 個)和由運動軌跡推斷彈簧連接的物理任務。
兩個「小助手」對應 g_θ 和 f_φ,「便條」對應關係向量,「位置標籤」對應座標,「先聽題目」對應問題條件化。熱身圖、配對圖、CLEVR 例題、短故事、活動物件都是示意;「1000 個字約 50 萬對」是我們按兩兩配對算的。想深入可看本站的 第 19 天中文導讀,代碼見開源項目 30u30 第 19 天目錄(英文)。
極客教育 jikejiao.com 原創講義 · 2026-10