16
“Playing Atari with Deep Reinforcement Learning” 藤田康博 January 23, 2014

"Playing Atari with Deep Reinforcement Learning"

  • Upload
    mooopan

  • View
    19.803

  • Download
    1

Embed Size (px)

DESCRIPTION

NIPS2013読み会の発表資料

Citation preview

Page 1: "Playing Atari with Deep Reinforcement Learning"

“Playing Atari with Deep Reinforcement Learning”

藤田康博

January 23, 2014

Page 2: "Playing Atari with Deep Reinforcement Learning"

自己紹介

• 名前:藤田康博• 修士 1年• ゲーム AI,強化学習など• NIPS読み会初参加

◦ お手柔らかにお願いします

2 / 14

Page 3: "Playing Atari with Deep Reinforcement Learning"

読む論文

• Playing Atari with Deep Reinforcement Learning◦ Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex

Graves, Ioannis Antonoglou, Daan Wierstra, Martin RiedmillerNIPS Deep Learning Workshop, 2013.• 本会議でなくてすみません…

• 選んだ理由◦ ゲーム+深層学習+強化学習として(たぶん)初◦ 深層学習+強化学習も少ない◦ 結果がすごい

3 / 14

Page 4: "Playing Atari with Deep Reinforcement Learning"

要旨

• 深層学習+強化学習(Deep Q-Learning)◦ 行動価値関数Q(s, a)を畳み込みニューラルネットワークで表現(Deep Q-Network)

• Atari 2600の 7つのゲームで評価

→(既存研究みたいに背景削除とかしてないのに)6/7で既存研究に勝利!→ さらに 3/7で Expert Human Playerにも勝利! 優秀!

4 / 14

Page 5: "Playing Atari with Deep Reinforcement Learning"

要旨

• 深層学習+強化学習(Deep Q-Learning)◦ 行動価値関数Q(s, a)を畳み込みニューラルネットワークで表現(Deep Q-Network)

• Atari 2600の 7つのゲームで評価

→(既存研究みたいに背景削除とかしてないのに)6/7で既存研究に勝利!

→ さらに 3/7で Expert Human Playerにも勝利! 優秀!

4 / 14

Page 6: "Playing Atari with Deep Reinforcement Learning"

要旨

• 深層学習+強化学習(Deep Q-Learning)◦ 行動価値関数Q(s, a)を畳み込みニューラルネットワークで表現(Deep Q-Network)

• Atari 2600の 7つのゲームで評価

→(既存研究みたいに背景削除とかしてないのに)6/7で既存研究に勝利!→ さらに 3/7で Expert Human Playerにも勝利! 優秀!

4 / 14

Page 7: "Playing Atari with Deep Reinforcement Learning"

Arcade Learning Environment

• Atari 2600シミュレータ+学習用インタフェース

• プレイヤが観測できるのは画面のみ◦ 210× 160 & 128 colors

• 現在のスコアがわかる• 終了判定ができる• http://www.arcadelearningenvironment.org/

5 / 14

Page 8: "Playing Atari with Deep Reinforcement Learning"

強化学習タスクとしてのALE

• ALEは部分観測マルコフ決定過程(POMDP)◦ 観測できる画面からだけでは現在の状況がわからない

• そこで時間ステップ tにおける状態を次のように定義◦ st = x1, a1, x2, · · · , at−1, xt◦ x は観測した画面,aは入力した行動→ 有限マルコフ決定過程になり,スタンダードな強化学習手法が使える

6 / 14

Page 9: "Playing Atari with Deep Reinforcement Learning"

行動価値関数

• 最大化したいもの:将来の(割引)報酬 Rt =!T

t′=t γt′−trt′

• 方策 π : S $→ A• (最適)行動価値関数

Q∗(s, a) = maxπ

E [Rt |st = s, at = a, π]

有限マルコフ決定過程なら,これはBellman方程式の唯一解

Q∗(s, a) = E [rt+1 + γmaxa′

Q∗(st+1, a′)|st = s, at = a]

7 / 14

Page 10: "Playing Atari with Deep Reinforcement Learning"

行動価値関数の関数近似

• Q(s, a; θ) ≈ Q∗(s, a)とおき,Bellman方程式の誤差を最小化

Li(θi) = E [(yi − Q(s, a; θi)2]

yi = E [rt+1 + γmaxa′

Q(st+1, a′; θi−1)|st = s, at = a]

∇θiLi(θi)

= E [(rt+1 + γmaxa′

Q(st+1, a′; θi−1)− Q(s, a; θi))∇θiQ(s, a; θi)]

• 今回はこれを RMSPropを使って逆伝搬

8 / 14

Page 11: "Playing Atari with Deep Reinforcement Learning"

Rprop

• 勾配の大きさは見ず符号だけを見て重みを更新する逆伝搬法• では更新量はどう決める?

◦ 符号が 2連続で同じだったら更新量を増やす e.g. 1.2倍◦ そうでなければ減らす e.g. 0.5倍

• 利点◦ 勾配が小さい場所(plateau)から速やかに脱出できる

• 欠点◦ ミニバッチ学習ではうまくいかない

e.g. 9個のミニバッチの勾配が+0.1,10個目が−0.9の場合

9 / 14

Page 12: "Playing Atari with Deep Reinforcement Learning"

RMSProp

• Rpropをミニバッチ学習に使えるようにしたもの◦ 勾配の大きさの 2乗の移動平均MeanSquare(w , t)を保持

MeanSquare(w , t) = 0.9MeanSquare(w , t − 1) + 0.1(∂E

∂w(t))2

◦ 勾配を"

MeanSquare(w , t)で割る◦ まだ論文になっておらず,Courseraの講義ビデオのみ

• “Neural Networks for Machine Learning”の Lecture 6.5

10 / 14

Page 13: "Playing Atari with Deep Reinforcement Learning"

Experience Replay

• 過去の遷移 (st , at , rt , st+1)を replay memoryに保存• そこからランダムサンプリングした遷移に対して誤差最小化• 利点

◦ プレイヤの振る舞いが過去にわたって平均化されるため,パラメータが振動・発散するのを防ぐ効果がある

11 / 14

Page 14: "Playing Atari with Deep Reinforcement Learning"

Deep Q-Network

84x84x4

input1st hidden

layer2nd hidden

layer

8x8x4 filterstride 4

20x20x16

4x4x16 filterstride 2

9x9x32

3rd hiddenlayer

fullyconnected

256

output

fullyconnected

4~18

• 入力:ラスト 4フレームの画面(縮小とグレイスケール化)• 出力:各アクションの行動価値

12 / 14

Page 15: "Playing Atari with Deep Reinforcement Learning"

結果

• 人間に勝利:Breakout,Pong,Enduro• 人間に全く敵わない:Q*bert, Seaquest,Space Invaders

◦ 比較的長期的な戦略が必要

13 / 14

Page 16: "Playing Atari with Deep Reinforcement Learning"

感想

• ついにゲーム AIにもディープの波が来たか…• 他のゲームにも使える? e.g. 将棋,囲碁,StarCraft,etc.

◦ おそらく先読みが重要なゲームでは難しい◦ でも使ってみたいしきっと使われる

14 / 14