1行定義
ドメインランダマイゼーションとは、シミュレータの照明や色、摩擦などの条件をランダムに変えながら学習し、現実の環境にも対応できるモデルを得る手法のことです。
くわしく
ドメインランダマイゼーションは、sim2realでシミュレータと現実の差(リアリティギャップ)を埋めるための代表的な手法です。2017年のTobinらの論文で、この名前とともに広く知られるようになりました。
考え方
シミュレータを現実そっくりに作り込むのは大変で、どれだけ工夫しても差は残ります。そこで発想を逆にします。学習のたびにシミュレータの条件をランダムに変え、さまざまな環境を経験させます。変化の幅が十分に広ければ、現実の環境も「たくさん見てきた変化のうちの1つ」として扱えます。
晴れた日の決まったコースだけで運転を練習するより、雨や夜、いろいろな道で練習したほうが、初めての道にも対応しやすいのと似ています。学習データに変化を加えて汎化性能を高めるデータ拡張とも、発想が近い手法です。
何をランダムにするか
- 見た目:物体の色や模様、照明の位置や明るさ、カメラの位置や向き、背景に置く無関係な物体など。
- 物理的な条件:物体や部品の質量、摩擦、関節の減衰、行動を切り替える間隔(制御の遅れ)、センサーの雑音など。
Tobinらは、現実には見られない色や模様をつけた画像だけで、物体の位置を推定するモデルを学びました。実画像での事前学習なしに、実機でも約1.5cmの精度で位置を推定でき、物が散らかった机の上で物体をつかむ作業にも使えました。Pengらは、質量や摩擦などをランダムにして、ロボットアームが物を押す方策をシミュレータだけで学び、実機に移しました。
発展
変化の幅を広げすぎると、学習そのものが難しくなります。OpenAIは2019年、方策の上達に合わせてランダムにする範囲を自動で広げる手法(自動ドメインランダマイゼーション)を使い、ロボットハンドでルービックキューブをそろえることに成功しました。
覚え方
「本物をまねるより、ばらつきで本物を包み込む」と覚えます。
G検定での出題
出題のされ方
sim2realでシミュレータと現実の差を埋める代表的な対策である点、見た目と物理的な条件の両方を変える点、残差強化学習やオフライン強化学習などとの使い分けが問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Tobinらのドメインランダマイゼーションの研究では、写実的な画像ではなく、現実にはないランダムな模様をつけたシミュレータの画像だけで、物体の位置を推定するモデルを学習した。
答えを見る
答え ◯ 正しい
実画像での事前学習も行っていません。見た目を大きくばらつかせたことで、現実の画像も変化の1つとして扱えるようになり、実機でも約1.5cmの精度で位置を推定できました。
-
ドメインランダマイゼーションでランダムに変える対象は、照明や色などの画像の見た目に限られ、質量や摩擦などの物理的な条件は変えない。
答えを見る
答え × 誤り
物理的な条件も対象です。Pengらは、ロボットの各部の質量や関節の減衰、物体の摩擦、行動の間隔などをランダムに変えて、物を押す方策を学習しました。
-
OpenAIがロボットハンドでルービックキューブを操作した研究では、方策の上達に合わせて、ランダムに変える範囲を自動で広げる手法が使われた。
答えを見る
答え ◯ 正しい
自動ドメインランダマイゼーション(ADR)と呼ばれます。最初から範囲を広げすぎると学習が難しくなるため、易しい環境から少しずつ難しくしていきます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目29 深層強化学習)
- Josh Tobin, Rachel Fong, Alex Ray, Jonas Schneider, Wojciech Zaremba, Pieter Abbeel, Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World, IROS 2017
- Xue Bin Peng, Marcin Andrychowicz, Wojciech Zaremba, Pieter Abbeel, Sim-to-Real Transfer of Robotic Control with Dynamics Randomization, ICRA 2018 (IV. Method、C. Dynamics Randomization)
- OpenAI (Marcin Andrychowicz et al.), Learning Dexterous In-Hand Manipulation (2018)
- OpenAI (Ilge Akkaya et al.), Solving Rubik's Cube with a Robot Hand (2019)