読者です 読者をやめる 読者になる 読者になる

強化学習: ノート11

本読み 強化学習

読んでいる本(出典): 強化学習 : Richard S.Sutton, Andrew G.Barto, 三上 貞芳, 皆川 雅章 : 本 : Amazon.co.jp

前回:ノート10 / 次回: まだ
目次:強化学習

読んだページ: 119~147ページ
以下、自分の理解。

  • この本の2部で紹介される手法の特徴(111~113ページ、142ページ): 方策と価値関数を交互に改善していく考え方は共通だが、以下の点が異なる。

環境のダイナミクス(つまり、次のステップの状態の確率分布と報酬の期待値)が予め必要か。ブートストラップするか(つまり、ある状態の価値の推定に、他の状態の価値の推定値を用いるか)。
動的計画法必要。ブートストラップする。
モンテカルロ法不要。ブートストラップしない。
TD学習不要。ブートストラップする。

  • 5章はモンテカルロ法
  • 4章で扱った動的計画法では環境のダイナミクスを既知としていたが、環境の応答がわからないときは、経験から推定することになる。
    • 2章で散々やっていたスロットマシンのタスクも、各マシンのリターンはわからず、経験で判断していた。
    • 1、2章では強化学習とは「経験に学ぶ」と強調されていた気がするけど、環境の応答が既知であることを前提にする4章(動的計画法)は何だったんだろう。強化学習へ入るための準備にすぎないのだろうか…と思ったけど、環境の応答がわかることと、ある行動が後々どう効いてくるかがわかることは別の話だよね。レンタカー2営業所タスクでも、各営業所へやってくる顧客数の確率分布が既知であってもじゃあどうレンタカーを融通し合うべきかは自明ではなかった。これも経験に学ぶというのか。尤も実際に経験するのではなくて、方策改善フェーズで argmax な行動を選ぶということだけど。
  • じゃあ  V^{\pi}(s) を推定するには、 \pi の下でのエピソード群で、s が出た後の収益を平均なりすればいいよね。
    • 環境が未知なのにエピソード群はわかるというのがよくわからないけど、将棋や囲碁棋譜データベースにアクセスできるからそこからつくれるエピソードはわかる、みたいなものなんだろうか
  • ブラックジャック(121ページ)のルールわかりません。
  • (環境の)「モデルがない場合には、状態価値のみでは不十分である(125ページ)」。行動価値もほしいと。
    • 動的計画法の方策改善では環境のダイナミクスつかうからね。
    • 行動価値を推定するのも状態価値と方針は同じだけど、ある方針にしたがったエピソードでは状態に対して取られる行動が決まりきってしまう(126ページ)。ここで「第2章のn本腕バンディット問題の中で論じたように」が出てきた。つまり、行動価値を推定するためには、意図的に探索をしないといけない。
  • この章で紹介されているアルゴリズムは3つ(130、134、136ページ)。
    • モンテカルロES法(Exploring Starts): サンプルエピソード毎に初期状態を調整することで行動価値があまねく探索できると考える。探索は工夫しませんというスタンス。→ 非現実的。
    • 方策オン型モンテカルロ法: 確率的にランダムに(ε-greedyに)行動することで全探索を保証する。
    • 方策オフ型モンテカルロ法: サンプルエピソード生成用の方策は改善対象の方策とは切り離すことにより全探索を保証する。
  • 方策オフ型モンテカルロ法においては、各サンプルエピソードで、終端側から順にたぐって改善対象の方策と合致するxステップのみを行動価値の評価に使用する。このサンプルを単純平均するとその収益の生起確率を誤るのでエピソード生成用の方策(挙動方策)と改善対象の方策(推定方策)それぞれにおける「状態 → 行動 → 状態 → … → 終状態」生起確率の比を乗じる(比をとると環境のダイナミクスが打ち消し合い、結局環境のモデルは不要)。これは以下の本の32ページ (13) 式そのもの。この箇所はマルコフ連鎖ではないモンテカルロ法の話で、サンプル生成用の確率分布が、じゅうぶん似ていないと非効率だという話。それは方策オフ型モンテカルロ法においても、挙動方策が推定方策に似ていないと非効率なのは同じ。
  • 6章はTD学習。
  • モンテカルロ法と違い、V^{\pi} を評価するのにエピソード終了まで待たず、ステップごとに次の状態の価値(の現在の推定値)からブートストラップする。

5章 モンテカルロ法の演習では、演習問題になっているカーブを曲がるレースカー問題より、ブラックジャックの方が問題として面白そうだけど、膨大なサンプルエピソードが必要だから演習問題になっていないのだろうか。