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

Domain Randomization

ドメインランダマイゼーションとは

ドメインランダマイゼーション(Domain Randomization)とは、シミュレーション環境のパラメータをランダムに変動させて学習を行うことで、現実世界への転移性能を向上させる手法です。シミュレーションの多様性を十分に高めれば、現実世界は「もう一つのバリエーション」に過ぎなくなるという発想に基づきます。

表:ドメインランダマイゼーションの要点まとめ
ひとことで言うとシミュレータの条件をわざとバラバラに変えて、現実にも通用する方策を学ばせる手法。
なぜ効くか現実もその「ばらつきの一つ」として扱えるようになるため。
注意点ばらつきが大きすぎると、どの条件でも中途半端な性能になる。

ランダム化の対象

物理パラメータのランダム化では、摩擦係数、物体の質量、関節のダンピング、モーターの応答遅延などを変動させます。視覚ランダム化では、テクスチャ、照明条件、カメラ位置、色、背景などを変えます。両者を組み合わせることで、ロバストな方策の学習が可能になります。

図:ドメインランダマイゼーションの考え方
11つの条件で学習その条件でしか動かない
▶
2条件を毎回変える摩擦・重さ・色・照明
▶
3どれでも動く方策条件に依存しない
▶
4現実でも通用未知の条件に強い

ランダム化の範囲設定

ランダム化の範囲が狭すぎると多様性が不足し、広すぎると学習が困難になります。適切な範囲の設定にはドメイン知識が必要であり、自動的に範囲を調整するAutomatic Domain Randomization(ADR)などの手法も研究されています。

成功事例

OpenAIのロボットハンドによるルービックキューブ操作では、大規模なドメインランダマイゼーションがSim-to-Real転移の成功に不可欠でした。四足歩行ロボットの多様な地形での歩行にも広く適用されています。