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