# 謝爾蓋·萊文：機器人學與機器學習

> 探討如何用深度強化學習讓機器人獲得技能，以及資料、模擬與現實部署之間的差距。

- 原標題：#108 – Sergey Levine: Robotics and Machine Learning
- 期數：第 108 期
- 釋出日期：2020-07-14
- 嘉賓 / 主題：謝爾蓋·萊文：機器人學習
- 網頁版：https://lex.qiaomu.ai/tw/ep/sergey-levine/
- 官方頁面：https://lexfridman.com/sergey-levine/
- 精讀字數：約 15116 字（閱讀約 34 分鐘）

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

2004 年，斯坦福拍過一段機器人演示影片。

影片裡，一臺叫 PR1 的機器人走進客廳，把散落的玩具一件件收好放回原位，最後從冰箱裡拿出一瓶啤酒，走到沙發前遞給坐著的人。動作連貫，節奏自然，看起來像把十幾年後的未來提前拍了出來。

這段影片在機器人學習圈子裡流傳很廣，因為它有個包袱。

PR1 全程由人遙控。

Sergey Levine（謝爾蓋·萊文）在 Lex Fridman 的播客裡用這段影片回答開場那個問題：最先進的人類和最先進的機器人，差在哪裡。他把差距切成兩半。身體那一半，差距不大。只要願意花錢、做工程，機器人可以跑得更快、力氣更大，甚至抬得起一輛車。寬的那一半在腦子裡。

> 「如果我們願意花點錢、做點工程，身體這關幾乎能抹平。但智慧的差距，那條縫非常寬。」（Levine）

這期對話錄製於 2020 年。Levine 是伯克利的教授，做深度強化學習、機器人學、計算機視覺，是最早一批把感知和控制塞進同一個神經網路做端到端訓練的學者。

## 差距有多大，取決於世界有多亂

Levine 說，衡量這條縫有多寬的尺子，是環境的開放程度。

把機器人放進工廠，告訴它每個零件在哪，把動作軌跡硬編碼進去，它能做到人類做不到的事，更快、更穩、更強。可一旦環境裡出現變動，哪怕只是你廚房裡那種程度的變動，它立刻就不行了。

這個判斷的分量在於，它把「機器人離人有多遠」換成了一個可以測量的變數：世界的意外程度。工廠裡的世界是被鎖死的，家務裡的世界是完全敞開的。我們覺得拿杯子喝水是全世界最簡單的事，恰恰因為那是所有事情裡變數最多的一類。

Lex 順勢問了一個更哲學的問題：人類的認知能力裡，先天和後天各佔多少？如果全是後天學來的，AI 就更有希望。

Levine 說自己不是生物學家，只能從 AI 的角度回答，方法是繞開「人是怎麼做到的」，去問「最少需要什麼」。

他給的例子是：你從進化上被強烈激勵去認臉，認得出母親的臉，你就更可能活下來，所以人類認臉很強。但這不能說明認臉必須寫進基因。更乾淨的實驗是看人在完全超出進化經驗的情境裡表現如何。

現代生活天天在做這個實驗。開車、坐飛機、用搖桿操控一條從沒見過的機械臂，進化從來沒有準備過這些東西。你會笨拙兩秒鐘，然後就能湊合著把它用起來。

> 「如果我告訴你，你的命取決於你能不能用這條機械臂去把店開啟，你大概就能做到。哪怕你從沒見過這個裝置、從沒用過這個搖桿。這跟進化沒什麼關係，給你這個能力的是你的靈活性。而現在的機器人系統，恰恰在這裡塌掉。」（Levine）

## 常識不是知識庫，是活出來的

Lex 追問了一句：我們能不能適應一個陌生的搖桿，是不是因為我們底下墊著一整座知識冰山？

Levine 認可冰山的存在，但他認為這座冰山很可能是一輩子攢出來的。

他說，現代機器學習真正的難題，是從海量無序的經驗裡蒸餾出某種像常識的東西。困難也許跟機器學習本身無關，根源在於我們把它想得太窄了。

> 「我們可能太死板地守著一種極度監督式的學習觀念，就是輸入輸出、X 是對的 Y 是錯的這種模型。真正需要的，也許是換一個視角：把世界看成一堆經驗，它不一定提供任何剛性的監督，只是提供了大量『本來可能發生的事』。你從裡面蒸餾出對世界的常識理解。」（Levine）

他接著說出了一個至今沒有答案的問題：經驗從哪裡來，重要嗎？

是把網際網路上所有東西下載下來，塞進一個 21 世紀的巨型語言模型，然後看會發生什麼？還是機器必須親身去試、去觀察自己動作的後果、自己選擇去碰世界的哪一部分？

如果只是獲取大量關於世界的樣本，那效率可能很低。可如果機器在主動試錯，它就等於在做一種粗糙的困難樣本挖掘：它會去做自己認為有用的事，然後看到有時好有時壞的結果，用這些結果修正自己的模型。這樣積累出來的資料，也許對建立常識異常有利。

他舉的例子是一瓶水。你我都知道，把桌上這瓶水掀翻沒什麼好處，所以不會去做。一個對世界理解很差的系統，可能會覺得掀翻它能提高自己的效用，於是真的去掀。掀完之後它得到了一個負反饋，而這個反饋正好告訴了它不要做這件事。

> 「這就是那個不斷自我改進的迴圈，它才是關鍵。這個迴圈很可能就是區分今天最好的方法，和明天最好的方法的東西。」（Levine）

