← 返回第 21 天導讀(大人版) 下載打印:PDF 簡體 · PDF 繁體 · 简体网页
O H H
第 21 課

原子同學傳紙條

本課講 2017 年的一篇文章。Gilmer 等 5 位科學家讓電腦看懂分子:分子裡的每個原子像同學一樣,給旁邊的原子傳紙條。傳幾輪以後,電腦就能猜出整個分子的性質。

適合 10 歲左右約 40 分鐘需要:鉛筆、小紙條、5 位同伴

1熱身:點和線的網

有一種「圖」不是圖片,而是用點和線畫成的一張網。點代表東西,線代表「這兩個連著」。請填一填:

地鐵線路圖:點是
好朋友網:線是

今天的主角也是這樣一張網。它小得用眼睛看不見,它就是分子。

2分子也是一張「圖」

水、空氣、你的書包,都是由極小極小的顆粒搭起來的。這種顆粒叫原子。幾個原子手拉手連在一起,就組成一個分子。原子之間的「手拉手」,叫化學鍵。把原子畫成點,化學鍵畫成線,分子就變成了一張點線網。科學家把它叫作圖。

OHH CHHHH OCO 水:1 個氧連 2 個氫 甲烷:1 個碳連 4 個氫 二氧化碳:碳在中間 兩邊的鍵各畫 2 條線

O 是氧,H 是氫,C 是碳。二氧化碳裡,碳和每個氧都拉著 2 只「手」,所以畫 2 條線,叫雙鍵。

3化學家的難題:算得準,可是太慢

化學家想知道分子的性質,比如它帶著多少能量,會不會溶在水裡。有一種電腦算法叫 DFT(密度泛函理論),算得很準,可是算一個分子要很久。要挑的分子太多,一個一個算實在等不起。

科學家的想法:讓電腦學會「快速猜」。先用 DFT 算好一大批分子,當作標準答案。再讓電腦看著分子圖猜性質,對照答案改正,這就是第 1 課講過的訓練。這篇文章的練習冊叫 QM9,有 13 萬多個小分子。每個分子最多有 9 個不算氫的原子,帶著 13 種性質的答案,比如能量多少、加熱時升溫快不快。

4辦法:原子同學傳紙條

這篇文章的辦法很像傳紙條。每個原子是一個同學,化學鍵是同學之間的連線。規矩是:紙條只能傳給和你連著線的同學,他們叫你的鄰居。

1每個原子寫下自己是誰,比如「我是氧」
2給每個鄰居傳紙條,說說自己的想法
3讀完收到的紙條,改一改想法
4把所有原子的想法彙總,猜出答案

↻ 第 2 步和第 3 步重複幾輪

這種沿著連線傳紙條的辦法,叫消息傳遞。為什麼要傳好幾輪?下圖中 5 個原子連成一排,1 號有一個秘密,黃色表示已經知道它(示意):

開始 1 2 3 4 5 第 1 輪後 1 2 3 4 5 第 2 輪後 1 2 3 4 5 第 3 輪後 1 2 3 4 5

每傳一輪,秘密往前走一步。傳 3 輪以後,每個原子都知道了 3 步以內的情況。

紙條怎麼寫,要看你們之間是什麼線

你給好朋友和給新同學寫紙條,寫法不一樣。這篇文章讓電腦按連線是 1 條還是 2 條、原子離得多遠,決定紙條怎麼寫。這是它效果最好的一招。

5最後一步:彙總大家的想法

我們要的是整個分子的性質。所以最後要把所有原子的想法合成一個答案,這一步叫讀出,也就是「彙總」。

原子沒有先後順序,就像第 16 課的「一袋水果」。所以換了順序,彙總的答案也不能變。把大家的想法加在一起就行,像第 16 課的榨果汁。這篇文章效果最好的彙總辦法,正是第 16 課的「攤開多看幾眼」。

和第 19 課是一家人。第 19 課把東西兩兩配對比較,再把結果加起來。這就像每個同學都和所有同學連著線,傳一輪紙條再彙總。

6這篇文章做成了什麼

第一件:統一說法。作者發現,以前 8 種處理圖的電腦程序其實都在傳紙條,只是 3 件事做法不同:消息(紙條寫什麼)、更新(讀完怎麼改想法)、讀出(怎麼彙總)。這樣就能比較哪種做法好。

第二件:拼出更好的版本。化學家給每種性質定了一條「夠用線」,叫化學精度。誤差小於它,結果就能拿來用。作者把每一步最好的做法拼在一起,QM9 的 13 種性質裡有 11 種達到了化學精度。把氫原子也畫進圖、告訴電腦原子離多遠,都能猜得更準。

7這和今天有什麼關係

找新藥、找新材料。科學家先讓傳紙條的電腦快速猜一遍,留下有希望的分子,再做實驗確認。今天很多算分子、算材料的 AI 都用這個思路,比如 DeepMind 尋找新材料的 GNoME。

