Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[DL輪読会]Control as Inferenceと発展

1,321 views

Published on

2019/10/04
Deep Learning JP:
http://deeplearning.jp/seminar-2/

Published in: Technology
  • Be the first to comment

[DL輪読会]Control as Inferenceと発展

  1. 1. 1 Presenter: Masahiro Suzuki, Matsuo Lab Control as Inferenceと発展
  2. 2. 輪読内容について • Control as inference: – Sergey Levineが近年提唱 – 強化学習の最適制御(optimal control)やプランニングを確率モデルの推論(inference)とみなすことで,強化 学習を統一的な枠組みで議論できる • 本発表では, • Control as Inferenceの概要[Levine+ 18] • Control as inferenceの考えから導出されるsoft actor-critic(SAC)[Haarnoja+ 17, 18] • POMDPに拡張してVAEでモデル化したstochastic latent actor-critic(SLAC)[Lee+ 19]  を紹介 • 感想 • もっと関連研究について調べたかった. • Control as Inferenceの論文内の式展開が一部怪しい気がする(資料内で補足した). • 説明が間違ってたらすみません. 2
  3. 3. マルコフ決定過程(MDP) • 環境としてマルコフ決定過程(MDP)を考える. • 時刻 で状態(state) と行動(action) をとったとき,次の時刻 の状態 はダイナミク ス(dynamics) で決まる. • MDP環境のグラフィカルモデルは,以下のようになる. t st at t + 1 st+1 p (st+1 |st, at) 3 st−1 st st+1 at−1 at at+1
  4. 4. 最適制御問題 • MDP環境である方策(policy) の下で行動すると考えると,時刻 までの軌道(trajectory) の分布は                    • 強化学習における最適制御問題(プランニング,方策探索問題): • 報酬(reward) が与えられた下での期待収益 を最大化する方策(最適方策) を求める. • ここでは簡単のため,割引率を省略している. -> 最適制御問題は,グラフィカルモデル上でどのように表現できるのか? p (a|s) T τ = (s1, a1, . . . , sT, aT) r (st, at) Ep(τ) [ T ∑ t=1 r (st, at) ] popt (a|s) 4 p(τ) = p(s1) T ∏ t=1 p(at |st)p(st+1 |st, at)
  5. 5. 最適性変数の導入 • 最適性変数(optimality variable): • ある時刻 の状態 と行動 が最適なのかを評価する確率変数. • で最適, で最適でないことを表す. • 最適性変数によって,ある時点 における状態 と行動 が与えられた下での最適性は報酬関数 を用いて                   と表される. • 逆にいうと報酬関数が と表されると仮定(=常に負であると仮定). • 環境のグラフィカルモデルは,最適化変数を用いて次のようになる. -> その時刻での「最適性」をグラフィカルモデル上に明示的に表すことが可能になった! et = {0,1} t st at et = 1 et = 0 t st at r r(st, at) = log p(et = 1|st, at) 5 st−1 st st+1 at−1 at et−1 et at+1 et+1 p(et = 1|st, at) = exp (r (st, at))
  6. 6. 最適性変数を用いた最適軌道分布 • 全時刻の状態と行動(=軌道)の最適性は,全時刻の最適性変数 を使って  となるので,最適軌道分布(optimal trajectory distribution)は  となる. e1:T 6 popt(τ) = p (τ|e1:T = 1) ∝ p (τ, e1:T = 1) = exp ( T ∑ t=1 r (st, at) ) p(τ) p (e1:T = 1|τ) = T ∏ t=1 p (et = 1|τ) = exp ( T ∑ t=1 r (st, at) )
  7. 7. 最適性変数を用いた最適方策 • また時刻 における最適方策は,最適性変数を用いて次のように表せる. • 時刻 において であり,かつそれ以降が最適になるような行動確率 • グラフィカルモデル上で表すと次の通り. したがって,最適制御問題は確率的推論を行うという確率モデル一般の問題に帰着する (control as inference) t t st 7 st−1 st st+1 at−1 at et−1 et at+1 et+1 popt (at |st) = p (at |st, et:T = 1)
  8. 8. 推論を計算する方法 • この推論を計算するために,厳密推論と近似推論の2通りを考える.ここでは • 厳密推論:Forward-backwardアルゴリズム • 近似推論:変分推論 を用いる. 8
  9. 9. Forward-backwardアルゴリズムによる厳密推論 • ステップ1(Backward message passing) • Backwardメッセージ と を計算. • ある時刻 において を取った場合に から までの軌道が最適になる確率を表している. • この2つのメッセージは互いに依存している.                          • なので,時刻 から まで順番にメッセージを計算していけばよい. • 因みに,条件付き独立性から,現在の行動分布を推論する際には過去のメッセージを計算する必要はない. p(et:T = 1|st, at) p(et:T = 1|st) t st, at t T p(eT = 1|sT, aT) = er(sT,aT) T t 9 ※ここでは行動の事前分布を一様 とするp(a|s) = C p(et:T = 1|st, at) = p(et = 1|st, at)p(et+1:T = 1|st+1, at+1) = er(st,at) Ep(st+1|st,at)[p(et+1:T = 1|st+1)] p(et:T = 1|st) = Ep(at|st)[p(et:T = 1|st, at)] = C ∫ p(et:T = 1|st, at)dat
  10. 10. ソフト価値関数・ソフトQ関数 • ここでメッセージを , とおくと,                                                   となる(ただし, ). • なんかベルマン方程式っぽい(maxがsoftmaxになっているという違いがある). をソフト価値関数(ソフト状態価値関数)・ソフトQ関数(ソフト行動価値関数) と呼び,この式をソフトベルマン方程式という. log p(et:T = 1|st, at) ≡ Q(st, at) log p(et:T = 1|st) C ≡ V(st) log E[exp( f(X))] = soft max X f(X) V, Q 10 Q(st, at) = r(st, at) + soft max st+1 V (st+1) V(st) = log ∫ Q(st, at)dat = soft max at Q (st, at) ※論文内では の定義に明示的に定数 はないが,  後述の式との辻褄合わせのため必要 V C
  11. 11. ソフト価値関数による最適方策の導出 • ステップ2:ステップ1で求めたソフト関数から,最適方策を導出. • ベイズの定理から, • したがって,ソフト価値関数を計算できれば,最適方策は次のように求まる. • しかし,この方法は大規模な確率モデルでは実践的にはうまくいかない可能性が高い. • Q関数の更新が楽観的になり,確率的なダイナミクスの場合にはあまり適さない. -> そこで,変分推論と関数近似による方法を導入する. 11 p (at |st, et:T = 1) = p (et:T = 1|at, st) p (at |st) p (et:T = 1|st) = exp ( log p (et:T = 1|at, st) − log p (et:T = 1|st) C ) = exp (Q(st, at) − V(st)) popt (at |st) = exp (Q(st, at) − V(st))
  12. 12. 準備:周辺尤度と近似分布 • 最適性変数の周辺尤度 は と表される. • また軌道の近似分布は,近似方策 を用いて,  表される. • ここでは,ダイナミクスを固定(真のダイナミクスと同じ)として,  とする. p(e1:T = 1) πθ(at |st) 12 p(e1:T = 1) = ∫ p(e1:T = 1,τ)dτ = ∫ exp ( T ∑ t=1 r (st, at) ) p(τ)dτ = ∫ exp ( T ∑ t=1 r (st, at) ) p(s1) T ∏ t=1 p(at |st)p(st+1 |st, at)dτ q(τ) = q(s1) T ∏ t=1 πθ(at |st)q(st+1 |st, at) q(τ) = p(s1) T ∏ t=1 πθ(at |st)p(st+1 |st, at)
  13. 13. 変分推論による目的関数の導出 • 最適性変数の対数周辺尤度 の下界を計算すると, より, よって下界の最大化は,方策のエントロピー最大化項つきの期待収益の最大化に対応する. • これを新たな方策の目的関数とする. • ただし,この目的関数を直接方策勾配法で学習すると高バリアンス. p(e1:T = 1) 13 log p (e1:T = 1) = log ∫ p (e1:T, τ) dτ = log Eq(τ) [ p (e1:T, τ) q (τ) ] ≥ Eq(τ) [log p (e1:T |τ) + log p (τ) − log q (τ)] = Eq(τ) [ T ∑ t=1 r (st, at) + T log C − T ∑ t=1 log πϕ (at |st) ] ≥ Eq(τ) [ T ∑ t=1 r (st, at) − log πϕ (at |st) ] = Eq(τ) [ T ∑ t=1 r (st, at) + ℋ (πϕ (at |st))] log p (e1:T = 1) ≥ Eq(τ) [ T ∑ t=1 r (st, at) + ℋ (πϕ (at |st))] ( はエントロピー)ℋ
  14. 14. ソフト価値関数による下界の置き換え • 時刻tの目的関数について,前述したソフト価値関数を用いて,つぎのように置き換えられる. ただし, • が を用いたものになっているので注意. • のとき,元の式と同じになる. V πϕ πϕ(at |st) = popt(st |at) 14 Q(st, at) = r(st, at) + Ep(st+1|st,at) [V (st+1)] V(st+1) = Eπϕ(at+1|st+1) [Q(st+1, at+1) − log πϕ(at+1 |st+1)] Jπ(ϕ) = Eπϕ(at |st)p(st) [ log (πϕ (at |st)) − Q (st, at)]
  15. 15. ソフトQ関数の近似 • ここで,ソフトQ関数を ( はパラメータ)で関数近似して とする. • パラメータ化したソフトQ関数の目的関数は,更新式より ただし, • は1ステップ前のパラメータ • [Haarnoja+ 17]では も関数近似していた. Qθ(st, at) θ V¯θ(st+1) = Eπϕ(at+1|st+1) [Qθ(st+1, at+1) − log πϕ(at+1 |st+1)] θ V 15 Jπ(ϕ) = Eπϕ(at |st)p(st) [ log (πϕ (at |st)) − Qθ (st, at)] JQ(θ) = Eπϕ(at |st)p(st) [( r (st, at) + Ep(st+1|st,at) [V¯θ (st+1)] − Qθ (st, at)) 2 ]
  16. 16. Soft Actor-Critic • これらの目的関数で学習する強化学習アルゴリズムをSoft Actor-Critic(SAC)[Haarnoja+ 17, 18]という. • ソフトQ関数がcritic,方策がactor • [Haarnoja+ 17]ではソフト価値関数の目的関数もあったが,[Haarnoja+ 18]ではなくなっている. • off-policyなので,サンプル効率がいい • 注意点:元論文[Haarnoja+ 17, 18]にあるエントロピー正則化項の係数 はこの方法だと導出されない. 最適化変数を導入+変分推論によって,SACを導出することができた! α 16 Jπ(ϕ) = Eπϕ(at |st)p(st) [ log (πϕ (at |st)) − Qθ (st, at)] JQ(θ) = Eπϕ(at |st)p(st) [( r (st, at) + Ep(st+1|st,at) [V¯θ (st+1)] − Qθ (st, at)) 2 ] ただしV¯θ(st+1) = Eπϕ(at+1|st+1) [Qθ(st+1, at+1) − log πϕ(at+1 |st+1)]
  17. 17. SACの擬似コード • Off-policyなので,リプレイバッファが可能. • ここでは係数 についても最適化している. • (critic)のパラメータが2つあるのは,Clipped Double Q-learning [Fujimoto+ 18] を利用しているため. α JQ 17
  18. 18. 系列潜在変数モデルへの拡張 • SACはMDP環境下でのモデルになっているが,環境に不確実性を仮定する. • 潜在状態空間を導入して,観測からの推論を学習する(観測の状態表現学習). • その状態表現上で強化学習を行う(部分観測マルコフ決定過程(POMDP)への対応). -> これらをグラフィカルモデルから導出することで,end-to-endに学習できるモデルを提案. • 系列潜在変数 を導入した環境(POMDP)の確率モデル(ここでは観測を としている)zt xt 18 zt−1 zt zt+1 at−1 at et−1 et at+1 et+1 xt−1 xt−1 xt−1 ※論文のグラフィカルモデルや導出では最適化変数が最終ステップ しかないけど,多分各ステップあるはず.
  19. 19. VAEによる状態表現学習 • グラフィカルモデルより,生成モデルは . • 推論モデルを とする. • TD-VAE[Gregor+ 18]などとは異なり,RNNを置いていないシンプルな構成. • Pixyzで実装しやすいモデル • 観測 の対数周辺尤度の下界は, となる. • Variational autoencoder(VAE)による状態表現学習に対応. p(x1:T+1 |a1:T) = ∫ T+1 ∏ t=1 p(zt+1 |zt, at)p(xt |zt)p(z1)dz1:T+1 q(z1:T+1 |x1:T+1, a1:T) = T+1 ∏ t=1 q(zt+1 |xt+1, zt, at)q(z1 |x1) x1:T+1 19 log p (x1:τ+1 |a1:τ) ≥ E z1:τ+1∼q [ τ+1 ∑ t=1 log p (xt |zt) − DKL (q (z1 |x1) ∥p (z1)) + τ ∑ t=1 − DKL (q (zt+1 |xt+1, zt, at) ∥p (zt+1 |zt, at))] zt−1 zt at−1 at et−1 et xt−1 xt
  20. 20. 20 VAE+RNN 10 !"#$ %"#$ !" %" 状態空間モデル !"#$ %"#$ !" %" Deep Markov Model [Krishnan+ 17] (Deep Kalman Filter [Krishnan+ 15]) ℎ"#$ ℎ" !"#$ %"#$ !" %" SRNN [Fraccaro+ 16] ℎ"#$ ℎ" '"#$ '" !"#$ %"#$ !" %" TD-VAE [Gregor+ 18] ("#$ (" !"#$ %"#$ !" %" VRNN [Chung+ 16] ℎ"#$ ℎ" !"#$ %"#$ !" %" STORN [Bayer+ 15] ℎ"#$ ℎ" '"#$ '" !"#$ %"#$ !" %" Z-forcing [Goyal+ 17] ℎ"#$ ℎ" ("#$ (" %"#$ !" %" !"#$ %"#$ !" %" !"#$ ) !, % = Π") !" %" ) %" %"#$ ) !, % = Π") !" !$:"#$, %$:" )./01/(%") ) !, % = Π") !"4$ !$:", %$:" )./01/(%") )./01/(%") = )(%"|%$:"#$, !$:"#$) )./01/(%") = )(%") )./01/(%") = )(%"|%"#$, !)
  21. 21. 最適化変数を含めた尤度の下界 • グラフィカルモデルより,観測と最適化変数の同時モデルは, • 推論モデルは,方策を用いて, • したがって,対数尤度の下界は • 1行目がVAE,2行目がエントロピー最大化RLの目的関数になっている. • これがモデルの目的関数になる. 21 p(x1:T+1, eT+1:T |a1:T) = ∫ p(z1) T+1 ∏ t=1 p(zt+1 |zt, at)p(xt |zt)p(et+1 |zt+1, at+1)dz1:T+1 q (z1:T+1, aT+1 |x1:T+1, a1:T) = q (a1 |x1) T ∏ t=1 q (zt+1 |xt+1, zt, at) π (aT+1 |x1:T+1, a1:T) log p (x1:T+1, eT+1:T |a1:T) ≥ E (z1:T+1,a1:T)∼q [ T+1 ∑ t=1 log p (xt |zt) − DKL (q (z1 |x1) ∥p (z1)) − T ∑ t=1 DKL (q (zt+1 |xt+1, zt, at) ∥p (zt+1 |zt, at)) +r (zT+1, aT+1) − log π (aT+1 |x1:T+1, a1:T) + V (zT+1)] zt−1 zt at−1 at et−1 et xt−1 xt
  22. 22. Stochastic Laten Actor Critic • 1行目のVAEの目的関数(潜在変数モデル)は( はVAEのモデルパラメータ), • 2行目の目的関数は,soft actor-criticの目的関数を参考に, • Actor(ソフトQ関数): • Critic(方策): • 期待値の勾配の計算には,再パラメータ化トリックを利用. • 潜在変数モデルによるSACの素直な拡張になっている. Stochastic Latent Actor-Critic(SLAC) ψ 22 JM(ψ) = E(x1:T+1,a1:T,r1:T)∼𝒟 E z1:T+1∼qψ [ T+1 ∑ t=1 log pψ (xt |zt) −DKL (qψ (z1 |x1) ∥pψ (z1)) − T ∑ t=1 DKL (qψ (zt+1 |xt+1, zt, at) ∥pψ (zt+1 |zt, at))] JQ(θ) = E(x1:T+1,a1:T,r1:T)∼𝒟 Ez1:T+1∼qψ 1 2 ( Qθ (zT, aT) − ( rT + γaT+1∼πϕ [Q¯θ (zT+1, aT+1) − α log πϕ (aT+1 |x1:T+1, a1:T)])) 2 Jπ(ϕ) = 𝔼 (x1:T+1,a1:T)∼𝒟 𝔼 z1:T∼qψ [ 𝔼 aT+1∼πϕ [α log πϕ (aT+1 |x1:T+1, a1:T) − Qθ (zT+1, aT+1)]]
  23. 23. SLACの擬似コード • SACと同様リプレイバッファで環境毎にのサンプルを取得 • Actorの更新自体には推論モデル(ダイナミクス)を用いないので,実はモデルフリー. • それでも既存のモデルベースよりもサンプル効率がいいらしい. 23
  24. 24. 潜在変数モデルの詳細 • 学習やサンプル効率を良くするため,潜在変数を2つ( )に分割する. • 一部の分布を生成と推論で使いまわすことで,KL項の計算が楽になる. • いずれもガウス分布でモデル化 • VAE+RNNのような決定論的な変数が存在しない! z1 , z2 24
  25. 25. 実験 • Deep Mind Control SuiteとOpenAI Gymで実験 • 比較モデル: • SAC[Haarnoja+ 18]:Off-policyのactor-criticアルゴリズム(詳しくは前述の通り) • D4PG[Barth-Maron+ 18]:Off-policyのactor-critic.DDPG+distributional critic. • PlaNet[Hafner+ 19]:Model-based.確率的と決定的の両方の流れがある. • 詳しくは阿久澤くんと谷口くんの以前の輪読資料を参考. • DVRL[Igl+ 18]:On-policyのmodel-free.PlaNetと同様確率的と決定的の両方の流れがある POMDPモデル 25
  26. 26. 実験結果 • DeepMind Control Suite • OpenAI Gym • SLACは生の画像データでもうまく学習できている. 26
  27. 27. 実験結果:シミュレータ上のロボット操作タスク • Sawyer robotic arm • 対象のオブジェクトが画像の一部でもうまく学習できた. • DClaw task:バルブを適切な場所まで回す 27
  28. 28. 実験結果:潜在変数モデルの評価 • Posterior Sample: • Prior Sample: • Conditional Prior Sample: を推論分布 から推論 学習した潜在変数モデルが予測モデルとしても用いることができることを示した. qψ (zt+1 |xt+1, zt, at) pψ (zt+1 |zt, at) z1 qψ(z1 |x1) 28
  29. 29. まとめ • Control as Inferenceの概要[Levine+ 18] • Control as inferenceの考えから導出されるsoft actor-critic(SAC)[Haarnoja+ 17, 18] • POMDPに拡張してVAEでモデル化したstochastic latent actor-critic(SLAC)[Lee+ 19] • 感想 • SLACをモデルベースで学習した場合の結果を見てみたい. • active inference周りとの関係はちゃんと調べたい. 29

×