Lex 順著問：跳出已經奏效的策略、去探索完全陌生的區域，有多重要？

Levine 說這取決於具體問題，並且指出，這個問題正好觸到了強化學習的一個分水嶺。

經典強化學習把問題定義成最大化效用，理性智慧體的每一個動作都服務於這個效用。

另有一種框架是：先讓你隨心所欲地探索世界，探索完了之後，再派給你一個任務。

> 「如果你不知道將來會被派去做什麼，只是想讓自己的準備儘可能充分，你可能會去追求某種覆蓋度，攢下一整套認知工具。等到有一天有人跟你說，去給我把咖啡端來，你已經準備好了。」（Levine）

他說這是他自己偏愛的一種想法，但並不主流。這句話本身就有分量：一個領域裡最活躍的研究者承認，他相信的方向還不是主流方向。

## 為什麼機器人比下棋難

Lex 請他把鏡頭拉遠，問機器人學到底要解決什麼問題。

Levine 給了兩個答案。

務實的那個是：造出一個能完成人類使用者佈置的任何任務的系統。只要在物理能力範圍內，如果它能透過一點點額外訓練或試錯把任務做出來，就像一個人透過遙操作把機器人開動起來那樣，機器人問題就算解決了。

第二個答案更接近他為什麼選這一行。他在意的是機器人學能給人工智慧的理解帶來什麼，機器人學本身要做到多好反倒是次要的。

接下來是他對計算機視覺、自然語言處理和機器人學根本差異的解釋。

機器人學要求你扔掉很多柺杖。感知、控制各自的難題要處理，更重要的是它們之間的整合也要處理。過去幾十年，主流的做法是模組化：各個子問題分別解決，然後拼起來，整體就能跑。而這十幾年看到的情況是，把整件事當一個整體來研究，得到的解法可能和分開研究完全不同。

另一個差異是，機器人學把莫拉維克悖論（Moravec's paradox）照得特別清楚。

積分和微分學起來很吃力，但寫個程式讓它求導數、求積分，它能算一整天不出錯。從杯子裡喝水，人要輕鬆得多，對機器人卻極難。

Levine 認為，當我們看到這種刺眼的不對稱，通常意味著我們漏掉了某個重要的東西。盯著這些不對稱看，就是找到那塊拼圖的路徑。他說這不必發生在機器人學裡，但機器人學碰巧擠滿了這類不對稱。

於是問題變成：為什麼操縱物體這麼難？

他的回答回到了監督訊號。視覺的輸入輸出和監督關係非常乾淨，至少在某個抽象層次以前，它容易被塞進一個強監督的框架。機械臂操縱就很難這樣處理。

> 「你可以試著搞一個標註資料集，裡面寫清楚每個時刻該發什麼電機指令，然後在上面訓練。但各種原因讓它效果不佳，而且它跟人和動物學做事的方式也毫無相似之處。父母不會告訴你，為了走路，你的每塊肌肉該怎麼收縮。」（Levine）

人得到的是一些模糊的指引，真正細到低層的東西，基本都是自己摸出來的。而在電機控制裡，那種「有人告訴你這是貓這是狗」的監督，明擺著不存在。

## 把感知和控制拆開會損失什麼

2014 年，Levine 團隊做了第一批用端到端強化學習從視覺學機械臂技能的工作。他說這在當時的機器人學界有點冒犯性，也爭議不小。

他們要證明的只有一件事：在感知和控制結合的場景裡，把它們當成一個整體來訓練，效果比拆開更好。

實驗任務很簡單，機器人要把一個紅色梯形塊插進梯形的孔裡。拆分方案是先用位姿檢測器找到孔的位置，再控制機械臂把它送進去。端到端方案直接把畫素對映成關節力矩。

他們觀察到，端到端方案對感知部分的壓力反而更小。模型不需要精確算出物體在三維空間裡的位置，只要把誤差分佈成一種特定形狀：水平方向的誤差比垂直方向更重要，因為垂直方向可以一直往下壓，壓到壓不動為止，感知誤差造成的危害很小；而垂直於運動方向的誤差危害大得多。

> 「如果你把這兩件事合起來看，就可以在模組之間最優地分配誤差，讓每個部件都弱一點，整體效能反而更好。」（Levine）

這個結論聽起來平淡，但它的意義在於可推廣。Levine 提到，研究人和動物知覺啟發式的人早就發現了類似的東西。最有名的叫凝視啟發式（gaze heuristic）：想接住一個飛來的球，你不必在腦子裡解一整套微分方程去定位它在三維空間裡的軌跡、估速度、算風阻。你只需要保持速度，讓球在視野裡的位置不動。它往下掉一點，你就加速；它往上飄一點，你就減速。照這個簡單規則走，你會正好走到球落下的地方。

棒球手在用它，飛行員判斷自己會不會和別人撞上時在用它，青蛙抓蟲子也在用它。

## 沒有標準答案的「代表性難題」

Lex 問：機器人學裡有沒有一個乾淨漂亮的代表性問題，解決了它就能推進一大步？

Levine 說自己沒有好答案，原因恰恰在於這個領域考的是靈活性和適應性，把某件事做到極致解決不了問題。

> 「難點在於能迅速學會做某件任意的新事，好到能讓你繼續去做下一件任意的新事。」（Levine）

