Learning Latent Dynamics for Planning from Pixelsを読んだメモ

出典

概要

  • Deep Planning Network(PlaNet)の提案
    • 画像から環境モデルを学習
    • 決定的および確率的遷移要素の両方を組み合わせる
    • 潜在空間の中でマルチステップ学習を実行
    • 潜在空間でのプランニングを行うことで高い性能

提案手法:Recurrent State Space Model

f:id:tokumini:20191102110013p:plain
Figure 2

 (丸:確率変数 四角:決定的変数 実線:生成 破線:推論)

  • (a)既存1:確定的RNNによって過去の情報を陽に考慮するモデル
    • 確定的なのでモデルの予測ミスがプランニングに大きく影響してしまう
  • (b)既存2:確率的潜在変数がマルコフ性を満たすとして1ステップ分で遷移を考えるモデル
    • 複数のタイムステップに渡って情報を保持することが難しい
  • (c)提案:上記二つを組み合わせた手法

f:id:tokumini:20191101163123p:plain

 入力から再構成への決定論的なショートカットを回避するために、観測情報は必ず s_tへの確率的推定を経て h_tへ送られることが重要。

学習方法

  • モデルが非線形なので s_tの事後分布を陽には計算できない
    →encoder  q(s_{1:T}|o_{1:T}, a_{1:T}) = \prod_{t=1}^{T} q(s_t | s_{t-1}, a_{t-1}, o_t)を学習
     q(s_t | s_{t-1}, a_{t-1}, o_t)は平均と分散を持つ対角ガウスをCNN+全結合層で近似したもの)
  • 変分下限を最大化

f:id:tokumini:20191101163108p:plain

マルチステップ学習

f:id:tokumini:20191102105828p:plain
Figure 3

 (影付きの丸:対数尤度を計算する部分(再構成誤差) 波線:KL誤差を計算する部分)

  • (a)標準的な1ステップ学習
  • (b)再構成誤差を計算する組み合わせをマルチステップ化
    • 画像でやるには高コスト
  • (c)提案手法で採用:KL誤差を計算する組み合わせをマルチステップ化

学習方法

  dステップ先での変分下限

f:id:tokumini:20191101211135p:plain

 ステップ数について d = 1から Dまで合計

f:id:tokumini:20191101211149p:plain

ここで \beta-VAEのように各ステップにおける正則化項の強さに係数 \beta_dをつけている。

プランニングアルゴリズム

  • Cross Entropy Method(CEM)を利用
  • まず Hステップの計画をするとしたとき、 a_{t:t+H} \sim \mathrm{Normal}(\mu_{t:t+H}, \sigma^2_{t:t+H}\mathbb{I})で最適な行動系列に対する対角ガウス信念を初期化
  • 平均0、分散単位行列から始めて、 J個の行動系列をサンプリングし、モデルによって評価、上位 K行動系列に対角ガウス信念を再適合させる
  • 行動系列の評価はモデルによって軌道をサンプリングして平均報酬を合計する
    • 使うのはReward ModelだけでObservationモデルは使わない
  • Population-basedなOptimizerを使用しているので各行動系列からサンプリングするのは一回で良い(?)

実験

  • DeepMind control suiteの6つの連続制御タスクで検討
  • 1/100のエピソード数でA3Cよりも高い性能
  • 実時間でもA3CやD4PGと遜色ない結果
  • モデルフリー手法のSOTAであるD4PGと同程度の性能

モデルの比較

f:id:tokumini:20191101171208p:plain

  • 緑線(Fig2(b))や、赤線(Fig2(a))よりも提案手法が高性能

行動決定方法の比較

f:id:tokumini:20191101171504p:plain

  • エピソード収集時の行動選択がランダム(緑線)や行動決定時にCEMではなく1000系列から最適な行動を選択するものより提案手法が高性能

1エージェントでの学習

 どのタスクかという情報もなく、画面情報のみを与える。行動空間は全タスク分を常に用意。

f:id:tokumini:20191102110254p:plain

 個別のエージェントよりも学習は遅いものの単一のエージェントで複数のタスクが解けている。

マルチステップ学習(Overshooting)の効果(付録より)

f:id:tokumini:20191102110230p:plain

 提案手法部分で書いていたわりにはあまり効果がなさそう(付録に回されるのもわかる)。

所感

 Overshootingという工夫は入れているもののそこまで性能に影響はしていないようだし、SSMとRNNを組み合わせて普通にやったという印象。個人的には確定的RNNはあまり信用していなくてSSM側で上手くやれれば良いなと思っているのだが、SSMでマルコフ性がちゃんと満たされるという仮定にはやはりいくらか無理があるのだろうか。その補助としてRNNを入れるというならそこまで腹も立たないかもしれない。

 今回は分野が連続値制御系なのもあってかプランニングにはCEMという手法が使われていたが、Policy, Valueを使う木探索でも上手くいくのかどうかは確かめてみたい。それについても以前は完全に木探索をやることが理想と思っていたが、そうではない使い方(I2Aみたいな)を模索した方が良いのかもしれないと揺れているところはある。