# 加里·馬庫斯：走向深度學習與符號 AI 的混合

> 批評當前深度學習路線的侷限，主張結合符號推理與結構化知識，走混合式的智慧之路。

- 原標題：Gary Marcus: Toward a Hybrid of Deep Learning and Symbolic AI
- 期數：特別節目
- 釋出日期：2019-10-03
- 嘉賓 / 主題：加里·馬庫斯
- 網頁版：https://lex.qiaomu.ai/tw/ep/gary-marcus/
- 官方頁面：https://lexfridman.com/gary-marcus/
- 精讀字數：約 6407 字（閱讀約 14 分鐘）

> 本文為 lex.qiaomu.ai 基於原始訪談的 AI 改寫中文精讀，非官方翻譯；引用請註明出處並連結網頁版。

Anthropic 內部產品工程團隊，現在有 65% 的 PR 由一個叫 Claude Tag 的機器人直接合並進主幹。這個數字看起來像是機器已經能自己寫程式碼。但加里·馬庫斯（Gary Marcus）會用過去二十年反覆講的一個論點告訴你：寫程式碼這件事，機器做得再好，也說明不了它理解了任何東西。

馬庫斯是紐約大學榮休教授，Robust.AI 和 Geometric Intelligence 的創始人，後者是一家被 Uber 收購的機器學習公司。他寫過《重啟 AI》（Rebooting A.I.）和《Kluge》。多年來他一直扮演同一個角色：在深度學習最熱鬧的時候，指出它的邊界在哪裡。在這次和 Lex Fridman 的對話裡，他把自己攢了二十多年的觀察濃縮成一句話：**我們正在用統計相關性模仿智慧，真正的理解還遠在天邊。**

## 智慧不是一根刻度尺，上面只有冷和熱

人們談論 AI 超越人類，腦子裡通常浮現一個數字。比如 IQ 到 262 的那一天，人類就出局了。馬庫斯說這套模型從根上就錯了。

> 智慧是一個多維變數。有語言智慧，有運動智慧，有數學智慧。機器在數學智慧上已經遠超大多數人，下棋也是。但在理解語言這件事上，它們落後我五歲的孩子遠不止一條街。（加里·馬庫斯）

他給了一個具體的例子。一個五歲小孩能理解“瓶子裝水、人喝水解渴、人不想脫水”這一串事實。不需要解釋，不需要標註資料，看一眼就知道。機器不知道這些。算力從來不是這裡的問題。機器手裡空空如也，它沒有任何關於世界的最基礎模型。

馬庫斯把這種東西叫常識。常識覆蓋的範圍極廣，它是一整片海洋，遠遠超出任何單點式的定義。你讀一本小說，看一場電影，每一個情節的推進都依賴讀者自動補全大量沒有說出口的背景知識。機器缺了這片海洋，連一個簡單的句子都讀不懂。

這片海洋還有一個反直覺的數學性質：**裡面每一塊知識，你告訴它，它都能判斷真假；你讓它主動說出來，它大機率想不起來。**像是一個巨大的隱式資料庫，人類可以隨時呼叫，卻無法完整列舉。馬庫斯提到，Cyc 系統花了三十年試圖把這些東西編碼出來，最後也沒成功。問題出在他們太依賴邏輯，沒有充分處理機率和不確定性。

## 物理推理和心理推理，哪個更難

Lex 提了一個假設：訓練一個機器人理解物理世界，可能比理解人類心理更容易。因為機器人可以動手實驗，把瓶子倒過來看會不會漏水，把蓋子擰上看能不能擰緊。

馬庫斯部分同意，同時補充了一個更尖銳的觀察。物理實驗可以做，心理實驗做不了。你沒法讓機器人透過反覆掐一個人類來學會疼痛是什麼。那過不了倫理審查，公司會被起訴。

