Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agent57: Outperforming the Atari Human Benchmark #59

Open
kzmssk opened this issue Apr 3, 2020 · 0 comments
Open

Agent57: Outperforming the Atari Human Benchmark #59

kzmssk opened this issue Apr 3, 2020 · 0 comments

Comments

@kzmssk
Copy link
Member

kzmssk commented Apr 3, 2020

利用と探索のバランスを動的に変えることでATARIのゲーム57個全てで人間を超えする強化学習エージェントの提案

論文本体・著者

  • Agent57: Outperforming the Atari Human Benchmark
    • Adrià Puigdomènech Badia, Bilal Piot, Steven Kapturowski, Pablo Sprechmann, Alex Vitvitskyi, Daniel Guo, Charles Blundell
    • DeepMind
    • arXiv, blog

解きたい問題

image
ブログ Fig. 1 より。ゲームの達成スコア中央値が同じである2つのエージェントの例。Agent Aは半分以上のゲームで人間超えの高い性能だが、いくつかのゲームの性能が低い。Agent BはAに比べてトップの性能は低いが全体的に性能が高い。
  • 背景

    • Arcade Learning Environment(ALE)のATARIゲーム57個は強化学習のベンチマークとして使われている
    • モデルフリー(DQN,R2D2)、モデルベース(MuZero)共に各ゲームのスコア中央値では人間を超えているが、"Pitfall!!"や"Montezuma's Revenge"など全く性能が出ないゲームがいくつかある
    • 57個全てのゲームで人間超えするより汎用的な強化学習エージェントを作りたい
  • 汎用的な強化学習エージェントが難しい理由である問題2つ

    1. 長期戦略(Long-term credit assignment): 長い時間をかけた複数の行動選択の結果得られた報酬をどのように割り当てれば良いのかはタスク依存。例:"Skiiing"ではゲーム終了時まで報酬(=スコア)が与えられない。

      • 既存研究はRecurrent Q-NetworkのBack Propagation Through Timeや価値関数の補正を行なっていた
    2. 探索: 正の報酬を得るためにいくつもの報酬ゼロな行動選択を行わないといけない場合がある。例:"Montezuma's Revenge"ではマップを巡ってアイテムを取らないと先に進めない

      • 既存研究は価値にノイズを入れる、教師なし学習を使う、状態の新奇さにもとづく内発的動機付け(intrinsic motivation)の導入を行なっていた
      • Never Give Up (NGU)では長期的な内発的報酬: Random Network Distillationを使った学習の開始時から現在までの全ての履歴を考慮した状態の新奇さに加えて、短期的な内発的報酬: エピソード内のみの履歴を使った状態の新奇さの2つを考慮することで高い性能を出した
      • しかし、NGUはいくつかのタスクでSOTA(R2D2やMuZero)に負ける
      • タスクごとに適切な外発的報酬(extrinsic reward)と内発的報酬のバランスが異なるため、学習が不安定になるのが原因

新規性

  • 行動価値の分離: 外発的報酬と内発的報酬それぞれの行動価値の線形和として表現し、行動価値関数を近似するニューラルネットのパラメーターも分ける
  • Meta-Controller: 分散強化学習においてActor(方策を使って探索を行うプロセス。複数ある)ごとに外発的報酬と内発的報酬の混合割合と、割引率の2つを探索するMeta-Controllerを導入
    • 混合割合は事前にN個の候補を用意しておく
    • NGUでは複数のActorを用意して静的な方法(Actorのインデックスに依存した式)で混合割合を決定していた

実装

  • 基本的にはNGUの拡張になっている
image
論文 Fig. 9 より。x: 時刻tの状態, a: 行動, r^e: 外発的報酬, r^i: 内発的報酬, j: 使用する報酬の混合割合のインデックス, h: 行動価値の正規化関数, β: 報酬の混合割合
  • 行動価値の分離

    • 外発的報酬と内発的報酬それぞれをに対応した行動価値を推論するサブネットワーク
    • 1つのネットワークだが行動価値ごとに損失を計算してパラメータ更新
      • 原理的には2つの損失を合わせるのと等価だが、実際には分けたほうが安定するとのこと
  • Meta-Controller

    • N個用意した報酬の混合割合βと割引率γのペアを選択する
    • 非定常な多腕バンディット問題としてとらえ、Sliding-window UCBで解く
    • 評価は割引なしの収益(エピソード報酬和)
  • 学習フレームワークはR2D2と同様に複数のActorと1つのLearnerによる分散強化学習

実験・議論

  • ALEを学習させて評価
    • 人間のスコアを超えたゲームの数を比較するとスコア中央値SOTAのR2D2やMuZeroよりも良い結果
image
論文 Fig. 1 より。ALEの57ゲーム全ての学習結果。学習に費やしたゲームフレーム数 vs. 人間超えしたゲームの数
  • 提案手法である行動価値の分離とMeta-Controller(図中ではbandit)を入れることでそれぞれ性能向上が認められた
image
論文 Fig. 4 より。ALEの中でも特に難しい10個の学習結果
  • もっとも収益が高いMeta-Controllerの腕のインデックスはゲームごと、また学習の進捗具合に合わせて変わっていることが観察された
image
論文 Fig. 8 より。学習の進み具合 vs. 収益が最も高い混合割合と割引率の組み合わせの遷移

読んだ中での不明点などの感想

  • 報酬関数の調整や作り込みを避ける方向に進んでいて良い研究
    • 利用と探索のトレードオフ以外にもメタ学習でアプローチできそうな部分がありそう
  • 選ばれた腕(混合割合と割引率)の遷移はタスクの性質を評価することに使えるかもしれない

関連論文

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants