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

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

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

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

Avatar for Shunichi09

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 とすれば,今回の形に適用可能