Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PILCO

Avatar for Shunichi09 Shunichi09
April 28, 2019

 PILCO

高橋研究室Model based RL勉強会第1回です。
モデルベース強化学習の1つである,PILCOについてまとめています.

Avatar for Shunichi09

Shunichi09

April 28, 2019
Tweet

More Decks by Shunichi09

Other Decks in Research

Transcript

  1. 高橋研Model Based RL勉強会 第一回 - PILCO - 2019/04/27 高橋研究室 Mendy

    Sekiguchi Twitter : https://twitter.com/ShunichiSekigu1 Github : https://github.com/Shunichi09 Qiita : https://qiita.com/MENDY
  2. 本日の流れ • 勉強会の目的とルール,日程の確認 • PILCO • Goal – 勉強会の事務連絡の共有 –

    PILCOのメインアイディアの理解 • Vanilla Policy gradientとの違いモデルがあることのメリット 2019/5/6 2
  3. 目的 • 「最適制御」×「強化学習」という分野の 最先端の研究を理解 – Model based RLの大枠の理解 – Model

    based RLの代表手法の理解 • GPS, PILCO, iLQR, IOC, … – その他の手法の理解 • TRPO 2019/5/6 3
  4. 日程 • 4/27, 5/6, 5/11, 5/27, 6/5, 6/28.. – Google

    driveのカレンダー参照 • 基本的には7月までぐらい (継続の可能性あり) 2019/5/6 4
  5. PILCOの概要 • Probabilistic Inference for Learning Control – 元URL :

    https://www.doc.ic.ac.uk/~mpd37/publications/pami_final_w_appendix.pdf – 博士論文: https://pdfs.semanticscholar.org/edab/384ff0d582807b7b819bcc79eff8cda8a0ef.pdf • 一言でいうと… – 確率的なモデルを用いた モデルベース強化学習法の提案 2019/5/6 5 ガウス過程(近似) のモデルと方策評価 解析的な方策勾配を使用 すべて(評価関数+モデル+状態) を確率的に取り扱う解析的な方策勾配 [1] [1] http://rail.eecs.berkeley.edu/deeprlcourse/
  6. 背景 • Model free な強化学習 – 大量のサンプルが必要 • 課題解決のために –

    逆強化学習 expertなdemonstrationが必要 – Task specificな知識でpre-shapedな方策を準備 いつも入手できない – Model based な強化学習 正確なモデルが必要とされる 2019/5/6 6 不正確なモデルでやりませんか??
  7. 従来研究 • モデルの不確定要素にアプローチしている研究 – 確率的適応制御(Stochastic Adaptive control) – Dual Control

     Parametricな環境モデルを使用するため,汎用性なし 2019/5/6 7 Nonparametricなモデルを使用しませんか?
  8. 従来研究 • Nonparametricな環境モデルを使用したもの – 価値関数を推定ために利用  方策を直接的に算出できない(Sergeyの講義参考)  行動空間が離散 2019/5/6

    8 方策勾配を算出して,連続空間で直接更新しませんか? ※PILCOはエピソードがあるもののみに適用可能です
  9. STEP1 : モデル • モデルは非線形+ノイズを仮定 • 状態差分をガウス過程で学習 よって次の状態は, 2019/5/6 11

    ※状態差分にすると基本的には時間による 積分値がのらないので(マルコフ過程)   1 , t t t f     x x u   ~ 0, N    GP     1 1 1 1 | , | , t t t t t t p N      x x u x μ Σ     1 1 t t f t f x E t Var t            f E t  :期待値(ガウス過程の) :分散(ガウス過程の)   f Var t  , T T T t t t      x x u   t t y   ここは1変量 ※入力する は決まっている(分散0) t x Eq. (1) Eq. (5) Eq. (4)
  10. 補足:ガウス過程について • カーネル関数(緑字を学習(EMアルゴリズム)) • ガウス過程による予測分布[1] 2019/5/6 13   

       2 2 1 1 , exp 2 T p q p q p pq f q k x x x x x x                        1 2 * f f t E t m        x k K I y     1 2 ** * * f Var t k        k K I k GP , T T T t t t x x u        t t y   [1] ガウス過程と機械学習 なお,ターゲットyは1次元!!多次元の場合は別々で学習(fがたくさんできる)   , i ij j k  x K x   * , t k  X k x   ** , t t k k  x x 赤字はトレーニングデータ   1 ,... n  X x x 青字は入力データ Eq. (3)
  11. STEP2 : 評価関数 2019/5/6 14     0

    t T x t t J E c          x   0 0 0 ~ , N x μ Σ 方策を とすると,   評価関数を求めるためには,       1 2 3 | , | , | ... p       x x x が必要 , T T T t t t      x x u STEP2-1 : その時刻tでの を求める   t p x <方針> STEP2-2 : とガウス過程による を使って   t p x   1 t p  x を求める   t p  Eq. (2)
  12. STEP 2-1 : を算出 2019/5/6 15   , t

    t     u x という状態の関数であれば, は,ガウス分布に近似     , t t t p p  x x u     | , t t t t p N  x x μ Σ   t p x の場合,分かりやすくガウス分布になります   , t t t       u x Ax b なお,     1 1 1 1 | , t t t t p N      x x μ Σ     | , t t u u p N u  u μ Σ u t   μ Aμ b T u t  A A Σ Σ なので,そのまま代入して,   , , T t t t t t T t t t p N                       μ A x u Aμ b A A A Σ Σ Σ Σ
  13. 補足:STEP 2-1 : を算出 2019/5/6 16   t p

    x 少し制約を入れる作業を行ってます 変わらずガウス分布に近似できる! (Appendixを参照,期待値と分散が出てる) [1] [1] https://pdfs.semanticscholar.org/edab/384ff0d582807b7b819bcc79eff8cda8a0ef.pdf
  14. STEP 2-2 : を算出 2019/5/6 17   1 t

    p  x         | t t t t t p p f p dfd    x x x x ガウス過程から算出 さっき求めた まず を求める   t p  これは計算できない...(ガウス過程の入力が確率分布になる) これもガウス分布 で近似しましょう2ページ後へ     | , t t p N      μ Σ   t p  が分かれば は求まる     1 1 1 1 | , t t t t p N      x x μ Σ   1 f t t t t E        x μ μ μ       1 cov , cov , f t t t t t t t t Var            x x x Σ Σ Σ それぞれただの公式です(期待値/分散の和) Eq. (8) [1] [1] https://www.doc.ic.ac.uk/~mpd37/publications/pami_final_w_appendix.pdf
  15. ごちゃごちゃしてきたので一回整理します • 分かったもの – 時刻tでの GPの入力に使う • 分かってないもの – GPを使った

    に関するもの 2019/5/6 18     , t t t p p  x x u     | , t t p N      μ Σ     , ,cov , ,cov , t t t t     μ x x Σ         | t t t t t p p f p dfd    x x x x を求めていきます ガウス分布で近似
  16. STEP 2-2 : を算出 - 前置き - • ガウス分布で近似 

    それっぽい平均 と分散 を算出したい 2019/5/6 19   1 t p  x         | t t t t t p p f p dfd    x x x x  μ  Σ <前置き> ここから ターゲットの各次元を表す という添え字が出てきますが ターゲットの各次元は異なるGPになっています.そのため分離できます a [1] [1] https://pdfs.semanticscholar.org/edab/384ff0d582807b7b819bcc79eff8cda8a0ef.pdf
  17. STEP 2-2 : を算出 - 編 - 2019/5/6 20 

     1 t p  x         | | , t a t a a a f a t t f t f t t t t t E E f E m m N d                  x x μ x x x x x μ x Σ ここはガウス分布 <平均 >  μ “ガウス分布にのっとった入力( )をGPにそのまま入れたとしてその期待値を取る” Moment Matchingの場合 Linearの場合 “入力( )の平均をGPに入れてその期待値を取る”     a a f a t f t E f m        μ μ μ t x t x さっき求めたGP過程の 出力そのまま , T T T t t t      x x u Eq. (17) Eq. (33) ,   μ Σ   t p x 後は力ずくで計算可能!
  18. STEP 2-2 : を算出 - 編 - 2019/5/6 21 

     1 t p  x <分散 > Moment Matchingの場合  Σ “ガウス分布にのっとった入力( )をGPにそのまま入れたとしての分散を算出” t x “全分散の公式(条件付き分散・期待値)を使う”かなりトリッキーです ,   μ Σ D D R    Σ ターゲットの数    2 2 2 , | t t a aa f a t f a E Var E                x x x μ     2 , , | , t t a b ab f a b t f a b E Cov E               x x x μ μ           2 2 | | Var X E Var X Y E E X Y E X                  https://www.youtube.com/watch?v=mHonq7Gjjqg https://su-butsu-kikaigakusyuu.hatenablog.com/entry/2018/07/14/171645 全分散の公式 Eq. (21-22) 後は力ずくで計算可能!
  19. STEP 2-2 : を算出 - 編 - 2019/5/6 22 

     1 t p  x <分散 > Linearの場合  Σ “平均の変化分,分散も変化したと仮定して,その変化分倍する” ,   μ Σ D D R    Σ ターゲットの数 T t t         V V μ V μ Σ Σ Σ 変化分 モデルのノイズ Eq. (34-35)
  20. STEP 2-2 : を算出 - 編 - 2019/5/6 23 

     1 t p  x     cov , ,cov , t t t t   x x   , cov , t T T t t f t t t E          x x x μ μ Moment Matchingの場合   cov , t t  x :ガウス過程への入力 と出力 の共分散 GP , T T T t t t x x u        t t y   分散の定義式そのまま     , | t t a a a f t t t f t t t f t t t E E E m p d                  x x x x x x x x x さっき求めたガウス過程 さっき求めた t x t  既知   ~ , t t N μ Σ 後は力ずくで計算可能! Eq. (28-29)
  21. STEP 2までのまとめ • 分かったもの • 知りたいもの 2019/5/6 24  

      , t t t p p  x x u     | , t t p N      μ Σ     1 1 1 1 | , t t t t p N      x x μ Σ     0 t T x t t J E c          x   0 0 0 ~ , N x μ Σ [1] [1] https://pdfs.semanticscholar.org/edab/384ff0d582807b7b819bcc79eff8cda8a0ef.pdf
  22. Recap - Policy Gradient - 2019/5/6 26   

         ~ log J E c                   θ         ~ 0 t T x t t J E c E c                    x   0 0 , ,... , T T x u x u   方策勾配定理(sergey授業第五回)         ~ 0 0 log | T T t t t t t J E c                                θ u x x         0 1 0 | | , T t t t t t t p p          x u x x x u サンプルを取る!!       , , , 1 0 0 1 log | N T T i t i t i t i t t J c N                              θ u x x 非常に厄介 パラメータ に関係なし
  23. STEP 3 : 方策勾配を算出 2019/5/6 27    

    1 t T t t E c dJ d d         x x θ θ θ この式をパラメータ で微分するには? θ Policy gradientとは異なり 全力で微分しにいく (モデルがあるため解析的にすべて求まるので, サンプル取らなくていい) 非常に厄介 例:方策を決定するパラメータ   * *    x Ax b とりあえず,時刻 についての微分を算出   t t E c d     x x θ t
  24. STEP 3 : 方策勾配を算出 2019/5/6 28    

      t t t t t t t t t t E d d d d E c c E c d                   x x x μ θ x x μ θ θ x Σ Σ     | , t t t t p N  x x μ Σ なので...         t t t t t t dE c E c dp d d dp          x x x x x x θ θ 時刻 でのコスト関数は その時の確率分布に依存 t 評価関数次第で算出可能(後で) , t t d d d d μ θ θ Σ これは一時刻前 に依存する?? 1 t    t dp d x θ Eq. (12) Eq. (12)
  25. STEP 3 : 方策勾配を算出 2019/5/6 29    

          1 1 t t t t t p d d p p d p p d         x θ x x x x θ θ 依存しているのは明らか     1 1 1 1 | , t t t t p N      x x μ Σ さらに... なので , t t d d d d μ θ θ Σ Eq. (13) [1] [1] https://pdfs.semanticscholar.org/edab/384ff0d582807b7b819bcc79eff8cda8a0ef.pdf
  26. STEP3 : 方策勾配を算出 2019/5/6 30 1 1 1 1 t

    t t t t t t t d d d d d d              μ μ μ μ θ θ θ μ θ μ Σ Σ 1 1 1 1 t t t t t t t t d d d d d d                    μ μ θ θ θ θ Σ Σ Σ Σ Σ Σ           1 1 t t t t t p d d p p d p p d         x θ x x x x θ θ , t t d d d d μ θ θ Σ 力ずくで計算可能! (論文のAppendix参照) 一時刻前に算出したもの 不明 も同様です Eq. (15)
  27. STEP 3 : 方策勾配を算出 2019/5/6 31 t   μ

    θ     1 1 t u u t u t u p p                       u μ μ μ μ u θ θ θ θ μ μ Σ Σ 1 t t     μ μ μ 1つ前の分布はその際の入力で微分しても0になる (未来の入力は過去に影響しない) Eq. (16)
  28. STEP 3 : 方策勾配を算出 • 具体的な評価関数(Saturating cost) 2019/5/6 32 

       , t t t t t t E c E c             x x x x μ Σ       E c c p d       x x x x x       1 1 1 exp 2 T target target T p d              x x x x x x 0~1の範囲内に収まるので...値が大きくなりすぎない! 後は力ずくで計算可能! Eq. (45)
  29. STEP 3 : 方策勾配を算出 評価関数のメリット 2019/5/6 33 左図:ある状態の平均がtargetから離れてる場合 Peakな状態の分布よりも,wideな分布が優先 (評価関数の値が大きくならないので)

    モデルが不明なところを探索(exploration) (分散が大きくなるように方策を更新可能) 右図:ある状態の平均がtargetに近い場合, wideな状態の分布よりも,peakな分布が優先 (評価関数の値が小さくなるので) その付近を利用(exploitation) (分散が小さくなるように方策を更新可能) [1] [1] https://www.doc.ic.ac.uk/~mpd37/publications/pami_final_w_appendix.pdf
  30. 全微分 • 他変数の微小区間 • 合成関数の全微分 2019/5/6 36 dz z dx

    z dy dt x dt y dt             , z f x t y t    , f x y とすると dz z dx z dy z dt x dt y dt t                , , z f x t y t t  とすると f f df dx dy x y       https://eman-physics.net/analytic/total_dif.html