機器人學習

行為克隆

行為克隆是透過示範來教機器人技能的最簡單辦法:你把專家完成任務的過程錄下來,然後訓練機器人去照搬專家的做法。錄下來的每一個瞬間都被做成一張閃卡——正面是機器人在那一刻所看到、所感覺到的一切(攝影機畫面、各關節的位置、夾爪的狀態),背面則是專家緊接著採取的那個確切動作(往這邊移、合上夾爪、轉動輪子)。機器人翻看成千上萬張這樣的閃卡,學到一條經驗法則,把「我現在看到的樣子」直接對應到「我應該做的動作」。由於這不過是給問題配上答案,它其實就是普通的監督學習,和給照片打標籤所用的那種模式擬合是同一類——只不過這裡的標籤是動作,而不是名稱。

它的吸引力在於:不需要獎勵、不需要反覆試錯、也不需要仿真器;幾次人類示範往往就足以讓機器人開始模仿抓取擺放或轉向的動作。麻煩之處是一個不動聲色卻很要命的毛病,叫做累積分佈偏移,或稱累積誤差。機器人只見過專家走過的那些情境,它們都乾淨俐落、始終在正軌上。可一旦它自己的小失誤把它稍稍帶離這條正軌——杯子抓得偏左了一公分——它就撞上了專家從未示範過的畫面,於是它的判斷變得更差,把它推得離正軌更遠,下一幀畫面就更陌生。誤差像滾雪球一樣越滾越大,一個在測試裡看似完美的機器人,可能漂移到一個它完全不知該如何應對的處境。

實踐者用幾種辦法來對抗這種滾雪球:收集多得多的示範,特意把那些「出了岔子又如何糾回來」的雜亂過程也錄進去;或者讓專家在機器人練習時當場糾正它,使它學會怎樣重新回到正軌上。不過,樸素的行為克隆依然是最常用的第一招,恰恰因為它實在太容易搭起來了。

工程師手把手引導機械臂抓取咖啡杯 200 次,再用行為克隆來訓練它;它一直抓得很穩,直到一隻杯子擺出它從未見過的角度,一次早早的打滑便一路連鎖,演成一場手忙腳亂。

照搬專家效果極好——直到一個小失誤把它帶去專家從未到過的地方。

行為克隆照搬專家做過的動作;而逆強化學習則試圖弄清專家為什麼那樣做——即動作背後的目標。

又稱
BCsupervised imitation监督式模仿