他舉例說，如果這個問題放在 2016 年問，他會說抓取是最好的代表性問題。它有巨大的現實價值，做好了能賺很多錢，因為很多倉庫想用機器人。而且它足夠難，因為不同物體需要完全不同的抓取策略。

但現在情況變了。這幾年人們把抓取做得相當好，好到他不確定再把它當作主要的牽引問題還能推進多少。

比較有意思的是真正奏效的方法路線。早期研究者幾乎把抓取當成一個幾何問題，這跟計算機視覺早期把識別當成逆向圖形學如出一轍。抓取被當成逆向物理問題：先看清物體的形狀，再用自己對物理規律的估計算出該把手指放在哪裡。

而真正效果好的做法，是學習加大量模擬或者真實世界的試錯。你不用再去解幾何問題，也不用去解物理問題。

抓取難在哪？難在需要應對的物體種類極其龐大，對一類物體有效的策略換到另一類就失效。盒子抓得再熟，碰到塑膠袋就得換一整套策略。物體的屬性遠不止幾何形狀，還有哪裡好拿、哪裡不好拿、哪裡會彎、哪裡會讓東西翻轉脫手、哪裡能形成穩固的抓握。

軟的東西如果你抓錯了地方，它會整個翻過來，裡面的東西全灑出去。

Lex 順勢點出，這些「灑出來」的細節，已經開始帶上常識推理的味道了。他問：解決通用機器人問題，是不是必然要求常識，要求某種人類水平的通用智慧？

Levine 把問題掉了個頭。

> 「也許應該反過來看：研究機器人，能幫我們理解怎麼把常識放進 AI 系統裡。」（Levine）

他認為常識是一種湧現屬性，是你不得不在某個具體的世界裡活動、把事情辦成，才會長出來的東西。

一個影象描述系統看世界的照片，然後打出英文句子，它確實在處理我們的世界。但你很容易構造出它違反常識的場景：給它一張穿著皮草大衣的人，它會說那是泰迪熊。

Levine 的判斷是，這套系統並不真的住在我們的世界裡。它住在由畫素和英文句子構成的另一個世界裡，那個世界裡沒有「冬天得穿上皮草不然會冷」這件事。

> 「原因可能就在這裡：我們今天造的系統棲居在另一個宇宙裡。如果我們造出的系統被迫去處理我們這個宇宙全部的一團亂麻，也許它們就必須獲得常識，才能真正最大化自己的效用。而現在這些系統不必這麼做，它們可以走捷徑。」（Levine）

## 從最優控制到強化學習，只是名字變了

Lex 說，他原來的直覺是必須先把智慧解決了才能解決機器人，而 Levine 把順序倒過來了：機器人學是研究智慧的最佳場所之一，因為它逼著你去碰多模態、多工、知識聚合這些東西。

他接著問：機器人問題能不能純靠學習解決，從零學起，不注入人類專家規則和啟發式？

Levine 說這個二分法有點太鋒利，因為寫演算法的人終究是人，跑 TensorFlow 的也是人。但就這個問題的精神來說，答案是肯定的：很多以前必須手工精細工程的問題，可以交給自動化最佳化。

然後他說了一句很像史前考古的話：這個想法一點都不新。人們琢磨用自動化最佳化來做控制，已經琢磨了很久很久。改變的更多是名字。

> 「今天我們會說，我的機器人在做機器學習、在做強化學習。1960 年代你大概會說，我的機器人在做最優控制。寫下一組微分方程去做反饋極小化，和訓練一個神經網路，這兩者的差別也許沒那麼大，無非是把最佳化推得越來越深。」（Levine）

Lex 追問：深度學習讓經驗的累積變成了資料形式的深層表示，這感覺像知識，而不像最優控制。

Levine 認可這一點，並指出學習型系統與經典最優控制最大的區別：學習型系統原則上用得越多、做得越好。他認為這個差別極其有力。

關於符號主義的遺產，他給了一段極簡的學科史。最初我們認為理性決策就是邏輯操作：把世界表示成邏輯，提出一個「我要讓 X 為真，該採取什麼動作」的查詢，然後對符號表示做操作，得到答案。到了 1990 年代，人們不再寫非真即假的謂詞，改寫成帶機率的系統，本質上還是邏輯推理，只是機率邏輯推理。再後來，人們說，那就把模型裡的機率也學出來吧。再後來，人們說，連節點都不必指定了，直接堆一個大神經網路上去。

在他看來，這些是同一條血脈的後代：用某種推斷過程實現理性決策，用某種最佳化過程實現學習。

他還補了一個更具體的例子：訓練一個大網路去預測機器人動作的後果，然後跑機率推斷，把模型反過來用，找出能導致某個合理結果的動作。他說這看起來就像一種邏輯。你有世界模型，只不過它由神經網路表達；你在這個模型上做某種操作，回答一個查詢。

## 解釋性、驗證，和會講故事的機器

Lex 說，符號系統真正讓人舒服的地方是可解釋：你能跟上系統的推理鏈條，它講的故事對你這個人類是有說服力的。而神經網路講不出這樣的故事。他半開玩笑地問，人類要求智慧系統能講出一個令人信服的故事來解釋自己的決定，這會不會只是一種人的執念。

Levine 的回答把可解釋性直接接到了效能上。你為什麼要系統解釋自己？因為當它搞砸的時候，你想知道為什麼。