別的點線網。地圖上路口是點,馬路是線;社交網站上人是點,好友是線。傳紙條的辦法也被用來估計路上要走多久,或者推薦朋友。

聊天 AI。第 13 課的 Transformer 裡,每個字都抬頭看所有的字。這就像每個字都和所有字連著線,互相傳紙條。

不是越多越好。輪數太多,大家的想法會越來越像,最後分不清誰是誰。

8動手:傳紙條遊戲

玩法(6 個人,約 15 分鐘,全班可以分組玩)

1. 在地上按右圖貼 6 個號碼,每人站一個號碼。兩人之間有線,才是鄰居。
2. 每人偷偷在本子上寫一種動物,這是你的「秘密」。
3. 傳一輪:每人把自己知道的所有秘密抄在紙條上,給每個鄰居各傳一張。所有人同時傳。

123456

4. 讀完紙條,把新知道的秘密記進本子。數一數,你現在知道幾個人的秘密(算上自己),填進表裡。
5. 一共傳 3 輪。

號碼123456
第 1 輪後知道幾個
第 2 輪後知道幾個
第 3 輪後知道幾個

你會發現:傳幾輪,秘密就能走幾步遠。中間的 2 號和 3 號最先知道所有秘密,邊上的人要多等一輪。原子傳消息也是這樣一步一步傳開的。

9動手:畫分子圖

玩法(1 到 2 個人,約 10 分鐘)

1. 照著說明,用圓點和線畫出每個分子。圓點裡寫 H、C、N 或 O(N 是氮)。
2. 數一數原子和線,填進表裡。
3. 檢查:氫有 1 只「手」,氧 2 只,氮 3 只,碳 4 只。每個原子的線數等於手數嗎?

分子和說明畫在這裡原子線容易溶在水裡嗎
甲烷:1 個碳連著 4 個氫很難溶
氨:1 個氮連著 3 個氫非常容易溶
過氧化氫:2 個氧連在一起,每個氧再連 1 個氫能和水隨便混
酒精(乙醇):2 個碳相連。第 1 個碳連 3 個氫;第 2 個碳連 2 個氫和 1 個氧;氧再連 1 個氫能和水隨便混

找規律:容易溶在水裡的 3 個分子,圖裡都有什麼一樣的地方?

你會發現:它們都有 O 或 N 直接連著 H,就像水本身一樣,甲烷沒有。只看圖的樣子,你就找到了一條規律。傳紙條的電腦也是這樣,看過很多分子圖,自己總結規律。(這條規律很粗略,只對這幾個分子管用。)

10詞語小卡片

圖用點和線畫成的網。分子圖裡,原子是點,化學鍵是線。
消息傳遞(傳紙條)每個點只給連著線的鄰居傳消息,傳幾輪,消息就走幾步遠。
讀出(彙總)把所有點的想法合成一個答案,而且不管誰先誰後。
化學精度化學家定的「夠用線」。誤差小於它,結果就能拿來用。

11想一想

  1. 傳紙條時,為什麼規定只能傳給連著線的鄰居?如果每個人都能傳給所有人,會有什麼好處和麻煩?
  2. 畫一張你們班的「好朋友網」。如果要讓一個消息最快傳遍全班,你會讓誰第一個知道?為什麼?
  3. 電腦猜出一個新分子可能是好藥,化學家還要不要做實驗?為什麼?
一句話記住:把分子畫成點和線,讓原子同學傳幾輪紙條,再把大家的想法彙總,就能猜出分子的性質。

給家長和老師:本課講的是 Justin Gilmer、Samuel S. Schoenholz、Patrick F. Riley、Oriol Vinyals、George E. Dahl 2017 年的論文 Neural Message Passing for Quantum Chemistry(ICML 2017)。論文提出消息傳遞神經網絡(MPNN)框架,用消息函數、更新函數、讀出函數三部分描述圖神經網絡,並把此前 8 種模型寫成它的特例。最佳組合是邊網絡消息函數、GRU 更新和 Set2Set 讀出(來自第 16 天的論文)。在 QM9(約 13.4 萬個最多含 9 個重原子的有機小分子,13 個 DFT 計算的性質)上,13 個目標中有 11 個達到化學精度;輸入原子間距離、顯式加入氫原子都明顯降低了誤差。

「傳紙條」「改想法」「彙總」「紙條看連線寫」分別對應消息函數、更新函數、讀出函數和邊網絡。「幾隻手」是化合價的簡化說法。五原子傳播圖、六人站位圖和活動步驟都是示意;畫分子圖活動裡「O 或 N 連著 H 就易溶」是對氫鍵與極性的粗略簡化,不是論文內容。講義沒有寫 DFT 與 MPNN 的具體耗時。想深入可看本站的 第 21 天中文導讀,代碼見開源項目 30u30 第 21 天目錄(英文)。

極客教育 jikejiao.com 原創講義 · 2026-10