SarsaとQ学習の違い

参考文献: 強化学習 : Richard S.Sutton, Andrew G.Barto, 三上 貞芳, 皆川 雅章 : 本 : Amazon.co.jp
関連記事: 強化学習

強化学習のTD解法である、Sarsa(方策オン型)とQ学習(方策オフ型)の違い。
ちゃんとした話は参考文献の6章を参照。

以前考えた転職エージェント(下図)で、行動価値関数 Q を軸に Sarsa / Q学習で最適方策を求めることを考える。
転職エージェントというと強化学習のエージェントよりもはや斡旋業者…。代わりに行動する存在という意味は同じなんだろうけど。

f:id:cookie-box:20160403143322p:plain:w700
強化学習: ノート8 - クッキーの日記

Sarsa による行動価値関数 Q の推定

f:id:cookie-box:20160417110448p:plain:w580

Q学習による行動価値関数 Q の推定

f:id:cookie-box:20160417110511p:plain:w580

例えば、Q(不満, 転職) を初期値では高く見積もっていたが、実際選択してみると実は報酬が小さかった(負に大きかった)場合(転職活動をしてみたらコストが大きかったとか、満足な会社に転職できなかったとか)、Q(不満, 転職) を学習の1ステップ目でもう低く修正することになる(= Sarsa の 5. 及び Q学習の 4.)。ただし、

  • Sarsa では修正の前に2ステップ目の行動選択をするので、修正は2ステップ目の行動選択に反映されない。
  • Q学習では修正の後に改めて2ステップ目の行動選択をするので、修正は2ステップ目の行動選択に反映される。

Sarsa でも3ステップ目以降の行動選択には反映される。
Sarsa と Q学習どちらが優れているというのではなく、ケースバイケース(160ページの例6.6)。

練習問題 6.9 (160ページ)で「Q学習が方策オフ型と考えられる理由を示せ」と問われているけど、上の例のように Sarsa は少なくとも最新の1ステップの行動選択は手持ちの Q に固執する形になるけど、Q学習は常に行動選択の前に Q を更新しているので、ある特定の Q に沿った行動選択という色は薄い。しかし、TD学習ではモンテカルロ法と違ってエピソード中に方策を更新してしまうので、オンかオフか自体明確ではない(だからこそ、「考えられる」理由を示せという問いかけと思われる)。