但這件事比看上去更麻煩。系統可能出錯，然後它對自己出錯原因的解釋也可能是錯的；也可能是程式碼裡某個 bug 讓它沒做本該做的事。所以他把可解釋性看成驗證與確認這個更大問題的一個元件。

Lex 說這幾乎是給整個可解釋性領域做了總結，但他覺得還有另一個維度：講故事。它跟錯誤無關，只是把錯誤當成故事裡的素材。人生活在彼此的故事裡，政治如此，學術也如此。

Levine 接著講了一項實驗。他的前合作者、現在 MIT 的教授 Jacob Andreas（雅各布·安德里亞斯）做的工作，把自然語言當成策略內部狀態。

模型被要求完成任務，同時讀入一句自然語言的指令，比如「去紅房子」，然後就該去紅房子。但 Andreas 做了件不一樣的事：他把這句話不當作人的命令，而當作策略心智狀態的表示。

於是當模型面對新任務時，它會去想各種可能的語言描述，逐個嘗試，看哪個帶來正確結果。它有點像在自言自語：這個任務我該怎麼辦？去紅房子？不對。去藍房間？不對。去綠植那兒？對了，那就去綠植那兒。

你可以讀出它給自己編的那句話，那就是它認為自己該怎麼解決問題的描述。語言就此變成了內部狀態。

Lex 把這個想法推了一步：如果在獎勵函式里再加上「這個故事有多令人信服」這一項呢？

他說這在今天這個假訊息和社交媒體的世界裡是有點嚇人的念頭：真相本身沒那麼重要，重要的是你多能讓人相信你圍繞事實講出的那個故事。

## 強化學習到底是什麼

Levine 給的定義很樸素：強化學習就是學習型控制的現代形態。

經典定義窄得多，字面意義上就是從強化裡學，做一件事，然後得到獎勵或懲罰。但今天這個詞的用法更寬，泛指任何用資料讓自己變好的控制系統。

控制的核心是動作，是現在做出理性決策，而理性決策就是最大化某種效用度量，並且是一個接一個地做下去。

這套框架能覆蓋多寬？Levine 說幾乎任何我們希望機器做的事都能表達成決策問題。影象分類是一個決策問題，只不過不是序列決策；控制化工廠是決策問題；決定 YouTube 上推薦哪個影片也是決策問題。

強化學習和監督學習的關係，在數學上說得很乾脆：你完全可以把監督學習寫成一個強化學習問題，把損失函式當成負的獎勵。但監督學習有更強的假設，它假設有人真的告訴了你正確答案，假設資料是乾淨的。強化學習基本上是在放鬆這些假設。

不過他也提醒，這個視角在實踐上沒什麼用。如果你手上確實是個監督學習問題，你該用監督學習的方法去解，因為那樣更容易。

Lex 把差距擺了出來：監督學習已經在很多窄問題上乾得很有效，強化學習更像 AI 的夢想，很吸引人，但影響面還沒那麼大。真正卡住的地方在哪？

Levine 說，一個還沒解決的關鍵點是，強化學習演算法能不能有效利用大量先驗資料。

在很多我們想做理性決策的場景裡，直接放一個到處亂試的策略去純靠試錯學習，是不太現實的。收集資料容易得多，比如你手上已經有一大堆積壓的日誌，是別的策略跑出來的。如果演算法能從這些資料裡學出一個像樣的策略，再部署出去做點微調，那事情就好辦多了。

問題在於，演算法上很難做到這一點。

> 「一旦我們搞清楚怎麼讓強化學習從大資料集裡有效地起步，應用會出現非常快的增長。」（Levine）

這就是離線強化學習（offline RL），也叫批次強化學習（batch RL）。Levine 說這幾年這方面的研究很多，正在一步步逼近那個目標。

Lex 請他梳理一遍強化學習的方法分類。

Levine 的切入點是：強化學習在最根本的層面上，是學習能回答「如果……會怎樣」的模型。如果採取這個我從沒做過的動作，會發生什麼？你從經驗、從資料裡學這件事，而且經常是在迴圈裡學：建一個能回答反事實問題的模型，用它找出當前最好的動作，去試，看結果是否和預測一致。

不同方法就是做這件事的不同方式。基於模型的方法回答的是「會得到什麼狀態」，也就是做了這個動作世界會變成什麼樣。基於價值的方法回答的是「會得到什麼價值」，也就是會得到多少效用。兩者差別沒那麼大，都在回答同一類反事實問題。

麻煩在於，用今天的機器學習方法回答「如果……會怎樣」非常難，因為它問的是沒有發生過的事。如果只問發生過的事，你根本不需要學模型，重複上次奏效的做法就行了。

這也解釋了為什麼線上策略（on-policy）的過程雖然笨，卻能工作：你問反事實問題，犯一些錯誤，真的去做那些錯事，然後觀察到反例，學會不再犯。

而如果你手上只有離線資料，想從裡面合成出最好的策略，就必須真的去處理這些反事實的難題。

接著是幾個基礎概念。策略就是一個從世界觀測對映到動作的模型或函式。狀態是對世界當前配置的完整描述，觀測是狀態的一個快照、一個片段。線上策略和離線策略的區別在於資料怎麼來的：從別人那兒來的資料，比如某個手工程式設計的系統早先跑出來的日誌，叫離線資料；由你當前策略在環境裡行動產生的資料，叫線上資料。線上資料對你更有用，因為如果當前策略做了壞決定，你會親眼看到它壞。

但離線資料往往更容易拿到，因為它可能就是你手上所有的歷史日誌。

