Proximal Policy Optimization
Algorithms
調和系工学研究室 B4 織田 智矢
1
論文情報
• タイトル
– Proximal Policy Optimization Algorithms
– URL : https://arxiv.org/abs/1602.01783
• JULY 20, 2017
• 著者
– John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford,
Oleg Klimov [OpenAI ]
2
RL Map 3
Q-Learning
SARSA
Actor-Critic
Policy
Gradients
Monte Carlo
DQN
DDQN
Dueling Net
Gorila
Prioritized
Experience
Replay
Ape-X R2D2
A3C
Advantage
TRPO PPO
DDPG
Deep
Learning
A2C
ACER
GAE
RL Map 4
Q-Learning
SARSA
Actor-Critic
Policy
Gradients
Monte Carlo
DQN
DDQN
Dueling Net
Gorila
Prioritized
Experience
Replay
Ape-X R2D2
A3C
Advantage
TRPO PPO
DDPG
Deep
Learning
A2C
ACER
GAE
DQNからPPOへ
• かなり複雑になっているのでDQNをおさらいしてからPPOへ
• 今回説明する流れ
• DQN
• A3C
– Actor-Critic
– Policy Gradient
– Advantage Q Learning
– Gorila
• PPO
– TRPO
• の順番に説明を行っていきます
5
DQN
Deep Q-Learning
6
DQNからPPOへ
• DQN
• A3C
– Policy Gradient
– Actor-Critic
– Advantage Q Learning
– Gorila
• PPO
– TRPO
– GAE
7
[おさらい] 強化学習とは
• s : 状態 (state)
• a : 行動 (action)
• r : 報酬 (reward)
• エージェントがある行動atを
行って,環境から次の状態
st+1と報酬rt+1を受け取る
• という枠組みが基本である
8
引用:Pythonではじめる強化学習
DQNおさらい 9
• Q(s,a)が最大となるaを行い報酬rを環境から受け取る (s:state, a:action, r:reward)
• Replay Memoryに(s,a,r,s’)を入れる (s’:next state)
• MemoryからTarget Q Network with DQN Lossを計算しQ Networkを更新
• N update毎にTarget Q NetworkへQ Networkをコピー
Massively Parallel Methods for Deep Reinforcement Learning
https://arxiv.org/pdf/1507.04296.pdf
A3C
Asynchronous Advantage Actor-Critic
10
DQNからPPOへ
• DQN
• A3C
– Policy Gradient
– Actor-Critic
– Advantage Q Learning
– Gorila
• PPO
– TRPO
– GAE
11
RL Map(A3C) 12
Q-Learning
SARSA
Actor-Critic
Policy
Gradients
Monte Carlo
DQN
DDQN
Dueling Net
Gorila
Ape-X R2D2
A3C
Advantage
TRPO PPO
DDPG
Deep
Learning
A2C
ACER
GAE
• DQN+Advantage+actor-critic+非同期分散処理の流れ
• 基本的なアーキテクチャはGorilaの基づいたもの
• Actor-criticという手法の中でPolicy gradientsが使われている
(後述)
論文情報
• タイトル
– Asynchronous Methods for Deep Reinforcement Learning
– URL : https://arxiv.org/abs/1602.01783
• 発表学会
– ICML2016
• 著者
– Volodymyr Mnih, Adrià Puigdomènech Badia, Mehdi Mirz
• 所属
– Google DeepMind・Montreal Institute for Learning
Algorithms (MILA), University of Montreal
13
Policy Gradient(方策勾配法)
• 行動の方策𝜋 𝜃 (各行動の確率) に対して期待収益 𝐽(𝜃)を最大化
• 広大な行動空間に対して価値化関数Qを設計するのは難しい
• そこで実際に得られた報酬rの合計で価値関数を近似すると
• このままだと分散が大きくなるのである関数b(s)を引く(ベースライン除
去というテクニック, 期待値をそのままに分散を小さくする目的)
• b(s)は報酬との2乗和誤差が最小になるように毎step調整
14
(価値関数 ∶ 𝑄 𝜋 𝜃)
Actor-critic
• Value-Basedな手法(Q学習など)と
Policy-Basedな手法(方策勾配法)の
組み合わせ
• 行動確率 𝜋(a|s)を出力する (Actor)
• 状態価値関数 V(s,a) (Critic)
• 方策(Policy)に基づきある状態sで,あ
る行動aを取ったときの状態を批判し
方策を学習,そして同時に行動価値関
数も学習する.
• 最近ではこの行動確率を出力する部分
にPolicy Gradientsが使われている
15
Advantage Loss Function
• Q学習での例
– 1-StepQ学習のloss関数
• 𝐿𝑖 𝜃𝑖 = 𝐸(𝑟 + 𝛾 max
𝑎′
𝑄 𝑠′, 𝑎′; 𝜃𝑖−1 − 𝑄(𝑠, 𝑎; 𝜃𝑖)) 2
• Rewardが直接作用するのはこのときのs,aペアのみ
– n-StepQ学習loss関数
• 𝐿𝑖 𝜃𝑖 = 𝐸( 𝑘
𝑛
𝛾 𝑘 𝑟𝑡+𝑘 + 𝛾 𝑛max
𝑎′
𝑄 𝑠′, 𝑎′; 𝜃𝑖−1 − 𝑄(𝑠, 𝑎; 𝜃𝑖)) 2
• n-step先まで行動して,更新する(1回行動するたびに学習する
より早く収束する)
• Advantage-Actor-Criticのloss関数
– 𝐿𝑖 𝜃𝑖 = ∇ 𝜃 log 𝜋 𝑎 𝑡 𝑠𝑡; 𝜃′ 𝐴(𝑎 𝑡, 𝑠𝑡; 𝜃, 𝜃𝑣)
– Where 𝐴 𝑎 𝑡, 𝑠𝑡; 𝜃, 𝜃𝑣 = 𝑘=0
𝑛−1
𝛾 𝑘 𝑟𝑡+𝑘 + 𝛾 𝑛 𝑉 𝑠𝑡+𝑛; 𝜃𝑣 − 𝑉(𝑠𝑡; 𝜃𝑣)
16
Gorila 17
https://arxiv.org/pdf/1507.04296.pdf
(動物のゴリラのスペルはgorilla)
• DQNを非同期分散処理で実装したもの
• Replay Memoryをすべてのスレッド(Actor)で共有している点が大きな特徴
A3C
• Policy Gradientからの変更点
– あるベースライン関数b(s)をcriticとしてニューラルネットで
近似
• b(s)がそのまま状態価値関数になる
– 期待収益にエントロピー項追加
• 目的関数の正則化の意味で導入
– 分散非同期にする
• 学習の収束が早くなる
18
Algorithm 19
• 𝜃𝑣は状態価値関数のニューラルネットワーク
• log 𝜋 𝑎 𝑠; 𝜃 (𝑅 𝑡 − 𝑉 𝑡 )を最大化するように更新すればいい(方策勾配定理 )
• R-Vは行動価値から状態の価値を引いている→行動の確率×行動だけの価値が欲しい
1
4
2
3
Algorithm 1 20
Parameter Server θ
thread 1
Environment Network
Gradients
Learner with A3C
Loss
Actor Memory
thread k
Environment Network
Gradients
Learner with A3C
Loss
Actor
Memory
パラメータサーバから重
みをコピー
Parameter Server θ
Network
Algorithm 2 21
Parameter Server θ
thread 1
Environment Network
Gradients
Learner with A3C
Loss
Actor Memory
thread k
Environment Network
Gradients
Learner with A3C
Loss
Actor
Memory
メモリに経験を貯める
(tmax or Doneまで)
Parameter Server θ
Network
Algorithm 3 22
Parameter Server θ
thread 1
Environment Network
Gradients
Learner with A3C
Loss
Actor Memory
thread k
Environment Network
Gradients
Learner with A3C
Loss
Actor
Memory
MemoryからLossを計算し勾
配を求める
Network
Algorithm 4 23
thread 1
Environment Network
Gradients
Learner with A3C
Loss
Actor Memory
thread k
Environment Network
Gradients
Learner with A3C
Loss
Actor
Memory
Parameter Server θ
Network
非同期に勾配をServerに渡して,
Serverのネットワークを更新
1に戻るをTmax繰り返す
Results 24
A2C(A3Cの非同期版)
• A3Cが誕生した当初は非常に有力な手法
• しかしこの非同期性がパフォーマンスの向上につながったのか
不明であった.
• 実際に非同期更新せずにすべてのスレッドが終わるまで待ち,
すべての平均を取って更新する手法を試した.(この手法は
GPUをより効率的に使用できる)
• 結果,A3Cよりパフォーマンスが優れていた.
• 非同期によって発生するノイズはパフォーマンスの向上
にならない.
• よってA3Cを使うならA2Cの方が費用対効果がよい.
25
https://openai.com/blog/baselines-acktr-a2c/
PPO
Proximal Policy Optimization
26
DQNからPPOへ
• DQN
• A3C
– Policy Gradient
– Actor-Critic
– Advantage Q Learning
– Gorila
• PPO
– TRPO
– GAE
27
RL Map(PPO) 28
Q-Learning
SARSA
Actor-Critic
Policy
Gradients
Monte Carlo
DQN
DDQN
Dueling Net
Gorila
Prioritized
Experience
Replay
Ape-X R2D2
A3C
Advantage
TRPO PPO
DDPG
Deep
Learning
A2C
ACER
GAE
論文情報
• タイトル
– Proximal Policy Optimization Algorithms
– URL : https://arxiv.org/abs/1602.01783
• JULY 20, 2017
• 著者
– John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford,
Oleg Klimov [OpenAI ]
29
Abstract
• 環境との相互作用によるデータのサンプリングと,確率的勾配
上昇を使用した「代理」目的関数の最適化を交互に行う,強化
学習のための新しい方策勾配法(Policy gradient)を提案する
• 標準的な方策勾配法はデータサンプルごとに勾配を更新するが,
新しく提案する目的関数は,ミニバッチ更新による複数エポッ
クが可能である(これをPPOと呼ぶ)
• TRPO(ベースとなるアルゴリズム)の利点を持ちつつ,より
実装がシンプル・一般的・データサンプルの複雑さが向上
• PPOは他の方策勾配法より優れており,全体的に見て,サンプ
ルの複雑さ,単純さ,実行時間の間でバランスがとれている
30
[再訪] Policy gradient(方策勾配法)
• Policy gradientとは以下の式に従って方策πを更新する方式
– πθは確率的方策
– Atはアドバンテージの推定量(状態を評価する関数)
– Etは期待値のサンプルの有限バッチ平均近似
• 同じエピソードを使用してこのloss関数の更新をすすめると,
破壊的な大幅なポリシーの更新をすることがある
• 複数エポックには向かない
31
Policy Gradient からTRPOへ
• Policy Gradientは,方策が一度に大きく更新されてしまう恐れ
があり,正しく方策を学習できないことがある
• よってパラメータの更新(ここでは方策NNの更新)は慎重に
行わなくてはならない
• 代理目的関数を設定してそれを防止する(TRPO)
• そのTRPOの改善手法が今回のPPO
32
TRPO (Trust Region Methods)
• 代理目的関数は方策の更新量の制約条件のもとで,最大化され
る
• この問題は目的関数に線形近似,制約に2次近似をおくと共役
勾配法で効率的に解くことができる
• 実際,TRPOを正当化する理論は,制約のない最適化問題を解
いている
• 係数βについて,この代理目的関数はKLの平均ではなく最大値
を取るため,方策πの下限を形成
• 係数βの決定が難しい!
33
Clipped Surrogate Objective
• new/oldこのように定義すると
• TRPOは以下代理目的関数を最大化する
– CPIとは目的であるconservative policy iteration(保守的な方
策反復)
– 制約がないとLCPIは過度に大きな方策更新が起こるので𝑟𝑡(𝜃)
に制約を設ける. [1-ε, 1+ε] ->PPOでの改善点
• PPOでは以下の代理目的関数を最大化する
34
Clipped Surrogate Objective
• Atが正のときに左
• 負のとき右のグラフになる
• 様々な代理目的関数の比較
• Clipが一番良かった
35
GAE
• 最終的な目的関数
• Sはエントロピー項,
• アドバンテージ (価値関数) AはT-Step(A3Cと同じ)
• アドバンテージGAE(Generalized Advantage Estimation)は,以
下のように係数λを用いて一般化できる (λ=1のとき上式と一
致)
36
探索を促すための
エントロピー項
分散を軽減
Algorithm 37
• 流れとしてはA3Cとほぼ同じ
• 一つ大きな違いとしては,A3CではそれぞれのActorがlocalなNNを保持していたが,
PPOでは全てのActorで同じNNを共有する
• また非同期更新よりも同期更新の方が効率が良いことが知られているので,すべて
のactorからAdvantageを集めてバッチ更新
Algorithm 1 38
Parameter Server θ
Shared
Network π
actor 1
Environment
Actor
Advantage
Memory
Actorはshared
Networkの出力
で行動する
Shared
Network R
Networkは途中から二股分岐になって
いることが多い. π側の出力サイズは行
動空間・Rは1次元(スカラ値)が一般的
actor k
Environment
Actor
Advantage
Memory
minibatch
Algorithm 2 39
Parameter Server θ
Shared
Network π
actor 1
Environment
Actor
Advantage
Memory
Shared
Network R
actor k
Environment
Actor
Advantage
Memory
minibatch
Advantageを計算した上で
Memoryに格納(Tまで or Episode
終わるまで)
Algorithm 3 40
Parameter Server θ
Shared
Network π
actor 1
Environment
Actor
Advantage
Memory
Shared
Network R
actor k
Environment
Actor
Advantage
Memory
minibatch
すべてのActorが1Episode終わっ
たら,Advantage Memoryから
minibachを作ってこれで勾配更新
Results 41
• MuJoCo での結果(高次元の連続行動タスクの結果)
• 横軸はtimesteps, 縦軸はscore
• TRPO・PPOベースの手法が良い結果となっている
Results 42
• 同様にAtari(離散行動空間)での結果
• 49のゲームのスコアが高かったアルゴリズムの比較
• (1)は収束の速さを示しており,(2)では最終的なパフォー
マンスを示している(10M timesteps)
• ACERはA3Cをoff-policy型にしてReplay Memoryを使えるよう
にしたアルゴリズム
• Tieだったのは Ventureというゲーム(迷路を探索する複雑な
ゲーム)でどちらも0点
Results 43
Results 44
まとめ
• 現在の強化学習はQ系の手法とActor-critic系の手法が主流
• PPOはA3C (A2C)に比べて収束が早い
• Q系は連続行動空間(ロボットの制御など)は上手く行ってい
ないのに対して,A3CやPpoなどのPolicy Gradients系は成果を
出している
45

