近日,來自 OpenAI 的研究者訓練了一對神經網路,利用一隻類人機械手來玩魔方。他們完全在模擬中訓練神經網路,並在訓練過程中使用了與訓練 OpenAI Five 相同的強化學習程式碼和一種名為自動域隨機化(Automatic Domain Randomization,ADR)的新技術。該系統可以處理訓練中未遇見過的情況,例如不受各種外界干擾的影響。這表明強化學習工具不僅僅可以處理虛擬任務,而且還能夠解決需要高度靈活性的真實世界問題。
機器之心編譯,參與:一鳴、杜偉。
那麼,機器人是否可以像人一樣玩魔方呢?自 2017 年 5 月以來,OpenAI 的研究者一直在嘗試訓練類人機械手來解決玩魔方問題。2017 年 7 月,他們在模擬環境下實現了機械手玩魔方。但截至 2018 年 7 月,研究者只能實現玩簡單魔方。現在,他們終於實現了機械手玩魔方的目標。
單手玩魔方對於人類來說都很困難。所以,OpenAI 的技術還不是足夠完善,目前,OpenAI 的技術可以讓機器人解決 60% 的魔方情況,在最困難的魔方上只能解決 20%。
在機械手玩魔方的過程中,研究者還對其施加了各式各樣的干擾,如戴橡膠手套、綁住食指和中指、蒙上一塊布、「假長頸鹿」干擾和用筆戳等。值得欣慰的是,OpenAI 的機械手在各種干擾下依然不為所動,淡定地玩「自己的」魔方。
兩項任務
在論文中,OpenAI 的研究者考慮了兩項都使用影子靈巧手指(Shadow Dexterous Hand)的不同任務:魔方塊的重定向和完成魔方。
魔方塊重定向
魔方塊重定向任務是為了旋轉方塊到期望的目標方向上。如果一個方塊的旋轉弧度與目標方向保持在 0.4 之內,則認為該方塊旋轉到了正確的方向,然後也就生成一個新的隨機目標(即另一個方塊也開始旋轉)。
完成魔方
研究者提出利用相同的影子靈巧手指來解決魔方任務。簡言之,魔方是一種內部具有 6 種自由度的益智遊戲,包含 26 個通過接頭和彈簧系統相連的方塊。每個方塊有 6 個面,可以自由旋轉,從而帶動整個魔方轉動。如果魔方的 6 個面都成為一種顏色,則認為魔方任務完成。
方法
研究者訓練神經網路,並利用強化學習來完成魔方任務。他們在訓練過程中遇到了一個最大挑戰,即在模擬中需要建立足夠多樣化的環境,從而儘可能多地捕捉到真實世界的物理狀態。摩擦力、彈性和力度這些因素對於複雜的魔方或機械手而言是難以測量和建模的,並且發現僅僅依靠域隨機化是不夠的。
基於此,研究者提出利用自動域隨機化的方法在模擬中不斷地生成越來越困難的環境。
自動域隨機化(ADR)
ADR 從單一的、非隨機環境開始,這裡神經網路嘗試學習解決魔方問題。當神經網路在任務表現上變得更好並達到了效能門檻後,隨機化域的數量自動增加,使得任務變得更難解決。神經網路繼續學習,直到效能達到最好,然後再增加隨機化的環境,如此反覆。
通過 ADR,研究者可以訓練一個神經網路,用於解決真實機器人手中的魔方問題。這是因為 ADR 輸入的各種環境資訊可以讓網路接觸到各種各樣的隨機模擬。
行為、獎勵和目標
研究者在策略網路上使用了迴圈神經網路的架構。他們使用有著 ReLU 啟用函式的全連線層作為輸入層,並使用一個單層 LSTM 層進行處理。
價值網路和策略網路是分開的,但是兩者有著一樣的架構。研究者將 LSTM 輸出對映為一個標量值。
視覺模型
為了模擬魔方的視覺資訊,研究者使用左、上、右三個攝像機捕捉影像,然後使用 ResNet50 提取每個影像的特徵。這些特徵向量被展開、級聯、然後輸入進一個堆疊式全連線層,用於預測魔方的整體狀態,包括位置、朝向和角度等。
整體的架構如圖所示:
圖 11:通過 ADR 向(a)策略和(b)視覺網路輸入環境變數,並在訓練進行中不斷增加 ADR 輸出環境的難度。