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

機械学習・確率輪講(第五回)Introduction of Model based RL

機械学習・確率輪講(第五回)Introduction of Model based RL

高橋研究室機械学習・確率輪講、第五回の資料です。
モデルベース強化学習の導入を行いました。

Shunichi09

July 17, 2019
Tweet

More Decks by Shunichi09

Other Decks in Research

Transcript

  1. 本日の流れ • 実践編(任意参加,内容はあまりありません) ‐ PILCO ‐ Guided policy search 2019/7/17

    2 今まで比べると少しだけAdvancedな内容になっております 説明が不十分なケースが多いと思うので たくさん止めていただけると嬉しいです 各sectionで,breakを挟もうと思います
  2. 今までの輪講を理解するとできそうになること 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.
  3. 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
  4. 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   + = = 
  5. Why is the model so important? 2019/7/17 7 We can

    do planning!! (最適制御が使える!) [s]
  6. Model estimation and control 2019/7/17 9 ランダム動いてデータを集める (データセット を作る) Fitする

    制御する ここに今まで学習したベイズ推論が使える! ( ) , f s a D D [s]
  7. 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   
  8. Can we do better? 2019/7/17 14 [s] [s] ランダム動いてデータを集める modelをFitする

    計画して,1つだけactionを取る(MPC!!) データセットにappendする
  9. That’s seems a lot of work… 2019/7/17 15 [s] 3番目のstepにおいて,行動を決定するのに計算コストがかかる.

    (MPC出身者だと,え?そんなに?と思うかもですが, モデルが複雑な場合についての考え方ありきだと推測してます)
  10. Backpropagate directly into the policy? 2019/7/17 16 [s] Runtime時に,easyに計算が可能な,policyを導入してはどうか? (時不変パラメータ)

    ( ) | t t   u x モデルベースにどのように このpolicyを学習するか? RNNのようにネットワークを設計
  11. Backpropagate directly into the policy? 2019/7/17 17 [s] [s] RNNのように学習が

    非常に難しい (勾配爆発が発生) Guided policy Search等, 多くの手法が提案
  12. 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
  13. 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]
  14. 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 = 
  15. 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    =  μ Σ
  16. 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.
  17. Guided Policy Search 2019/7/17 25 ③ ② ② ① ①持っているGuided

    Policyで, 軌道を取得 ②軌道を使って,パラメータを学習 ②軌道を使って,モデルを学習 ③持っているGuided Policyを更新 [s]
  18. 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.
  19. Guided Policy Search 2019/7/17 27 Shooting Methodベース [s] ①最初に取る行動が変化すると 軌道が大きく変化してしまう(下図)

    (iLQRのような手法もパラメータθは すべての時間で固定のため使えない) ②勾配爆発や消失が起きる可能性 (従来のBPTTの課題) 後ろに影響 ① ②
  20. 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 簡単に ここは従来の 最適軌道問題 ここがパラメータに関するもの θに関する制約
  21. 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] ①や②の問題は発生しない どのように解法するか?
  22. 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
  23. 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等で解法)
  24. 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
  25. 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
  26. 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
  27. 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
  28. 補足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 , μ Σ
  29. 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    = = Σ
  30. 補足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 とすれば,今回の形に適用可能