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

強化学習: ノート4

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

前回:ノート3 / 次回:ノート5
目次:強化学習

今日読んだページ: 36~54ページ
以下、自分の解釈・感想。

  • 35~38ページの2値バンディットタスクは1つ前の記事で実装した。
  • 非定常な問題だったら最近の報酬を重んじた方がいいよね、という話。非定常な10本腕テストを実装してみようという演習(練習問題2.7)はノート2のコードを少しいじればできそうだけど、気が向いたら。
  • 報酬の初期値の話。ノート2で初期値のさじ加減だと書いていたことが、思い切り説明されている…。つまり、思い切りよい初期値を設定しておけば、序盤でくまない探査ができる効果がある。1つ前の記事の設定その1におけるL_R-Iと似ている。これはεの漸減でも代用できるように思える。
  • 強化学習は正解の行動の存在を前提にしてはいないけど、報酬が大きいのか小さいのかの基準から考えるやり方はあるよねという話。優先度を決めて、ソフトマックスで選択確率とする。ソフトマックスによる確率分布化は、線型分類器でよくやるやつ。
    • 初めてソフトマックスに遭遇したとき、なぜソフトマックスをつかうんだろう、と自分でまとめたのを以下に書き写しておく(PRML 4.2節を参考に、だいぶ自分の言葉を混ぜたもので、正しい保証はない)。
  • N次元の入力データxを線型分類器によってMクラスに分類しようとするとき、N次元空間内にM個の分離超平面があることを決め打っている(事後確率を生み出す構造を意識するにせよしないにせよモデル化している)。真の分離超平面が真の重みベクトル W に対応する。
  • 一方、一般の多クラス分類の事後確率をソフトマックスの形に変形して、いくつかの仮定(※)をおくと、ソフトマックスの中身は入力 x の線形関数となる(事後確率が一定となる分離超平面がある)。
    → 分離超平面が存在するという上記の決め打ちに歩み寄れた。
    (※) クラスの条件付き確率密度が正規分布で、すべてのクラスが同じ共分散行列を共有する。
  • つまり、分離超平面を求めることを通して事後確率を求めるならば、事後確率への変換はソフトマックスによってなされるべきである。
  • 追跡手法は、行動価値の推定はするが、単に行動価値が max な行動をとるのではなく、確率の更新を行う。更新の仕方は色々: 確率を直接更新する、優先度を挟む。
  • 「スロットマシンを選んでいく」というタスクでは、将棋や人狼と違って、状況(盤面)を意識することがない。例えば「赤い10個のスロットマシン群」「青い10個のスロットマシン群」「緑の10個のスロットマシン群」があって、いずれかのセットがランダムに目の前にあらわれるなら状況を意識することになるよね、という話。それでも将棋や人狼にはまだほど遠いけど。
    • 練習問題2.16も気が向いたらやりたい。
  • じゃあ、期待値は一番大きいけどぶれが大きいスロットマシンと、期待値はちょっと劣るけどぶれが小さいスロットマシンがあったらどうするの?(51ページ) → このくだり証券分析の話っぽい。ただここで言いたいのは、期待値への信頼度が違うということなので、真の期待値も違うという話とはちょっと違う。



以下、練習問題(一部)について考えたメモ。

  • 練習問題2.8
    • 初期段階でのスパイクや発振は、正解ラべルでかつよい方にぶれた報酬を引いて一時的にトラップされることは序盤にあるってことなんだろうか。序盤では1回の報酬が期待報酬へ与える影響が大きい。でもその上ぶれした報酬に期待して正解ラベルを引き続けたらふつうの報酬とか下ぶれした報酬も引き当てることになって、期待報酬が別のアームと遜色ない水準に戻っていくはず。たぶん。
    • 序盤での性能改善には、もう最初の○回のアーム選択をランダムにしてしまって探査性を上げるのがよいはず。性能改悪には、初期値を悪くして最初に引いたアームにトラップさせるとか。
  • 練習問題2.9
    • ちゃんと鉛筆で数式を追っていないけど、温度による調整はステップサイズ・パラメータによる調整と同値っぽくみえる。だから温度は不要。
  • 練習問題2.10
    • αはあくまでリファレンスの計算用なので、過去のどれくらいのウィンドウを参照していきたいかという気持ちと結びつくはず。非定常な問題であれば、その非定常度合と密接に関わるはず。
      他方、βはどれくらい選択確率を更新させるかなので、1点1点のノイズと関わりが深そう。
      例えば長い時間スパンで報酬の平均水準が変わっていくが各アームの報酬に分散はないとしたら、αは小さく、でもβは大きくするのがよいはず。と思うので一般的にαとβの統一はできないのでは。

  • 練習問題2.4
    • 状況を整理すると、
      • 信号がいずれかの行動を取るよう指示してくる(但し確率pで間違っている)ので素直にしたがう。
      • 行動aを選ぶと、正解である。
      • 行動bを選ぶと、不正解である。
    • 2値バンディットタスクとしてどのようなクラスになるか、と訊かれているが、どう答えればよいのかわからないが、「N回行動する中で正解の行動をとる回数を最大化したい」といえばよいのだろうか。
    • といっても、いつも信号を妄信させられる設定なので行動を重ねても推論をみがいていくことはできない。
    • 特別なことはあるか、といわれても、回数を重ねても行動の最適度は上げられず、終始 1-p であるという点?
    • 例えばp=0.3であれば、スロットマシンa, bの成功確率が0.7, 0.3である場合に似ているような気もするが、教師ありアルゴリズムではこれまでの全ての結果で正解頻度が大きかった方、という判断をするので、いずれスロットマシンaばかりを選択できる。直前の1回の結果しか見れない教師ありアルゴリズムとして動作する、というのが答え?
    • 考えてみたけどいまいちこの問題から何かを学べなかった。システムは決定論的でも観測にノイズがあれば学習の適用の余地があるとか、直前の1回だけ見て評価するのは全然駄目とか?

関係ないけどこの本の40ページ台がほぼ毎見開きごとにプログラミングを要求してくる…。