Top Banner
【強化学習】Montezuma’s Revenge @ NIPS2016 1. Kulkarni et al., “Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation,” NIPS2016. 2. Bellemare et al., “Unifying Count-Based Exploration and Intrinsic Motivation,” NIPS 2016. 機械学習情報交換会@産総研 Sotetsu KOYAMADA@sotetsuk2016/11/11
34

【強化学習】Montezuma's Revenge @ NIPS2016

Apr 08, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 【強化学習】Montezuma's Revenge @ NIPS2016

【強化学習】Montezuma’s Revenge @ NIPS2016

1. Kulkarni et al., “Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation,” NIPS2016.

2. Bellemare et al., “Unifying Count-Based Exploration and Intrinsic Motivation,” NIPS 2016.

機械学習情報交換会@産総研Sotetsu KOYAMADA(@sotetsuk)2016/11/11

Page 2: 【強化学習】Montezuma's Revenge @ NIPS2016

Table of contents

● Mnih et al., Nature2015(いわゆるDQN)

● Montezuma’s Revenge (Atari 2600)● Kulkarni et al., NIPS2016(2016/3, MITのグループ)

○ Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation.

● Bellemare et al., NIPS2016(2016/6, DeepMindのグループ)○ Unifying Count-Based Exploration and Intrinsic Motivation.

Page 3: 【強化学習】Montezuma's Revenge @ NIPS2016

Mnih et al., Nature2015

画像の画素情報に対しCNNを使って最適行動価値観数を近似し、Atari2600の様々なゲームに同じ手法を使って学習に成功

図、式はMnih et al., Nature2015 から

Page 4: 【強化学習】Montezuma's Revenge @ NIPS2016

Montezuma’s Revenge

Atari 2600のゲームにおいて、DQNはこ

のゲームを全く学習出来ていなかった

図はMnih et al., Nature2015 から

Page 5: 【強化学習】Montezuma's Revenge @ NIPS2016

Montezuma’s Revenge (Atari 2600)

DeepMindのグループのデモ: https://www.youtube.com/watch?v=0yI2wJ6F8r0

Page 6: 【強化学習】Montezuma's Revenge @ NIPS2016

Montezuma’s Revenge の難しさ

1. スパースな報酬a. 報酬は鍵の取得時、次ステージへの進出時に与えられる

2. 遅延報酬a. 大きい報酬を得るためには遠回り(鍵を取得してからドアへ)したりする必要がある

これらの解決のためには十分(かつ効率的な)探索が必要となり、通常のDQNのよう

なε- グリーディによる探索だけでは解けない

Montezuma’s Revenge に限らない、強化学習にける本質的な問題が難しさの根底

にある

Page 7: 【強化学習】Montezuma's Revenge @ NIPS2016

NIPS2016でMontezuma’s Revengeを扱う二つの論文

共に十分な探索を促す手法を提案

Kulkarni et al., NIPS2016

設定された中間目標を解くコントローラと、適切な中間目標を決めるメタコント

ローラを階層的にそれぞれDQNで学習をする(h-DQN)

Bellemare et al., NIPS2016

状態数が極めて多い場合にも、各状態の訪問回数を疑似カウントを使って表現

し、訪問回数が少ない状態への探索を促す

Page 8: 【強化学習】Montezuma's Revenge @ NIPS2016

Kulkarni et al., NIPS2016

以降のスライドでは特に注意がない限り図や式はこの論文から引用

Page 9: 【強化学習】Montezuma's Revenge @ NIPS2016

階層的なDQN: h-DQN

1. Meta-Controller: Q2(s, g)によってどの中間目

標を目指すかを決まる

2. Controller: Q1(s, a; g) によってその中間目標に

対してどういった行動をすべきか決まる

学習

1. Meta-ControllerはControllerが先にある程度学

習していないと学習できないので、 Q1だけ先に

pre-trainingしている

2. 学習はQ1, Q2の順で更新を繰り返すだけ

(注)鍵の候補の集合は人手で与える

Page 10: 【強化学習】Montezuma's Revenge @ NIPS2016

階層的なDQN: h-DQN

