309 ドメインランダマイゼーション

多くのsim2realの研究では、シミュレータの各種パラメータをランダムに設定した複数のシミュレータを用いて生成したデータから学習する。

これまでにないレベルの器用さで物体を扱うことが可能なロボットアーム「Dactyl」をOpenAIが開発しています。DactylはDota 2の5対5バトルで人間チームに勝利することも可能なゲーミングAI「OpenAI Five」に利用されているのと同じ汎用目的の強化学習アルゴリズムとコードが利用されており、ゼロから手の扱い方を学び、手のひらの上で物体を滑らせたり指を使って回転させたりと、器用な動作が行えるようになります。

どうやってDactylを学習させたかというと、MuJoCoの物理エンジンを使用してロボットシミュレーターを作成しており、現実世界でロボットアームを動かす前にはデジタルの世界でロボットアームを動かしての強化学習が行われています。
学習時には毎回微妙に異なる条件を設定する、「ドメイン・ランダマイゼーション」と呼ばれる技術を用いているそうです。この「微妙に異なる条件」というのは、立方体や背景の色が異なるというだけでなく、ロボットハンドの動作スピードや立方体の重さ、立方体とロボットハンドの間に起きる摩擦係数に至るまで、あらゆる要素をランダム化してDactylを学習させたとのこと。さまざまな条件下でロボットハンドの動作方法を学習することとなるため、Dactylの指裁きはとても逞しいものに成長していったそうです。