強化学習:TD学習

環境モデルがない場合に、エピソード全期間を通じて、状態価値とポリシーを更新していくモンテカルロ法とは違い、エピソードが終わるのを待たずにシミュレートからの経験学習を推定価値の更新に使用するのがTemporal Difference学習法である。
 エピソード終了時を$${T}$$と書き、時刻$${t}$$から終了時刻$${T}$$までの利得を$${G_{t:T}}$$と書けば、前記事のFVモンテカルロ法での状態価値の更新は、
$${\nu_{new}(S_t)=\nu(S_t) + \alpha(G_{t:T}-\nu(S_t))}$$
となる。
 TD学習は、エピソードが終わるのを待たないので、考慮に入れる時刻を$${n}$$時間ステップ後とすると、
$${\nu_{new}(S_t)=\nu(S_t) + \alpha(G_{t:t+n}-\nu(S_t))}$$
で状態価値を更新する。
 ここで、時刻$${t}$$から時刻$${t+1}$$までの利得は、$${t}$$での即時報酬と以後の状態価値の割引率との和で、以下のように定義される。
$${G_{t:t+1}\stackrel{\text{def}}{=}R_{t+1}+ \gamma\nu(S_{t+1})}$$
 故に、$${t+n \lt T}$$と、$${t+n \ge T}$$で利得は
$${G_{t:t+n} = \left\{\begin{array}{ll} R_{t+1} + \gamma R_{t+2} + \cdots + \gamma^{n-1}R_{t+n}+\gamma^n \nu(S_t+n)& (t+n \le T)\\G_{t:T} & (t+n ≥ T)\end{array}\right.}$$
と与えられる。

TD学習でのポリシーの最適化は、行動価値関数の更新で行われるが、行動を決定するポリシーと行動価値関数の更新するポリシーが同じであるOn-Policyコントロールと、ポリシーが選択する行動以外にも最適な行動があると仮定して更新するOff-Policyコントロールの2種類がある。
 On-Policyコントロールは、以下のように行動価値関数を更新する。
$${ q(S_t, A_t)_{new}=q(S_t, A_t) + \alpha\left[R_{t+1} + \gamma q(S_{t+1}, A_{t+1})- q(S_t, A_t) \right] }$$
この更新は、状態$${S_t, S_{t+1}}$$と行動$${A_t, A_{t+1}}$$、報酬$${R_{t+1}}$$に依存しているので、SARSAとも呼ばれる。
 Off-Policyコントロールは、行動価値関数を最大にする行動を更新式に入れて行う。
$${q(S_t, A_t)_{new}=q(S_t, A_t) + \alpha\left[R_{t+1} + \gamma \text{max}_a q(S_{t+1}, a)- q(S_t, A_t) \right]}$$
 この$${ \text{max}_a q(S_{t+1}, a)}$$により、行動価値の小さい行動は考慮に入りにくいことに注意する必要がある。
 これをQ学習と呼ぶ。

この記事が気に入ったらサポートをしてみませんか?