OpenAI 使用機器人手解決魔術方塊

OpenAI 開發了一套能夠使用類人機器人手解決魔術方塊的系統。透過完全在模擬環境中訓練神經網路,並採用一種稱為 Automatic Domain Randomization (ADR) 的新技術,該系統可以將複雜的靈巧操作技能轉移到實體硬體上,證明了強化學習可以解決需要高自由度的現實世界問題。

Automatic Domain Randomization (ADR)

Automatic Domain Randomization (ADR) 透過自動生成漸進式難度的模擬環境,使神經網路能夠從模擬轉移到現實世界。這種方法消除了對現實世界完美精確物理模型的需求,而對於機器人手和魔術方塊這類複雜對象,建立精確模型通常是不可能的。

ADR 如何運作

ADR 的運作方式是從單個、非隨機化的環境開始,讓神經網路學習解決方塊。一旦網路達到特定的性能閾值,系統就會自動增加領域隨機化 (domain randomization) 的程度。這會迫使網路泛化到更廣泛的條件中,並隨著網路的進步,該過程會不斷重複。

隨機化參數包括:

  • 魔術方塊的大小
  • 方塊的質量
  • 機器人手指的摩擦力
  • 手部的視覺表面材質

優於手動隨機化的優點

與手動領域隨機化不同(這需要人類專家指定範圍,且範圍既不能太窄(阻礙轉移)也不能太寬(導致學習不可能)),ADR 會在無需人工干預的情況下自動擴展這些範圍。在將 ADR 與手動隨機化進行方塊翻轉任務的比較測試中,ADR 最終在無需人工調校的情況下,將轉移性能提升至基準線的兩倍。

穩健性與湧現的元學習 (Meta-Learning)

該系統對於訓練期間未曾遇到的擾動具有高度的穩健性,例如被填充長頸鹿玩偶戳弄。這種穩健性歸功於湧現的元學習 (emergent meta-learning),即網路學習到了一種通用的學習演算法,使其能夠快速適應其部署的環境。

適應性測試

OpenAI 透過測量模擬中方塊翻轉的「成功所需時間」來測試此假設。當施加擾動(例如重置網路記憶、重置動力學或損壞關節)時,成功所需時間最初會激增,但隨著網路重新學習並適應新條件,時間會回落至基準線。

神經網路的可解釋性

透過使用來自可解釋性工具箱的非負矩陣分解 (non-negative matrix factorization),OpenAI 將網路的記憶視覺化。高維向量被壓縮成六個顏色編碼的分組。分析顯示,每個記憶組別都對應於具有語義意義的行為,這使得研究人員能夠在動作實際發生之前,識別出網路是否即將旋轉方塊或順時針旋轉一個面。

性能與挑戰

雖然系統可以從任何初始狀態解決魔術方塊,但目前在成功率方面面臨挑戰,具體取決於打亂程度的複雜度:

  • 極度困難的打亂 (26 次面旋轉): 20% 成功率。
  • 較簡單的打亂 (15 次旋轉): 60% 成功率。

失敗通常發生在最初幾次的面旋轉和翻轉中,因為網路必須同時解決方塊並適應現實世界的物理屬性。如果方塊被掉落,網路能夠在方塊被放回手中時繼續解決。

開發路徑與原型機

為了使問題變得可行,OpenAI 在轉向使用一般的魔術方塊之前,利用了一系列自定義的方塊原型作為墊腳石:

Prototype Position + Orientation Internal degrees of freedom (sensor)
Locked cub Vision 0 No sensor
Face cub PhaseSpace 2 PhaseSpace
Full cube PhaseSpace 6 PhaseSpace
Giiker cube Vision 6 Built-in sensors
Regular Rubik's Cube Vision 6 Vision

為了打破旋轉對稱性,在一般的魔術方塊上,每個中心小方塊的貼紙都被剪掉了一小塊。

Sources