回到自動駕駛這種場景：路上已經有一大堆車，但它們不會享有按強化學習框架自由探索的奢侈。

## 為什麼不能相信一個從沒被問過的問題

離線強化學習最大的坑，Levine 講得很直白。

你不能相信你的模型對任意動作給出的預測。如果資料集裡從沒出現過有人把車從路上打向人行道，那麼當你問「如果我把車打向人行道會怎樣」，你的價值函式或模型大機率會給一個錯誤答案。

要讓它工作，你必須能判斷某個動作的預測是否可信。他提到可以用分佈估計、密度估計的方法：模型告訴你這個動作特別好，但這個動作跟我做過的任何動作都長得完全不一樣，那它多半不靠譜。你可以在學習目標里加入正則項，讓模型不要去回答自己沒有能力回答的問題。

Lex 問突破口在哪，是資料集問題還是方法問題。

Levine 說離線強化學習現在主要是個演算法問題，而這讓他很興奮，因為演算法問題只需要一群聰明人湊在一起狠狠想，而資料問題或硬體問題需要實打實的工程投入。

他還指出，這些問題的核心和因果推斷裡的問題非常接近。你面對的是一個統計模型，它要對沒見過的東西做預測。如果它泛化得好，預測就對；如果它抓住了虛假相關，泛化就會崩。你有一整套工具可用，可以找出哪些區域是可信的，也可以想辦法讓它泛化得更好，或者兩者結合。

Lex 問：能不能混著來，比如九成五靠離線資料，然後用機器人出去試探一小下？

Levine 說這正是他在對話開頭提的那座冰山。那 99% 的先驗經驗就是冰山，用來做離線強化學習。如果那種特定型號的門配那種特定的鎖你從沒開過，那就得上去摸兩下，那 1% 用來搞定新任務。他說這套配方相當好用。

那麼，強化學習裡最美的想法是什麼？Lex 自己承認這個問題有點浪漫。

Levine 的答案是：你可以在沒有完整世界模型的情況下，獲得一個近乎最優的控制器。

> 「這件事聽起來像是廢話，但你只要想一下試錯學習就明白了。可從控制論的角度看它非常怪。經典做法是先寫出方程，再在給定方程的條件下求解，找出效能最好的那個東西。強化學習理論給了我們一個數學上站得住的框架，去處理你根本不知道支配系統的方程是什麼的情況。」（Levine）

## 深度為什麼會起作用

深度強化學習就是把強化學習演算法和高容量神經網路拼在一起。Levine 說，這個組合乍看有點隨意，但它變得這麼重要有具體原因。

強化學習面對的，是很多機器學習方法都遭遇過的一個問題的加劇版。

回到 2000 年代初或 90 年代末，那時很多機器學習方法有非常漂亮的數學性質，比如能化歸成凸最佳化問題。但它們要求極其特殊的輸入，要求有一種乾淨的表示，好比你那個多分類問題裡的類別是線性可分的。這種表示叫特徵。

很長一段時間裡，監督學習領域的人為特徵發愁，因為得有人把特徵造出來。你不能把一張圖直接塞進邏輯迴歸或者 SVM，得有人用寫好的程式碼處理那張圖。然後神經網路來了，它能自己學特徵。於是學習可以直接作用在原始輸入上，這對影象是好事，對其他還沒人造出好特徵的領域更是好事。

其中一個領域就是強化學習。因為強化學習裡特徵這件事，在沒有神經網路的情況下極其晦澀。

> 「你很難想象，如果我下棋或者下圍棋，能用來線性表示價值函式、甚至表示最優策略的特徵到底是什麼。我連從哪兒開始想都不知道。」（Levine）

人們試過各種辦法，比如寫下「馬是不是在棋盤中央」這種專家棋手看的東西，然後列出一長串隨手編出來的特徵。這條路基本走不通。

象棋至少還有專家知道該看什麼，機器人問題裡連這個都沒有。

那麼這套表示能力的上限在哪？Levine 說這個問題不容易回答，因為當你想把系統推到極限時，先碰到的是別的瓶頸。

他舉個例子：他沒法讓機器人學會在廚房洗碗，神經網路不夠大隻是表象；真正卡住的地方是，在真實世界裡做試錯學習、真的去收集那種大規模、高變化、高複雜度的資料時，你會撞上別的問題。

聽起來最實際的一個是：把機器人放進你的廚房，讓它試錯學洗碗，它會把你的碗全打碎，然後就沒碗可洗了。

你以為這是個工程細節，其實它背後有個很深的科學問題。換成一個人來做，人有常識。打碎一個碗，下一個就會小心一點。如果真的全打碎了，他會去買新的。這些都是我們學習過程裡天然帶上的腳手架：知道要多試幾次，搞砸了會求助、會去翻資料。而這一切都在經典強化學習的問題表述之外。

還有一類同樣重要但更隱形的腳手架：獎勵函式從哪來。如果你要學倒一杯水，你怎麼知道自己倒對了？這件事可能需要專門搭一整套計算機系統去判斷，而這顯得相當不優雅。

Levine 由此指向一個更尖銳的結論：這些問題暴露了問題表述本身的缺陷。

## 打碎盤子的問題

Lex 拿 AlphaZero 做了對比。在圍棋裡沒有打碎的盤子，事情就是規模加算力，瓶頸是你願意砸多少錢買計算，以及把算力擴起來有多難。

