
写真提供:Eric Haines 氏
人間の手のようなロボットハンドでルービックキューブを解くように、一対のニューラルネットワークを学習させました。このニューラルネットワークは、OpenAI Five と同じ強化学習コードに自動ドメインランダム化(ADR)という新しい技術を組み合わせ、シミュレーションのみで学習が行われました。このシステムは、学習中に見ていない状況(キリンのぬいぐるみで突かれるなど)にも対応できます。これは、強化学習は単に仮想タスクのためのツールではなく、前例のない器用さを必要とする実世界の問題も解決可能なことを示しています。
人間の手は、幅広い種類のタスクの解決を可能にしています。過去60年のロボット工学では、人間が行う難しいタスクを固定された一対の手で実行させるためには、個々のタスク(新しいウィンドウで開く)に対してロボットをカスタム設計する必要がありました。これに代わるものとして、汎用ロボットハードウェアを使う試み(新しいウィンドウで開く)が数十年続けられましたが、高い自由度の実現は難しく、成功は限られたものでした。特に、私たちがこの研究で使用しているハードウェアは新しいものではなく、ここ15年は使用されているロボットハンドです。ただし、使っているソフトウェアアプローチは新しいものです。
私たちは2017年5月から、人間の手のようなロボットハンドにルービックキューブ(新しいウィンドウで開く)を解くための学習を試みてきました。これを目標とした理由は、このようなロボットハンドによる複雑な操作タスクの学習に成功すれば、それは汎用ロボットの基礎になると考えたからです。2017年7月には、シミュレーションにおいてルービックキューブを解くことに成功しました。しかし2018年7月の時点で、ロボットに可能であったのはブロックの操作だけでした。ようやく現在、本来の目標に到達することができました。
ルービックキューブを解く全過程。本動画は実際の録画時間分の再生で、いかなる編集も行われていません。
ルービックキューブを片手で解くのは人間にとっても難しいことで、子どもがこの技術の習熟に要する器用さを身につけるには何年もかかります。私たちのロボットの技術は未完全で、ルービックキューブを解ける割合は60%(最も難しいスクランブル(新しいウィンドウで開く)の場合は20%)です。
ニューラルネットワークにシミュレーション(新しいウィンドウで開く)でルービックキューブを解かせるための学習には、強化学習と Kociemba アルゴリズム(新しいウィンドウで開く)(解くステップの選択)を用いましたA。ドメイン(新しいウィンドウで開く)ランダム化(新しいウィンドウで開く)により、ネットワークのシミュレーションによる学習のみで実際のロボットに転移させることができます。