Meta-Conrollerによって与えられた中間目標に対して

発生する(内環境が与える)内発的な報酬を使って

Controllerを学習するという意味で、内発的な動機づ

け(Intrinsic Motivation)による学習だという主張

内発的動機付けについては和書にも詳しい :

Page 11: 【強化学習】Montezuma's Revenge @ NIPS2016

Montezma’s Revengeにおける結果

● 最初の1ステージだけ

● 最終的には満点の400点を獲

得できるようになる(鍵をとって

ドアへ)

gif: https://goo.gl/3Z64Ji

Page 12: 【強化学習】Montezuma's Revenge @ NIPS2016

感想

良い点

1. 実装がシンプル

2. 人の知識が入れやすい

悪い点

1. 人手での中間目標のアノテーションが必要(そもそも人手でアノテーションつけ

た目標を目指すのを内発的動機付けと呼ぶのか...?)

2. 他の環境でうまくいくのか実験がない(Atariの他のゲームでどうなのか?

Montezuma’s Revenge専用の手法になってないか?)

Page 13: 【強化学習】Montezuma's Revenge @ NIPS2016

Bellemare et al., NIPS2016

以降のスライドでは特に注意がない限り図や式はこの論文から引用

Page 14: 【強化学習】Montezuma's Revenge @ NIPS2016

目次

● Count-based Exploration(状態数が多くない場合)

● 疑似カウント○ 定義

○ 性質

○ 検証実験

● 疑似カウントの理論的な話○ 経験カウントとの関係、内発的動機付けとの関係など

● 疑似カウントを探索の促進に利用する○ Montezuma’s Revenge○ DQN, A3Cへの応用

Page 15: 【強化学習】Montezuma's Revenge @ NIPS2016

【準備】 Count-based Exploration

探索を促す手法ではよく “不確かなときは楽観的に (Optimism in the face of uncertainty; OFU)” 原理を実装した手法が使われる:

例: MBIE-EB (Model-based interval estimation with exploratory bonus)

通常の最適ベルマン方程式に exploratory bonus が加わる(Nn(x, a)は状態xにおいて行動aをとった回数)

Page 16: 【強化学習】Montezuma's Revenge @ NIPS2016

【準備】 Count-based Exploration

ただし、状態数(と行動数)が極めて多い場合、Count-based Explorationは上手くい

かない(ほとんどの (x, a) で N(x, a) = 0 となってしまうため )

この論文のアプローチ:

Psuedo-count(疑似カウント)を導入し、これを解決する

Page 17: 【強化学習】Montezuma's Revenge @ NIPS2016

記号の定義

状態全体の集合

の要素をn個連結した系列 全体の集合

系列 x1:n の中で、xが起こった回数(empirical count; 経験カウント)

使用者が定める系列密度モデル(sequential density model) を近似し未体験のxにも値を付与できるようにする。これで疑似カウントを表す。

それぞれ疑似カウントと合計疑似カウント(ここからは疑似カウントを推定する話)

のように直積の形でかけるとき、 i番目の集合の要素を と書く

Page 18: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントの例

次のような観測が10個得られた :

状態空間は3つの要素から成る :

まだ観測されていない状態に対する擬似カウントを求める

Page 19: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントの定義

目標としては疑似カウント を の適切な関数で表すことである。

( のモデルは一旦ここでは所与とするが、具体例としては例えば をその

まま使う、ディリクレ分布を使う、あとは後述するCTSモデルを使うなどといった状況

が考えられる)

Page 20: 【強化学習】Montezuma's Revenge @ NIPS2016

ナイーブな疑似カウント

ナイーブな疑似カウントを考えてみる:

例えば を とモデルを立てると、疑似カウントと経験カウント

が一致し、悪くないモデルのように思える(もちろん殆どの点で擬似カウント=経験カウント

=0となってしまう問題は解決していないが)

ただ、このモデルはnと密度モデルの間に単純な関係が成り立つとは限らないので良くない

(?)(理論的 or 実験的にダメだと論文中でキチンと言えてはないと思う...)

Page 21: 【強化学習】Montezuma's Revenge @ NIPS2016