一到真實世界，盤子會碎，獎勵函式要人寫。那怎麼辦？

Levine 的回答是兩條：更擅長複用資料，把冰山堆起來。期待一臺機器孤立地、在真空裡幾分鐘就掌握複雜任務，可能太樂觀了。但它也不必如此。

> 「也許它真正需要的是擁有一段壽命，在這段時間裡做很多事，而它做過的那些事，能讓它更高效地做新事。」（Levine）

這類問題通常歸在多工學習或元學習的名下，但核心是同一個：用做別的事的經驗，來學會如何快速高效地做新事。

Lex 把話題引到特斯拉 Autopilot。當時它正逼近一百萬輛車的規模，其中 30% 到 40% 的時間在自動駕駛模式下執行，剩下的時間由人接管。這個場景裡，出錯的代價是人命。這些資料怎麼用？

Levine 說，這類「系統要可靠、要知道自己能力邊界在哪」的問題，和離線強化學習裡的問題非常像。離線強化學習最大的麻煩，是你不知道什麼時候該信任模型的預測；如果你在評估某種行為模式，而模型給不出準確預測，你就不該用它去改策略。

部署時是同一件事：我此刻該不該相信它。

> 「也許我們要做的就是把這一部分做得更好。這當然是個很深的研究問題，但很多人正在攻它，我對未來幾年能有進展比較樂觀。」（Levine）

模擬呢？Lex 問它是柺杖還是解藥，是要想辦法擺脫，還是要把模擬做得越來越真，讓模型直接從模擬遷移到現實。

Levine 說模擬是當下非常實用的工具，能立刻讓很多有用的東西跑起來。但長期看，機器必須能從真實資料裡學，那是它們能持續變好的唯一途徑。因為如果機器必須依賴模擬產生的資料，模擬本身最終就會變成瓶頸。

他把這條規則說得更一般：只要你的機器身上有任何一個由人搭出來的、不會隨著資料自動改進的部件，它遲早會成為拖後腿的那個。全靠模擬，模擬就是瓶頸；全靠手工設計的控制器，控制器就是瓶頸。

> 「模擬很有用，很實用，但它取代不了利用真實經驗的能力。」（Levine）

而且他強調，打碎盤子、獎勵函式未知這些腳手架問題，在純模擬環境裡是永遠碰不到的，只有在真實世界裡跑才會暴露出來。

Lex 順手扔了個球迷問題：我們是不是活在模擬裡？

Levine 說他完全不知道。但他覺得模擬假說有意思的地方在於，它本質上是個很實際的工程問題：要造一個虛擬現實，逼真到人類不想離開，需要多久？

> 「我個人很喜歡虛擬現實，但它離那個程度還很遠。可這個問題很乾淨，因為一旦我想花更多時間待在虛擬現實裡而不是真實世界，那就意味著再過幾年，大部分人都會住在虛擬現實裡。模擬就是這麼來的。你不需要真的去模擬量子引力，不需要模擬宇宙的每個細節。」（Levine）

他還把這個想法轉回了強化學習：如果我們能造出足夠真實、足夠豐富的模擬，那條真假之間的界線就會模糊，前面說的那些問題也就跟著淡了。

不過他注意到了另一層：這種想法的推論有點怪。它等於說，造一個宇宙比造一個大腦更容易。

Lex 提出了他覺得更麻煩的那部分：模擬其他人類。人一進場景，機器人問題的複雜度立刻上一個臺階。Levine 承認這是個複雜的問題。

他說自己一段時間以來的希望是：如果造出那種多工、利用大量先驗資料、又能從自身經驗裡學的機器人系統，那麼「和人打交道」這一塊，也許能被當作和其他所有事一樣的東西來處理。只要它有和人打交道的先驗經驗，又能從新任務裡自己學，可能就夠了。

如果不夠，還有很多別的辦法，這方面的研究也不少。但他覺得值得先試一把：理解「世界上別的存在有自己的目標、意圖和想法」這件事，能不能從單純學著做事、最大化效用的過程裡自動湧現出來。

## 重力能不能從資料裡學出來

Lex 提到 Levine 說過的一句話：不必把重力顯式注入系統，它可以被學出來。

他追問：資料的邊界在哪？你真的相信光靠資料就能學出萬有引力定律？

Levine 說，談到先驗知識時最常見的思維陷阱，是以為只要我們知道某件事，就一定要告訴機器，讓機器自己去發現是浪費。

> 「很多影響大量事件的重要因素，其實相當容易學。比如每次你鬆手東西都會掉下去，你學到的也許不是愛因斯坦版本，只是牛頓版本，但它挺好用，足夠讓你在這個世界裡理性行動，因為你天天看到這個現象。所以那些在資料裡顯而易見的東西，我們不必手寫進去，讓機器自己發現反而更省事。」（Levine）

Lex 接著說，可這個世界裡可能有很多區域性的理論極小值，機器會掉進去出不來。

Levine 說這個擔憂有道理，然後給出了一個很有分量的類比。在有些科學領域，人類文明本身就被困在這樣的區域性最優裡。人們試圖理解生物學和醫學時，那些在日常生活裡非常好用的原則，在理解醫學時反而害了人。在現代科學方法出現以前，我們對身體運作的理解充滿了迷信和古怪的想法。

所以這確實是一種失敗。但他說，某種意義上這也是人類智慧的失敗。