> 人類心理中很多深層次的東西，愛、恐懼、不安全感，能不能透過數字形式去探索？我覺得只能觸及非常有限的切片。Facebook 確實在做心理實驗，他們很擅長讓人上癮，理解什麼能把人拉回來。但即便握著巨大的資料量，他們能觸及的也只是人類經驗裡很小的一塊。（加里·馬庫斯）

他擺出一個有意思的對照：機器人學不會“被掐會疼”，但能學會“輸掉遊戲讓人不爽”。後者在人類身上高度一致，程式也容易寫。一旦把範圍擴大，比如性挫敗、職場失意、和家人爭吵，整個問題就複雜到現有技術完全接不住。

## 語言更像圍棋，還是更像物理世界

Lex 提了一個分類：圍棋和國際象棋是封閉問題，規則兩千年沒變，361 個交叉點就是全部可能。物理世界是開放的，什麼都可能發生。語言站在中間某個位置。

馬庫斯的回應把這個判斷拆得更細。語言確實有約束，比如語法。可語言的句子數量在原則上是無限的，你可以無限堆疊形容詞，可以構造“我認為你認為你媽媽認為”這種巢狀。而且幾乎所有物理世界裡的事情都能用語言描述。讀一個故事，你呼叫的世界模型可能比下一盤棋複雜得多。

> 語言對機器來說極其困難。語言學家研究它也很吃力。可孩子學起來並不難。這正是驅動我整個職業生涯的問題。我師從史蒂芬·平克，我們想搞清楚為什麼孩子能學會語言而機器不能。（加里·馬庫斯）

這個問題的核心，是嬰兒出生時那種“blooming buzzing confusion”到底意味著什麼。嬰兒沒有語言，卻能在三年左右掌握一套複雜到任何現有模型都無法復現的系統。馬庫斯認為答案裡沒有“更多資料”或“更大模型”這種選項，因為架構本身就缺了關鍵零件。

## 1998 年那個實驗，到今天還沒被解決

馬庫斯在 1998 年做過一個實驗，用的是當時深度學習的先驅架構，叫 auto-associator。任務是判斷一個二進位制數是奇數還是偶數。網路把所有偶數都學得很好，遇到奇數時完全無法泛化。

> 很多人覺得我是不是傻了，或者實驗是假的。可它確實是真的。這些網路把世界看得和我們完全不一樣。它們關心的是最右邊那個輸出節點是 1 的機率，在它們見過的所有訓練資料裡，那個節點從來沒有被啟用過。所以它們判斷：為什麼要現在開啟它？（加里·馬庫斯）

一個人類看到同樣的問題，會立刻知道把二進位制數加一，奇偶性就翻轉了。這就是代數，X 加二等於 Y。你不需要見過一百萬個偶數才能理解這個操作。馬庫斯說，這個實驗的核心結論二十一年後依然成立：**深度網路學的是輸入和輸出節點之間的相關性，它沒有學到作用於變數之上的結構化操作。**

他提到最近有人拿 GPT-2 試圖反駁這個觀點。對方輸入了“A rose is a rose, a tulip is a tulip, a lily is a ___”，GPT-2 正確填了“lily”。看起來挺厲害。馬庫斯回了一句：一個例子說明不了什麼，換個新詞還能行嗎？二十分鐘後對方回覆：那些情況有些問題。

二十一年前預測的侷限性，在更強的硬體、更大的資料、更多的層數面前，依然沒有被打破。

## 說皇帝沒穿衣服這個比喻，其實不太準

馬庫斯被問到是否覺得自己在扮演那個指出皇帝沒穿衣服的孩子。他的回答很坦率。

> 我並沒有說這個皇帝沒穿衣服。準確地說，他穿著內褲。很多問題他做得確實很好，比如語音識別。但我講的是另一組問題，人類非常擅長、機器完全不擅長的那一組。這些問題二十年前就存在，現在依然存在。（加里·馬庫斯）

