TD学習

Temporal Difference Learning

TD学習とは

TD学習(Temporal Difference Learning、時間差分学習)とは、経験の各ステップで価値関数を逐次的に更新する強化学習の基本的なアプローチです。モンテカルロ法のようにエピソード完了を待たず、動的計画法のようにブートストラップ(次の状態の推定値を利用)を行う点が特徴です。

TD(0)の更新則

最も基本的なTD(0)の更新式は V(s) ← V(s) + α[r + γV(s') - V(s)] です。r + γV(s')をTDターゲット、r + γV(s') - V(s)をTD誤差(TD error)と呼びます。TD誤差は「予想していた価値と実際に得た報酬+次の推定値との差」を表し、この差を縮めるよう価値を更新します。

モンテカルロ法との比較

モンテカルロ法はエピソード終了後の実際のリターンで更新するためバイアスがありませんが、バリアンスが大きいです。TD学習はブートストラップによりバイアスが生じますが、バリアンスが小さく1ステップごとに更新できます。この特性により、TD学習は連続タスクやエピソードが長い問題で特に有効です。

TD(λ)と適格度トレース

TD(λ)はTD(0)とモンテカルロ法を連続的に補間する手法で、λ=0がTD(0)、λ=1がモンテカルロ法に対応します。適格度トレース(Eligibility Trace)を用いることで効率的に計算でき、λの値でバイアスとバリアンスのトレードオフを調整できます。