めも

これはメモ。

論文メモ:Large-Scale Study of Curiosity-Driven Learningのメモ

読み中のめも。あくまで自分自身の解釈です。

導入

強化学習ではエージェントのポリシー(方策)は報酬関数を最大化するように訓練される。 報酬が密に取得できるタスクでは上手く訓練できるが、そうでないタスクに置いて訓練を上手く行うことや、報酬関数を訓練が上手く行くように設計することは難しい。

paper.hatenadiary.jp

報酬がスパースなタスクに対する解決方法の一つに密な intrinsic rewards = エージェント自身が報酬を生み出す手法を利用する方法がある。 この intrinsic rewards の一つが curiosity であり、予測した結果と実際の観測値との誤差を報酬として利用する。

また状態への訪問回数を報酬の一種として渡してあげることで、なんども同じ状態に向かうことを避けようとする方法もある。これら intrinsic rewards の根底にある考え方は共通していて、スパースにしか報酬が得られない環境の中でなるべく色々な箇所を探索して、extrinsic reward を得ようとしている。

extrinsic reward が得られない環境の場合、intrinsic rewardのみでエージェントを訓練すれば学習が速くなることが知られている。

intrinsic rewards のみを対象にした検証がこの論文の目的。 intrinsic rewardsとしては上記論文([1705.05363] Curiosity-driven Exploration by Self-supervised Prediction )に示されているものを利用する。つまり、 intrinsic rewards は現在の状態からエージェントが行動した後に予測された状態の実際になった状態との間の誤差で表現される。

まとめ: - 様々な環境にて curiosity-driven な探索を行うエージェントを用いた実験を行った - 環境を埋め込む特徴空間について複数の特徴空間で比較実験を行う - 予測誤差(MSE)ベースの curiosity-driven なエージェントがうまく動作しないケースを示す

Dynamic-based Curiosity-driven Learning

Curiosity-driven Exploration に関する研究

[1705.05363] Curiosity-driven Exploration by Self-supervised Prediction https://arxiv.org/abs/1705.05363

https://vimeo.com/237270588

www.slideshare.net

著者実装は以下:GitHub - pathak22/noreward-rl: [ICML 2017] TensorFlow code for Curiosity-driven Exploration for Deep Reinforcement Learning

表記

  • x_t: 時刻tでの観測
  • a_t: 時刻tでのエージェントの行動
  • x_{t+1}: t+1での観測
  • r_t: 時刻tでの報酬

関連: Surprise-Based Intrinsic Motivation for Deep Reinforcement Learning https://openreview.net/forum?id=Bk8aOm9xl

foward dynamicsのための特徴空間

  • foward dynamics においてよい特徴空間とは?
    • 観測したい情報と関係ない情報を含んでいない
    • 次の状態を予測する上で扱い易い形式の特徴であってほしい

curiosityに基づいて探索する場合での「よい特徴空間」とは?

  • Compactness: 特徴はなるべく低次元でモデル化しやすい
  • Sufficiency: 特徴は(エージェントにとって)重要な情報をすべて含んでいる
  • Stability: 非定常な報酬はエージェントの学習を困難にする

そして、各特徴空間については短く以下のようにまとめられる。

Pixels

観測した情報すべてが利用されているので Sufficient かつ Stable. しかしタスクによっては非常に高次元になり学習に工夫が必要。

Random Features(RF)

CNNの初期値をランダムに選択して固定し、このCNNを用いて観測した情報をエンベッディングする。CNNのパラメタが固定なので stable であり、エンベッドする次元数によって compact になりうる。しかしパラメタの選択がランダムなので sufficient でない可能性がある。

Varidational Autoencoders(VAE)

compactになるが、ノイズが含まれている可能性はある。またVAEの訓練時間に伴って出力される特徴は変化する。

Inverse Dynamics Features (IDF)

時刻tからt+1までの遷移 (s_t, s_t+1, a_t) が与えられた状態で、s_tとs_t+1からa_tを予測する問題がIDF。予測に用いる特徴は s_t と s_t+1 をニューラルネットでエンベッドしたもの。エージェントが即座に影響を受けるわけではない環境の情報を見落としてしまう可能性があるので, sufficient でない場合がある。

curiosityによって行動するエージェントの訓練を行う上でぶつかる他の問題

問題を扱う上で、特徴空間の設計以外にも考慮すべき点がある。学習を安定させるために、非定常な要素をなるべく減らしたい。

