Model-Based Reinforcement Learning for Atariを読んだメモ

出典

 この文字色の部分は当記事筆者の感想

Introduction

  • モデルフリー強化学習手法は学習に実時間にして数週間ほどのプレイが必要
  • 一方人間は数分でAtariゲームを学習可能
    • 人間は行動結果の予測ができるからだと推測→モデルベース強化学習
  • 10万タイムステップ(おおよそ2時間分)に限った相互作用のみという設定での学習に挑戦
  • Simulated Policy Learning(SimPLe)という学習手法を提案
    • 離散的潜在変数を組み込んだ環境モデルを学習、モデルのみを利用した方策学習
    • 高いサンプル効率を達成

Simulated Policy Learning(SimPLe)

 学習の枠組みの名前(モデル名ではない)。実際の実験では以下のループ部分を15回ほど実行。方策学習をモデルのみで行うDyna、あるいは環境モデルを学習するためのサンプル収集を定期的に繰り返すWorld Modelsという印象

f:id:tokumini:20191104153533p:plain f:id:tokumini:20191106142842p:plain

環境モデル部分のアーキテクチャ

f:id:tokumini:20191106141822p:plain

  • 次状態予測部分(下半分):ボトルネックを持つConv, deConv
  • 確率性の導入(左上)
    • Convによる確定的な表現ベクトルと、確率的な潜在変数を連結(たぶん)
    • 学習時
      • VAEを使って次のフレームの潜在変数を推論して連結
    • 推論時
      • 過去の潜在変数系列から現在の潜在変数を予測するLSTMを学習しておき、それを利用 (ここがよくわからない。確率的潜在変数自体にそこまで確率的方向を決定づける情報があるのか? そうだとするとこのLSTM自体がほぼ環境モデルみたいなもの?)

離散化の意義

  • VAEをそのまま使う問題点
    1. KL項の係数がゲーム依存
    2. KL項の係数は1e-5~1-3程度であり、事後分布がN(0, 1)にそこまで近づかない→推論時に予測不可能な潜在値が発生
  • →離散化により解決できる(らしい。この辺はVQ-VAEの論文を読まないとよくわからないか)

損失関数

  • 画像の出力:各ピクセルの値をL2回帰 or 256次元のソフトマックス
    • 上限を定数 Cクリッピング(L2回帰 C=10/256次元ソフトマックス C=0.03
    • 背景などのあまり意味がない領域での勾配を減らし、小さいが重要な領域に集中させる
      • クリッピングによって、たとえばソフトマックスなら正解値の出力が97%を超えるとそのピクセルから勾配は得られなくなる

Scheduled Sampling

  • 遷移予測を繰り返していくので誤差が積み重なっていく
    • 学習中、入力のいくつかのフレームを前のステップからの予測でランダムに置き換える
    • 学習ループの最初のループの半分へ到達する時点で100%置き換えになるように線形に混合確率を上昇

方策学習

  •  \gamma = 0.95のPPO
  • 遷移予測を繰り返すと誤差が積み重なるので短いロールアウトを使用
  • 50ステップごとに真のデータバッファから開始状態を一様サンプリングし、そこから環境モデルを利用
  • ロールアウトの最終ステップで価値の評価を報酬に追加
    • 価値関数はアドバンテージを求めるのにも利用

6. 実験

f:id:tokumini:20191104173819p:plainf:id:tokumini:20191104173829p:plain
Figure 3, Figure 4

 各ゲームでRainbow(Figure 3、左)、PPO(Figure 4、右)がSimPLeと同じ性能に至るまでにかかったタイムステップ。赤い線がSimPLeの基準である100Kで、どちらも多くのゲームで基準の赤線を超えていることからSimPLeのサンプル効率が良いことがわかる。またSimPLeは複数回試行したときに最高値は大きく出ることがあり、学習を安定化させられればより良い性能となる可能性がある。

所感

 自分はボードゲーム分野の人間なのでサンプル効率の良さが重要という意識があまりなくて、最高性能とか実学習時間こそを重視したくなってしまう。Atariゲームではリアルタイム性とかもあるので(?)学習したモデルを使ってプランニングまでするという感じではないのだろうか。ゲームによってはモデルの正確性もかなり高くできるとあったので精度の問題で使えないということではないのかなと推察するところだが。

 離散化が肝っぽい部分に見えるがそこの部分でVQ-VAEの成果にかなり頼っている感があって、そっちをちゃんと読まないといけなそう。確率性の入れ方についてはこれが確率的構造をどこまで厳密に捉えられるのかがよくわからない。ぼんやりと入れているようにも見えるし、学習に関わっているのでそれが十分に遷移の性質をカバーできるのかもしれない。

 学習のループ中に徐々に予測した状態から次の状態予測も行っていくようにしていくとサラッと書いてあるが、ここがかなり重要そうではあると思った。各ステップで予測自体は独立なのでこのような疑似マルチステップ学習がどこまで一貫性に影響するのかはわからないが、PlaNetにおけるOvershootingのような効果になるのだろう(あれもどこまで性能に貢献しているのかは微妙そうなところだったが)。

 この記事では省略したが分析も多く行われていた。特に上手くいかない場合の例として(1)画面上では小さいが意味的には重要なオブジェクト(小さい弾) (2)操作キャラクターが様々なシーンをワープするような画面全体の大きな変化 という二つの場合に環境モデルが対応できなくて方策もダメになるという話は面白かった。結局状態やオブジェクトの振る舞いに関して論理のような仕組みレベルで予測しているわけではなく、漫然と似たような動画の未来予測をしているという感じなのかもしれない。別に深層学習に限らなくてよいが、論理や法則を上手く学習する方法があるのかは気になるところだ。