Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Reinforcement Learning Second edition - Notes on DQN
Etsuji Nakai
February 10, 2020
Technology
0
30
Reinforcement Learning Second edition - Notes on DQN
Etsuji Nakai
February 10, 2020
Tweet
Share
More Decks by Etsuji Nakai
See All by Etsuji Nakai
enakai00
3
510
enakai00
0
320
enakai00
0
170
enakai00
4
2.3k
enakai00
0
3.2k
enakai00
1
49
enakai00
0
72
enakai00
12
2.1k
enakai00
0
51
Other Decks in Technology
See All in Technology
minma
0
210
kanaugust
PRO
0
120
yoku0825
PRO
3
180
ch1aki
2
240
ippey
2
210
shirayanagiryuji
1
280
ks91
PRO
0
110
hololab
0
180
go5paopao
4
540
korodroid
0
230
dena_tech
1
700
tosh2230
3
320
Featured
See All Featured
geeforr
332
29k
chrislema
173
14k
danielanewman
1
520
iamctodd
19
2k
jlugia
217
16k
lara
590
61k
jensimmons
207
10k
jcasabona
8
550
tanoku
86
8.6k
mza
80
4.1k
shpigford
369
42k
brianwarren
82
4.7k
Transcript
Reinforcement Learning Second edition - Notes on DQN Etsuji Nakai
(@enakai00)
Functional Approximation 2 • これまでは、State Value Function v(s) 、もしくは、Action-State Value
Function q(s, a) の値をすべての状態 s について個別に記録(Tabular Method) • 状態数が爆発的に増加する問題では、メモリーの不足、計算時間の増加といった問題が発生 • 少数のパラメーター w を持った関数で v(s) 、もしくは、 q(s, a) を表現して、w をチューニン グすることで、近似的に計算する
Functional Approximation 3 • 近似関数が正しい価値関数の振る舞いとかけ離れていると、計算が収束しない可能性がある • 例:2つの状態 A, B があり相互の遷移に伴う報酬は
0。つまり、v(A) = v(B) = 0 が正解。 ◦ v(A) = w, v(B) = 2w と線形近似すると、A のベルマン方程式は、w を増加させようと して、B のベルマン方程式は、w を減少させようとするので、w は振動を続ける。 • パラメーターが発散するような例を作ることも可能
Functional Approximation 4
DQN 5 • 近似関数として、ニューラルネットワークを使用する(表現力の高い関数を用いることで、 前述の問題を避ける。) • Action - State Value
Function を下記の「方針」でアップデートする(Q-Learning) ◦ Off-policy メソッドなので、エピソードの収集は任意のポリシーで実施可能
DQN 6 • 実際の学習方法としては、エピソードに含まれる の4つ組を大量にストック しておいて、下記の誤差関数を最小化するようにバッチで学習する。(勾配降下法) • エピソードの収集は、たとえば、現在の Q(S, A) に基づいた
ε-Greedy を用いる。
DQN 7 • あくまで近似なので、「真の関数」との距離をどのように測るかで、最適化の結果は異なる 真の関数を何らかの 意味で射影したもの 近似空間の中で誤差 を最小にするもの
Monte Carlo Tree Search • 関数近似は原理的に不正確なので、学習済みのエージェントを用いて、実際にアクションを 選択する前に、現在の状態 S を出発点とするエピソードを(シミュレーションで)収集し て、Tabular
Method で価値関数を再見積もりする。 ◦ 現在の状態 S の周りに限定して実施するので、Tabular Method でもメモリー不足は起 きない
9 Monte Carlo Tree Search シミュレーション対象 のパスを一定のルール で決定する 終了状態に至る エピソードを収集
実際に得られた報酬を用 いて、パス上の価値関数 の値を更新
10 あるけあるけゲーム
11 あるけあるけゲーム https://github.com/enakai00/rl_book_solutions/blob/master/DQN/walk_game_dqn.ipynb