https://www.youtube.com/watch?v=5P7I-xPq8u8

  • Reward normalization: 報酬関数は非定常なので、スケーリングを行い正規化することで学習を高速にする
  • Advantage normalization: PPOの訓練中、平均0-分散1になるように advantages を正規化する
  • Observation normalization: targetとなる環境で10000ステップランダムにエージェントを動作させて、観測したデータの平均と標準偏差を求めてこの値を用いて訓練時のデータを正規化する。
  • More actors:並列に動かす actor を増やすことで手法の安定性は向上する。
  • Normalizing the features: 特徴をエンべっディングするネットワークにてバッチノーマライゼーション

Discounted curiosity with infinite horizon

エピソードが終わった場合、その情報の使い方は重要になってくる。例えば、終端状態になるまでの各タイムステップに +1 の報酬を与えるとエージェントはなるべく長い時間終端にならないように振る舞おうとするし、負の報酬を与えるとなるべく速く終端状態になるように振る舞おうとする。

純粋に探索を行うエージェントが、終端状態の報酬によって行動にバイアスがかかるのは好ましくない。infinite horizeonの問題設定では death は "boring" な状態を避けるための遷移の一種と見て "done" 状態をなくす。

実際にはエージェントはゲームの中で death することを避けるようになる。これは death したら初期(スタート地点)に遷移することが関係している。スタート地点は何度も見た状態であり、予測することができるため curiosity がなくなるためである。

実験

以下のずべての実験ではポリシーとエンベッディングを行うネットワークは入力にpixelを用いる。(?)

詳細のハイパーパラメータは appendex A に示した。

実験結果のグラフは、特に記述がない限り三回別々のシードで実験を行いその平均をプロットしている。

実験1. exrinsic rewards なしで curiosity driven learning

Fig1に示した54の環境で exrinsic rewards なしで学習を行う。この実験から、以下を知りたい。

  • extrinsic rewards 無しで学習を行った時にどのようなことが起きるか
  • extrinsic rewards 無しで学習したエージェントにどのような種類の行動が期待できるか
  • 特徴を学習する方法が異なるとき、行動にどのような影響がでるか

Atari Games

エージェントの行動に対する最も単純な指標は、 curiosity に基づいて学習したエージェントが獲得した external rewards(ゲームのスコア) 。

実験結果から得られた発見:

  • ゲームによって有効な特徴は異なっているが、(学習に extrinsic な報酬を利用していないにも関わらず) extrinsic rewards の累計も増加している。
  • intrinsic-rewardのみでもほとんどのゲームで獲得できるスコアは上昇する→ゲームのスコアそのものは訓練時に使用しなくてもいい(!)。この結果から多くの強化学習のtest-beds(実証実験用のタスク)は extrinsic rewards がなくても解けることがわかる
  • curiosity だけで探索を行った場合はランダムに行動するエージェントよりも性能が悪くなってしまうタスクも複数存在している

特徴を扱う手法間での比較

環境の情報は画像(pixels)で取得できるが、 先に触れたようにこのpixelsの扱い方には4種類の方法を比較としてあげていた

  • pixels: そのまま利用
  • RF(random features): CNNのパラメタをランダムに初期化してエンベッディング
  • VAE: Varidational Auto Encoder
  • IDF: 逆動力学、現在と次の状態から間にとった行動を予測するモデルを利用する

RFとIDFはどのタスクにおいても性能が高かった。 pixels をそのまま用いるのはどの環境においても性能は低かった。VAEは安定しなかった(タスクによって差が大きい)ので以降の実験はRFとIDFを用いて比較を行った。

f:id:misos:20181125213357p:plain

元論文14p Appendix, Figure 8より引用。赤線がIDF, 緑線が RF。

実験2. スーパーマリオでの実験

curiosityだけでエージェントがある程度学習できると示すことができれば、報酬関数が無い大量の「未ラベル」環境を利用できることができる。

スーパーマリオのワールド1-1にて curiosity のみを用いてエージェントを事前学習し、エージェントが他のレベルのステージに一般化できるかを調べる。Fig4から事前学習なしでエージェントを訓練した場合と比較して、RF,IDF共により高い報酬を得られていることが確認できる。

f:id:misos:20181126053950p:plain

元論文8p, Figure 4より引用。

実験3. Curiosity が報酬として機能しないケース

Unity環境での迷路探索中壁に(迷路探索タスクとは関係ない)映像を投影すると、そこでエージェントが立ち止まってしまう。