TD学習は、モンテカルロ法のように「最後まで待つ」のでもなく、動的計画法のように「世界を知っている」のでもなく、一歩進むたびに、自分の予測を、少しずつ修正していく学習方法です。
モデルを持ちませんし、結果が出るのを待ちません。
行動して、次の状態に移ったその瞬間に、「さっきの判断、ちょっとズレてたかも」と更新していきます。
歩きながら考え、考えながら歩くAIとでも言いましょうか。
この「途中での修正」こそが、TD(時間差分)学習の核心なのです。
そしてこのTD学習から、生まれた代表的な手法がQ学習とSARSAです。
Q学習
Q学習は、行動価値関数 Q(s, a) を直接学習する方法です。
「この状態なら、本当はどの行動が一番いい?」という最適な未来を仮定して、現在のQ値を更新します。
たとえ実際には別の行動を選んでいたとしても、「もしベストを選んでいたら…」という視点で学びます。
だからQ学習は、大胆に最適解を目指せますし、理論的に収束しやすいという強さを持っています。
SARSA
SARSAもQ値を学ぶ手法ですが、考え方が少し違います。
SARSAは、「実際に自分が選んだ行動」をそのまま使って更新します。
つまり、
・状態
・行動
・報酬
・次の状態
・次の行動
この流れ(S-A-R-S-A)そのものから学ぶのです。
だからSARSAは、現在の方策に忠実で、安全寄りの行動になりやすいという性質があります。
◆方策オン(On-policy)
今まさに使っている方策に従って学ぶ
→ SARSA
◆方策オフ(Off-policy)
実際の行動とは別に、「最適方策」を仮定して学ぶ
→ Q学習