SARSA法(State–Action–Reward–State–Action)はマルコフ決定過程でのポリシーを学習するためのアルゴリズムであり、機械学習のサブカテゴリーである強化学習の分野で使われる。RummeryとNiranjanのテクニカルノート[1]の中で、「Modified Connectionist Q-Learning(MCQ-L, 修正コネクショニストQ学習)」という名前で提案された。リチャード・サットンにより提案された、「SARSA」という名前は、脚注で言及されるに留まった。
このネーミングは、行動価値関数Qの更新アルゴリズムが、現在の状況
、現在の行動
、行動による報酬
、次の状態
、その状態で選ぶ行動
の5つ組で決まることに由来する。一般化すると、
である[2]。なお、
は報酬の定義によっては、
とも書かれるが、リチャード・サットンの『強化学習(第2版)』の表記法に合わせた[3]。
アルゴリズム
状態
のエージェントが行動
を選び、報酬
を得て、状態が
に遷移し、その次の行動が
だとする。このとき行動価値関数
を次の式で更新する。
は
に近づくように学習される。
![{\displaystyle Q(S_{t},A_{t})\leftarrow (1-\alpha )Q(S_{t},A_{t})+\alpha \left[R_{t+1}+\gamma \,Q(S_{t+1},A_{t+1})\right]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6f28b73fae7ec93fbeda455d519eab47705f6294)
SARSAでは、エージェントは環境と相互作用し、行われた行動ベースでポリシーを更新する。そのため、オンポリシー型の学習アルゴリズムである。
学習率
は、古い情報を、新しく獲得した情報によってどの程度上書きするかを決定する。0にすれば、エージェントは何も学ばないし、1にすれば、最近の情報だけを近視眼的に考慮するようになる。
割引率
は、将来の報酬の重要度を決定する。0にすれば、エージェントは日和見主義的、近視眼的[4]になる。要するに、現在の報酬だけを考慮するようになる。1に近づければ、長期的視野で高い報酬を求めるようになる。1にしたり、1を超えたりすると、Q値は発散してしまう可能性がある。
関連項目
出典