他把任務分成兩類。一類是感知分類，比如識別一張圖片裡有沒有貓。深度學習是目前最好的工具，比任何其他方法都好。另一類是抽象推理，比如理解瓶蓋為什麼要擰緊、乳酪刨的把手為什麼在上面、為什麼所有的孔都是鋒利的。深度學習對後者幾乎沒有貢獻。

他提到一個叫 Virtual Home 的專案，讓眾包工人描述一段鍛鍊流程。工人寫出來的是“走到有電視和啞鈴的房間，開啟電視，舉起啞鈴，放下啞鈴”。這些描述極其細碎，完全沒有抓住鍛鍊的本質：在特定時間段內完成一定數量的動作，針對特定肌肉群。可你要是問一個普通人剛才做了什麼，他只能給你這些邊角料。

**構建常識知識庫的困難不止在技術層面，還在於人類自己並不擅長把內隱知識外化成機器能用的形式。**你知道很多東西，你不知道你知道。只有當別人說出來，你才能判斷對或不對。這個過程沒法靠簡單的眾包完成，它需要既懂認知又懂 AI 系統的人，才能構造出正確的知識形態。

## 專家系統錯在哪裡，深度學習又錯在哪裡

馬庫斯先澄清了一個常見誤解：他並不主張回到 80 年代的專家系統。那些系統幾乎全是手寫規則，沒有機器學習。現在的主流做法是幾乎全是機器學習，沒有規則。兩邊各有優勢，也各有盲區。

> 如果你在討論感知分類，怎麼識別一個瓶子，深度學習是目前最好的工具。如果你在討論推理瓶子能做什麼、蓋子怎麼擰緊，那麼更接近專家系統的方法可能仍然是最好的選擇。我們需要兩者的混合，而且是在兩者之間找到新合成方式的混合。（加里·馬庫斯）

他舉了一個例子說明為什麼某些任務永遠不該用機器學習。你不會用機器學習去構建一個網頁瀏覽器。你不會記錄所有鍵盤輸入和螢幕截圖，然後讓系統去學它們之間的關係。任何理性的工程師都會直接寫程式碼：如果 X 大於 Y，就執行這個操作。條件判斷、變數比較、邏輯運算，這些東西從計算機誕生之初就存在，而且工作得很好。

卷積神經網路的成功恰好說明了這一點。卷積是一個先驗結構，由人類專家設計進去，系統不需要自己學會“同一個物體出現在不同位置應該被識別為同一個物體”。這個抽象是人工植入的，而且極其有效。馬庫斯說，問題在於沒人願意做這種植入工作。

> 羅素有一句話：偷竊比誠實勞動更有優勢。把因果性、容器、瓶子這些東西程式設計進去非常困難。Ernie Davis 和我寫了一篇四十五頁的論文，就為了理解容器是什麼。他花了三個月才把邏輯陳述弄對。沒人願意做這種苦力活。所有人都想直接喂一堆影片，讓機器自己學。（加里·馬庫斯）

## “苦澀的教訓”到底教會了我們什麼

Rich Sutton 寫過一篇著名的部落格叫《苦澀的教訓》（The Bitter Lesson），核心觀點是七十年 AI 研究告訴我們，利用算力的通用方法最終總是最有效的。Lex 把這個觀點拋給馬庫斯。

馬庫斯的回應很直接：**“最有效”是對什麼而言？**感知分類和一些強化學習問題，通用方法確實最有效。它在自然語言理解、常識推理、機器人導航這些領域沒有帶來任何實質性進展。

> 你可以造一把更好的梯子，這不意味著你能造一把通向月球的梯子。（加里·馬庫斯）

他承認算力越多越好，這跟錢越多越好是一個道理，沒人會拒絕。可大腦只用了二十瓦就做到了深度學習做不到的事。這裡藏著一個存在性證明：智慧不需要谷歌規模的計算資源。