私たちが直面した最大の課題は、現実世界の物理をとらえるのに十分な多様性を持つ環境をシミュレーションで作り出すことでした。ルービックキューブやロボットハンドの摩擦、弾性、ダイナミクスなどの要素の測定やモデル化は極めて困難で、ドメインランダム化だけでは十分でないことが分かりました。
この課題を克服するため、私たちは自動ドメインランダム化(ADR)という新しい手法を開発しました。これは、シミュレーションにおいて漸進的により困難な環境を無限に生成するものですB。これによって、現実世界の正確なモデルを持つことから開放され、シミュレーションでの学習を現実世界に適用するための転移がニューラルネットワークに可能となりました。
ADR は単一のランダム化されていない環境から開始され、ニューラルネットワークはルービックキューブの解き方をそこで学習します。ニューラルネットワークがタスクに上達してパフォーマンスしきい値に達すると、自動的にドメインランダム化の量が増加します。すると、ニューラルネットワークにはよりランダム化された環境への汎用化の学習が必要となるため、タスクの難度が上がります。ネットワークは再びパフォーマンスしきい値を超えるまで学習を続け、より複雑なランダム化が開始されると、このプロセスが繰り返されます。
ランダム化されたパラメータの1つは、ルービックキューブの大きさです(上記)。ADR は決まった大きさのルービックキューブで開始され、学習が進むにつれランダム化の範囲が徐々に大きくされます。同じ技術を、キューブの質量、ロボットフィンガーの摩擦、ロボットハンドの視覚的表面素材などの他のすべてのパラメータにも適用しました。ニューラルネットワークは、このように困難さが次第に増すあらゆる条件の下でルービックキューブを解くことを学習しなければなりません。
ドメインランダム化では、ランダム化範囲を手動で特定しなければなりませんでしたが、ランダム化が多すぎれば学習が困難になり、ランダム化が少なすぎれば実際のロボットへの転移が妨げられるため、難しいことでした。ADR は、人間の介入なしに、時間の経過とともに自動的にランダム化の範囲を広げることで、この問題を解決しています。ADR はドメイン知識の必要性をなくし、私たちの手法を新しいタスクへ適用することを容易にしました。また、手動でのドメインランダム化と比べて、ADR はタスクを常に困難なものに保ち、学習が収束することはありません。
すでに強力なベースラインの存在するブロック反転タスクにおいて、ADR と手動のドメインランダム化を比較してみました。最初、実際のロボットによる成功数に関しては、ADR のパフォーマンスは劣ります。しかし、ADR が環境の複雑さの尺度であるエントロピーを増加させていくと、最終的に転移パフォーマンスはベースラインの2倍になります。そして人間による調整は必要ありません。
ADR を用いれば、実際にロボットハンドでルービックキューブを解くことが可能となるシミュレーションで、ニューラルネットワークを学習させることができます。これが ADR がランダム化された様々なシミュレーションにネットワークを曝露させる理由です。直面するいかなる現実世界に対しても、迅速に把握して適応することをネットワークは学習しなければならない、という複雑性への学習中での曝露が、シミュレーションから実世界への転移への備えとなります。
この手法の限界を試すため、ロボットハンドがルービックキューブを解いている間に様々な摂動を与える実験を行いました。制御ネットワークのロバスト性の試験だけでなく、ここではキューブの位置と向きの予測のための視覚ネットワークの試験も行いました。
ADR で学習させたシステムは、それについて学習していないにもかかわらず、摂動に対して驚くほどのロバスト性を有することが分かりました。試験されたすべての摂動において、ロボットは最高のパフォーマンスではありませんでしたが、反転と面の回転をほぼうまく行うことができました。
汎用システム構築の重要な前提条件は、メタ学習(新しいウィンドウで開く)(学習の仕方の学習)だと考えます。それによって環境の変化する状況に迅速に適応できるようになるからです。ADR の元となった仮説は、 メモリ拡張ネットワークと十分にランダム化された環境の組み合わせは、ネットワークが自身の挙動を実装先の環境に迅速に適応させられる学習アルゴリズムを実行する創発的メタ学習をもたらすというものですC。
これを体系的に試験するために、ネットワークのメモリのリセット、ダイナミクスのリセット、関節の無効化などの異なる摂動の下で、このニューラルネットワークがキューブの反転(別の色が上になるようにキューブを回転させること)に成功するまでの時間を測定しました。この実験をシミュレーションで行い、制御された条件下における1万回の試行の平均的パフォーマンスを知ることができました。
最初は、ニューラルネットワークによる反転の成功が増えるとネットワークが適応を学習するので、各回の成功までの時間は短くなっていきました。摂動が適用された場合には(上図の灰色の縦線)、成功までの時間が急増します。これは、変化した環境下ではネットワークの用いた戦略が機能しないためです。そこでネットワークは新しい環境について再学習し、成功までの時間は以前のベースラインまで戻ります。
失敗の確率の測定、面の回転(最上面を時計回りまたは反時計回りに90度回転させること)に対しても同じ実験を行ったところ、同じ適応パターンが確認されましたD。
ネットワークを可視化することで、メモリに何が保存されているかが理解できるようになります。これは、ネットワークが複雑になるにつれて重要性を増します。
本ニューラルネットワークのメモリを可視化したものが上図です。この高次元ベクトルを6つのグループに凝縮し、個別に色を割り当てるために、解釈可能性ツールボックスからのビルディングブロック(新しいウィンドウで開く)、つまり非負値行列因子分解を用いました。次に、各タイムステップに対して現在優勢なグループの色を表示しました。
各メモリグループには意味的に意味のある挙動が関連付けられていることが明らかになりました。例えば、ネットワークメモリの優勢なグループを見るだけで、実行される前に、キューブの回転または最上面の回転であるかが分かるのです。
ロボットハンドでルービックキューブを解くことは、まだ容易ではありません。解くまでに26回の回転を要する最も難しいスクランブル(新しいウィンドウで開く)のルービックキューブを解く場合、本手法で成功する率は20%です。もう少し容易で、解くまでに必要な回転が15回のスクランブルの場合には、成功率は60%になります。ルービックキューブを落としたり、制限時間を過ぎたら、その試行は失敗とみなされます。ただし、本ネットワークによるルービックキューブの解き方は最初の状態を問わないため、キューブが落ちたら、それをロボットハンドに戻し、続行させることが可能です。
本ニューラルネットワークには、最初の数回の面の回転と反転の間に失敗することが多い傾向があると分かりました。それは、本ニューラルネットワークは、この初期の回転・反転の間に、ルービックキューブを解くことと実世界への適応とのバランスを取らなければならないからです。
最終的に通常のルービックキューブを解くまでの足がかりとして、進捗をベンチマークし、問題を扱いやすくするためのカスタムバージョンのキューブが設計・製造されましたE。

ルービックキューブのプロトタイプ(左から右):固定キューブ、面キューブ、フルキューブ、Giiker(新しいウィンドウで開く) キューブ、通常のルービックキューブ。
プロトタイプ | 位置 + 向き | 内部自由度(センサー) |
固定キューブ | Vision | 0(センサーなし) |
面キューブ | PhaseSpace | 2(PhaseSpace) |
フルキューブ | PhaseSpace | 6(PhaseSpace) |
Giiker キューブ | Vision | 6(内蔵センサー) |
通常のルービックキューブ | Vision | 6(Vision) |
私たちは、汎用ロボット構築へ導くものは人間レベルの器用さであると考え、この方向に前進していることに喜びを感じています。
ロボット分野でもバーチャル分野でも、汎用性の高い AI システム制作を手伝ってくださる方を 募集中です。
脚注
- A
私たちは、現在、機械にとって習熟が困難な問題である知覚と器用な操作に取り組んでいます。そのため、必要とする面の回転とキューブの反転(Kociemba アルゴリズムで生成されたもの)を可能にする学習を、本ニューラルネットワークに対して行いました。
- B
私たちの研究は、自動的に2D 環境を生成する POET(新しいウィンドウで開く) と強力な関係があります。ただし、この研究はすべての環境における共同の方策を学習し、新しく生成された環境に転移します。
- 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 氏


