TD学習完全ガイド:TD(0)・TDλ・SARSA・Q-learningの原理と安定化実践まで解説

はじめに — TD学習とは何か

TD(Temporal Difference)学習は、強化学習(Reinforcement Learning; RL)における中心的な学習手法の一つで、時系列的に得られる報酬情報を使って価値関数(Value function)を逐次更新するアルゴリズム群を指します。TDはモンテカルロ法と動的計画法(DP)の利点を組み合わせたもので、「ブートストラップ(bootstrapping)」と呼ばれる手法で将来の推定値を現在の推定更新に利用します。実装が比較的簡単で計算効率も高く、特にオンライン学習や連続的な試行で広く使われています。

TD学習の基本的な考え方

強化学習では、ある状態sにおける価値V(s)を推定することが重要です。TD学習は、時刻tに状態s_tから行動をとって次の状態s_{t+1}および報酬r_{t+1}を観測したとき、次のような「TD誤差(TD error)」を計算して価値推定を更新します。

  • TD誤差: δ_t = r_{t+1} + γ V(s_{t+1}) − V(s_t)
  • 更新則(TD(0)): V(s_t) ← V(s_t) + α δ_t

ここでαは学習率、γは割引率です。重要なのは、報酬と次状態の現在の価値推定(V(s_{t+1}))を使って更新する点で、これが「ブートストラップ」に相当します。モンテカルロ法はエピソードが終わるまで待って総報酬を計算するのに対し、TDはひとつ先の推定をすぐ使えるため、エピソード途中での更新やオンライン処理に適しています。

代表的なTDアルゴリズム

