機器人學習

模擬到現實遷移

模擬到現實遷移,指的是先在計算機模擬裡訓練機器人的技能,再設法讓它在真實的實體機器人上穩穩地用起來。模擬就是一款關於機器人及其世界的精細電子遊戲,那裡的物理是被計算出來的,而不是被親歷的。在那裡訓練有著難以抗拒的誘惑:它跑得比真實時間還快,不會磨損馬達、也不會損壞零件,分文不費,而且絕對安全,於是機器人一夜之間就能嘗試一項任務上百萬次——遠比一台真機器能扛得住的練習量還要多。模擬到現實遷移,正是那座橋,把在這個又快又省的夢境世界裡學到的本領,運到那個又慢又不留情面的真實世界裡去。

整個難處在於這座橋往往搖搖晃晃,因為模擬從來不是現實的完美複製——這道落差就是現實鴻溝。一個在模擬器裡滿分通關的策略,搬到硬體上卻可能手足無措,因為真實的摩擦、感測器噪聲、時間延遲,以及略有偏差的馬達響應,會一一打破它私底下依賴的那些假設。所以模擬到現實與其說是單獨的一步,不如說是一門講究——一整套讓遷移站得住腳的技術。其中最主要的一招是域隨機化:在數不清的運行中把模擬裡的各項設定打亂(摩擦、光照、質量、延遲),讓機器人見識到種類如此龐雜的假條件,以至於真實世界看上去不過是它早已會應付的又一種變體罷了。

其他招數也有幫助:把模擬器的物理調得更貼合從真機器測得的數據;摻入少量真實世界的數據來微調技能;並刻意加入各種噪聲與不完美,讓策略永遠不會變得脆弱易碎。當它奏效時,正是模擬到現實遷移,讓一台腿式機器人或一隻靈巧手能在模擬裡學會一件真正困難的事,並且在現實裡第一次上手就把它做成。

一隻靈巧手完全在模擬裡學會翻轉一個方塊,在成千上萬種被隨機化的摩擦與光照設定中反覆練習;多虧了模擬到現實遷移,它第一次摸到真方塊時,就能把它平順地轉起來。

在夢境世界裡安全練習上百萬次,到現實裡第一次出手就兌現。

模擬到現實遷移指的是目標——把技能從模擬搬到硬體上;現實鴻溝指的是障礙;域隨機化則是跨越它最常用的工具。

又稱
sim2realsim-to-real仿真迁移