【定義】疑似カウント

を と定義する。疑似カウントと、合計疑似カウントを

明示的に使って、次の二つの成り立って欲しい条件が導かれる:

を消去して次の疑似カウントの定義を得る:

Page 22: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントの性質

適当な場合(ρとρ’が共に1以外の場合)において次が言える

が任意のxとそれまでの系列において成り立つ時、 learning-positive

Page 23: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントの例(再び)

次のような観測が10個得られた :

状態空間は3つの要素から成る :

まだ観測されていない状態に対する擬似カウントを求める

Page 24: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントの例(再び)

各要素が独立なモデルを立てる :

すると

から

Page 25: 【強化学習】Montezuma's Revenge @ NIPS2016

CTSモデル

この論文の著者ら過去の論文で提案されているものの簡易版

(i, j)番目のピクセルを(i, j)番目の要素だと思って、ピクセル数分の要素からなる状態

空間を考えている

(i, j)

(この式はsotetsukがこうだと思っているもの ...)

Page 26: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントの性質の確認

ゲーム中のイベントをカウントして性質を確認:

Freeway:

1. イベントが発生しないときはほぼゼロ

2. イベントが発生しているときはほぼ線形

Pitfall!:

3. イベントは規則性なく発生しているが、大局的にはき

ちんと上がり続けている

Page 27: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントに関する理論的な話

1. 疑似カウントと経験カウントの関係(結果だけ)

2. 系列密度モデルとしての有向グラフィカルモデル(結果だけ)

3. 双価値関数(省略)

4. 内発的動機付けとの関係(結果だけ)

Page 28: 【強化学習】Montezuma's Revenge @ NIPS2016

【理論1】疑似カウントと経験カウントの関係

Page 29: 【強化学習】Montezuma's Revenge @ NIPS2016

【理論2】系列密度モデルとしての有向グラフィカルモデル

有向グラフィカルモデルは先のAssumption1を満たす

(CTSモデルは有向グラフィカルモデルであり、Assumption1を満たす)

Page 30: 【強化学習】Montezuma's Revenge @ NIPS2016

【理論4】内発的動機付けとの関係

内発的動機付けの研究の文脈では、新しくxを観測したときのInformation gain IG(x) が定義されることがある。適当な条件下で、このIG(x)は疑似カウントの逆数の

下界になっている:

IG(x)を大きくするようにxを選ぶことで、疑似カウントの逆数も大きくなるようにxを選

択している、と言える

Page 31: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントを探索に利用する

(基本的には)次のように定義されるExploration bonusを通常の即時報酬に加える

だけ!(様々な手法に使いやすい)

● βは定数

● 0.01は計算の安定のためだけに加えている

● -1/2乗は他にも比べてみた結果がある(Fig. 6; 今回は省略)

Page 32: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントを探索に利用する(DQN)

Montezuma’s Revenge、Ventureにおいて有意に結果を改善。Freewayでは楽観的

初期化でも充分探索が促されている。Private eyeはまだうまく学習出来ていない。

Page 33: 【強化学習】Montezuma's Revenge @ NIPS2016

疑似カウントを探索に利用する(A3C)

Atari 2600の60個のゲームのうち

- A3Cは15個に失敗

- A3C+は10個に失敗

失敗の定義は「ランダムな方策より

50%以上改善しない」

(全60個の詳細はAppendix)

Page 34: 【強化学習】Montezuma's Revenge @ NIPS2016

まとめ感想

● 状態空間が広大な場合でもCount-basedな探索手法の資産が活用できるよう

になる意義は大きい。

● 密度モデルの立て方についてもう少し議論(説明)が欲しかった

● CTSモデルによる密度推定がうまく効いているのか、ここでの疑似カウントの定

義がうまく効いているのか実験からよく分からない。。。

● このDeepMindグループの論文は理論的な解析もちゃんとあるが、とにかく実験

が膨大。とても真似(追試)できる気がしない。。。

最後にもう一度DeepMindのグループのデモ: https://www.youtube.com/watch?v=0yI2wJ6F8r0