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