綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方

機器之心發表於2019-10-16

藉助於手臂,人類可以完全各種各樣的任務。而在機器人過去 60 年的發展歷程中,人類透過雙手可以完成各項複雜的任務,但卻需要針對每項任務設計特定的機器人。

那麼,機器人是否可以像人一樣玩魔方呢?自 2017 年 5 月以來,OpenAI 的研究者一直在嘗試訓練類人機械手來解決玩魔方問題。2017 年 7 月,他們在模擬環境下實現了機械手玩魔方。但截至 2018 年 7 月,研究者只能實現玩簡單魔方。現在,他們終於實現了機械手玩魔方的目標。

單手玩魔方對於人類來說都很困難。所以,OpenAI 的技術還不是足夠完善,目前,OpenAI 的技術可以讓機器人解決 60% 的魔方情況,在最困難的魔方上只能解決 20%。

在機械手玩魔方的過程中,研究者還對其施加了各式各樣的干擾,如戴橡膠手套、綁住食指和中指、蒙上一塊布、「假長頸鹿」干擾和用筆戳等。值得欣慰的是,OpenAI 的機械手在各種干擾下依然不為所動,淡定地玩「自己的」魔方。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方OpenAI 的機械手戴著橡膠手套也可以玩魔方。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方機械手被綁住了食指和中指。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方給機械手蒙上一塊布。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方OpenAI 的機械手在玩魔方時受到「假長頸鹿」的干擾,但依然緊握不鬆手。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方用筆戳機械手。

論文地址:https://d4mucfpksywv.cloudfront.net/papers/solving-rubiks-cube.pdf

兩項任務

在論文中,OpenAI 的研究者考慮了兩項都使用影子靈巧手指(Shadow Dexterous Hand)的不同任務:魔方塊的重定向和完成魔方。

魔方塊重定向

魔方塊重定向任務是為了旋轉方塊到期望的目標方向上。如果一個方塊的旋轉弧度與目標方向保持在 0.4 之內,則認為該方塊旋轉到了正確的方向,然後也就生成一個新的隨機目標(即另一個方塊也開始旋轉)。

完成魔方

研究者提出利用相同的影子靈巧手指來解決魔方任務。簡言之,魔方是一種內部具有 6 種自由度的益智遊戲,包含 26 個透過接頭和彈簧系統相連的方塊。每個方塊有 6 個面,可以自由旋轉,從而帶動整個魔方轉動。如果魔方的 6 個面都成為一種顏色,則認為魔方任務完成。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方圖 3:方塊重定向任務(左)和完成魔方任務(右)檢視。

方法

研究者訓練神經網路,並利用強化學習來完成魔方任務。他們在訓練過程中遇到了一個最大挑戰,即在模擬中需要建立足夠多樣化的環境,從而儘可能多地捕捉到真實世界的物理狀態。摩擦力、彈性和力度這些因素對於複雜的魔方或機械手而言是難以測量和建模的,並且發現僅僅依靠域隨機化是不夠的。

基於此,研究者提出利用自動域隨機化的方法在模擬中不斷地生成越來越困難的環境。

自動域隨機化(ADR)

ADR 從單一的、非隨機環境開始,這裡神經網路嘗試學習解決魔方問題。當神經網路在任務表現上變得更好並達到了效能門檻後,隨機化域的數量自動增加,使得任務變得更難解決。神經網路繼續學習,直到效能達到最好,然後再增加隨機化的環境,如此反覆。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方ADR 圖示。ADR 控制環境的分佈。研究者從分佈中取樣不同的環境資料,用於生成訓練集,然後將訓練集作為輸入,訓練策略或視覺狀態評估器。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方(a)研究者使用 ADR 生成模擬分佈,其中使用了隨機的引數,這些資料可以用於控制策略和基於視覺的狀態評估器上;(b)控制策略網路收到觀察到的機器人狀態資訊和從隨機模擬中得到的獎勵,使用一個迴圈神經網路和強化學習解決這些問題;(c)基於視覺的狀態模擬器使用從隨機模擬中產生的各種影像,並使用 CNN 學習預測魔方的姿態和朝向。學習過程和控制策略分離。

透過 ADR,研究者可以訓練一個神經網路,用於解決真實機器人手中的魔方問題。這是因為 ADR 輸入的各種環境資訊可以讓網路接觸到各種各樣的隨機模擬。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方

(d)將模型遷移到真實世界。研究者使用三個攝像機獲得魔方的姿態資訊,並使用 CNN 進行處理,同時使用 3D 姿態捕捉系統獲得機器人手指的位置資訊。而魔方的朝向則使用同一個視覺狀態評估器或 Giiker 方塊——一個有著內部嵌入感測器的方法輸入到策略網路中。


行為、獎勵和目標

研究者在策略網路上使用了迴圈神經網路的架構。他們使用有著 ReLU 啟用函式的全連線層作為輸入層,並使用一個單層 LSTM 層進行處理。

價值網路和策略網路是分開的,但是兩者有著一樣的架構。研究者將 LSTM 輸出對映為一個標量值。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方

圖 12:(a)價值網路和(b)策略網路的模型架構。


視覺模型

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方

圖 13:在每一面中間有一個缺口的魔方。(a)是模擬狀態;(b)是現實中的魔方。


為了模擬魔方的視覺資訊,研究者使用左、上、右三個攝像機捕捉影像,然後使用 ResNet50 提取每個影像的特徵。這些特徵向量被展開、級聯、然後輸入進一個堆疊式全連線層,用於預測魔方的整體狀態,包括位置、朝向和角度等。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方圖 14:視覺模型的架構,基於 ResNet50。

整體的架構如圖所示:

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方圖 11:透過 ADR 向(a)策略和(b)視覺網路輸入環境變數,並在訓練進行中不斷增加 ADR 輸出環境的難度。

實驗結果

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方圖 1:一個五指人手機械使用強化學習和 ADR 解決魔方問題。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方表 8:塊重定向策略隱藏狀態在不同的 ADR 熵情況的準確率。

綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方綁手指、蒙布也能行,OpenAI讓機器人單手還原魔方圖 19:(a)塊重定向和(b)魔方問題解決策略的測試準確率。每條折線代表不同的環境變數。


參考連結:

https://openai.com/blog/solving-rubiks-cube/

相關文章