SimGAN:敵対的強化学習を使い正確な物理シミュレータを構築(1/2)

学習手法

1.SimGAN:敵対的強化学習を使い正確な物理シミュレータを構築(1/2)まとめ

・物理シミュレーションはロボットがスキルを習得するための活動の場を提供する
・現実のロボットの動きを元により正確な物理シミュレーターを開発できないか考えた
・SimGANは現実とシミュレーションの不一致にペナルティを課す敵対的強化学習を使う

2.SimGANとは?

以下、ai.googleblog.comより「Learning an Accurate Physics Simulator via Adversarial Reinforcement Learning」の意訳です。元記事の投稿は2021年6月16日、Yifeng JiangさんとJie Tanさんによる投稿です。

摩擦と反発が起きているように見えるアイキャッチ画像のクレジットはPhoto by Rob Lambert on Unsplash

シミュレーション環境を利用する事により、さまざまなエンジニアリング分野が最小限の人的労力で迅速に試作品を開発できるようになってきています。ロボット工学では、物理シミュレーションは、ロボットが深層強化学習(DRL:Deep Reinforcement Learning)などの手法で物理スキルを習得するための安全で安価な仮想の活動の場を提供します。

ただし、シミュレーション環境内で手動設計した物理学は現実世界と正確に一致しないため、シミュレーション内で完全にトレーニングされた制御ポリシーは、実際のハードウェアでテストすると失敗する可能性があります。これは、sim-to-realギャップまたはドメイン適応問題(domain adaptation problem)として知られる課題です。

知覚ベースのタスク(物体の把握など)の現実世界とのギャップは、RL-CycleGANとRetinaGANを使用して対処されていますが、ロボットシステムの変遷によって引き起こされるギャップはまだあります。これは私たちに以下の問いを促します。

私たちは少数の実際のロボットの軌道からより正確な物理シミュレーターを学ぶことができますか?

もしそうなら、そのような改良されたシミュレーターを使用して、標準のDRLトレーニングを使用してロボットコントローラーを改良し、現実の世界で成功することができます。

ICRA 2021の論文「SimGAN: Hybrid Simulator Identification for Domain Adaptation via Adversarial Reinforcement Learning」では、物理シミュレーターを、「軌道間の不一致にペナルティを課す特別な報酬関数を備えた深層強化学習」によってトレーニングされた学習可能な部品として扱うことを提案します。

軌道(trajectories)とは、時間の経過に伴うロボットの動きであり、シミュレーションで生成された軌道と実際のロボットで収集される少数の軌道を比較します。

敵対的生成ネットワーク(GAN:Generative Adversarial Networks)を使用してそのような報酬を提供し、学習可能なニューラルネットワークと解析物理方程式(analytical physics equations)を組み合わせたハイブリッドシミュレーターを作成して、モデルの表現力と物理的正確さのバランスを取ります。

ロボット移動タスクでは、私たちの手法は、ドメインのランダム化(domain randomization)を含む複数の強力な比較対象手法よりも優れています。

学習可能なハイブリッドシミュレーター

従来の物理シミュレータは、微分方程式を解いて仮想世界の物体の動きや相互作用をシミュレートするプログラムです。

この作業を行うためには、さまざまな環境を表すためにさまざまな異なった物理モデルを構築する必要があります。例えば、ロボットがマットレスの上を歩く場合は、(有限要素法(finite element method)を使用するなどして)マットレスの変形を考慮する必要があります。

しかしながら、ロボットが現実世界で遭遇する可能性のあるシナリオは多様であるため、このような環境固有のモデリング手法は面倒、または不可能にさえなるため、代わりに機械学習に基づくアプローチを採用することが有用です。

シミュレーターはデータから完全に学習できますが、トレーニングデータに十分に多様な状況が含まれていない場合、物理法則に違反する可能性があります。

シミュレータに与えられたトレーニングデータ内に含まれていなかった状況をシミュレートする必要がある場合などに、こういった事が起こり、現実世界で起こる事からシュミレーションが逸脱する可能性があります。その結果、このような限られたシミュレーターで訓練されたロボットは、現実世界で失敗する可能性が高くなります。

この複雑さを克服するために、学習可能なニューラルネットワークと物理方程式の両方を組み合わせたハイブリッドシミュレータを構築します。

具体的には、手動で定義されることが多いシミュレーターパラメーターを置き換えます。例えば、接触パラメータ(contact parameters)(例:摩擦係数(friction coefficients)と反発係数(restitution coefficients))およびモーターパラメータ(例:モーターゲイン(motor gains))などです。

接触パラメータとモーター動力のモデル化されていない細かい差異がシミュレーションと現実世界のギャップの主な原因であるため、学習可能なシミュレーションパラメータ関数を使用します。

これらのパラメーターが定数として扱われる従来のシミュレーターとは異なり、ハイブリッドシミュレーターでは、パラメータは状態に依存し、ロボットの状態に応じて変化する可能性があります。

たとえば、モーターは高速になると出力が弱くなる可能性があります。これらの通常はモデル化されていない物理現象は、状態に依存するシミュレーションパラメータ関数を使用する事で捕捉できます。

さらに、接触とモーターのパラメーターは通常、識別が難しく、摩耗により変更される可能性がありますが、私達のハイブリッドシミュレーターはデータからそれらを自動的に学習できます。たとえば、ロボットが接触する可能性のあるすべての表面に対してロボットの足のパラメータを手動で指定する必要はなく、シミュレーションはトレーニングデータからこれらのパラメータを学習します。


従来のシミュレータと私達のハイブリッドシミュレータの比較

ハイブリッドシミュレーターの他の利点は、シミュレーションがエネルギー保存の法則などの物理学の基本法則に従うことを保証する物理方程式で構成されており、現実世界に近づけて、シミュレーションと現実のギャップを減らせる事です。

先ほどのマットレスの例では、学習可能なハイブリッドシミュレーターは、マットレスからの接触力を模倣することができます。学習した接触パラメータは状態に依存するため、シミュレータは、マットレスに対するロボットの足の距離と速度に基づいて接触力を調整し、変形可能な表面の剛性と減衰の効果を模倣できます。その結果、変形可能な表面専用のモデルを分析的に考案する必要はありません。

3.SimGAN:敵対的強化学習を使い正確な物理シミュレータを構築(1/2)関連リンク

1)ai.googleblog.com
Learning an Accurate Physics Simulator via Adversarial Reinforcement Learning

2)arxiv.org
SimGAN: Hybrid Simulator Identification for Domain Adaptation via Adversarial Reinforcement Learning

タイトルとURLをコピーしました