Slide 1

Slide 1 text

高橋研機械学習・確率 輪講 第5回 Model-Based RL 2019/07/17 関口舜一 Twitter : https://twitter.com/ShunichiSekigu1 Github : https://github.com/Shunichi09 Qiita : https://qiita.com/MENDY

Slide 2

Slide 2 text

本日の流れ • 実践編(任意参加,内容はあまりありません) ‐ PILCO ‐ Guided policy search 2019/7/17 2 今まで比べると少しだけAdvancedな内容になっております 説明が不十分なケースが多いと思うので たくさん止めていただけると嬉しいです 各sectionで,breakを挟もうと思います

Slide 3

Slide 3 text

今までの輪講を理解するとできそうになること 2019/7/17 3 モデル推定+制御(方策獲得) [1] [2] [1] Deisenroth, Marc, and Carl E. Rasmussen. "PILCO: A model-based and data-efficient approach to policy search." Proceedings of the 28th International Conference on machine learning (ICML-11). 2011. [2] Levine, Sergey, et al. "End-to-end training of deep visuomotor policies." The Journal of Machine Learning Research 17.1 (2016): 1334-1373.

Slide 4

Slide 4 text

Notation and Reference • Sergey Levineの講義の資料を多く使ってます 本スライドでは[s]で参照します ‐ http://rail.eecs.berkeley.edu/deeprlcourse/ 2019/7/17 4 データ数 N クラス数 K 観測変数 xn 潜在変数 sn zn 平均μと分散Σの ガウス分布 N(μ,Σ) 観測変数系列 X 潜在変数系列 S 潜在変数系列 Z

Slide 5

Slide 5 text

How do we use model fitting to control?

Slide 6

Slide 6 text

Objective of Optimal Control and RL 2019/7/17 6 1 1 1 ... , ... 1 min . . T T T T T t t t t s t + = + = +  u u x x u Ru x Qx x Ax Bu 有限時間最適制御問題(最適軌道) ( ) ( ) ( ) 1 1 max ... , ... T T p E r       =   u u x x 強化学習(適応最適制御[3])(最適方策) ( ) ( ) ( ) ( ) 0 1 1 1 1 1 ... , ... | | , T T T t t t t t t p a a s s p s a s p s s a   + = = 

Slide 7

Slide 7 text

Why is the model so important? 2019/7/17 7 We can do planning!! (最適制御が使える!) [s]

Slide 8

Slide 8 text

2019/7/17 8 Input Output ( ) , f s a 1 t s + , t t a s

Slide 9

Slide 9 text

Model estimation and control 2019/7/17 9 ランダム動いてデータを集める (データセット を作る) Fitする 制御する ここに今まで学習したベイズ推論が使える! ( ) , f s a D D [s]

Slide 10

Slide 10 text

Does it work? 2019/7/17 10 [s] いくつかのモデルのパラメータをFittingさせるだけなどでは有効!! モデルを獲得するための方策に注意を払う (ずっと座っているだけのような方策ではモデルを獲得できない) NNなど大きなパラメータを持つものは学習が難しい

Slide 11

Slide 11 text

What is the problem? 2019/7/17 11 モデルをFittingさせた時にある状態 が 得られる確率分布 実際の行動を取った場合にある状態 が 得られる確率分布 Go to left and getting higher…but? s ( ) f p s  ( ) real p s  s ( ) ( ) f real p s p s   

Slide 12

Slide 12 text

Can we do better? 2019/7/17 12 ランダム動いてデータを集める Fitする 制御する ここに今まで学習したベイズ推論が使える! ( ) , f s a D データを集める 制御しながら学習する [s]

Slide 13

Slide 13 text

What is the problem? 2019/7/17 13 [s] モデルが間違っていた場合 間違ったまま計画する [s] 多少のずれでも大きく軌道が変わる

Slide 14

Slide 14 text

Can we do better? 2019/7/17 14 [s] [s] ランダム動いてデータを集める modelをFitする 計画して,1つだけactionを取る(MPC!!) データセットにappendする

Slide 15

Slide 15 text

That’s seems a lot of work… 2019/7/17 15 [s] 3番目のstepにおいて,行動を決定するのに計算コストがかかる. (MPC出身者だと,え?そんなに?と思うかもですが, モデルが複雑な場合についての考え方ありきだと推測してます)

Slide 16

Slide 16 text

