TD誤差とは、強化学習において現在の状態や行動の価値の予測値と、実際に行動して得られた即時報酬および次の状態の予測価値から計算される目標値との差分です。エージェントはこの誤差を手がかりに価値関数を逐次更新し、環境内での最適な行動方針を効率的に学習します。
TD誤差とは
TD誤差(時間差分誤差)とは、強化学習において「現時点での価値の予測」と「一歩進んだ後に得られた新しい情報に基づく予測」の間のズレを表す指標です。
詳しく解説
強化学習では、将来得られる報酬の合計を予測する価値関数を正確に推定することが目標となります。TD誤差は、現在の予測値と、実際に行動して得た即時報酬に割引率を掛けた次の状態の予測価値を足し合わせた値との差として計算されます。この計算はベルマン方程式を基礎としており、エピソードが最後まで終了するのを待たずに、1ステップ進むごとに誤差を求めて学習を進められる点が大きな特徴です。TD誤差を用いることで、リアルタイムかつ効率的なモデル更新が可能になります。
具体例・使われ方
例えば迷路を解くロボットの学習において、あるマスから次のマスに移動した際に、移動直後に判明した新しい状況を踏まえて「前のマスにいた時の予測がどれくらい甘かったか、あるいは厳しすぎたか」をTD誤差として算出します。Q学習をはじめとする代表的なアルゴリズムでは、このTD誤差に学習率を掛けてQ値を更新していきます。
似た用語との違い
TD誤差を利用するTD学習とモンテカルロ法との最大の違いは、更新を行うタイミングと情報源にあります。モンテカルロ法はエピソードが最後まで完了した後に実際の総報酬を用いて予測を更新しますが、TD学習は次のステップの予測値を用いてその場で即座にTD誤差を計算し、途中で更新を行います。
注意点
TD誤差を用いた学習は、次の状態の「不完全な予測値」を使って現在の予測値を更新するブートストラップ手法を採用しているため、初期段階ではバイアス(偏り)が生じやすくなります。また、学習率の設定が適切でない場合、予測値が発散したり学習が不安定になったりする点に注意が必要です。