TD誤差 (Temporal Difference Error)
解説
TD誤差(Temporal Difference Error)とは、強化学習において「AIの予測が、実際の結果とどれくらいズレていたか」を表す数値です。このズレを修正していくことこそが、強化学習における「学習」そのものです。
直感的な例:レストランの待ち時間
TD誤差は、私たちの日常的な「学習」と同じプロセスです。
- 予測(Before):人気ラーメン店に行列ができている。「うーん、30分待ちかな(現在の価値予測)」と思って並び始めた。
- 行動と結果(Action & Reward):実際に並んでみたら、意外と回転が速く、10分で入店できた。
- ズレの認識(TD誤差):「30分だと思ったのに、実際は10分だった(=予測より20分も早かった!)」
→ TD誤差 = 実際(10分) - 予測(30分) = -20分 - 学習(Update):「この店は行列の見た目より回転が速いんだな」と認識を改める(価値関数の更新)。
もし予想通り30分待ちだったら、TD誤差は0になり、「認識を改める(学習する)」必要はありません。「予想外のこと(誤差)」が起きた時だけ、人は賢くなるのです。
数式のイメージ
強化学習では、以下の式で表されます。
TD誤差 = ( 報酬 + 次の状態の価値 ) − 現在の状態の価値
- ( 報酬 + 次の状態の価値 ): 実際に行動してみて判明した「真の価値」(現実)。
- 現在の状態の価値: 行動する前に思っていた「見積もり」(予測)。
G検定対策
出題ポイント
- 定義:「予測値(見積もり)」と「実測値(報酬+次の予測)」の差。
- 役割:この誤差を「0に近づける」ように学習が進む。誤差が大きいほど、大きく学習(修正)する。
- 適用:Q学習、SARSA、Actor-Criticなど、多くの強化学習アルゴリズムの根幹となっている。
よくあるひっかけ問題
- × TD誤差が大きいほど、AIは優秀である
(解説)逆です。TD誤差が大きいということは「予測が外れている(未熟)」ということです。学習が進むにつれて、TD誤差は小さく(ゼロに近く)なっていきます。 - × TD誤差は、教師あり学習の「正解ラベルとの誤差」と同じである
(解説)似ていますが違います。教師あり学習には絶対的な「正解」がありますが、強化学習のTD誤差は「次の瞬間の自分の予測」を正解の代わり(ターゲット)として使う、ブートストラップ的な手法です。