順著這條線往下推，如果算力不是瓶頸，瓶頸就一定在架構和表示上。深度學習缺少的是對抽象概念、因果關係、變數操作的支援。這些不會因為資料變多就自動湧現。馬庫斯說他從未見過一個深度網路真正提取出抽象概念，只在有人明確程式設計進去的時候見過，比如卷積。

## 進化很慢，可它累積

馬庫斯對進化有一個很精確的描述。進化非常低效，一個脊椎動物大腦方案花了十億年才出現。一旦出現，它會迅速擴散。魚有，狗有，人有。色彩視覺出現後也迅速擴散到很多物種。

> 進化像是一套不斷累積的庫。一旦有了構建多指結構的庫，手可以用，腳也可以用，只需要調整引數。進化速度因此會加快，因為庫越來越大。（加里·馬庫斯）

他認為人們在進化計算上的嘗試之所以失敗，是因為起點太低。從幾乎一無所知開始進化，進展極其緩慢，學生拿不到論文就放棄了。如果能從更豐富的初始結構出發，進化可能會快得多。

這條思路也延伸到 AI 的設計哲學。與其從零開始讓機器自己學會一切，不如把生物學已經驗證過的結構先搭起來。生物模仿在材料科學裡很常見，AI 應該做同樣的事情。認知科學、心理學、神經科學、語言學，這些都是可以借鑑的資源。他甚至開玩笑說，如果真能把狗的認知搞明白，機器人的社交能力可能都有救。

## 怎麼判斷一個系統真的理解了

馬庫斯提了一個具體的測試方案，叫理解力挑戰。核心思想很簡單：讓機器看一集《絕命毒師》，然後問它任意關於角色動機的問題。比如沃爾特·懷特為什麼要對傑西下手？

> 如果你能回答關於角色動機的任意問題，我會非常佩服。人類可以做到。看一部精心構造的電影，有人撿起一塊石頭，所有觀眾都知道他為什麼要撿。這種能力如果機器能具備，而且不限於某一種型別的電影，那才叫真正的理解。（加里·馬庫斯）

他強調測試不能用選擇題，選擇題太容易被統計方法鑽空子。必須是開放式問題，必須涉及多種型別的電影，必須能應對新詞和新情境。

他提到《斯巴達克斯》裡那個著名場景：一群人站起來喊“我是斯巴達克斯”。觀眾立刻明白兩件事。第一，這顯然不可能，他們不可能都叫斯巴達克斯。第二，他們在撒謊，為的是保護真正的斯巴達克斯，保護他們共同相信的東西。如果機器能推斷出這些，那才叫理解。

他還順便吐槽了尤金·古斯特曼那個透過圖靈測試的程式。那套系統假裝成一個來自敖德薩的十三歲男孩，英語不好，態度陰陽怪氣，用迴避和搪塞來躲開所有深層問題。它騙過了評審，卻繞開了圖靈真正關心的東西：怎麼讓機器變得智慧。

## 可信 AI 的前提是深度理解

馬庫斯和 Davis 那本書的最後一章是樂觀的，描述了一個真正實現了常識推理和混合架構的世界。那種樂觀帶著一個前提：**我們必須先能用程式碼或某種形式表達“傷害”“公平”“意圖”這些概念。**

> 你不能和一個只處理相關性、不理解瓶子也不理解傷害的系統談對齊。阿西莫夫的第一定律是不得傷害人類，可如果你連傷害是什麼都沒法在 Python 或 TensorFlow 裡表達，談何讓 AI 遵守這條規則？如果做不到，我們就是在騙自己。（加里·馬庫斯）

他設想了這樣一個流程：先有一個由倫理學家、技術專家和廣泛代表組成的委員會，討論規則應該是什麼。然後有工程師把這些規則翻譯成機器能執行的形式。最後這一步目前根本不存在。你可以在自然語言裡寫“不得傷害”，你沒法把它翻譯成可執行的程式碼，因為機器手裡沒有傷害這個概念。

