Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Reinforcement Learning Second edition - Notes o...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Etsuji Nakai
November 30, 2019
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Reinforcement Learning Second edition - Notes on Chapter 5
Etsuji Nakai
November 30, 2019
More Decks by Etsuji Nakai
See All by Etsuji Nakai
強化学習「理論」入門
enakai00
5
4.3k
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.8k
機械学習理論入門
enakai00
0
63
ディープラーニング入門
enakai00
0
46
ハミルトン・ヤコビ方程式の解の性質と物理的意味
enakai00
0
930
Agent Development Kit によるエージェント開発入門
enakai00
23
9.3k
GDG Tokyo 生成 AI 論文をわいわい読む会
enakai00
1
720
量子コンピューティングの開発課題と実用化へのロードマップ
enakai00
1
84
Lecture course on Microservices : Part 1
enakai00
1
3.9k
Other Decks in Technology
See All in Technology
AWS FinOps Agent 結局何が得意なの?
siromi
0
230
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
310
CI/CDではもう遅い - 人とAIが迂回しないDevSecOps Verify基盤の再設計 -
kintotechdev
1
630
AI駆動開発、viviONの1年 ── うまくいったこと・いかなかったこと
vivion
0
130
Lambda MicroVMsは常駐サーバーの代わりに なるか? Kiro Crew を動かして検証してみた / Kiro Crew on Lambda MicroVMs
k_adachi_01
2
350
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
130
GitHub Agentic Workflows を触ってみる
htkym
2
910
LLM機能を自作して分かるSnowflake Cortex AIの強み
nayuts
0
120
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
530
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
220
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
610
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
270
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
Technical Leadership for Architectural Decision Making
baasie
3
590
Marketing to machines
jonoalderson
1
5.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
First, design no harm
axbom
PRO
2
1.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
540
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
340
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
330
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Transcript
Reinforcement Learning Second edition - Notes on Chapter 5 Etsuji
Nakai (@enakai00)
環境のモデルが不明な場合 2 状態遷移のルール、すなわち、 が未知の場合、Dynamic Programming で Value Function を計算することはできない。 状態
s でアクション a を 取った時の結果 (s', r) を シミュレーションしている
• ポリシー π の下に、現実の環境で何度もプレイを繰り返して、データを収集する。1回分の プレイのデータを「1エピソード」と数える。 • エピソードに含まれるそれぞれの状態 s について、それ以降に得られる Reward
の合計を の「サンプル」と考える。 • 多数のエピソードを収集すると、同じ状態 s が何度も登場するので、それらサンプル全体の 平均値を の近似値とする。 ◦ First-visit MC:1つのエピソードに同じ状態 s が複数回登場した場合は、最初の状態 からの寄与(それ以降に得られる Reward の合計)のみを平均値の計算に含める。 ◦ Every-visit MC:1つのエピソードに同じ状態 s が複数回登場した場合は、それぞれ の状態からの寄与をすべて平均値の計算に含める。 Monte Carlo Prediction 3
Monte Carlo Prediction 4 この条件を除くと Every-visit MC になる。
「Bootstrapping」の意味について 5 • Dynamic Programming の場合、次の状態 s' の Value の近似値
V(s') を用いて、状態 s の Value V(s) の近似値を改善するというステップを繰り返す。 • これは、他の状態の近似値を用いながら、「近似の精度を互いに向上していく」手続きと言 える。一般に、このような手法を Bootstrapping と呼ぶ。 Bootstrapping
Monte Carlo Prediction for State-action value 6 • State-action value
q π (s, a) もほぼ同じ考え方で計算できる。
ポリシーの改善方法(Policy Iteration の復習) 7 ※ ここでは、 は既知とする。 ・任意のポリシー を1つ選択する ・Value function
を(何らかの方法で)計算する ・Action-Value function が決まる ・Greedy ポリシー ( が最大の a を確率 1 で選択する) この時、任意の s について が成り立つ。 つまり、π' は、π よりも優れたポリシーと言える。この改善処理を繰り返す。 MCの場合は、q π (s, a) を 求めておくことが必要
Monte Carlo Control(MC でのポリシー改善方法) 8 • 素朴に考えると、次の2つの方法が思いつく。 ◦ Policy Iteration:ポリシー
π の下に「十分な数のエピソード」をサンプリングして、 「十分に正確」と信じられる q π (s, a) を決定。その後、q π (s, a) に基づく Greedy Policy でポリシーを改善する。 ◦ Value Iteration:新しいエピソードを1つ追加して q(s, a) を更新した直後に、状態 s に対応するポリシーを q(s, a) に基づく Greedy Policy で改善する。 • 問題点:Greedy Policy を採用すると、その Policy では到達しない状態のサンプルが得られ なくなり、q(s, a) の近似精度がものすごく悪くなる。
Monte Carlo Control(MC でのポリシー改善方法) 9 • 改善案:Greedy Policy ではなく、ε-greedy policy
を採用する。 ◦ ほんとにこれでOK・・・・? • ポリシー改善の根本原理は、「 q π (s, a) に基づいた Greedy Policy は π よりも優れた Policy である」という基本定理。ε-greedy policy を採用すると、真にベストなポリシーに到達でき る保証がなくなる。 • これを解決するのが、次に説明する「Off-policy Prediction via Importance Sampling」の テクニック。
Off-policy prediction 10 • ポリシー b (behavior policy)の下に取集したエピソードを用いて、ポリシー π (target
plicy)に対する Action-value function q π (s, a) を計算するテクニック。 • あるエピソードに含まれる状態 s について、「それ以降の状態遷移全体がポリシー π の下に 得られる確率」の重みをかけて、Reward の平均値を計算する。 ◦ 「ポリシー b の下に得られる確率」=「ポリシー π の下に得られる確率」の時に、 ちょうど「重み ρ = 1」となるように設計 ⇨ Importance Sampling
Importance Sampling 11 • ポリシー π の下に状態遷移 が発生する確率 • ポリシー b
についても同様なので、確率の比率(平均値を計算する時の重み)は、
Importance Sampling 12 • 重み付きの平均値を計算する際、分母を「足したサンプルの個数」にするか、「重みの合 計」にするかの2つの方法がある。 • 無限個のサンプルを取得する極限では、どちらも正しい Value Function
に収束するが、収 束前の振る舞いが異なる。(本章では、以降は、Weighted を採用する。) Ordinary Importance Sampling : Unbiased, High variance Weighted Importance Sampling : Biased, Low variance
Incremental Implementation 13 • Weighted Importance Sampling による Value Function
の近似値(n - 1 個のサンプルを取 得した時点) • これは次の逐次計算と同等 • Action-value Function も同様に計算可能。下記のシーケンスに対して、例えば、 以降の Reward の合計を 以降のアクションのシーケンスが発生する確率の重みで平均したもの を とする。
Off-policy MC prediction 14 • ポリシー b (behavior policy)の下に取集したエピソードを用いて、ポリシー π
に対する Value function V(s) を計算する例
Off-policy MC control with ε - greedy 15 • ε
-greedy policy の下に取集したエピソードを用いて、greedy ポリシー π に対する Action-value function q π (s, a) を計算する例( に注意)。 Target policy π が Greedy(非確率的) なので、π と異なるアクションがあると、 それ以前を含むパスの確率は 0 になる。
Off-policy MC control (Example) 16 https://github.com/enakai00/rl_book_solutions/blob/master/Chapter05/Monte_Carlo_Example.ipynb ############ # # #
# # # # # # # # # ### # # #+ # # #S #+++# # #######G#GG# ############ # # # # # # # # # # # #+### # # #+ # # #S #+++# # #######G#GG# ############ # # # # # # # # # # # # ### # # # # # #S #+++# # #######G#GG# ############ # # # # # # # # # # # # ### # # # #+ # #S # #+ # #######G#GG# ############ # # # # # # # # # # # # ###++# # # #++# #S # #+ # #######G#GG# ############ # # # # # # # # # ++# # # ###++# # # #++# #S # #+ # #######G#GG# ############ # # # # # # # # #+ # # #+### # # #+ # # #S #+++# # #######G#GG# ############ # # # # # # # # #++ # # #+### # # #+ # # #S #+++# # #######G#GG#
Off-policy MC control with ε - greedy の課題 17 •
ゴールから逆向きにエピソードをスキャンして、Value Function を更新していく。 • Target policy π が Greedy(非確率的)なので、π と異なるアクションがあると、それ以前 を含むパスの確率は 0 になり、そこでスキャンは打ち切られる。 • スタートからゴールまで Target policy にしたがって行動するエピソードがないと、スター ト付近の価値関数が学習できない。 ◦ つまり、長距離にわたる学習が困難 ⇨「Bootstrapping でない手法」の課題
Exercise 5.12 (Racetrack) 18 https://github.com/enakai00/rl_book_solutions/blob/master/Chapter05/Exercise_5_12.ipynb