順著自我博弈的線索，Lex 問：AlphaZero 裡那種自我提升的機制如此強大，能不能推廣到機器人、推廣到真實世界？

Levine 判斷，推廣的瓶頸和別處是同一個：你得先能造出透過與世界自然互動而持續變好的機器。一旦能做到，它們就可以出去和同伴玩、和人玩、和自然環境玩。在那之前，還有一堆別的問題要清掉，繞不過去。

他還指出自我博弈在棋盤上奏效的原因。棋盤遊戲的規則充當了兩個智慧體互動之間的中介機制。湧現出什麼樣的智慧行為，極其依賴於那個中介機制的性質。

聊到獎勵函式時，Levine 承認經典強化學習把它當成一個不用管的外來物，獎勵是從別處來的，你不去操心它。他認為這有點錯誤。

可以換個角度看獎勵：把它當成一種溝通媒介，人怎麼向機器人傳達目標？也可以把它當成內在動機的媒介，問一個一般性的目標能不能本身就帶來好的能力。

這塊研究有時被叫做無監督強化學習。他們團隊做的一些工作用的是資訊理論的量，比如最小化貝葉斯意義上的意外程度。這個思路最早由計算神經科學圈子的 Karl Friston（卡爾·弗里斯頓）等人提出。

他們的實驗顯示，只要行為方式讓自己能對世界做出準確預測，就能學出相當有意思的技能。聽起來有點迴圈，但這麼做能讓你發現世界裡穩定的生態位。比如在俄羅斯方塊裡，正確地消掉一行能讓你玩得更久，讓棋盤保持整潔，這滿足了某種對秩序的偏好，於是你在這個領域裡獲得了某種控制力。

那好奇心本身能不能當獎勵？

Levine 說他更感興趣的是另一個方向：發現新事物能不能是某個其他目標的湧現屬性。為了新而新，未必是正確答案，但也許可以設計一個目標函式，讓發現新事物成為它的自然結果。他說這是正在進行的工作，還沒有清晰的答案。

關於意外後果，他給出了一個現在就能用的技術手段：定義目標時加一條「別做怪事」，可以量化成不要進入先驗狀態分佈裡機率極低的情境。他說這其實也是離線強化學習的一個好辦法。只要你慢慢地、一點點地往外走。

## 他更擔心的那種失敗

Lex 提到了 Stuart Russell 關心的 AI 對齊問題：怎麼保證 AI 系統的成功和人類整體的、更廣泛的利益一致。

Levine 說自己沒有好答案，但這個問題確實重要。然後他給了一個和主流敘事方向相反的判斷。

比起目標被最佳化得太好帶來的意外後果，他現在更擔心目標被最佳化得不夠好帶來的後果。當這些技術被用到汽車、飛機這類安全攸關的系統上時，這會變成一個很緊迫的問題。他說總有一天我們會面對「目標被最佳化得太好」的問題，但現在更可能遇到的是「最佳化得還不夠好」。

Lex 追問：就算離最優很遠，在通往最優的路上，也可能出現意外後果吧？

Levine 承認意外後果當然會出現。他的意思是，眼下制約可靠性、安全性的瓶頸，在於系統需要工作得更好、把目標最佳化得更好。

至於人類水平智慧的存亡威脅，他說強大技術當然都有存亡風險，這些風險會以很多形式出現：有惡意的人、有致命缺陷的系統、能力過強的系統。

但在這幾種裡，他此刻更擔心前兩種，尤其是惡意的人。

> 「縱觀整個人類歷史，製造麻煩的一直是有惡意的人。機器還沒輪上。」（Levine）

他說自己現在能做的最好的事，是把技術做到最好，同時儘量推動這項技術被負責任地使用。

Lex 問，這些系統有沒有什麼能教給人類的？機器學習已經暴露了我們資料裡的倫理缺陷，強化學習有沒有教給我們關於自己的東西？

Levine 說自己不太確定學到了什麼關於自己的東西。也許答案要等強化學習在醫療、教育、社交媒體這些領域被更廣泛地用於決策支援之後才會浮現。到那時我們會看到，當系統與人有互動、有機會影響人的行為時，它會表現出什麼。他說現在還不到時候，但接下來幾年應該會有有意思的東西出來。

Lex 補了一句期望：這個觀察視窗很可能在那些握著大資料的大公司手裡，他希望有足夠的透明度，讓人們至少能知道某個結果背後有沒有演算法、演算法為什麼這麼做。

## 苦澀的教訓，和他自己的版本

Lex 提到 Rich Sutton 那篇《苦澀的教訓》（The Bitter Lesson）：AI 研究的大教訓是，簡單、通用、能利用算力的方法最終會贏。是不是說別搞花哨演算法，等著算力變快就行？

Levine 說大方向他同意，但他的結論不一樣：該做的是通用演算法。

> 「如果結論是『通用自動化的方法加資料就能得到好結果』，那麼合乎邏輯的推論就是，我們應該造通用的方法，並且把這些方法部署出去，讓它們自己去收集經驗。」（Levine）

他說目前的狀態離這個結論還有距離，差距恰恰在於「讓它們自己去收集經驗」這一步。在模擬和棋盤遊戲裡這很容易，在真實世界裡非常難。

Lex 說這個問題在對話裡反覆出現，Levine 的注意力顯然鎖在這裡。真實世界裡收集資料這一步，看起來既嚇人，路徑也不清楚。

