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

PILCO

Shunichi09
April 28, 2019

 PILCO

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

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