
攝影師:Eric Haines
我們訓練了一對神經網絡,使用類似人類的機械手來破解扭計骰。這些神經網絡完全在模擬環境中進行訓練,使用與OpenAI Five相同的強化學習程式碼,並結合一種稱為自動領域隨機化(ADR)的新技術。該系統可以處理訓練時從未見過的情況,例如被一隻玩具長頸鹿干擾操作。這顯示強化學習並非只是處理虛擬任務的工具,也能處理現實世界中需要極高操作技巧的難題。
人類的雙手讓我們能夠完成各式各樣的任務。在過去60年的機械人發展中,人類用他們天生的一雙手完成的困難任務,每個任務(在新視窗中開啟)都需要為此設計一個自訂機械人。作為替代方案,人們已經花費了數十年時間嘗試使用通用型機械人硬件(在新視窗中開啟),但由於其高自由度的特性而成效甚微。特別是,我們在這裡使用的硬件並非全新的技術,而是使用已經存在了15年的機械手,配合全新的軟件方針。
自2017年5月以來,我們一直在嘗試訓練一隻像人手一樣的機械手破解扭計骰(在新視窗中開啟)。我們設定這個目標,是因為我們相信如果可以成功地訓練這樣的機械手來執行複雜操作任務,將會為通用機械人打下基礎。我們在2017年7月在模擬環境中破解了扭計骰。但截至2018年7月,機械人還是只能在手中操作簡單的方塊。現在,我們已經達成了最初的目標。
完整破解扭計骰。此影片以實時播放,未經任何編輯。
單手破解扭計骰對人類來說也是一項具有挑戰性的任務,孩子們需要數年時間才能獲得掌握它所需的靈巧度。我們的機械人還尚未完美掌握這項技術,因為它成功破解扭計骰的機率只是60%,而對於最困難(在新視窗中開啟)的打亂情況,僅有20%的成功率。
我們使用強化學習和Kociemba 演算法(在新視窗中開啟)來訓練神經網絡在模擬環境(在新視窗中開啟)中破解扭計骰,以挑選解題步驟。A領域(在新視窗中開啟)隨機化(在新視窗中開啟)使得僅透過模擬訓練的網絡可轉移至真實的機械人。

我們面臨的最大挑戰是,在模擬環境中建立足夠多樣化的環境,以捕捉真實世界的物理特性。摩擦、彈性和動力學等因素對於像扭計骰或機械手這樣複雜的物體來說,極難被測量與模擬,我們發現僅靠領域隨機化是不夠的。
為了克服這個問題,我們開發了一種名為自動領域隨機化(ADR)的新方法,它在模擬環境中無限地產生越來越困難的環境。B 這讓我們擺脫了需要準確真實世界模型的束縛,並使在模擬中學習的神經網絡能夠轉移運用於真實世界。
ADR 從單一的非隨機化環境開始,在該環境中神經網絡學習如何破解扭計骰。隨著神經網絡在任務上表現得更好並達到性能門檻時,領域隨機化的程度也會自動增加。這讓任務變得更難,因為神經網絡現要學會怎樣在更多變的環境中舉一反三。網絡會持續學習直到再次超越性能門檻,此時會啟動更多隨機化,然後重複這個過程。
我們隨機化的參數之一是扭計骰的大小(如上圖)。ADR 從扭計骰的固定大小開始,並隨著訓練的進行逐漸增加隨機化範圍。我們將相同的技術應用於所有其他參數,例如扭計骰的質量、機械人手指的摩擦力,以及手部的視覺表面材料。因此,神經網絡必須學習在所有這些日益困難的條件下破解扭計骰。
領域隨機化要求我們手動指定隨機化範圍,這很困難,因為過多的隨機化會使學習變得困難,但過少的隨機化則會影響向真實機械人的轉移效能。ADR 透過自動隨時間擴展隨機化範圍,無需人工干預。ADR 免除了對領域知識的要求,當我們的方法應用於新任務時可以變得更加簡單。相較於手動進行的領域隨機化,ADR 同樣能使任務持續具有挑戰性,且訓練可以永無止境地進行下去。
在扭計骰翻轉任務中,我們比較了 ADR 與手動進行的領域隨機化,在此任務中我們已經建立了強而有力的基準線。起初,ADR 在真實機械人上的成功次數方面表現較差。但隨著 ADR 增加熵值(這是環境複雜性的衡量標準),轉移效能最終比基準線提升了一倍,且無需人工調整。
使用 ADR,我們能夠在模擬環境中訓練神經網絡,令它能夠在真實的機械手上破解扭計骰。這是因為 ADR 讓網絡接觸到無窮無盡的隨機模擬。正是在訓練過程中接觸到這種複雜性,使網絡準備好從模擬環境轉移到真實世界,因為它必須學會快速識別並適應所面臨的任何物理世界。
為了測試我們方法的極限,我們在機械手破解扭計骰時,嘗試了加入各種干擾。這不僅測試了我們控制網絡的穩健性,也測試了用於估算立方體的位置與方向的視覺網絡。
我們發現,使用 ADR 訓練的系統,即使從未針對干擾進行訓練,也出奇地穩健:雖然並未達到最佳表現,但機械人可以在所有測試的干擾下成功執行大多數翻轉和表面旋轉動作。
我們相信元學習(在新視窗中開啟),又或可稱為「學習如何學習」,是建立通用系統的重要先決條件,因為它讓這些系統能夠迅速適應環境中不斷變化的狀況。ADR 背後的假設是,一個記憶增強型網絡與一個足夠隨機的環境相結合,會觸發突現性元學習,其中網絡會實現一個學習演算法,使其能夠快速調整自身行為以適應部署環境。C
測量神經網絡在面對不同程度的干擾(例如重設記憶、重設動態參數或損壞機械手的某個關節)時,每翻轉一次扭計骰(翻轉至不同顏色朝上)達成任務所花費的時間。我們在模擬中進行這些實驗,這使我們能夠在受控環境中對 10,000 次試驗的性能取其平均值。
在開始時,隨著神經網絡成功完成更多翻轉,網絡逐漸學習適應,減少每次成功所需的時間。當施加干擾時(上述圖表中的垂直灰線),我們可以看到達成任務所花費的時間突然增加。這是由於網絡所採取的策略在已改變的環境中失效。網絡隨後重新學習新環境,使達成任務所花費的時間減少到先前的基準線。
我們同樣測量失敗機率,並針對表面旋轉執行了相同實驗(將頂面向順時針或逆時針方向旋轉90度),亦發現了相同的適應性模式。D
視覺化我們的網絡使我們能夠理解它們在記憶中儲存了什麼。隨著網絡複雜性的增長,這一點變得越來越重要。
我們的神經網絡記憶如上所示。我們使用解釋工具箱中的一個基本元件(在新視窗中開啟),也就是非負矩陣分解,將這個高維向量壓縮成6個群組,並為每個群組指派一種獨特的顏色。然後,我們顯示每個時間點當前主導群組的顏色。
我們發現每個記憶群組都擁有與其相應的語義上具意義的行為模式。舉例來說,我們只需觀察網絡記憶的主要群組,就可以在它進行行動之前,判斷它是否準備旋轉扭計骰,或將頂部以順時針轉動。
用機械手破解扭計骰仍然不容易。現時,在使用需要26次面旋轉的最高難度的打亂狀態(在新視窗中開啟)時,我們的方法破解扭計骰的成功率為20%。對於需要15次旋轉才能成功的較簡單打亂狀態,成功率則為60%。當扭計骰掉落或超時時,是次嘗試將視為失敗。然而,我們的網絡能夠在任何初始狀態下破解扭計骰。因此,如果扭計骰掉落,可將其重新置於手中並繼續解題。
在最初的幾次面旋轉和翻轉時,我們的神經網絡容易失敗。這是因為在早期旋轉和翻轉過程中,神經網路需要在破解扭計骰和適應物理世界之間取得平衡。
為了評估我們的進度並讓問題易於處理,我們建造和設計了扭計骰的自訂版本,作為邁向最終破解標準扭計骰的跳板。E

