Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Reinforcement Learning Second edition - Notes on DQN
Search
Etsuji Nakai
February 10, 2020
Technology
0
120
Reinforcement Learning Second edition - Notes on DQN
Etsuji Nakai
February 10, 2020
Tweet
Share
More Decks by Etsuji Nakai
See All by Etsuji Nakai
Lecture course on Microservices : Part 1
enakai00
1
1.1k
Lecture course on Microservices : Part 2
enakai00
1
1.1k
Lecture course on Microservices : Part 3
enakai00
1
1.1k
Lecture course on Microservices : Part 4
enakai00
1
1.1k
JAX / Flax 入門
enakai00
1
250
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
3k
大規模言語モデルを支える分散学習インフラ Pathways
enakai00
3
350
Python × 数学ブートキャンプガイド
enakai00
1
520
Riemann幾何学ユーザーのための情報幾何学入門
enakai00
0
210
Other Decks in Technology
See All in Technology
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
0
130
アクセス制御にまつわる改善 / Improving access control
itkq
0
530
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
350
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
550
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.5k
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
120
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
140
On Your Data を超えていく!
hirotomotaguchi
2
670
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
510
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
160
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
230
生産性向上チームの紹介
cybozuinsideout
PRO
1
870
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
8
2.4k
For a Future-Friendly Web
brad_frost
172
9k
Raft: Consensus for Rubyists
vanstee
132
6.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
2
1.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
Building Adaptive Systems
keathley
31
1.9k
Bash Introduction
62gerente
604
210k
Side Projects
sachag
451
41k
Ruby is Unlike a Banana
tanoku
96
10k
The Pragmatic Product Professional
lauravandoore
25
5.8k
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