強化学習自分用メモ SAC編
何もわからない自分のための、参考サイトなどを元にした自分用メモ
SAC (soft actor-critic)
- maximum entropy RL フレームワークに基づく、モデルフリーのoff-policy actor-critic deep RL アルゴ
- actor:エントロピーを最大化しつつ期待報酬を最大化することが目的
- つまり、可能な限りランダムに行動しながらタスクを成功させる
- このフレームワークに基づくdeepRL手法はdeep Q-learning methodとして定式化されてる
- off-policy updateと安定した確率的actor-critic定式化 (stable stochastic actor-critic formulation) を組み合わせる
- 様々な連続制御ベンチマークタスクでSOTA達成
- 他のoff-policyアルゴリズムと対照的に、安定しており、異なるseedにおいて非常に似た性能を達成
SAC (Soft-Actor-Critic)
- サンプル効率の良い学習と安定性の両方を提供するoff-policy maximum entropy actor-critic アルゴリズム
- DDPGなどのoff-policy手法が一般的に苦手な、複雑で高次元のタスクでいい感じ
- Soft-Q学習に由来
- その他のsoft Q-learningに基づくoff-policy maximum entropyアルゴリズムの複雑さ・不安定性を回避
- 従来の目的関数に方策エントロピー項を加えて、より多様な探索を可能にした手法
- エントロピー
- 価値が大きいけど未探索な点 (価値があまり信用できない)、価値が大きく探索も十分 (価値が信用できる)がわかるように数式に取り入れられている
- 大きい領域は探索が不十分
- 小さい領域はよく探索された領域
- エントロピーが小さい=乱雑ではない=ある行動が起こる確率が高い
3つの重要な要素
- policyと価値関数ネットワークが分かれたactor-critic
- off-policy定式化
- エントロピー最大化
- 安定性と探索を可能にする
maximum entropy RL
- expected returnもポリシーのextpected entropyの両方を最大化するようにpolicyを最適化
- モデルフリーの先行研究の多くは離散的な行動空間を想定
方策エントロピー
従来の目的関数
- 価値 (総報酬)の最大化が目的
- R:即時報酬
- E:期待値
- J:目的関数。ある方策πにおけるそう報酬の期待値
Soft-Q学習
方策エントロピー項と方策の更新
- 方策エントロピー項とそれを代入した後の目的関数は以下
- 方策関数π
- Soft-Q学習ではsoftmax方策を採用
- Q値によって選択される確率が変わる方策
- 離散値と相性がいい
- 連続値では計算が複雑になる
- SAC
- シンプルなactor-critic型のsoft-Q学習を提案
- softmax方策の厳密な近似器である必要ではなく、任意の方策を使用しても問題ないことを証明
- Soft-Q学習ではsoftmax方策を採用
DDPG/TD3との違い
- 基本の実装は同じ
引き続き使用しているテクニック
- Replay Buffer
- 経験をメモリー上に保存し、その中からランダムにミニバッチ学習
- Target Network
- Target Networkを別途作成し、推定価値に使うモデルの学習を遅らせる
- Hard-Target:一定間隔ごとに同期
- Soft-Target:少しずつ近づける
- Clipped Double Q learning
- actionの選択と推定で別のモデルを使用し、過大評価を防ぐ
- Replay Buffer
違うテクニック
- 探索ノイズ
- SACでは確率論的な方策なため不要
- DDPGでは決定論的方策なので探索にノイズを含めていた
- Target Policy Smoothing
- SACではTarget Policyではなく、現状のPolicyからアクションを取得し、ノイズも混ぜない
- Target Policyから予測された次の状態のアクションにノイズを混ぜてQ関数をsmoothにする
- 探索ノイズ
Squashed Gaussian Policy
Reparameterization tric
方策エントロピーパラメタαの自動調整
- α:エントロピー項の反映率を表す
- 最適な数値は学習の進み具合で変化するので自動調整する
- SACの初期の論文ではハイパラ
- エントロピー下限値の制約付き報酬累積和の最大化問題として解く
- 最終的には以下の式を最小化するようにパラメタαを調整
- H-:望ましい最小のエントロピー値(ハイパラ)
- -1xアクション数が推奨値
強化学習のアルゴリズム
- モデルフリーのRLアルゴの大きな二つの課題
- high sample complexity
- 比較的単純なタスクでも数百万ステップのデータ収集が必要な場合がある
- 高次元の観測を伴う複雑な行動ではさらに多くなりそう
- brittle convergence properties (脆い収束性?)
- きめ細やかなハイパラチューニングが必要
- high sample complexity
deepRLのサンプル効率が悪い原因
- on-policy学習
- TRPO, PPO, A3Cなど
- 各gradient stepに対して新しいサンプルが必要
- モデルが更新されるたび、方策が変わるので
- 効果的なpolicyを学習するために必要なgradient stepもステップごとのサンプルの数はタスクの複雑さと共に増加するので大変なコストになっちゃう
- PPOは重点サンプリングにより再利用可能
- off-policy
- Q学習やDDPG
- 過去の経験を再利用することが目的
- 過去のpolicy gradient定式化では直接実現できないがQ-learningベースの手法では比較的簡単
- (off-policy学習とNNによる高次元の非線形近侍の組み合わせは)ハイパーパラメタに敏感で調整が難しいという欠点
- 特に連続的な状態・行動空間
- Q-learningで最大化を行うためにseparate actorネットワークが使われることが多い
- このような設定で一般的に使われるDDPGはサンプル効率が良い学習を提供するが、その脆さとハイパラsensitivityのために使うの大変
- 特に連続的な状態・行動空間