Backpropagate directly into the policy? 2019/7/17 16 [s] Runtime時に,easyに計算が可能な,policyを導入してはどうか? (時不変パラメータ) ( ) | t t   u x モデルベースにどのように このpolicyを学習するか? RNNのようにネットワークを設計

Slide 17

Slide 17 text

Backpropagate directly into the policy? 2019/7/17 17 [s] [s] RNNのように学習が 非常に難しい (勾配爆発が発生) Guided policy Search等, 多くの手法が提案

Slide 18

Slide 18 text

Summary: Model based RL • Version0.5: データ収集(ランダム方策),モデル学習,計画 ‐ Pro: シンプル,iterationはない ‐ Con: 状態の分布が,実際の分布と,モデル学習のための分布で異なる • Version1.0: データ収集,再計画を繰り返す ‐ Pro: シンプル,version0.5の確率分布の違いは解決 ‐ Con:モデルが間違っているときに性能が出ない • Version1.5: データ収集,再計画,1stepのみ行動を繰り返す ‐ Pro: 小さいモデル化誤差にロバスト ‐ Con: iLQR等の手法も使えるが,一般的には,計算コストが大きい • Version2.0: 時不変パラメータで方策を作り,モデル使って逆伝播 ‐ Pro: runtime時は,計算が容易 ‐ Con: 学習が不安定 2019/7/17 18

Slide 19

Slide 19 text

What kinds of model can we use? 2019/7/17 19 [s]

Slide 20

Slide 20 text

PILCO[1] • Probabilistic Inference for Learning Control ‐ ガウス過程を用いてモデルを学習させながら,方策を獲得する手法 2019/7/17 20 3step目をどのようにやるのかがポイント [1] Deisenroth, Marc, and Carl E. Rasmussen. "PILCO: A model-based and data-efficient approach to policy search." Proceedings of the 28th International Conference on machine learning (ICML-11). 2011. [s]

Slide 21

Slide 21 text

PILCO[1] • ガウス過程で学習するのは状態の変化分 2019/7/17 21 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 = 

Slide 22

Slide 22 text

PILCO[1] 2019/7/17 22 1step分の予測が分かっても,その次はどうなる? ( ) ( ) ( ) ( ) | t t t t t p p f p d  =  x x x x ( ) ( ) , t t t = x x u これは計算できない...(ガウス過程の入力が確率分布になる) →これもガウス分布 で近似しましょう →モーメントマッチングへ ( ) ( ) | , t t p N    =  μ Σ

Slide 23

Slide 23 text

PILCO[1] • すべての状態をガウス分布で近似できるため それを用いて,評価関数を計算 • 勾配も解析的に算出可能 2019/7/17 23

Slide 24

Slide 24 text

Guided Policy Search[1] 2019/7/17 -24- Guided Policy Search とは… “Guided Policyを用いて,局所最適に落ちることなく, 複雑な方策を学習する手法“ 疑問点 • Guided Policyの作り方は? • Guided Policyを使ったパラメータ最適化計算は? ※簡単な方策であれば,通常の方策勾配法で十分 • 上記の2つをまとめて解法する手法は? [1] S. Levine and P. Abbeel, “Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics,” Proc. Adv. Neural Inf. Process. Syst., pp. 1071–1079, 2014.

Slide 25

Slide 25 text

Guided Policy Search 2019/7/17 25 ③ ② ② ① ①持っているGuided Policyで, 軌道を取得 ②軌道を使って,パラメータを学習 ②軌道を使って,モデルを学習 ③持っているGuided Policyを更新 [s]

Slide 26

Slide 26 text

Guided Policy Search[1] 2019/7/17 26 ( ) ( ) 1 1 1 1 ,... , ,... 1 min , . . , T T T t t t t t t c s t f − − = =  u u x x x u x x u Shooting Method Collocation Method 制約条件を評価関数に代入 (入力を更新してダイナミクスに 代入して軌道を生成)(iLQRのイメージ) 制約条件を陽に考慮し, その制約条件の緩和を行いながら 軌道を生成 このあたりのみ変更 [1] S. Levine and P. Abbeel, “Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics,” Proc. Adv. Neural Inf. Process. Syst., pp. 1071–1079, 2014.

Slide 27

Slide 27 text

Guided Policy Search 2019/7/17 27 Shooting Methodベース [s] ①最初に取る行動が変化すると 軌道が大きく変化してしまう(下図) (iLQRのような手法もパラメータθは すべての時間で固定のため使えない) ②勾配爆発や消失が起きる可能性 (従来のBPTTの課題) 後ろに影響 ① ②

