SARSA(State-Action-Reward-State-Action)は、オンポリシー(on-policy)型のモデルフリー強化学習アルゴリズムです。これは、エージェントが現在の方策(policy)に従って行動しながら、その方策に基づいて状態-行動の価値関数(Q関数)を更新していく手法です。
1. 基本の概念
SARSAは次のような5つの要素の頭文字を取ったものです:
-
S:現在の状態(State)
-
A:現在の行動(Action)
-
R:報酬(Reward)
-
S’:次の状態(Next State)
-
A’:次の行動(Next Action)
この流れに沿って、Q値を更新していきます。
2. SARSAのQ値更新式
SARSAの価値関数(Q関数)の更新式は次のようになります:
各記号の意味
-
:現在の状態 と行動 のQ値
-
:学習率(learning rate)
-
:遷移後に得られる報酬
-
:割引率(discount factor)
-
:次の状態・次の行動のQ値(方策に基づく)
3. オンポリシーの特徴
SARSAは「現在の方策に従った行動の結果を使って学習」します。
例えば、ε-greedy方策を使って行動選択している場合、学習時にもそのε-greedy方策に従って選んだ行動 を用いてQ値を更新します。これにより、方策に忠実な行動を学習していくという特徴があります。
4. SARSAの流れ(擬似コード)
5. SARSAとQ学習との違い
| 項目 | SARSA(オンポリシー) | Q学習(オフポリシー) |
|---|---|---|
| 更新に使う行動 | 方策に従って選んだ行動 | 最大値を与える行動(greedy行動) |
| 特徴 | 方策に沿った行動を忠実に学習 | 最適行動の価値を学習(方策とは独立) |
| 方策のタイプ | ε-greedy など任意の方策が反映される | 方策に関係なく最適解を目指す |
6. まとめ
SARSAは以下のような特徴を持ちます:
-
モデルフリー:遷移確率や報酬モデルを必要としない
-
オンポリシー:現在の方策に従って行動し、その結果を学習に利用
-
実際の行動に忠実な学習:安全性や安定性が求められる場面に適している
生成日:2025/06/01