OpenAI ロボットが学ぶ: シミュレーションからのワンショット模倣学習

OpenAI は、一度見ただけで新しいタスクを学習できるロボットシステムを作成しました。このシステムはシミュレーションで完全に訓練され、その後物理ロボットに配備され、実際の画像トレーニングの必要性をなくします。

ワンショット模倣学習と VR 統合

OpenAI の新しいアルゴリズムであるワンショット模倣学習は、人間が Virtual Reality (VR) でタスクを実行することによってロボットにタスクを伝えることを可能にします。シミュレーターでの単一のデモンストレーション後、ロボットは物理世界での任意の開始構成から同じタスクを解くことができます。

システムアーキテクチャ: ビジョンネットワークと模倣ネットワーク

このシステムは、知覚とタスク実行を担当する2つの異なるニューラルネットワークで駆動されます:

ビジョンネットワーク

ビジョンネットワークは、ロボットのカメラからの画像をオブジェクトの位置の状態表現に変換します。システムが物理世界に一般化するようにするため、ネットワークはドメインランダマイズを使用して訓練されます—照明、テクスチャ、オブジェクトの摂動が異なる数十万枚のシミュレートされた画像にさらされます。ビジョンシステムは実際の画像で訓練されることはありません。

模倣ネットワーク

模倣ネットワークは、デモンストレーションからタスクの意図を推測し、その意図を新しい設定に一般化します。数十のタスクそれぞれに数千のデモンストレーションを使用して訓練され、異なる開始状態から同じタスクを実行する軌道のペアを使用します。教師あり学習を通じて、ネットワークは特定の観測におけるデモンストレーターが取った行動を予測し、オブジェクトの特定の開始位置よりもタスクの関連部分を優先するように学習します。

ブロック積みへの応用

OpenAI は、ロボットが色コード付きのブロックのスタックを作成するブロック積みタスクを使用して、システムの能力を実証しました。

スクリプトポリシーによるトレーニング

ブロック積みは十分に単純なタスクであるため、OpenAI はシミュレーションでスクリプトポリシーを使用して模倣ネットワークのトレーニングデータを生成しました。スクリプトデータで訓練されているにもかかわらず、模倣ネットワークはテスト時に人間が生成したデモンストレーションを正常に解析しました。これは、以前に「乱雑」な人間のデータに遭遇したことがないにもかかわらずです。

ソフトアテンションによるスケーリングと一般化

模倣ネットワークは、デモンストレーションの軌道とブロックの位置の状態ベクトルに対してソフトアテンションを利用します。このアーキテクチャにより、システムは次のことが可能になります:

  • 可変長のデモンストレーションを処理する。
  • トレーニング中に見られたものより長い軌道を模倣する。
  • トレーニングセット内のどのデモンストレーションよりも多くのブロックを含む構成にブロックを積む。

ノイズ注入による堅牢性

ポリシーの堅牢性を確保するため、OpenAI はトレーニング中にスクリプトポリシーの出力に適度なノイズを注入しました。これにより、エラーが発生したときにスクリプトポリシーが回復動作を示すように強制され、その結果、模倣ネットワークは不完全なポリシーからの攪乱に対処する方法を学びます。このノイズ注入がない場合、模倣ネットワークは通常、積み上げタスクを完了できません。

Sources