← 回到天際線 思考機器第 10 層 / 102

EP 2212021-09-152:52:56

Cyc:把常識一條條餵給機器

Douglas Lenat

常識像地基,Douglas Lenat 花 37 年想把它拆成幾千萬條規則餵給機器,也談這件事為什麼值得做一輩子。

Douglas Lenat: Cyc and the Quest to Solve Common Sense Reasoning in AI | Lex Fridman Podcast #221在 YouTube 看 ↗

重點6 條

  1. 常識是智能的地基:Lenat 在史丹佛做自然語言、機器人、專家系統的年代就一路撞牆——系統表現得再厲害,也像會叼報紙的狗,根本不懂自己在做什麼;常識平常用不到,但遇到像垃圾車超載、垃圾灑滿一路這種意外狀況,就是靠它做出瞬間判斷。
  2. 1984 年那場會議估出「一百萬條」,結果差了一個數量級:Minsky、Newell、Feigenbaum 等人各自用不同方法估算人類常識的規模,答案都收斂在約一百萬條;Lenat 後來搬到德州奧斯汀全職做才發現,真正要的是幾千萬條規則。
  3. 放棄「全域一致」,改用像地殼板塊一樣的脈絡系統:知識庫大到一定規模一定會出現矛盾,Cyc 把世界切成一個個脈絡(context),矛盾只留在脈絡交界,不會讓整個系統當機。
  4. 語意網卡在「三元組」不夠用:簡單的「誰是誰的太太」這種二元關係,用知識圖譜就能表示;但要處理《羅密歐與茱麗葉》裡「茱麗葉以為羅密歐會怎麼想」這種一層疊一層的信念,就得跳到高階邏輯,不能只靠知識圖譜。
  5. GPT-3 讀得懂字面,卻不懂為什麼:Lenat 舉 GPT-3 把「下毒故事」接成「那人喝下毒藥」、把戒酒問題答成推薦酒行的例子,說明只靠統計關聯的系統,在醫療、開車這類高風險場景,連 1% 的錯誤率都不能接受;他主張機器學習和符號推理該像左右腦一樣互補。
  6. 這是一輩子只做一次的工程:Lenat 說教 Cyc 常識就像畫一次《星夜》,教過一次就不用再教第二次;他提到系統曾天真地問「這些帳號的擁有者都是人,那我是人嗎」,也談到自己已經七十多歲,清楚知道沒有下一個 37 年能慢慢等世界跟上。

時間軸26 段

01 01:07
撞上常識牆

早期 AI 系統再厲害也像會叼報紙的狗,根本不懂自己在做什麼;常識像地基,平常用不到,遇到意外才靠得住。

02 09:21
一百萬條的估算

Minsky、Newell、Feigenbaum 等人各自用不同方法估算人類常識規模,結果都收斂在約一百萬條。

03 14:09
低估一個數量級

日本第五代計算機計畫促成國會通過反壟斷豁免,MCC 研發聯盟在奧斯汀成立,Lenat 帶著 Cyc 過去才發現真正要幾千萬條規則。

04 19:47
讀字裡行間的空白

靠代名詞指涉、句與句之間省略的推論、假新聞裡「為什麼不可信」的直覺,反推出作者預設讀者已經知道的常識。

05 24:10
放棄全域一致

花五年才願意接受知識庫不可能全域一致,改用像地殼板塊一樣的脈絡劃分世界,矛盾只留在交界處。

06 30:53
回到那場會議

回顧 Minsky 當年靠一個信封做估算,也釐清 Cyc 存的是常為真的經驗法則,不是具體事實;他仍相信語言是人類智力史上最大的一次躍進,網路是不是下一次則是雙面刃。

07 50:16
擴充知識庫的兩條路

一條是讓系統直接讀懂文字,另一條是靠更好的輸入工具,例如用「反繹」讓系統列出幾個合理解釋,再讓專家挑出正確的那個。

08 54:09
左右腦分工

機器學習像右腦找關聯,Cyc 像左腦補因果解釋;舉一個和醫院合作的基因研究為例,幫可疑的基因突變與病症補上一條說得通的因果鏈。

09 1:00:08
GPT-3 的脆弱

GPT-3 會把「下毒故事」接成「那人喝下毒藥」、把戒酒問題答成推薦酒行,說明只讀懂字面不懂原因,在醫療、開車這類場景連 1% 的錯誤率都不能接受。

