状態予測モデル(ダイナミクス) (与えられない場合もある) • 報酬関数 • 推定した報酬関数を使って 方策を獲得 与えられるもの 目標 , S A s a ( ) 1 | , t p s s a + ( ) * ~ i from ( ) , r s a ( ) | a s パラメータ化された 報酬関数 (線形な関数、NNなど)
8 例えば今、線形な報酬関数だと仮定 ( ) ( ) ( ) , , , T i i i r f = = s a s a f s a fはなんらかの特徴量を表す (右へ行くことなど) ( ) ( ) * , , r E E = f s a f s a * r :エキスパート (サンプルだけ) :学習した報酬関数 のもとでの方策 ★
( ) * , max , max , T T m m suchthat E E m + f s a f s a SVMに見えなくもないので、SVMの形にしたい(定式化) エキスパートと似ている方策にマージンの最大化する(やりたくない) エキスパートと似ていない方策にマージンの最大化する(やりたい) (どうにかこうにかエキスパートと方策が似ているかどうかを計算し重みづけが必要)
, max , max , T T m m suchthat E E m + f s a f s a ( ) ( ) * 2 1 min , max , 1 2 T T suchthat E E + f s a f s a ( ) ( ) ( ) * 2 * 1 min , max , , 2 T T suchthat E E D + f s a f s a マージンの最大化= マージン固定でψ最小化 ここにfeature expectationの違いを入れれば、 方策とエキスパートの違いを考慮できる (1p前の重みづけの話)(マージンの固定度合いが変わる)
) ( ) 1| , exp , t t t t t p s a r s a = 詳細は先週回の資料を参考 (githubに第15回としてあがっています) 制御問題を推論問題として捉えるために グラフィカルモデルを構築。 その際、下記のoptimalityを導入 optimalityを1としたもとでの軌道は次で算出可能 ( ) ( ) ( ) ( ) ( ) 1: 1: 1: , 1 | 1 exp , 1 T T t t t T p p p r s a p = = = = control as inferenceより
) 1: | 1, exp , T t t t p p r s a = <アイディア> ある軌道が与えられたもとでのOptimalityを学習すればよいのでは? (推論問題として考えているのでsuboptimalityも考慮可能) ( ) ( ) ( ) 1| , , exp , t t t t t p s a r s a = rewardをパラメータ化 ( ) ( ) 1: 1 1 1 1 max log | 1, max log N N T i i i p r Z N N = = = = − ( ) * ~ i from が与えられたとすると、尤度を最大化すれば良い!(簡単) なので、 p(τ)はψに関係ない ので消せます これは??
( ) 1 1 max log N i i r Z N = − ( ) ( ) ( ) ( ) ( ) 1: exp , | 1, exp , t t t T t t t p r s a p p r s a d = = log Z 後述の話はすべて、この分配関数をどう求めるか、どう近似するかの話になる。 (逆強化学習の最も厄介なパートはここ) ( ) ( ) ( ) exp Z p r d =
) * 1: ~ | , ~ T p L E r E r = − expertからサンプルした軌道を用いた勾配 ー 推定した報酬関数のもとでの最適方策からサンプルした軌道を用いた勾配 ( ) ( ) ( ) ( ) * 1: ~ | , ~ T p L E r E r = − ( ) ( ) ( ) ( ) ( ) 1: 1: ~ | , , ~ , | , 1 1 , , T t t t t T T T t t t t p s a p s a t t E r s a E r s a = = = 期待値の和=和の期待値 (登場回数n回目) どっかで見たような。。。 ( ) ( ) ( ) 1: 1: 1: , | , | , , | , t t T t t T t T p s a p a s p s =
) 1: 1: 1: , | , | , , | , t t T t t T t T p s a p a s p s = ( ) ( ) , t t t s a s = ( ) ( ) t t s s Backward Message Forward Message!! (詳細は前回スライド) ( ) ( ) ( ) ( ) ( ) 1: 1: 1: , | , | , , | , , t t T t t T t T t t t p s a p a s p s s a s = ( ) ( ) ( ) ( ) * 1: ~ | , ~ T p L E r E r = − ( ) ( ) ( ) 1 1 , , , T t t t t t t t t T t t t t s a r s a ds da r s a = = = ( ) ( ) ( ) , t t t t t s a s s 注意すべき点としては すべての状態と行動のペアにつ いてのμを計算するということ! 下の→はそれを意味しています。 (積分を行列に書き直している)
2. ψを与えて、forward message を計算(前回スライド) 3. μを計算(行動と状態の表を埋めるイメージ) 4. 勾配を計算 5. ψをアップデート!! ( ) , t t s a ( ) t s ( ) ( ) ( ) ( ) ( ) , , 1 1 1 1 , , , T N T i t i t t t t t t t t i t t L r s a s a r s a ds da N = = = = − ( ) ( ) ( ) , t t t t t s a s s L +
) , , , T i i i r f = = s a s a f s a なぜ、MaxEntなのかというと とした場合、先ほどのアルゴリズムは、 ( ) ( ) ( ) * max , , r r T T H suchthat E E = f s a f s a を行っていることが示せるから。 (featureの期待値が一致する制約下でエントロピー最大) (そもそも前回のスライドで、MaxEntの評価関数を最大化するような方策を獲得できる ことを示しているので、なんとなくそのイメージはつくはず。 証明は昔にあげたGuided Policy Searchの解説に示してあります。) https://speakerdeck.com/shunichi09/guided-policy-search?slide=43
21 ( ) ( ) ( ) ( ) * 1: ~ | , ~ T p L E r E r = − 先ほどの勾配をもう一度見直してみる soft optimal policy (学習した報酬関数の下での) expert policy <アイディア> ( ) 1: | , , t t T p a s つまり! ( ) ( ) ( ) ( ) ( ) ( ) , , | t t t t t t s a s t J E r s a E H a s = + を最大化する方策を学習すれば、軌道を獲得できる。
( ) ( ) ( ) 1 1 1 1 N M i j j i j j j L r r N = = − ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 1 1 1 1 exp , exp | , exp , | , | | t t i i t t t t t t t j i t t t t t t t t t r s a p r p s p s s a r s a p s p s s a a s a s + + = = = まず、さっきの weightを計算 最も良いISのweightは何? 一般論➔ f(x)に応じて大きな確率を持つ分布 今回➔ つまり!rψを用いたmax-entのobjectに従って方策π(sampler)を更新していくと 徐々に最適なISの重みに近づいていくことになる。➔良い!! max-entにおける optimal policyそのもの ダイナミクスが消えた!!
Generator ( ) ( ) ( ) ( ) * discriminator ~ ~ log log 1 p L E D E D = + − Zの最適化も同時に行います※。 (パラメータψの1つとして扱う) ( ) ( ) ( ) ( ) ( ) 1 exp 1 | exp t t t r Z D a s r Z = + ( ) ( ) ( ) ( ) generator ~ log log 1 L E D D = − − 条件をいろいろ揃えると。。。 GCLの損失関数のそれぞれと一致!! Reward (cost) Sampler ( ) ( ) ( ) ( ) ( ) ( ) sampler , , | t t t t t t s a s t L E r s a E H a s = + ( ) ( ) cost 1 1 log N i i L r Z N = = −
weightの計算が不要になるため。 Discriminator ( ) ( ) ( ) ( ) * discriminator ~ ~ log log 1 p L E D E D = + − Sampler ( ) ( ) ( ) ( ) ( ) ( ) sampler , , | t t t t t t s a s t L E r s a E H a s = + ★