這裡又回到他反覆強調的那條主線：沒有對世界的深層理解，就談不上真正可信的 AI。深層理解需要符號操作、結構化表示和因果模型，而這些恰好是當前深度學習最缺的東西。他還順便提醒，制定規則這件事不能只交給軟體工程師，也不能只交給掌握大公司的技術老闆，倫理學家的位置不可替代。

## 給普通人判斷 AI 新聞的幾個問題

馬庫斯在書裡給非專家讀者提供了一套判斷方法，其中最實用的一條是找 demo。

如果某家公司宣稱實現了某種能力，卻沒有提供可以讓你自己試用的 demo，那它大機率還沒真正跑通。如果 demo 只在一個極窄的場景下有效，比如 Google Duplex 最初只能在預約理髮店和餐廳、查詢營業時間這三件事上工作，那它離通用智慧還很遠，屬於高度特化的指令碼。

馬庫斯對 Sophia 這類專案的態度很明確：它拿到了很好的劇本，卻根本不理解自己在說什麼。面對一個宣稱擁有對話能力的系統，你要問：我能試試嗎？它泛化得怎麼樣？換一個新話題還行不行？換一種問法還行不行？

這些問題背後站著一個更根本的標準：**如果一個系統只在被訓練過的分佈上表現良好，那說明它還沒理解，它在做的不過是在訓練分佈裡記憶和插值。**

## 什麼才是真正值得投入的方向

馬庫斯反覆強調，他對深度學習並沒有全盤否定，他要做的只是指出它的邊界。他的立場可以概括成三點。

第一，感知歸感知，推理歸推理。深度學習在感知分類上做到了前人做不到的事，這個成就應該被承認。但感知分類的方法論搬不到推理和語言理解上。

第二，符號操作、變數繫結、因果模型這些工具從 McCarthy 時代就存在。它們被冷落，真正的原因是深度學習的商業成功太耀眼。Cyc 的失敗被當成整個符號方法的失敗，而 2010 年之前所有深度學習的失敗卻沒有人這樣記賬。這是雙重標準。

第三，未來的突破大機率來自混合架構。它既會有符號的成分，也會有神經網路的成分，兩者有機結合。AlphaGo 就是一個例子：它同時用了深度學習和蒙特卡洛樹搜尋，後者屬於經典的符號 AI 技術。只是人們習慣性地把它稱為深度學習系統，模糊了其中的混合本質。

> 我擔心的是，不管未來出現什麼新方法，人們都會把它重新包裝成深度學習。就像 IBM 把 Watson 從一個具體系統變成了整個認知部門的名字。這不會改變技術本身，卻會讓公眾和投資人更難看清真正的進展在哪裡。（加里·馬庫斯）

## 給讀者的行動清單

- 下次看到“AI 實現某某能力”的新聞，先找 demo。沒有 demo，預設它還沒成功。demo 只在極窄場景下有效，那它只是指令碼。
- 用“換個新詞還行不行”來測試語言模型。如果換一批訓練集裡沒出現過的新詞、新情境，系統立刻崩，那它學的是相關性，談不上理解。
- 把 AI 的能力拆開看。數學和棋類一類，感知分類一類，語言理解和常識推理是完全不同的另一類。不要用某類問題的成功去推斷另一類問題也會成功。
- 不要用機器學習去解決本該寫程式碼解決的問題。條件判斷、變數操作、邏輯推理，寫程式碼比訓練模型更可靠，也更可解釋。
- 如果你在做 AI 產品，問自己一個問題：使用者能不能透過某種方式驗證系統真的理解了他的意圖？如果不能，使用者遲早會發現系統只是在做模式匹配。
- 對“AI 威脅論”和“AI 萬能論”保持同樣的警惕。兩者都忽略了同一個事實：我們連傷害是什麼都還沒法用機器可執行的形式表達出來。
- 關注那些在做混合架構的團隊，別隻盯著誰的模型引數更大。引數規模的增長有上限，架構的突破沒有。
