為什麼先在模擬器裡訓練
會學習的機器人對經驗貪得無厭。要把一項任務做好,它可能需要嘗試數百萬次——而在真實硬體上,每一次嘗試都要花時間、耗電、磨損齒輪,一次笨拙的失誤還可能撞壞機器人或弄壞它手裡的東西。因此,大多數機器人學習都從機器人模擬器內部開始:那是一個物理引擎,對重力、接觸和摩擦的建模足夠好,使得在其中練習的控制策略能學到對真實世界有用的東西。
模擬有三件禮物。它快——單台機器就能並行執行成百上千個機器人副本,遠快於即時。它安全——摔倒或碰撞只需重置場景即可。它資訊完全——模擬器知道每個物體的精確位置,因此可以免費地計算獎勵函數,無需額外感測器。三者合起來,把緩慢的物理實驗變成了一座廉價的資料工廠。
但只在模擬中訓練出來的策略有個問題:模擬器不是現實。它的摩擦是猜出來的,它的馬達是理想化的,它的相機影像看起來有點太乾淨。當你把學到的策略搬到真實機器人上時,效能會下降——有時甚至是災難性的。這種不匹配被稱為現實鴻溝,彌合它正是這場遊戲的全部。
域隨機化:讓策略堅不可摧
跨越鴻溝最有影響力的技巧妙得違反直覺。你不去建造一個完美的模擬器並指望它和現實吻合,而是建造一千個粗糙的模擬器,並且從不告訴機器人哪一個是真的。這就是域隨機化:在訓練時,你在每一個回合都隨機改變模擬世界——摩擦、質量、光照、相機角度,以及物體的顏色和紋理。
把世界打亂為什麼有用?因為一個必須在巨大的物理範圍內都成功的策略,無法死記其中任何一個版本。它被迫學到技能穩健的內核——讓抓取保持置中、推到接觸為止、物體滑動時及時糾正。對這樣的策略而言,真實世界看上去只是它早已見過的又一個隨機變體。現實變得平平無奇。
最著名的演示是一隻機械手,它完全在隨機化的模擬中學會了操控一個立方體,隨後在它從未接觸過的真實硬體上完成了手內重新定向。這是有代價的:一個被訓練去應付每一種可想像世界的策略,比起針對單一精確模型調校的策略更保守,因此可能略欠俐落。其中的藝術在於選擇隨機化的幅度——寬到足以把現實包含進去,又窄到足以保持銳利。
世界模型:讓機器人去想像
到目前為止,模擬器都是我們人類造出來的。如果機器人能造出它自己的呢?這正是基於模型與無模型強化學習之分背後的想法。無模型的學習者只是透過反覆試錯把情境映射到動作。基於模型的學習者則先學到一個對「接下來會發生什麼」的預測器——然後用它來做規劃。
那個學到的預測器就是世界模型:一個由機器人從自身經驗中訓練出來的、緊湊的內部模擬器。給它當前狀態和一個擬採取的動作,它就預測下一個狀態——以及再下一個。有了世界模型在手,機器人就能在腦中預演一套計畫,鋪展開幾十種想像中的未來,挑出能通向好結果的那個動作,而這一切都發生在任何一個真實馬達轉動之前。
回報是樣本效率。因為機器人可以在自己的想像中生成海量練習,它達到熟練所需的真實試驗次數就少得多——而當每次試驗都緩慢或有風險時,這一點至關重要。難處在於世界模型本身是學來的、並不完美;如果機器人想得太遠,微小的預測誤差會逐步累積,想像中的未來便會漂離任何真正可能發生的情形。
前沿:視覺-語言-動作模型與機器人基礎模型
經典配方是一項任務訓練一個策略:這台機器人、這個物體、這間實驗室。前沿提出了一個更大膽的問題——單個模型能否學會籠統地控制各種機器人?正在成形的答案是視覺-語言-動作模型,即 VLA:一個大型神經網路,它接收一張相機影像和一句指令,直接輸出下一步的馬達命令。
這些模型借用了那個改造了文字與影像的技巧:先在龐大而多樣的資料上預訓練,再做專門化。一個 VLA 從一個已經讀過大半個網際網路的視覺-語言模型出發,因此它一上來就知道馬克杯、抽屜,以及「摺疊」這個詞是什麼意思。隨後它再在海量的機器人軌跡上微調——其中很大一部分是遙操作示範資料,由人類引導真實機器人完成任務而採集。
由於這些示範展示的是「該做什麼」,而非發放獎勵,這一階段在很大程度上就是大規模的模仿學習——模型像行為克隆策略那樣複製專家的行為,只是同時跨越了成千上萬項任務。人們期盼的是機器人基礎模型:預訓練一次,之後只要用一條新指令提示它,它就能泛化,就像語言模型應對一個從未被明確訓練過的問題那樣。早期系統已經能夠執行像「把香蕉放進碗裡」這樣的大白話指令,哪怕面對的是沒見過的物體。
這個領域要往哪兒去?走向規模化與統一化。瓶頸已不再是想法,而是資料——機器人經驗遠比文字稀缺,因此各實驗室正把許多種機器人的示範匯集起來,並大量灌入隨機化模擬來填補缺口。一個貌似可信的未來是:一個大模型驅動許多不同的身體,從寥寥幾個例子裡學會一項新活計,並用日常語言加以指揮。模擬、現實鴻溝與基礎模型,正匯聚成一條教機器去行動的統一流水線。