TDには評価(policy evaluation)用と制御(policy control)用のアルゴリズムがあります。代表的なものは次の通りです。

  • TD(0): 直接的な1ステップのブートストラップ更新(上で示したもの)。
  • TD(λ): λ(0≤λ≤1)を使ったエレジビリティトレース(eligibility traces)を導入し、複数ステップの情報を効率的に組み合わせる手法。λ→0でTD(0)、λ→1でモンテカルロに近づきます。
  • SARSA: オンポリシーのTD制御。状態s, 行動aを使う時にQ値を更新する。更新項はr + γ Q(s',a') − Q(s,a)(次に選択した実際の行動a'を使う)。
  • Q-learning: オフポリシーのTD制御。次状態での最大Q値を用いるため、Qの更新はr + γ max_{a'} Q(s',a') − Q(s,a)となる。方策改良により最適方策に収束することが示されている(離散・表形式などの条件下)。

TD(λ)とエレジビリティトレース

TD(λ)は「エレジビリティトレース」という仕組みを通じて、過去に訪れた状態(あるいは状態-行動対)に対し、将来のTD誤差を遡及的に割り当てる手法です。これにより、1ステップ更新(TD(0))と完全なモンテカルロ手法の中間的な性質を持ち、バイアスと分散のトレードオフを調整できます。

エレジビリティトレースの簡単な実装:各時刻でトレースをγλで減衰させ、現在訪問したインデックスのトレースを1(または1にインクリメント)にしておき、それぞれのトレースに対してTD誤差を掛けて更新を行う。TD(λ)には「前方視点(forward view)」と「後方視点(backward view)」の二つの理論的視点があり、適切な条件下で等価です。

TDの長所と短所(バイアス・分散・効率)

  • 長所
    • オンラインで逐次更新できるためメモリ効率がよい。
    • エピソードを最後まで待たずに学習でき、収束速度が速い場合が多い。
    • TD(λ)でバイアスと分散のトレードオフを制御できる。
  • 短所
    • ブートストラップのため推定にバイアスが入りやすい。
    • 関数近似やオフポリシー学習との組合せで不安定・発散することがある(後述の「致命的三位一体」)。

関数近似とTD — 安定性の問題

現実的な問題では状態空間が大きいため、価値関数をテーブルで持つことは難しく、関数近似(線形近似やニューラルネットワーク)を用います。関数近似とTDの組み合わせは計算効率を大きく改善しますが、次の重要な問題が生じます。

  • 線形関数近似+オンポリシー+TD(0)の下では収束性が示されている(Tsitsiklis & Van Roy, 1997)。
  • しかしオフポリシー学習(行動方策と評価方策が異なる)や非線形近似(深層ネットワーク)とブートストラップを同時に用いると発散する可能性があることが、Baird(1995)などで報告されている。
  • Sutton & Barto が指摘する「致命的三位一体(deadly triad)」は、(1)関数近似、(2)オフポリシー学習、(3)ブートストラップの組合せが不安定性を引き起こすことを示す概念です。

実践上の工夫 — 安定化と性能向上のために

深層強化学習の文脈でTDベース手法を安定化させるために多くの工夫が導入されています。代表的なもの:

  • 経験再生バッファ(Experience Replay):過去の遷移をランダムサンプリングして相関を低減。
  • ターゲットネットワーク(Target Network):ターゲットの価値推定を遅延更新して学習の振動を抑える(DQNで採用)。
  • 重要度重み付け(Importance Sampling)や偏り補正:オフポリシー学習での分布ずれを補正。
  • 正規化・クリッピング・学習率スケジューリング:勾配爆発や発散の抑制。
  • アクター・クリティック(Actor-Critic)構造:方策(アクター)と価値(クリティック)を分離し、それぞれを別々に学習する。

TDを用いた代表的アルゴリズムと用途

TDの思想は多くのアルゴリズムの基礎になっています。以下は実用でよく見かける例です。

  • DQN(Deep Q-Network):Q-learningの深層化。経験再生とターゲットネットワークを導入して安定化。
  • SARSAやSARSA(λ):オンポリシー学習。安全性や方策の探索特性が重要な場合に有利。
  • TD学習を用いるポリシー評価は、政策反復(policy iteration)や価値反復(value iteration)の近似実装の基礎。
  • アクター・クリティック系(A2C、A3C、PPOなど):クリティックにTD誤差を使うことが多く、高次元連続空間での学習に強い。

収束性に関する補足(理論的結果)

理論的には、以下のような結果や注意点があります。

  • 表形式(タブラー)かつオンポリシーの設定では、TD(0)は適切な学習率条件(Robbins–Monro条件)下で収束する。
  • Q-learning(オフポリシー)は離散状態空間・行動空間の下で適切な探索(すべての状態行動対が無限回訪問される等)と学習率条件が満たされれば、最適Qに収束することが示されている(Watkins & Dayan)。
  • 関数近似を含む場合の収束性は条件が厳しく、線形近似のオンポリシーTDはTsitsiklis & Van Royによる収束結果がある一方、オフポリシーでは発散例が存在する(Baird等)。

具体的な例(短い擬似コード)

TD(0)の簡単な擬似コードイメージ(価値関数Vをテーブルで表す場合):

  • Initialize V(s) arbitrarily for all s
  • for each episode:
    • initialize s
    • while s not terminal:
      • take action according to policy, observe r, s'
      • δ = r + γ V(s') − V(s)
      • V(s) ← V(s) + α δ
      • s ← s'

SARSAやQ-learningではVではなくQ(s,a)を更新し、次状態で実際に選択した行動または最大の行動価値を使う点が異なります。

実務上のアドバイス

  • まずは表形式や簡単な環境でTD(0)/TD(λ)/SARSA/Q-learningを実装して挙動を理解する。
  • 関数近似(特にニューラルネット)を使う場合は経験再生・ターゲットネットワーク・学習率制御などの安定化策を組み合わせる。
  • オフポリシー学習では重要度サンプリングや(可能なら)オンポリシー手法を検討する。致命的三位一体に注意。
  • ハイパーパラメータ(α, γ, λ)の感度が高いのでクロスバリデーションや逐次調整を行う。

まとめ

TD学習は強化学習における基本中の基本であり、オンライン更新・ブートストラップ・エレジビリティトレースなどの概念を通じて現実的な環境での効率的な学習を可能にします。一方で、関数近似やオフポリシー学習との組合せでは安定性問題が生じ得るため、それを回避するための実装上の工夫が重要です。深層強化学習の多くの成功例もTDの発展形に依るところが大きく、TDの理解は応用や研究の基盤になります。

参考文献