Slide 1

Slide 1 text

高橋研Model Based RL勉強会 第一回 - PILCO - 2019/04/27 高橋研究室 Mendy Sekiguchi Twitter : https://twitter.com/ShunichiSekigu1 Github : https://github.com/Shunichi09 Qiita : https://qiita.com/MENDY

Slide 2

Slide 2 text

本日の流れ • 勉強会の目的とルール,日程の確認 • PILCO • Goal – 勉強会の事務連絡の共有 – PILCOのメインアイディアの理解 • Vanilla Policy gradientとの違いモデルがあることのメリット 2019/5/6 2

Slide 3

Slide 3 text

目的 • 「最適制御」×「強化学習」という分野の 最先端の研究を理解 – Model based RLの大枠の理解 – Model based RLの代表手法の理解 • GPS, PILCO, iLQR, IOC, … – その他の手法の理解 • TRPO 2019/5/6 3

Slide 4

Slide 4 text

日程 • 4/27, 5/6, 5/11, 5/27, 6/5, 6/28.. – Google driveのカレンダー参照 • 基本的には7月までぐらい (継続の可能性あり) 2019/5/6 4

Slide 5

Slide 5 text

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/

Slide 6

Slide 6 text

背景 • Model free な強化学習 – 大量のサンプルが必要 • 課題解決のために – 逆強化学習 expertなdemonstrationが必要 – Task specificな知識でpre-shapedな方策を準備 いつも入手できない – Model based な強化学習 正確なモデルが必要とされる 2019/5/6 6 不正確なモデルでやりませんか??

Slide 7

Slide 7 text

従来研究 • モデルの不確定要素にアプローチしている研究 – 確率的適応制御(Stochastic Adaptive control) – Dual Control  Parametricな環境モデルを使用するため,汎用性なし 2019/5/6 7 Nonparametricなモデルを使用しませんか?

Slide 8

Slide 8 text

従来研究 • Nonparametricな環境モデルを使用したもの – 価値関数を推定ために利用  方策を直接的に算出できない(Sergeyの講義参考)  行動空間が離散 2019/5/6 8 方策勾配を算出して,連続空間で直接更新しませんか? ※PILCOはエピソードがあるもののみに適用可能です

Slide 9

Slide 9 text

前置き • かなり数式がたくさんでてきます...重いです • 理論的な論文なのでそこはご了承ください • 数式を追いすぎるのではなく, エッセンスベースで行きます • 止めたくなったらすぐ止めてください!! • 眠くなったら休憩をはさみます 2019/5/6 9

Slide 10

Slide 10 text

手法概要 2019/5/6 10 ガウス過程(近似) のモデルと方策評価 解析的な方策勾配を使用 STEP 1 STEP 2 STEP 3 方策実行 [1] [1] http://rail.eecs.berkeley.edu/deeprlcourse/

Slide 11

Slide 11 text

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)

Slide 12

Slide 12 text

補足:ガウス過程について • ガウス過程は共分散をデータに合うようにアレンジ 2019/5/6 12 ガウス過程回帰を行った例 ここに注目   , N K 0 カーネル [1] [1] http://tensorflow.classcat.com/2018/10/30/tf-probability-tutorials-gp-regression/

Slide 13

Slide 13 text

補足:ガウス過程について • カーネル関数(緑字を学習(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)

Slide 14

Slide 14 text

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)

Slide 15

Slide 15 text

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 Σ Σ Σ Σ

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

ごちゃごちゃしてきたので一回整理します • 分かったもの – 時刻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 を求めていきます ガウス分布で近似

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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 後は力ずくで計算可能!

Slide 21

Slide 21 text

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) 後は力ずくで計算可能!

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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)

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Break

Slide 26

Slide 26 text

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 非常に厄介 パラメータ に関係なし

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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)

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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)

Slide 31

Slide 31 text

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)

Slide 32

Slide 32 text

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)

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

実機検証[1] 2019/5/6 34 [1] http://mlg.eng.cam.ac.uk/pilco/

Slide 35

Slide 35 text

Appendix

Slide 36

Slide 36 text

全微分 • 他変数の微小区間 • 合成関数の全微分 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