Soft Actor-Critic:ロボット工学のための深層強化学習(1/2)

  • 2019.01.26
  • AI
Soft Actor-Critic:ロボット工学のための深層強化学習(1/2)

1.Soft Actor-Critic:ロボット工学のための深層強化学習(1/2)まとめ

・Soft Actor-Criticは深層強化学習を使いロボットが現実世界で学習する事を可能にする
・従来手法に比べて短時間で学習でき且つ想定外の事態にも対応可能になる設計
・四本足の歩行型ロボットに平地で訓練させた後に悪路を走行させる事ができた

2.ロボットに悪路を歩く事を自律的に学習させる試み

以下、ai.googleblogより「Soft Actor-Critic: Deep Reinforcement Learning for Robotics」の意訳です。元記事の投稿は2019年1月18日、Sam Hasinoffさんによる投稿です後半はこちら

深層強化学習(RL)は、ニューラルネットワークを利用して複雑なセンサー入力を処理する能力を持っています。この能力により、ロボットを実世界での経験や相互作用から直接、完全に自動学習させる事ができます。

しかし、既存のRLアルゴリズムの多くは、目的の動作を行うようになるために数日または数週間(またはそれ以上)の実世界のデータを必要とします。さらに、そのようなアルゴリズムを複雑なロボットシステム(脚のあるロボットなど)で実行すると、学習段階に容易に転んで破損する可能性があり実施は困難です。ハイパーパラメータ設定も調整が困難であり、さまざまな安全上の配慮によりさらなる制限が生じます。

私たちは先日、カリフォルニア大学バークレー校と共同で、ロボット実験の上記制限をクリアする、実世界のロボットにスキル学習をさせるのに適した安定して効率的な深層強化学習アルゴリズムであるSoft Actor-Critic(SAC)をリリースしました。

重要なことは、SACはほんの一握りの時間で実世界のロボットタスクを解決できる程に十分に効率的であり、そして単一のハイパーパラメーターセットで様々な環境で動作させる事ができるのです。以下では、SACの背後にあるいくつかの研究について説明し、さらに最近のいくつかの実験について説明します。

実世界のロボット学習のために必要な要件
実際のロボット実験には、大きな課題があります。ハードウェア障害や手動リセットによってデータが継続的に中断される事態の想定が必要、ロボットの機械的な損耗を防ぐためのスムーズな探索が必要など、更に以下の要件も含みますがこれらに限定されません。

・学習時間を短縮するための優れたサンプル効率を達成する
・調整が必要なハイパーパラメータの数を最小限に留める
・すでに収集されたデータをさまざまなシナリオで再利用する機能(off-policy learning:ポリシー外学習と呼ばれます)
・学習と探索がハードウェアに損傷を与えないようにする

Soft Actor-Criticとは?
Soft Actor-Criticは最大エントロピー強化学習に基づいています。
つまり、標準的な強化学習の目的である「一番多く報酬を貰える事が期待できる行動をする」事に加えて「ポリシーのエントロピー(乱雑さ)を最大化すること」も目的とするフレームワークです。

より高いエントロピーを有するポリシーはよりランダムです。これは、直感的には最大エントロピー強化学習が、従来通り高い報酬を達成する手法を好みつつ、且つ最もランダムなポリシーを好むことを意味します。

なぜこれがロボット学習に望ましいのでしょうか?
最も明白な理由は、最大エントロピー用に最適化されたポリシーはより堅牢になることです。ポリシーがトレーニング中の非常にランダムな行動を許容できる場合、テスト時に予期しない事象が発生してもうまく対応できる可能性が高くなります。

ただし、もっと精緻な理由は、最大エントロピーのトレーニングによって、アルゴリズムのハイパーパラメーターに対する堅牢性とそのサンプル効率の両方を向上させることができるためです。(詳細については、BAIR(バークレイ校のブログ)の投稿記事とarxiv.orgのチュートリアルを参照してください)。

Soft Actor-Criticは、「状態を行動にマッピングする確率的方針」と「現在のポリシーの有効性を推定するQ関数」を学習することによってエントロピー増強報酬を最大化し、近似動的計画法(Approximate Dynamic Programming)を使用してそれらを最適化します。

こうする事で、SACは目的をより良い強化学習アルゴリズムを導き出すための根拠ある方法と見なされます。これは一貫して実行され、十分にサンプル効率的で、実世界のロボットアプリケーションに適用可能です。技術的な詳細については、私達がarxiv.orgに投稿したテクニカル レポートをご覧ください。

SACの性能
私達はSACを2つのタスクで評価しました。
1)Ghost Robotics社のMinitaurロボットによる4足歩行
2)3本の指を持つDynamixel Clawによるバルブの開閉

ロボットが劣駆動(一部(足の動き)だけ制御して全体(ロボット)を動かす事)になるため、歩行を習得することは難しいチャレンジです。前進するためには脚部の接触力を微妙にバランスさせる必要があります。訓練されていないポリシーはバランスを崩して転倒する可能性があり、転倒が多すぎると最終的にはロボットに損傷を与えるため、サンプル効率の高い学習が不可欠になります。私たちは平らな地形だけでポリシーを訓練しましたが、その後、様々な地形や障害物でテストをしました。

原則として、Soft Actor-Criticによって学習されたポリシーは、トレーニング時にエントロピーを最大化する(すなわち、最大ノイズを注入する)ようにトレーニングされるので、テスト時に今まで経験した事のない予期せぬ障害に対して高い対応力を示すはずです。

そして確かに、私達はSACで学んだポリシーが追加で学習する事なしで、これらの障害に対して対応可能である事を観察できました。


Minitaurロボットに実装されたSACを使用して学習した歩行の様子。学習プロセスのフルビデオは、プロジェクトWebサイトにあります。

(Soft Actor-Critic:ロボット工学のための深層強化学習(2/2)へ続きます)

3.Soft Actor-Critic:ロボット工学のための深層強化学習(1/2)まとめ

1)ai.googleblog.com
Soft Actor-Critic: Deep Reinforcement Learning for Robotics

2)sites.google.com
Soft Actor-Critic Algorithms and Applications

3)bair.berkeley.edu
Learning Diverse Skills via Maximum Entropy Deep Reinforcement Learning

4)arxiv.org
Reinforcement Learning and Control as Probabilistic Inference: Tutorial and Review

Soft Actor-Critic Algorithms and Applications