SlideShare a Scribd company logo

強化学習アルゴリズムPPOの解説と実験

克海 納谷

強化学習アルゴリズムであるPPOとそこに至るまでのアルゴリズム(Actor-Critic, A3C, TRPO)について解説

1 of 22
Download to read offline
PPO解説・実験(Pendulum-v0)
1強化学習勉強会
東北大 林部・大脇研究室
M1 納谷克海
強化学習勉強会@7/17
2強化学習勉強会
目次
1. アルゴリズム
2. 実証(Pendulum-v0)
3強化学習勉強会
目次
1. アルゴリズム
2. 実証(Pendulum-v0)
4強化学習勉強会
導入(復習?)
Policy Optimization(Policy-Based)
方策π(a|s)を直接学習
〇連続値問題
Q-Learning(Value-Based)
行動価値関数Q(s,a)を学習
〇離散値問題
多腕バンディット問題
(離散値問題)
RLアルゴリズムの系譜
エージェント
環境
行動At状態St 報酬Rt
MDP(マルコフ決定過程)
1. 環境の情報は状態Stに集約され、それをも
とにエージェントはその方策に従ってAtを
選択する。
2. 環境はエージェントの選んだ行動Atに対し
て報酬Rtをエージェントに返し、状態Stを
新たな状態St+1に更新する
3. エージェントは、その時点までの観測結
果St,At,Rtに基づいて方策を改善
4. 1~3を方策が収束するまで繰り返す
5強化学習勉強会
価値関数、行動価値関数
価値関数:ある状態sにおいて、方策πに従う行動選択とMDPによる状態遷移を繰り返したときに期待できる収
益
𝑣π(𝑠) = 𝑬π[𝐺𝑡|𝑆𝑡 = 𝑠]
強化学習の目的「価値関数𝑣πを全ての状態sについて最大化する方策を見つけること」
𝑣π 𝑠 =
𝑎
π(𝑎|𝑠)
𝑠′
𝑝 𝑠′
𝑠, 𝑎 𝑟 𝑠, 𝑎, 𝑠′
+ γ𝑣π(𝑠′
)
価値関数はベルマン方程式(価値関数)を用いて再帰的に解くことができる
𝑝 𝑠′
𝑠, 𝑎 :状態遷移確率
r(s,a,s’):報酬期待値
γ:割引率
ある状態sが与えられたときに最適な行動aを知りたい!=行動の価値を示す行動価値関数を定義
𝑞π(𝑠, 𝑎) =
𝑠′
𝑝 𝑠′
𝑠, 𝑎 [𝑟 𝑠, 𝑎, 𝑠′
+ γ𝑣π(𝑠′
)]
𝑞π(𝑠, 𝑎) =
𝑠′
𝑝 𝑠′
𝑠, 𝑎 𝑟 𝑠, 𝑎, 𝑠′
+ γ
𝑎′
π(𝑎′
|𝑠′
)𝑞π(𝑠′
, 𝑎′
)]
ベルマン方程式(行動価値関数)
6強化学習勉強会
PPOとは
PPO(Proximal Policy Optimization)
• Policy Optimizationベースの手法
• 環境とのやり取りによるデータ取得と、「代理」目的関数の最適化を交互に繰り返す。
• TRPO(Trust Region Policy Optimization)とA3C(Asynchronous Advantage Actor-Critic)を発
展させたアルゴリズム
• TRPOより簡単な実装でサンプル効率が良い
• ロボット制御のような連続値問題でも、Atariでも従来手法より良い結果
TRPO ?
A3C ?
Actor-Critic ?

Recommended

強化学習 DQNからPPOまで
強化学習 DQNからPPOまで強化学習 DQNからPPOまで
強化学習 DQNからPPOまでharmonylab
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識佑 甲野
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習Eiji Uchibe
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展Deep Learning JP
 
強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類強化学習の基礎的な考え方と問題の分類
強化学習の基礎的な考え方と問題の分類佑 甲野
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心Shota Imai
 

More Related Content

What's hot