扭計骰原型,從左到右:鎖定扭計骰、限面扭計骰、完整扭計骰、Giiker(在新視窗中開啟)扭計骰、普通扭計骰。
原型 | 位置 + 方向 | 內部自由度(感應器) |
鎖定扭計骰 | 視覺 | 0 (沒有感應器) |
限面扭計骰 | PhaseSpace | 2 (PhaseSpace) |
完整扭計骰 | PhaseSpace | 6 (PhaseSpace) |
Giiker 扭計骰 | 視覺 | 6 (內置感應器) |
普通扭計骰 | 視覺 | 6 (視覺) |
我們認為達到人類等級的操作靈活性是邁向建造通用型機器人的必經之路,並很高興能在這條道路上持續前進。
如果您想協助打造通用性更高的 AI 系統,無論是機械人還是虛擬形式, 我們正在招聘!
腳註
- A
我們致力於解決機器目前難以駕馭的問題:感知和靈活操控。因此,我們訓練神經網絡來實現 Kociemba 演算法產生的表面旋轉和立方體翻轉。
- B
我們的工作與POET(在新視窗中開啟)密切相關,該演算法會自動產生 2D 環境。然而,我們的工作學習的是所有環境的聯合策略,該策略可轉移到任何新產生的環境。
- C
更具體地說,我們假設有限容量的神經網絡在無限複雜性的環境中訓練時,會迫使該網絡學習特殊用途的學習演算法,因為它無法記憶個別環境的解決方案,且不存在一種在所有隨機變數條件下皆適用的強健策略。
- D
有關完整結果,請參閱我們的論文(在新視窗中開啟)。
- E
我們所做的唯一修改是切掉每個中心小方塊彩色貼紙的一小塊。這是為了打破旋轉對稱性(在新視窗中開啟)。
作者
致謝
致謝以下人士對本篇貼文和論文草稿的反饋:Josh Achiam, Greg Brockman, Nick Cammarata, Jack Clark, Jeff Clune, Ruben D’Sa, Harri Edwards, David Farhi, Ken Goldberg, Leslie P. Kaelbling, Hyeonwoo Noh, Lerrel Pinto, John Schulman, Ilya Sutskever 和 Tao Xu.
影片:Peter Jordan (總監), Yvette Solis (製作人), Brooke Chan (製作人)
編輯:Ashley Pilipiszyn
設計:Justin Jay Wang 和 Ben Barry
攝影:Eric Haines


