ロボット学習のためにシミュレーションと現実のギャップを埋める(1/4)

  • 2019.12.02
  • AI
ロボット学習のためにシミュレーションと現実のギャップを埋める(1/4)

1.ロボット学習のためにシミュレーションと現実のギャップを埋める(1/4)まとめ

・ロボットを自律的に学習させるためにはシミュレーションが有用であるが現実世界との間にギャップがある
・現実世界とのギャップは、現実とシミュレーションの間の微妙な、しかし重要な矛盾である
・これは、シミュレートによって得たロボットの経験を現実世界で直接実行する事を妨げる

2.シミュレーションと現実世界のギャップ

以下、ai.googleblog.comより「Closing the Simulation-to-Reality Gap for Deep Robotic Learning」の意訳です。元記事は2017年10月30日、Konstantinos BousmalisさんとSergey Levineさんによる投稿です。2年前の投稿なので少し古いのですが、ロボットを強化学習を使って学習させる研究が進歩するにつれて、シミュレーションと現実世界のギャップも様々なアプローチが研究されており、過去事例として言及される事が増えてきています。

私達人間は皆、非常に複雑なスキルを学ぶことができます。特に、物体を掴む事のような基本的な感覚運動スキルに関しては、最も洗練されたロボットでも真似できないような熟練度や確実性をもって実行できます。

しかし、私達は、生まれてすぐにこれを実行できるわけではなく、生まれてからの経験を生かし、数年にわたって私たちの周りの世界と対話する方法を学ぶ事でこれを達成しています。

学習ベースのロボットシステムにこのような長期間に渡って経験を積ませる事は非常に面倒です。ロボットは継続的に自律的に動作させる必要があり、当初の段階、つまり有用な動きが出来る前の段階であっても最低限の有用な動作する必要があります。幸いなことに、ロボットには自由に使える強力なツール、シミュレーションがあります。

ロボットに相互作用するシミュレーションを長期間経験させる事は、最新の並列コンピューティング、物理シミュレーション、およびレンダリングテクノロジーを使用してようやく実現可能になりました。

更に、ロボットが動作した結果が成功したのか失敗したのかは、人間が判定するのではなく、自動で判定できるようにしなければロボットを自律的に学習させる事ができません。これは、成功を自動的に推測するのが難しいタスクにとって特に重要な機能です。

シミュレートされたトレーニングの課題は、利用可能な最高のシミュレーターでさえ現実世界を完全に摸倣できていないことです。合成データのみでトレーニングされたモデルは、視覚的特性と物理的特性の両方においてシミュレーション環境と実際の環境との間に矛盾があるため、現実世界でそのまま動かす事ができません。

実際、シミュレーションの忠実度を高めるほど、複雑な物理現象を実装する観点と、これらのシミュレーションを取り込むコンテンツ(物体や背景)の作成の観点の両方で、シミュレーション環境を構築するための労力が多大になります。

この難しさは、ディープラーニングに基づく強力な最適化手法がシミュレーターの欠陥の悪用に非常に熟練しているという事実によって更に悪化しています。機械学習アルゴリズムが強力であればあるほど、シミュレータを騙して現実世界では実行不可能な方法で目標を達成する方法を発見する可能性が高くなります。

上記を踏まえると問題は以下のようになります。

「ロボットはどのようにしてシミュレーションを活用して、現実世界で有用なタスクを実行できるようにすることができますか?」

シミュレートされた経験を現実の世界に移すことの困難さは、しばしば「現実世界とのギャップ(reality gap)」と呼ばれます。現実世界とのギャップは、現実とシミュレーションの間の微妙な、しかし重要な矛盾であり、シミュレートによって得たロボットの経験を現実世界で直接実行する事を妨げます。

シミュレーションで使われる画像の忠実度は向上し続けていますが、それでも、視覚はしばしば現実世界とのギャップが最も大きい部分となります。合成画像の独特な病理学的な規則性と、現実世界の画像の予測不可能な多様性により、現実世界とのギャップを埋める事が特に困難になるのです。

物体の把握等、多くの操作タスクの場合は、ロボットが世界を知覚するために視覚を使用する必要があるので特に問題になります。

物体分類やポーズ推定などのコンピュータービジョンタスクをディープラーニングを使って実行し、現実世界とのギャップを埋める最近の進歩は、有望なソリューションを提供しています。

例えば、Shrivastava等の研究(Learning from Simulated and Unsupervised Images through Adversarial Training)、およびBousmalis等の研究(Unsupervised Pixel-Level Domain Adaptation with Generative Adversarial Networks)は、画素レベルのドメイン適応を調査しました。Ganin等の研究(Domain-Adversarial Training of Neural Networks)、BousmalisおよびTrigeorgis等の研究(Domain Separation Networks)では特徴レベルのドメイン適応に焦点を当てています。

これらの進歩には、シミュレーションから現実世界へ学習したロボット操作を転移するためアプローチの再考が必要でした。

最近の多くの研究が、ロボット工学における現実世界とのギャップに対処しようとしています。機械学習ベースのドメイン適応(Tzeng等による研究)やシミュレーション環境のランダム化(SadeghiとLevineによる研究)などの手法が発表されていますが、ロボット操作を効果的に転移する事は、長方形の明るい色の物体を掴む事(Tobin等やJames等による研究など)や障害物のない空間での動き(Christiano等の研究)など、比較的単純なタスクに限定されています。

本投稿では、PyBulletを用いたシミュレーションでの学習と、シミュレーションから現実世界へドメインシフトさせるドメイン適応を使用します。これにより、現実世界でのロボットに物体を掴ませるタスクの学習を加速する事ができます。現実世界でロボットを動かした際に、学習中には出現しなかった多種多様な物体も上手に掴む事ができます。


ランダム化を行わずに、様々な量の実データを使用して800万のシミュレーションを行った際のパフォーマンス比較。

3.ロボット学習のためにシミュレーションと現実のギャップを埋める(1/4)関連リンク

1)ai.googleblog.com
Closing the Simulation-to-Reality Gap for Deep Robotic Learning

1)ai.googleblog.com
Closing the Simulation-to-Reality Gap for Deep Robotic Learning

2)arxiv.org
Using Simulation and Domain Adaptation to Improve Efficiency of Deep Robotic Grasping

3)sites.google.com
3D Models Procedurally Generated Random Objects