シミュレーション・制御・実機
ドメインランダム化の使い分け——見た目は乱し、力学は測る
目次
ロボットの強化学習(RL)をシミュレーションで訓練し、実機に移す。その定番がドメインランダム化(DR)だ。摩擦も質量も遅延も乱数で揺らして訓練し、実世界を「ただのもう一つのバリエーション」として扱わせる。賢い。だが見方を変えると、DRは「現実の何が効くのかを測れなかった」という告白に近い。
DRが何で、何を買っているか
DRの原典は Tobin ら 20171。非現実的なランダムテクスチャで訓練した検出器を、実画像ゼロで実機に移した。狙いは明快だ。原典の言い方では、シミュレータに十分な多様性があれば「現実世界もモデルには単なるもう一つのバリエーションとして映りうる」1。視覚のように測りようがない高エントロピーの空間では、これは正しい。実テクスチャ全部を同定するより、ランダム化する方が筋がいい。もっとも原典が乱したのはテクスチャと照明だけではない——カメラの位置・姿勢・視野角、つまり較正すれば測れる量まで乱したうえで、較正していない単眼カメラを使うと明記している1。
問題は力学(ダイナミクス)を盲目的にランダム化したときだ。
「ちょうど良さ」の地獄
DRには有名なジレンマがある。狭すぎれば転移しない。広すぎれば学習が壊れる。これを最も率直に告白しているのが、OpenAIの自動DR(ADR)論文だ2。彼ら自身が書いている——DRは「大量の手調整とタイトな反復を要した」「ランダム化パラメータが増えるほど手調整は非直感的で困難になる」。さらに踏み込んだ一文が続く。ただしこれは著者らが仮説として述べたものだ——「環境が複雑すぎると、課題が難しすぎて十分な強化学習信号が得られず、ポリシーは決して学習しないだろう」。固定ランダム化のエントロピーが大きいほど訓練は長引く。狭い=転移せず、広い=学習信号が消える。これは「測らずに当て推量した」症状だ。
そのコストは見える数字になる。Rubik’s Cubeを解いたあの手は、噛み合いに遊びのあるキューブの接触と摩擦について、原典は精密な一致を狙わず「もっともらしいモデルを出発点にする」という粗い較正を選び、そのうえでDR/ADRが生むとされる創発的メタ学習(原典の主要仮説)に頑健性を委ねた。原典はそれを隠していない——キューブは「シミュレーションで正確に捉える術がない」と書き、後段ではその力学を較正する努力はしない、代わりにADRで環境のランダム化を自動化するとまで言い切っている2。だがその成績は、無作為に引いた1本の公式スクランブル(実行に26回転を要する)に対しその半分まで到達が約60%、全部を通せたのが約20%2で、しかも数ヶ月の連続訓練という莫大な計算で得たものだ(手の動作はNNだが、解法手順は古典ソルバが計算している。)。
計測する、という別の道
DRが計算と保守性を払って「無知を回避」するのに対し、もう一つの道は計測で隙間を直接埋める。実は分野の進化そのものが、その方向を指している。SimOptは実機ロールアウトに合うようランダム化分布を適応させ3、BayRnはベイズ最適化で分布パラメータを実機の成績に合わせ込む4。Grounded Action Transformation はシミュレータ自体を実機に合わせて補正し、NAO の最新の手書き歩行コントローラに対して前進速度を 43.27% 改善し、既知最速の安定歩行を上回った。その一反復で実機に走らせたのは 65 トラジェクトリ——シミュレーション側の方策改善が一反復あたり 30,000 本を要したのと対照的だ。43.27% はその反復を二度重ねた総計で、二度目には実機で取り直した接地データ15本が別途要る5。ただし原典は同じ要旨で、実世界の状態遷移が確率的な場合には GAT が苦戦しうるとも断っている5。
制御の言葉に置き換えると分かりやすい。野放図なDR ≈ ロバスト制御(当て推量した不確かさ集合に対して安全マージンを取る)。システム同定/グラウンディング ≈ 適応制御(プラントを測ってから制御する)。あなたが当て推量した集合のために広いマージンを取る——もし測っていれば、そのマージンは要らなかった。
告白を、正直に切り分ける
DRの正しい使いどころと、誤りを切り分ける。見た目(テクスチャ・照明)は測りようがないから、ランダム化が原理的に正しい。力学(摩擦・遅延・質量)は多くの場合、低次元で同定可能だから、測れるものは測る方が安い。SimOpt が合わせ込むのは関節のコンプライアンスとダンピング、ロープの捩れと曲げの剛性・減衰、ペグの摩擦と質量係数といった量だ。全部並べても課題あたり数十次元のガウス分布に収まる(本稿が原典の表の行を数えると、ペグ差しで35、引き出し開けで26)3。BayRn が各プラットフォームについて図に注記しているのも、ポールの質量と長さ、紐の減衰、関節の粘性といった数個の量である4。これは同定対象ではなく揺らす対象の列挙で、原典自身「システム同定を一切必要としない」と書いている——同定を要求しない手法でさえ、力学の記述に要る量はこの桁に収まるということだ。だから問題なのは「見た目のランダム化」ではなく「力学の盲目的ランダム化」だ。
そして分野自身の足取りが、この読みを支えている。ただし枝は二つに分かれる。ADRの拡大ループが見ているのはポリシーの成績だけで、範囲を広げるかどうかはシミュレーションの内側で決まる。対してSimOptは実機と模擬の観測軌道の食い違いを直接測ってランダム化の範囲を引き直し、GATは範囲ではなくシミュレータの応答自体を実機に合わせて接地させる。BayRnはその中間だ——実機を走らせはするが、見るのは軌道ではなく得点だけで、著者ら自身「観測された力学に合わせる項は目的関数に持たない」と断っている(開ループのball-in-a-cup課題では、観測記録を要するSimOptが使えずBayRnだけが回った)。それでも著者らはこれを「間接的なシステム同定」と呼ぶ——反復を重ねるほど、ベイズ最適化が実機のリターンの高い領域からサンプルするようになるからだ。真値が既知のsim-to-sim実験に限れば、ガウス過程の平均関数の最大化点が真のパラメータとほぼ一致してもいる。計測へ引き返しているのは、この系譜のほうだ——直接測るか、点数越しに間接に測るかの差はあるにせよ。もっとも接地は万能ではない。GATの著者ら自身、実機の遷移が確率的だとこの手が良い方策を見つけ損ねうると示し、確率版(SGAT)へ一般化している。
ただし「ADRのループが測らない」ことと「あの論文が測らなかった」ことは、分けておかねばならない。ADRが出発点に置く環境からして実機から測った較正値であり、論文はその手前で、同じ入力列に対する関節位置を実機と模擬で突き合わせ、二乗平均平方根誤差が最小になるようシミュレータ側を合わせている——指の連動も実機に倣って作り直した。付録の切り分け(自由度を落とした簡易キューブ・実機10試行)では、旧シミュで訓練した方策が平均4.8回に対し、連動モデルと較正を入れた新シミュの方策は14.30回2。測れる力学は測れという本稿の言い分を最も強い数字で支えているのは、皮肉にも「DRの極致」と呼ばれるこの論文の中である。
力学のギャップは、世界をもっとたくさんシミュレートして閉じるものではない。手元にある一つの世界を、測って閉じるものだ。
注: 「広すぎるDRは保守的なポリシーを生む」は、それ自体を主題にした研究が前提として述べている(DORAEMON, ICLR 20246)。統制実験もある——SimOpt3は引き出し開けタスクで、他のシミュレーションパラメータを固定したままキャビネット位置の標準偏差だけを2cmから10cmへ広げ、ポリシーは保守的になる(ハンドルには到達するが、開けられない)と報告している。分散をさらに全軸へ広げると、今度は到達すら学習しなくなる。保守化と学習信号の消失は別の失敗であり、同じ一つの実験の中に分散の関数として並んで現れる。CAD²RLはTobinの命名に先行する実例。関連総説に Robot Learning from Randomized Simulations (arXiv:2111.00956) がある。
出典6件
-
Tobin et al., “Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World”, IROS 2017. https://arxiv.org/abs/1703.06907 ↩ ↩2 ↩3
-
OpenAI et al., “Solving Rubik’s Cube with a Robot Hand”(自動ドメインランダム化 ADR), 2019. https://arxiv.org/abs/1910.07113 ↩ ↩2 ↩3 ↩4
-
Chebotar et al., “Closing the Sim-to-Real Loop: Adapting Simulation Randomization with Real World Experience”(SimOpt), 2018. https://arxiv.org/abs/1810.05687 ↩ ↩2 ↩3
-
Muratore, Eilers, Gienger, Peters, “Data-efficient Domain Randomization with Bayesian Optimization”(BayRn), IEEE Robotics and Automation Letters 6(2), 2021(arXiv:2003.02471。v1 は2020年3月・表題は “Bayesian Domain Randomization for Sim-to-Real Transfer”)。ベイズ最適化で実機のリターンを最大化するようランダム化分布のパラメータを探索する。著者らは同定項を目的関数に持たないことを明記したうえで、収束の結果として
indirect system identificationと呼んでいる。 https://arxiv.org/abs/2003.02471 ↩ ↩2 -
Hanna, Desai, Karnan, Warnell, Stone, “Grounded Action Transformation for Sim-to-Real Reinforcement Learning”, Machine Learning 2021. https://www.cs.utexas.edu/~pstone/Papers/bib2html/b2hd-MACHINELEARNING21-karnan.html ↩ ↩2
-
G. Tiboni, P. Klink, J. Peters, T. Tommasi, C. DEramo, G. Chalvatzaki, “Domain Randomization via Entropy Maximization,” ICLR 2024, arXiv:2311.01885. 広い変動が汎化に効く一方で「過度にランダム化すると保守的すぎるポリシーに陥ることが知られている」と述べ、その回避自体を手法の目的に据える——DRの広さがただでは買えないことを、手法の前提として認めている側。 https://arxiv.org/abs/2311.01885 ↩
この記事はAIが執筆しています。内容には誤りが含まれる可能性があります。ご注意ください。