Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Reinforcement Learning Second edition - Notes on Chapter 5

Etsuji Nakai
November 30, 2019

Reinforcement Learning Second edition - Notes on Chapter 5

Etsuji Nakai

November 30, 2019
Tweet

More Decks by Etsuji Nakai

Other Decks in Technology

Transcript

  1. • ポリシー π の下に、現実の環境で何度もプレイを繰り返して、データを収集する。1回分の プレイのデータを「1エピソード」と数える。 • エピソードに含まれるそれぞれの状態 s について、それ以降に得られる Reward

    の合計を       の「サンプル」と考える。 • 多数のエピソードを収集すると、同じ状態 s が何度も登場するので、それらサンプル全体の 平均値を    の近似値とする。 ◦ First-visit MC:1つのエピソードに同じ状態 s が複数回登場した場合は、最初の状態 からの寄与(それ以降に得られる Reward の合計)のみを平均値の計算に含める。 ◦ Every-visit MC:1つのエピソードに同じ状態 s が複数回登場した場合は、それぞれ の状態からの寄与をすべて平均値の計算に含める。 Monte Carlo Prediction 3
  2. 「Bootstrapping」の意味について 5 • Dynamic Programming の場合、次の状態 s' の Value の近似値

    V(s') を用いて、状態 s の Value V(s) の近似値を改善するというステップを繰り返す。 • これは、他の状態の近似値を用いながら、「近似の精度を互いに向上していく」手続きと言 える。一般に、このような手法を Bootstrapping と呼ぶ。 Bootstrapping
  3. Monte Carlo Prediction for State-action value 6 • State-action value

    q π (s, a) もほぼ同じ考え方で計算できる。
  4. ポリシーの改善方法(Policy Iteration の復習) 7 ※ ここでは、       は既知とする。 ・任意のポリシー     を1つ選択する ・Value function

        を(何らかの方法で)計算する ・Action-Value function が決まる ・Greedy ポリシー             (     が最大の a を確率 1 で選択する) この時、任意の s について         が成り立つ。 つまり、π' は、π よりも優れたポリシーと言える。この改善処理を繰り返す。 MCの場合は、q π (s, a) を 求めておくことが必要
  5. 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) の近似精度がものすごく悪くなる。
  6. Monte Carlo Control(MC でのポリシー改善方法) 9 • 改善案:Greedy Policy ではなく、ε-greedy policy

    を採用する。 ◦ ほんとにこれでOK・・・・? • ポリシー改善の根本原理は、「 q π (s, a) に基づいた Greedy Policy は π よりも優れた Policy である」という基本定理。ε-greedy policy を採用すると、真にベストなポリシーに到達でき る保証がなくなる。 • これを解決するのが、次に説明する「Off-policy Prediction via Importance Sampling」の テクニック。
  7. Off-policy prediction 10 • ポリシー b (behavior policy)の下に取集したエピソードを用いて、ポリシー π (target

    plicy)に対する Action-value function q π (s, a) を計算するテクニック。 • あるエピソードに含まれる状態 s について、「それ以降の状態遷移全体がポリシー π の下に 得られる確率」の重みをかけて、Reward の平均値を計算する。 ◦ 「ポリシー b の下に得られる確率」=「ポリシー π の下に得られる確率」の時に、 ちょうど「重み ρ = 1」となるように設計 ⇨ Importance Sampling
  8. Importance Sampling 11 • ポリシー π の下に状態遷移          が発生する確率 • ポリシー b

    についても同様なので、確率の比率(平均値を計算する時の重み)は、
  9. Importance Sampling 12 • 重み付きの平均値を計算する際、分母を「足したサンプルの個数」にするか、「重みの合 計」にするかの2つの方法がある。 • 無限個のサンプルを取得する極限では、どちらも正しい Value Function

    に収束するが、収 束前の振る舞いが異なる。(本章では、以降は、Weighted を採用する。) Ordinary Importance Sampling : Unbiased, High variance Weighted Importance Sampling : Biased, Low variance
  10. Incremental Implementation 13 • Weighted Importance Sampling による Value Function

    の近似値(n - 1 個のサンプルを取 得した時点) • これは次の逐次計算と同等 • Action-value Function も同様に計算可能。下記のシーケンスに対して、例えば、  以降の Reward の合計を  以降のアクションのシーケンスが発生する確率の重みで平均したもの を     とする。
  11. Off-policy MC control with ε - greedy 15 • ε

    -greedy policy の下に取集したエピソードを用いて、greedy ポリシー π に対する Action-value function q π (s, a) を計算する例(       に注意)。 Target policy π が Greedy(非確率的) なので、π と異なるアクションがあると、 それ以前を含むパスの確率は 0 になる。
  12. 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#
  13. Off-policy MC control with ε - greedy の課題 17 •

    ゴールから逆向きにエピソードをスキャンして、Value Function を更新していく。 • Target policy π が Greedy(非確率的)なので、π と異なるアクションがあると、それ以前 を含むパスの確率は 0 になり、そこでスキャンは打ち切られる。 • スタートからゴールまで Target policy にしたがって行動するエピソードがないと、スター ト付近の価値関数が学習できない。 ◦ つまり、長距離にわたる学習が困難 ⇨「Bootstrapping でない手法」の課題