Slide 28

Slide 28 text

Guided Policy Search 2019/7/17 28 Collocation Methodベース ( ) ( ) 1 1 1 1 ,... , ,... 1 min , . . , T T T t t t t t t c s t f − − = =  u u x x x u x x u ( ) ( ) ( ) 1 1 1 1 ,... , ,... , 1 min , . . , , T T T t t t t t t t t c s t f    − − = = =  u u x x u x u x x x u 方策のパラメータθの問題も追加 ( ) ( ) ( ) 1 1 1 1 ,... , ,... , 1 min , . . , T T T t t t t t t t t c s t f    − − = = =  u u x x u x x x u x u 簡単に ここは従来の 最適軌道問題 ここがパラメータに関するもの θに関する制約

Slide 29

Slide 29 text

Guided Policy Search 2019/7/17 29 まとめ ( ) ( ) ( ) 1 1 1 1 ,... , ,... , 1 min , . . , , T T T t t t t t t t t c s t f    − − = = =  u u x x u x u x x x u 順伝播させたのち逆伝播して,方策のパラメータを更新(Shooting Method) 制約条件を考慮しながら,軌道を算出(Collocation Method) [s] ①や②の問題は発生しない どのように解法するか?

Slide 30

Slide 30 text

Recap: Dual Gradient Descent 2019/7/17 ( ) ( ) min . . 0 f s t C = x x x ( ) ( ) ( ) ( ) 2 , L C C C    = + + x x x x ( ) ( ) ( ) * , g L    = x ( ) * argmin , L  = x x x ( ) * * * , dg dL d dL d d dg d    = + x x x Lを最小にした なので勾配は0 x 1. Find  2. Compute 3. * x dg d      + 拡張ラグランジュ法 (制約条件から離れないように引っ張る) ( ) * argmin , L  = x x x ( ) *, dg dL d d    = x

Slide 31

Slide 31 text

Recap: With Dual Gradient Descent 2019/7/17 31 ( ) ( ) , min . . t t l s t      = u x ( ) ( ) ( ) 1 1 1 1 ,... , ,... , 1 min , . . , T T T t t t t t t t t c s t f    − − =   = =      u u x x x u x x u u x ( ) ( ) ( ) ( ) ( ) ( )2 1 1 , , T T t t t t t t t t L l           = = = + − + −   x u x u ( ) ( ) ( ) ( ) * * , , g L       = ( ) * argmin , , L      = ( ) * * * * * * , , dg dL d dL d dL d d dg d dg d          = + + ( ) * argmin , , L      = Lを最小にした なので勾配は0 (Appendix:全微分の公式,参照) ,   1. Find  2. Find  3. *  dg d      + ( ) * argmin , , L      = *  ( ) * argmin , , L      = 軌道最適化(iLQR等で解法) 教師あり学習(SGD等で解法)

Slide 32

Slide 32 text

Recap: With Dual Gradient Descent 2019/7/17 32 1. Find  2. Find  3. *  dg d      + ( ) * argmin , , L      = *  ( ) * argmin , , L      = 軌道最適化(iLQR等で解法) 教師あり学習(SGD等で解法) STEP1で軌道を算出 (Optimal control teacher) STEP2でパラメータを学習(Learner) もし,STEP2で軌道を表現できない 場合,STEP1が軌道を適応的に変化 (表現できない➔ が大で,STEP1 で制約条件が効いてくる) ( ) ( ) ( ) ( ) ( ) ( )2 1 1 , , T T t t t t t t t t L c           = = = + − + −   x u x u

Slide 33

Slide 33 text

GMMによるモデル推定[1] 2019/7/17 33 軌道 からモデルを推定 ( ) ( ) 1 | , , t t t xt t ut t ct t p N f f f + = + + x x u x u F  単純に,線形回帰しても良いが 次元が大きいとiterationの度に 非現実的なSample点が必要 ➔近いiterationと,近い時刻は似たモデルでは?   , xt ut f f = w   , T t t = X x u Iterationして得た軌道+GMMでFitting(World Model) その後,そのGMMのパラメータとある時刻の を使ってMAP推定, さらに,ガウス分布における条件付き確率利用して算出 [1] S. Levine, C. Finn, T. Darrell, and P. Abbeel, “End-to-End Training of Deep Visuomotor Policies,” vol. 17, pp. 1–40, 2015.AppendixA.3 を1つの点として考えます!! 1 { , , } i i i t t t+ x u x ...つまり? 1 { , , } i i i t t t+ x u x