[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論Deep Learning JP
 
方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用Ryo Iwaki
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANsDeep Learning JP
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingYasunori Ozaki
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
報酬設計と逆強化学習
報酬設計と逆強化学習報酬設計と逆強化学習
報酬設計と逆強化学習Yusuke Nakata
 
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習Hori Tasuku
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Shohei Taniguchi
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習Mitsuhisa Ohta
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方joisino
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめたKatsuya Ito
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learningDeep Learning JP
 
強化学習入門
強化学習入門強化学習入門
強化学習入門Shunta Saito
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜Jun Okumura
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門hoxo_m
 

What's hot (20)

[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論[DL輪読会] マルチエージェント強化学習と心の理論
[DL輪読会] マルチエージェント強化学習と心の理論
 
方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用方策勾配型強化学習の基礎と応用
方策勾配型強化学習の基礎と応用
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
Decision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence ModelingDecision Transformer: Reinforcement Learning via Sequence Modeling
Decision Transformer: Reinforcement Learning via Sequence Modeling
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
報酬設計と逆強化学習
報酬設計と逆強化学習報酬設計と逆強化学習
報酬設計と逆強化学習
 
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
カスタムSIで使ってみよう ~ OpenAI Gym を使った強化学習
 
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
SSII2022 [TS1] Transformerの最前線〜 畳込みニューラルネットワークの先へ 〜
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
最近強化学習の良記事がたくさん出てきたので勉強しながらまとめた
 
[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning[Dl輪読会]introduction of reinforcement learning
[Dl輪読会]introduction of reinforcement learning
 
ELBO型VAEのダメなところ
ELBO型VAEのダメなところELBO型VAEのダメなところ
ELBO型VAEのダメなところ
 
強化学習入門
強化学習入門強化学習入門
強化学習入門
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
 

Similar to 強化学習アルゴリズムPPOの解説と実験

[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展Deep Learning JP
 
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...Eiji Uchibe
 
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)
数理最適化と機械学習の融合アプローチ-分類と新しい枠組み-(改訂版)数理最適化と機械学習の融合アプローチ-分類と新しい枠組み-(改訂版)
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)MIKIOKUBO3
 
Computational Motor Control: Reinforcement Learning (JAIST summer course)
Computational Motor Control: Reinforcement Learning (JAIST summer course) Computational Motor Control: Reinforcement Learning (JAIST summer course)
Computational Motor Control: Reinforcement Learning (JAIST summer course) hirokazutanaka
 
【2017年度】勉強会資料_学習に関するテクニック
【2017年度】勉強会資料_学習に関するテクニック【2017年度】勉強会資料_学習に関するテクニック
【2017年度】勉強会資料_学習に関するテクニックRyosuke Tanno
 

Similar to 強化学習アルゴリズムPPOの解説と実験 (7)

[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
 
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
NIPS KANSAI Reading Group #7: Temporal Difference Models: Model-Free Deep RL ...
 
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)
数理最適化と機械学習の融合アプローチ-分類と新しい枠組み-(改訂版)数理最適化と機械学習の融合アプローチ-分類と新しい枠組み-(改訂版)
数理最適化と機械学習の 融合アプローチ -分類と新しい枠組み-(改訂版)
 
071108 progress report_hpl
071108 progress report_hpl071108 progress report_hpl
071108 progress report_hpl
 
PFI Christmas seminar 2009
PFI Christmas seminar 2009PFI Christmas seminar 2009
PFI Christmas seminar 2009
 
Computational Motor Control: Reinforcement Learning (JAIST summer course)
Computational Motor Control: Reinforcement Learning (JAIST summer course) Computational Motor Control: Reinforcement Learning (JAIST summer course)
Computational Motor Control: Reinforcement Learning (JAIST summer course)
 
【2017年度】勉強会資料_学習に関するテクニック
【2017年度】勉強会資料_学習に関するテクニック【2017年度】勉強会資料_学習に関するテクニック
【2017年度】勉強会資料_学習に関するテクニック
 

強化学習アルゴリズムPPOの解説と実験

Editor's Notes

  1. 価値関数 Eは方策πに従うエージェントが所与のMDPに従って状態遷移して得られるすべての行動履歴についての期待値を意味します。 この価値関数を再帰的に解くのがベルマン方程式 この価値関数はある状態の価値 ある状態sが与えられた時の最適な行動aを知りたい→行動の価値を行動価値関数によって定義 時刻tのときに方策πに従わず、行動aをとる その後は方策に従う よって方策πの重みづけの項は1となる ここで価値関数のベルマン方程式は、状態sと行動aを引数とする関数を方策πで重みづけして足し上げている
  2. エージェントの方策評価、方策改善の機能を二つに分ける 方策を改善、方策πに従って行動Atを行う→Actor 方策の評価をしてActorを改善する→Critic Actorのモデル化として、連続値問題の例としてガウス方策 多次元正規分布として定義されるガウスモデルを用いる。
  3. Criticが価値関数をパラメータωによる関数近似でモデル化し、ActorがCriticによる方策評価をTD誤差として受け取って方策勾配法により方策改善を行う
  4. #NNの大きさ変更 python main.py run 0713_ppo_pendulum --env Pendulum-v0 --algo ppo --steps 200 --epochs 3000 python main.py run 0713_ppo_pendulum_NN_4 --env Pendulum-v0 --algo ppo --hid 32 --l 1 --steps 200 --epochs 3000 #報酬の割引 python main.py run 0713_ppo_pendulum_gamma_1 --env Pendulum-v0 --algo ppo –-gamma 0.9 --steps 200 --epochs 3000 python main.py run 0713_ppo_pendulum_gamma_1 --env Pendulum-v0 --algo ppo –-gamma 0.99 --steps 200 --epochs 3000 #PPO-Clip(ソースコード変更) python main.py run 0713_ppo_pendulum_clip_1 --env Pendulum-v0 --algo ppo --steps 200 --epochs 3000 python main.py run 0713_ppo_pendulum_clip_3 --env Pendulum-v0 --algo ppo --steps 200 --epochs 3000 #価値関数の学習率 python main.py run 0713_ppo_pendulum_vf_1 --env Pendulum-v0 --algo ppo --steps 200 --epochs 3000 python main.py run 0713_ppo_pendulum_vf_3 --env Pendulum-v0 --algo ppo --steps 200 --epochs 3000 #方策の学習率 python main.py run 0713_ppo_pendulum_pf_1 --env Pendulum-v0 --algo ppo --steps 200 --epochs 3000
  5. python -m spinup.run ppo --env Pendulum-v0 --exp_name 0713_ppo_pendulum_clip_1 --steps_per_epoch 200 epochs 3000 --clip_ratio 0.1
  6. python -m spinup.run ppo --env Pendulum-v0 --exp_name 0713_ppo_pendulum_clip_1 --steps_per_epoch 200 epochs 3000 --clip_ratio 0.1
  7. python -m spinup.run ppo --env Pendulum-v0 --exp_name 0713_ppo_pendulum_clip_1 --steps_per_epoch 200 epochs 3000 --clip_ratio 0.1
  8. python -m spinup.run ppo --env Pendulum-v0 --exp_name 0713_ppo_pendulum_clip_1 --steps_per_epoch 200 epochs 3000 --clip_ratio 0.1