強化学習の価値ベース手法といえばQ学習が有名ですが、試験ではもう1つの代表格であるSARSAとの違いが問われます。名前の由来からQ学習との更新式の違い、オンポリシー/オフポリシーという分類まで、SARSAの要点を整理して解説します。
📖 ひと言でいうと
SARSAとは、エージェントが「実際に取った行動」に基づいてQ値(行動価値)を更新していく、価値関数ベースの強化学習アルゴリズムです。例えるなら、Q学習が「次の場面では理論上ベストの手を打つはず」という前提で自分の手を採点するのに対し、SARSAは「次の場面で自分が実際に選んだ手」を見てから採点する、正直で堅実な学習法だといえます。
🖼 1枚でわかるSARSA
📘 公式テキストの説明
価値関数を用いた強化学習アルゴリズムの一つで、Q学習と並ぶ代表的な手法である。エージェントが実際に取った行動に基づいてQ値を更新する点が特徴であり、Q学習が次の状態で取りうる最大のQ値を用いて更新するのに対し、SARSAは実際に選択した行動のQ値を用いて更新を行う。名称は更新に用いる「状態(State)」「行動(Action)」「報酬(Reward)」「次の状態(State)」「次の行動(Action)」の頭文字に由来する。Q学習がオフポリシー型であるのに対し、SARSAはオンポリシー型と分類され、現在の方策に従って学習を進めるため、探索を含む方策の安定性に強みを持つ。
ポイントは「更新に何を使うか」の一点に集約されます。Q学習もSARSAも、行動の良さを表すQ値を経験から少しずつ更新していく点は同じです。違うのは、次の状態の価値を見積もるときに、Q学習は「取りうる行動の中で最大のQ値」を使うのに対し、SARSAは「実際に次に選んだ行動のQ値」を使うことです。この小さな違いが、オンポリシー/オフポリシーという分類の違いにつながります。
🔍 しっかり理解する
名前がそのまま更新手順を表している
SARSAという名前は、1回の更新に使う5つ組「状態(State)→行動(Action)→報酬(Reward)→次の状態(State)→次の行動(Action)」の頭文字を並べたものです。つまり名前自体が「何を材料にQ値を更新するか」の説明になっています。
更新式をプレーンテキストで書くと次のとおりです(αは学習率、γは割引率)。
SARSA: Q(s, a) ← Q(s, a) + α × ( r + γ×Q(s', a') − Q(s, a) )
Q学習: Q(s, a) ← Q(s, a) + α × ( r + γ×max_a' Q(s', a') − Q(s, a) )
違いは1か所だけで、次の状態s'の価値としてSARSAは「実際に選んだ次の行動a'のQ値」を、Q学習は「s'で取りうる最大のQ値」を使います。
オンポリシーとオフポリシー
この更新式の違いは、学習の性格の違いとして「オンポリシー/オフポリシー」という言葉で整理されます。SARSAはオンポリシー型で、いま自分が従っている方策(たとえば、たまにランダムな探索行動を混ぜるε-greedy方策)が実際に生み出す行動を、そのまま学習の材料にします。自分の振る舞いと学習対象が一致しているため、探索を含む方策の安定性に強みがあります。
一方Q学習はオフポリシー型で、実際の行動はε-greedyで選びつつ、更新には「常に最大のQ値を選ぶ理想の方策」を仮定した値を使います。行動する方策と評価する方策が分離しているのが特徴です。
- 実際に選択した次の行動のQ値で更新
- 行動する方策と学習する方策が同じ
- 探索を含む方策の安定性に強み
- 探索中の失敗も織り込んだ堅実な価値評価
- 次の状態で取りうる最大のQ値で更新
- 行動する方策と評価する方策が別
- 理想の(貪欲な)方策の価値を直接学ぶ
- 探索のリスクは更新値に反映されにくい
なぜSARSAは「安定」なのか
SARSAは探索でたまたま悪い行動を取った経験も、そのままQ値に反映します。つまり「探索しながら動く自分」の実力を正直に評価するため、探索中に危険な状態へ近づくとその周辺の価値が下がり、方策全体として危険を避ける安定した振る舞いになりやすいのです。Q学習は「次は最善手を打つはず」という前提で評価するため、探索中の失敗リスクが更新値に表れにくいという対比で理解できます。
💡 具体例で考える
強化学習の教科書でよく使われる「崖歩き(Cliff Walking)」という課題で、両者の性格の違いがはっきり現れます。スタートからゴールまで格子状の世界を歩くのですが、最短経路は崖のふちギリギリを通っており、探索でランダム行動が出ると崖に落ちて大きなマイナス報酬を受けます。
Q学習は「次は最大のQ値の行動を取る」前提で更新するため、崖のふちの最短経路を高く評価しがちです。一方SARSAは、探索行動で実際に崖に落ちた経験がふち沿いのQ値を引き下げるため、崖から一歩離れた安全な経路を学習する傾向があります。ε-greedyで動き続ける限り、実際の成績はSARSAの安全経路の方が安定しやすい——これが「探索を含む方策の安定性に強みを持つ」の具体的な意味です。
⚠️ よくある誤解・紛らわしい用語
- 「SARSAは方策ベースの手法」ではない: SARSAは価値関数(Q値)を学習する価値ベースの手法です。方策勾配法(REINFORCEなど)のように方策そのものを直接最適化する手法とは系統が異なります。
- Q学習との違いの取り違え: 「最大のQ値で更新するのがSARSA」は逆です。maxを使うのがQ学習、実際に選んだ行動のQ値を使うのがSARSAです。
- オンポリシー/オフポリシーの対応の逆転: SARSAがオンポリシー型、Q学習がオフポリシー型です。この対応を入れ替えた誤答選択肢は定番なので注意しましょう。
- 名前の由来: SARSAはState, Action, Reward, State, Actionの頭文字であり、人名や地名ではありません。更新に使う5つ組そのものを指しています。
📝 試験でのポイント
- 「Q学習は次の状態の最大のQ値、SARSAは実際に選択した行動のQ値で更新する」という違いは最重要の出題ポイントです。
- 「SARSAはオンポリシー型、Q学習はオフポリシー型」という分類の組み合わせを問う形式が想定されます。
- 名称の由来(State・Action・Reward・State・Action)を選ばせる問題も考えられます。
- 「現在の方策に従って学習するため、探索を含む方策の安定性に強みを持つ」という長所の記述にも目を通しておきましょう。
📚 まとめ
SARSAは、Q学習と並ぶ価値関数ベースの代表的な強化学習アルゴリズムです。名前は更新に使う「状態・行動・報酬・次の状態・次の行動」の頭文字に由来します。Q学習が次の状態の最大Q値で更新するオフポリシー型なのに対し、SARSAは実際に選んだ行動のQ値で更新するオンポリシー型で、探索を含む方策の安定性に強みがあります。「maxを使うか、実際の行動を使うか」——この一点を軸に両者を対比して覚えましょう。