Slide 34

Slide 34 text

GMMによるモデル推定[1] 2019/7/17 34 ①すべてのタイムステップかつ,各iterationの を用いて GMM+最尤推定(EMアルゴリズム)で,各クラスの分散と平均 を算出(World model) ②ある時刻点 の混合比率※を最尤推定したパラメータを 用いて算出し,Normal-Inverse-Wishart分布で と の共役事前分布を作成 (※各sample点で算出して平均(1/N)を取っています) 1 { , , } i i i t t t+ x u x , k k μ Σ   1 , , T t t t+ = X x u x μ Σ 1 { , , } i i i t t t+ x u x ( ) ( ) 1 | , K k k k k p N  = =  X X μ Σ   ( ) 1 , , ~ , i i i t t t N + x u x μ Σ [1] S. Levine, C. Finn, T. Darrell, and P. Abbeel, “End-to-End Training of Deep Visuomotor Policies,” vol. 17, pp. 1–40, 2015.AppendixA.3 N×D N×T×D

Slide 35

Slide 35 text

GMMによるモデル推定[1] 2019/7/17 35 ③ が観測されたもとでの事後分布最大の を算出 1 { , , } i i i t t t+ x u x , μ Σ ( を更新)(補足2参考) , μ Σ ④ が与えられたとして,ガウス分布の条件付き確率(Appendix参照) で を算出➔ の係数を算出 (補足3参考) { , } i i t t x u ( ) 1 | , t t t p + x x u ( ) , xt t ut t ct t N f f f + + x u F [1] S. Levine, C. Finn, T. Darrell, and P. Abbeel, “End-to-End Training of Deep Visuomotor Policies,” vol. 17, pp. 1–40, 2015.AppendixA.3 N×D N×D

Slide 36

Slide 36 text

補足1:GMM(Gaussian Mixture Model) 2019/7/17 36 GMMは混合ガウスモデルのこと 区分的に線形化することのできるモデルに上手くFitするそう (ロボットのアームなど) EMアルゴリズム等の詳細はパターン認識と機械学習(下)の147p付近を参考 ( ) ( ) 1 | , K k k k k p N  = =  x x μ Σ 混合係数 混合する分布数 観測した を用いて最尤推定して,混合比率と各クラスの平均と 分散を算出し,それらの重みづけ和を取れば事前分布の が求まる 1 { , , } i i i t t t+ x u x , μ Σ

Slide 37

Slide 37 text

NIWのパラメータは,GMMの重み付け 平均と分散を使用して算出(論文では としてます.) 補足2: Normal-Wishart Distribution分布について 2019/7/17 尤度関数 パラメータ 共役事前分布 ガウス分布 平均:多変量分布 分散:逆ウィシャート分布 , μ Σ https://qiita.com/hanon/items/ce890c042f41da54364b https://en.wikipedia.org/wiki/Normal-inverse-Wishart_distribution ベイズ推論による機械学習入門(須山)102p Normal-Wishart Distribution分布 ( ) ~ , N x μ Σ ( ) ( ) 0 0 , , | , , , p NIW m n  =  μ Σ μ Σ 事後分布を最大にする は , μ Σ ( )( ) 0 0 0 ˆ ˆ ˆ T Nm N N m N n  + + − − + = + Σ μ μ μ μ Σ ( ) , | , , , NIW m    μ Σ で書かれることが多いかと思います 0 0 0 ˆ m n m n   + = + μ データ数 観測データの平均 観測データの分散 0 0 , n    = = Σ

Slide 38

Slide 38 text

補足3:条件付きガウス分布 2019/7/17 38 ( ) ( ) ( ) 1 1 2 1 2 21 11 1 1 22 21 11 12 | , p N − − = + − − x x μ Σ Σ x μ Σ Σ Σ Σ 1 1 11 12 2 2 21 22 ~ , N                         x μ Σ Σ x μ Σ Σ とし,一部の変数 のみが与えられた場合の の確率分布は次のガウス分布となる 1 x 2 x 証明は,ガウス過程と機械学習(持橋,大羽)の53pあたりを参考にしてください   1 2 1 , , t t t+ = = x x u x x とすれば,今回の形に適用可能