強化学習 DQNからPPOまで

  • 1.
  • 2.
    論文情報 • タイトル – ProximalPolicy Optimization Algorithms – URL : https://arxiv.org/abs/1602.01783 • JULY 20, 2017 • 著者 – John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov [OpenAI ] 2
  • 3.
    RL Map 3 Q-Learning SARSA Actor-Critic Policy Gradients MonteCarlo DQN DDQN Dueling Net Gorila Prioritized Experience Replay Ape-X R2D2 A3C Advantage TRPO PPO DDPG Deep Learning A2C ACER GAE
  • 4.
    RL Map 4 Q-Learning SARSA Actor-Critic Policy Gradients MonteCarlo DQN DDQN Dueling Net Gorila Prioritized Experience Replay Ape-X R2D2 A3C Advantage TRPO PPO DDPG Deep Learning A2C ACER GAE
  • 5.
    DQNからPPOへ • かなり複雑になっているのでDQNをおさらいしてからPPOへ • 今回説明する流れ •DQN • A3C – Actor-Critic – Policy Gradient – Advantage Q Learning – Gorila • PPO – TRPO • の順番に説明を行っていきます 5
  • 6.
  • 7.
    DQNからPPOへ • DQN • A3C –Policy Gradient – Actor-Critic – Advantage Q Learning – Gorila • PPO – TRPO – GAE 7
  • 8.
    [おさらい] 強化学習とは • s: 状態 (state) • a : 行動 (action) • r : 報酬 (reward) • エージェントがある行動atを 行って,環境から次の状態 st+1と報酬rt+1を受け取る • という枠組みが基本である 8 引用:Pythonではじめる強化学習
  • 9.
    DQNおさらい 9 • Q(s,a)が最大となるaを行い報酬rを環境から受け取る(s:state, a:action, r:reward) • Replay Memoryに(s,a,r,s’)を入れる (s’:next state) • MemoryからTarget Q Network with DQN Lossを計算しQ Networkを更新 • N update毎にTarget Q NetworkへQ Networkをコピー Massively Parallel Methods for Deep Reinforcement Learning https://arxiv.org/pdf/1507.04296.pdf
  • 10.
  • 11.
    DQNからPPOへ • DQN • A3C –Policy Gradient – Actor-Critic – Advantage Q Learning – Gorila • PPO – TRPO – GAE 11
  • 12.
    RL Map(A3C) 12 Q-Learning SARSA Actor-Critic Policy Gradients MonteCarlo DQN DDQN Dueling Net Gorila Ape-X R2D2 A3C Advantage TRPO PPO DDPG Deep Learning A2C ACER GAE • DQN+Advantage+actor-critic+非同期分散処理の流れ • 基本的なアーキテクチャはGorilaの基づいたもの • Actor-criticという手法の中でPolicy gradientsが使われている (後述)
  • 13.
    論文情報 • タイトル – AsynchronousMethods for Deep Reinforcement Learning – URL : https://arxiv.org/abs/1602.01783 • 発表学会 – ICML2016 • 著者 – Volodymyr Mnih, Adrià Puigdomènech Badia, Mehdi Mirz • 所属 – Google DeepMind・Montreal Institute for Learning Algorithms (MILA), University of Montreal 13
  • 14.
    Policy Gradient(方策勾配法) • 行動の方策𝜋𝜃 (各行動の確率) に対して期待収益 𝐽(𝜃)を最大化 • 広大な行動空間に対して価値化関数Qを設計するのは難しい • そこで実際に得られた報酬rの合計で価値関数を近似すると • このままだと分散が大きくなるのである関数b(s)を引く(ベースライン除 去というテクニック, 期待値をそのままに分散を小さくする目的) • b(s)は報酬との2乗和誤差が最小になるように毎step調整 14 (価値関数 ∶ 𝑄 𝜋 𝜃)
  • 15.
    Actor-critic • Value-Basedな手法(Q学習など)と Policy-Basedな手法(方策勾配法)の 組み合わせ • 行動確率𝜋(a|s)を出力する (Actor) • 状態価値関数 V(s,a) (Critic) • 方策(Policy)に基づきある状態sで,あ る行動aを取ったときの状態を批判し 方策を学習,そして同時に行動価値関 数も学習する. • 最近ではこの行動確率を出力する部分 にPolicy Gradientsが使われている 15
  • 16.
    Advantage Loss Function •Q学習での例 – 1-StepQ学習のloss関数 • 𝐿𝑖 𝜃𝑖 = 𝐸(𝑟 + 𝛾 max 𝑎′ 𝑄 𝑠′, 𝑎′; 𝜃𝑖−1 − 𝑄(𝑠, 𝑎; 𝜃𝑖)) 2 • Rewardが直接作用するのはこのときのs,aペアのみ – n-StepQ学習loss関数 • 𝐿𝑖 𝜃𝑖 = 𝐸( 𝑘 𝑛 𝛾 𝑘 𝑟𝑡+𝑘 + 𝛾 𝑛max 𝑎′ 𝑄 𝑠′, 𝑎′; 𝜃𝑖−1 − 𝑄(𝑠, 𝑎; 𝜃𝑖)) 2 • n-step先まで行動して,更新する(1回行動するたびに学習する より早く収束する) • Advantage-Actor-Criticのloss関数 – 𝐿𝑖 𝜃𝑖 = ∇ 𝜃 log 𝜋 𝑎 𝑡 𝑠𝑡; 𝜃′ 𝐴(𝑎 𝑡, 𝑠𝑡; 𝜃, 𝜃𝑣) – Where 𝐴 𝑎 𝑡, 𝑠𝑡; 𝜃, 𝜃𝑣 = 𝑘=0 𝑛−1 𝛾 𝑘 𝑟𝑡+𝑘 + 𝛾 𝑛 𝑉 𝑠𝑡+𝑛; 𝜃𝑣 − 𝑉(𝑠𝑡; 𝜃𝑣) 16
  • 17.
  • 18.
    A3C • Policy Gradientからの変更点 –あるベースライン関数b(s)をcriticとしてニューラルネットで 近似 • b(s)がそのまま状態価値関数になる – 期待収益にエントロピー項追加 • 目的関数の正則化の意味で導入 – 分散非同期にする • 学習の収束が早くなる 18
  • 19.
    Algorithm 19 • 𝜃𝑣は状態価値関数のニューラルネットワーク •log 𝜋 𝑎 𝑠; 𝜃 (𝑅 𝑡 − 𝑉 𝑡 )を最大化するように更新すればいい(方策勾配定理 ) • R-Vは行動価値から状態の価値を引いている→行動の確率×行動だけの価値が欲しい 1 4 2 3
  • 20.
    Algorithm 1 20 ParameterServer θ thread 1 Environment Network Gradients Learner with A3C Loss Actor Memory thread k Environment Network Gradients Learner with A3C Loss Actor Memory パラメータサーバから重 みをコピー Parameter Server θ Network
  • 21.
    Algorithm 2 21 ParameterServer θ thread 1 Environment Network Gradients Learner with A3C Loss Actor Memory thread k Environment Network Gradients Learner with A3C Loss Actor Memory メモリに経験を貯める (tmax or Doneまで) Parameter Server θ Network
  • 22.
    Algorithm 3 22 ParameterServer θ thread 1 Environment Network Gradients Learner with A3C Loss Actor Memory thread k Environment Network Gradients Learner with A3C Loss Actor Memory MemoryからLossを計算し勾 配を求める Network
  • 23.
    Algorithm 4 23 thread1 Environment Network Gradients Learner with A3C Loss Actor Memory thread k Environment Network Gradients Learner with A3C Loss Actor Memory Parameter Server θ Network 非同期に勾配をServerに渡して, Serverのネットワークを更新 1に戻るをTmax繰り返す
  • 24.
  • 25.
    A2C(A3Cの非同期版) • A3Cが誕生した当初は非常に有力な手法 • しかしこの非同期性がパフォーマンスの向上につながったのか 不明であった. •実際に非同期更新せずにすべてのスレッドが終わるまで待ち, すべての平均を取って更新する手法を試した.(この手法は GPUをより効率的に使用できる) • 結果,A3Cよりパフォーマンスが優れていた. • 非同期によって発生するノイズはパフォーマンスの向上 にならない. • よってA3Cを使うならA2Cの方が費用対効果がよい. 25 https://openai.com/blog/baselines-acktr-a2c/
  • 26.
  • 27.
    DQNからPPOへ • DQN • A3C –Policy Gradient – Actor-Critic – Advantage Q Learning – Gorila • PPO – TRPO – GAE 27
  • 28.
    RL Map(PPO) 28 Q-Learning SARSA Actor-Critic Policy Gradients MonteCarlo DQN DDQN Dueling Net Gorila Prioritized Experience Replay Ape-X R2D2 A3C Advantage TRPO PPO DDPG Deep Learning A2C ACER GAE
  • 29.
    論文情報 • タイトル – ProximalPolicy Optimization Algorithms – URL : https://arxiv.org/abs/1602.01783 • JULY 20, 2017 • 著者 – John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov [OpenAI ] 29
  • 30.
    Abstract • 環境との相互作用によるデータのサンプリングと,確率的勾配 上昇を使用した「代理」目的関数の最適化を交互に行う,強化 学習のための新しい方策勾配法(Policy gradient)を提案する •標準的な方策勾配法はデータサンプルごとに勾配を更新するが, 新しく提案する目的関数は,ミニバッチ更新による複数エポッ クが可能である(これをPPOと呼ぶ) • TRPO(ベースとなるアルゴリズム)の利点を持ちつつ,より 実装がシンプル・一般的・データサンプルの複雑さが向上 • PPOは他の方策勾配法より優れており,全体的に見て,サンプ ルの複雑さ,単純さ,実行時間の間でバランスがとれている 30
  • 31.
    [再訪] Policy gradient(方策勾配法) •Policy gradientとは以下の式に従って方策πを更新する方式 – πθは確率的方策 – Atはアドバンテージの推定量(状態を評価する関数) – Etは期待値のサンプルの有限バッチ平均近似 • 同じエピソードを使用してこのloss関数の更新をすすめると, 破壊的な大幅なポリシーの更新をすることがある • 複数エポックには向かない 31
  • 32.
    Policy Gradient からTRPOへ •Policy Gradientは,方策が一度に大きく更新されてしまう恐れ があり,正しく方策を学習できないことがある • よってパラメータの更新(ここでは方策NNの更新)は慎重に 行わなくてはならない • 代理目的関数を設定してそれを防止する(TRPO) • そのTRPOの改善手法が今回のPPO 32
  • 33.
    TRPO (Trust RegionMethods) • 代理目的関数は方策の更新量の制約条件のもとで,最大化され る • この問題は目的関数に線形近似,制約に2次近似をおくと共役 勾配法で効率的に解くことができる • 実際,TRPOを正当化する理論は,制約のない最適化問題を解 いている • 係数βについて,この代理目的関数はKLの平均ではなく最大値 を取るため,方策πの下限を形成 • 係数βの決定が難しい! 33
  • 34.
    Clipped Surrogate Objective •new/oldこのように定義すると • TRPOは以下代理目的関数を最大化する – CPIとは目的であるconservative policy iteration(保守的な方 策反復) – 制約がないとLCPIは過度に大きな方策更新が起こるので𝑟𝑡(𝜃) に制約を設ける. [1-ε, 1+ε] ->PPOでの改善点 • PPOでは以下の代理目的関数を最大化する 34
  • 35.
    Clipped Surrogate Objective •Atが正のときに左 • 負のとき右のグラフになる • 様々な代理目的関数の比較 • Clipが一番良かった 35
  • 36.
    GAE • 最終的な目的関数 • Sはエントロピー項, •アドバンテージ (価値関数) AはT-Step(A3Cと同じ) • アドバンテージGAE(Generalized Advantage Estimation)は,以 下のように係数λを用いて一般化できる (λ=1のとき上式と一 致) 36 探索を促すための エントロピー項 分散を軽減
  • 37.
    Algorithm 37 • 流れとしてはA3Cとほぼ同じ •一つ大きな違いとしては,A3CではそれぞれのActorがlocalなNNを保持していたが, PPOでは全てのActorで同じNNを共有する • また非同期更新よりも同期更新の方が効率が良いことが知られているので,すべて のactorからAdvantageを集めてバッチ更新
  • 38.
    Algorithm 1 38 ParameterServer θ Shared Network π actor 1 Environment Actor Advantage Memory Actorはshared Networkの出力 で行動する Shared Network R Networkは途中から二股分岐になって いることが多い. π側の出力サイズは行 動空間・Rは1次元(スカラ値)が一般的 actor k Environment Actor Advantage Memory minibatch
  • 39.
    Algorithm 2 39 ParameterServer θ Shared Network π actor 1 Environment Actor Advantage Memory Shared Network R actor k Environment Actor Advantage Memory minibatch Advantageを計算した上で Memoryに格納(Tまで or Episode 終わるまで)
  • 40.
    Algorithm 3 40 ParameterServer θ Shared Network π actor 1 Environment Actor Advantage Memory Shared Network R actor k Environment Actor Advantage Memory minibatch すべてのActorが1Episode終わっ たら,Advantage Memoryから minibachを作ってこれで勾配更新
  • 41.
    Results 41 • MuJoCoでの結果(高次元の連続行動タスクの結果) • 横軸はtimesteps, 縦軸はscore • TRPO・PPOベースの手法が良い結果となっている
  • 42.
    Results 42 • 同様にAtari(離散行動空間)での結果 •49のゲームのスコアが高かったアルゴリズムの比較 • (1)は収束の速さを示しており,(2)では最終的なパフォー マンスを示している(10M timesteps) • ACERはA3Cをoff-policy型にしてReplay Memoryを使えるよう にしたアルゴリズム • Tieだったのは Ventureというゲーム(迷路を探索する複雑な ゲーム)でどちらも0点
  • 43.
  • 44.
  • 45.
    まとめ • 現在の強化学習はQ系の手法とActor-critic系の手法が主流 • PPOはA3C(A2C)に比べて収束が早い • Q系は連続行動空間(ロボットの制御など)は上手く行ってい ないのに対して,A3CやPpoなどのPolicy Gradients系は成果を 出している 45