Levine 的回應很輕：世界上有七十億人，每個人一生中都得在某刻學會做這些事。那些經驗就擺在那兒，我們應該能想辦法把它收集起來。

## 他在研究生階段才決定做 AI

關於影響他的書，Levine 說他的誠實答案是艾薩克·阿西莫夫（Isaac Asimov）的作品，他年輕時讀得很受啟發。他說不清具體影響在哪，但那是一個人工智慧和機器人系統在社會里佔據重要位置的未來圖景，是人類試圖去想象技術進步的極限形態會怎樣寫進我們的歷史。他推薦大家去讀，至少讀起來很享受。

至於什麼時候愛上這個領域，他的答案很晚，晚到研究生階段。大約在 2009 到 2010 年之前，這件事都不在他的優先列表上，因為他當時不認為在自己有生之年能看到實質性的進展。

轉折發生在他上了一門研討課，授課的是 Pieter Abbeel（彼得·阿貝爾）教授。

他在開課的講座上說了一件讓他至今記得的話：以前常有研究生跑來找他，說想研究 AI，他會笑一笑，然後給他們一道數學題去做。但現在他真的開始覺得，這個領域在我們有生之年可能出現實質性進展。

> 「一個在這個方向上做了一輩子的人，突然這麼說，那是有分量的。在某種程度上，這也許就是這個領域歷史上的特殊時刻。」（Levine）

給想入門機器學習或強化學習的年輕人，他的建議是：不要害怕花時間去設想你希望看到的結果。

成功的事業、豐厚的薪水、某個基準上的最先進結果，這些都可以是結果，但他希望那不是主要的驅動力。他建議學生坐下來想一想：我到底想看到機器做什麼？想看到機器人做什麼？想看到一個自然語言系統做什麼？把它當成一個未來產品的廣告，一個你真的希望它在世界上存在的東西。

然後從那個畫面往回推，想清楚需要哪些步驟。

> 「你希望看到的那件事，應該是一件我們真的能做、做出來會很酷的東西。可能是一臺機器人管家，可能是一個特別棒的醫療決策支援系統，隨便什麼讓你受到啟發的東西。影象分類榜單上一個更好的數字，恐怕撐不起這個角色。這樣想、然後往回推、去設想需要哪些步驟，會帶來好得多的研究。它會讓你重新審視那些假設，去攻那些別人沒在攻的瓶頸。」（Levine）

## 他想造出一臺跑到宇宙複雜度天花板上的機器

Lex 最後問了那個問題：什麼給了你滿足感、目的和意義？你自己的獎勵函式是什麼？

Levine 說，給他滿足感的是一種確信：我正在處理一個真正重要的問題。他說把事情真的解決掉對自己來說反而沒那麼重要，重要的是把時間花在他相信真正重要的事情上，而且他為此相當努力地去挑選。

至於夢想長什麼樣，他給了一個具體的答案。

> 「我想看到機器活得越久就變得越好。表面上看，人們可能會覺得我們今天已經有了這樣的機器，但我覺得並沒有。宇宙的複雜度是無止境的，而到今天為止，我們造出的所有機器都沒能一直提升到那種複雜度的極限。它們總會在某個地方撞牆。可能因為它們在模擬裡，而那個模擬只是真實世界一個蒼白得可憐的模仿；也可能因為它們依賴標註資料集。它們從來沒有撞上過『能看的東西都看完了』這堵牆。所以我想造一臺機器，讓它儘可能地往前走，走到宇宙複雜度的天花板上去。」（Levine）

這段對話發生在 2020 年。今天回頭看，他當時描述的幾件事都成了這個領域的主線：離線的、可複用的先驗資料，機器自己出去收集經驗的閉環，以及「知道自己什麼時候不可信」這個能力。

那臺還在溫室裡遙控著收拾客廳、端啤酒的機器人，和這臺被寄望跑到宇宙複雜度天花板上的機器之間，隔著的是整整一座常識的冰山。Levine 的判斷是，這座冰山沒法從外部灌進去，只能靠一臺機器在一個真實的宇宙裡，活得足夠久，摔得足夠多，一點一點長出來。

- **把「資料從哪來」當成第一性問題。**無論是做研究還是做產品，先問清楚你的經驗來自真實互動、別人的日誌，還是模擬。這個來源決定了系統的上限，也決定了它最終會在哪裡撞牆。
- **給系統加一個「我不知道」的輸出。**離線資料和自動駕駛共享同一個核心難題：判斷某個預測是否可信。用密度估計或分佈外檢測把這件事做成顯式模組，比事後解釋划算得多。
- **少用純模擬跑閉環，多用它做冷啟動。**模擬是很好的起點，但只要它不隨資料改進，它遲早成為瓶頸。把真實資料迴流當成必選項來設計，別把它當成可選項。
- **驗證比解釋更值得投入。**與其追求讓模型講出漂亮的故事，不如把可解釋性接到驗證與確認上：它錯了的時候，你能不能查出來為什麼。
- **別在手寫特徵和手寫獎勵上過度投資。**資料裡顯而易見的東西，讓模型自己發現往往更省事。你的精力應該花在那些資料裡看不出來的東西上，以及那些會卡住整個迴圈的腳手架上。
- **如果你在做長期研究，先設想終點再倒推。**把你想看到的那臺機器當成一個真實存在的產品來構想，然後倒推需要哪些步驟。這個習慣能讓你避開熱門基準上的小改進，找到別人沒在攻的瓶頸。