10 1:04:22
女兒的診斷

女兒被診斷腦膜炎,Lenat 借助同事開發的血液感染診斷系統交叉核對,得到跟醫院一樣的診斷,差別是這套系統能一步步解釋為什麼。

11 1:06:39
語意網撐不住

簡單的二元關係用知識圖譜就能表示,但要處理《羅密歐與茱麗葉》裡「茱麗葉以為羅密歐會怎麼想」這種疊層信念,就得跳到高階邏輯。

12 1:17:07
註腳式教學

想像一種像文書軟體文法檢查的工具,系統讀完網頁後用註腳問「這裡的意思是不是這樣」,回答一次就能幫後面成千上萬個讀者;他也提到特斯拉自動駕駛給人的教學感。

13 1:23:18
MathCraft

團隊做了一套叫 MathCraft 的教材,讓系統故意在數學題上犯錯,由學生扮演老師糾正它;但學校認為它拉不動標準化測驗分數,始終沒有被廣泛採用。

14 1:26:25
教電腦只需一次

Lenat 說教 Cyc 常識就像畫一次《星夜》,教過一次就不用再教第二次;他也提到系統曾問「這些帳號的擁有者都是人,那我是人嗎」,是他印象最深的時刻之一。

15 1:32:21
拆解愛與在

情緒推理用在恐怖攻擊、資安漏洞、升學選擇等情境模擬;「愛」拆出約五、六十種,「在」這個介系詞拆出七十五種用法,因為語言本來就故意留了模糊空間。

16 1:39:29
Minsky 的軼事

Minsky 常故意講一句連自己都不懂意思的話,逼學生自己想出偉大的論文;他和 Feigenbaum 讓 Lenat 體會到研究生涯有限,每個計畫都要算數。

17 1:45:00
有沒有想過放棄

公司刻意不參加研討會、不發論文炒知名度,是想等「幫浦已經引好水」再讓更多人一起貢獻;資金也從早年多半來自政府,變成現在幾乎全來自真正在用 Cyc 的企業。

18 1:52:24
OpenCyc 的誤解

釋出一個只剩簡單二元關係的簡化版,本來想證明「只有這樣還不夠」,結果反而被很多機器人公司直接拿去當本體使用,沒有人回頭找完整版。

19 1:56:27
開源的兩難

拿 Google 開源 TensorFlow 的經驗類比,說明怎麼在不流失核心價值下養出社群;Cyc 把「知識長什麼樣」跟「怎麼有效率推理」拆成兩層,靠上千個小模組補回效能。

20 2:05:20
推理有多難

約四成心力花在讓推理更有效率的工程師身上,五六成花在不寫程式、專門把知識寫成規則的本體工程師身上,他用《時間機器》裡的 Eloy 與 Morlock 形容這兩群人。

21 2:07:01
為什麼還在用 Lisp

用 Lisp 開發速度比其他語言快上千倍,而且天生適合表示邏輯;工程師只需要學一套精簡過的子集 SubL,不用學完整的 Lisp。

22 2:15:08
KNAX 計畫

成立一個非營利機構,想找出沒念完高中、但有本體工程天分的人,訓練後媒合給需要人才的公司;他也說懂笑話、能自我反思的人,通常比拿了哲學博士的人更適合這份工作。

23 2:21:54
圖靈測試不夠嚴謹

更好的測試是看系統能不能一路回答連續的「為什麼」;他舉 IBM Watson 在《危險境地》答錯題目、犯下沒有人類會犯的錯誤為例,也談到 AGI 不一定需要身體,但要理解身體與意識是怎麼回事。

24 2:33:38
行人與駕駛的賽局

AI 不需要恐懼死亡才能有創造力,但自動駕駛必須做「這條命值不值得冒險」這種難以形式化的倫理計算;兩人接著聊到行人過馬路時,駕駛與行人其實在玩一場沒有明說規則的賽局。

25 2:40:37
問完成版的 Cyc

兩人聊到愛因斯坦的相對論、超導體、幽門螺旋桿菌致病說,都曾被主流科學界擋在外面很久,他期待 AGI 能幫人類跳出這種被卡住的典範。

26 2:45:32
給年輕人的建議

建議別怕投入需要花上數十年的計畫,做好每一個決定都算數;他也談到自己已經七十多歲,清楚知道沒有下一個 37 年能慢慢等世界跟上,以及希望被記得的方式。