時間差学習(TD学習)の基礎と実践:TD(0)・TD(λ)からQ-learning・DQNまでの理論と応用

概要

「時間差学習(時間差法、Temporal Difference learning、TD学習)」は、強化学習(Reinforcement Learning)における代表的な価値推定手法の一つです。エージェントが環境を試行錯誤しながら得た逐次的な報酬情報を用いて、将来の報酬の期待値(価値関数)を逐次的に更新します。モンテカルロ法のサンプルベースの更新と動的計画法のブートストラップ(既存の価値推定の再利用)を組み合わせた特徴を持ち、実用的かつ理論的にも重要な位置を占めます。

基本概念と直感

強化学習では通常、ある状態sにいるときに期待される累積報酬を価値関数V(s)として扱います。時間差学習の核心は「一歩先(あるいは複数ステップ先)の推定値との差(=時間差誤差、TD error)を使って現在の推定を修正する」ことです。

  • TD誤差 δ_t = r_{t+1} + γ V(s_{t+1}) − V(s_t)。ここで r_{t+1} は次の報酬、γ は割引率。
  • 更新則(TD(0)): V(s_t) ← V(s_t) + α δ_t。αは学習率。

直感的には、次時刻の推定(V(s_{t+1}))を利用することで、エピソード終端を待たずに逐次的に学習でき、サンプル効率が良くオンライン適応にも向きます。

主要アルゴリズム(TD(0), TD(λ))

代表的なアルゴリズムを簡潔に示します。

  • TD(0): 1ステップのTD誤差で更新する最も基本的なTD法。即時の1ステップ先の推定を用いる。
  • n-step TD: nステップ分の実際の報酬とnステップ先の価値推定を組み合わせて更新する。TD(0)とモンテカルロの中間。
  • TD(λ): 1ステップ〜∞ステップの更新を指数的に混合する方法。λ∈[0,1]で遡及度合いを調節。λ→0でTD(0)、λ→1でモンテカルロに近づく。一般にEligibility Trace(適格トレース)を用いて実装する。

TD(λ)の更新(エピソード途中の online 実装)は次のように表現できます(簡略):

e(s) ← γλ e(s) + 1  (現在の状態のトレースを増加)
V(s) ← V(s) + α δ_t e(s)  (全状態のトレースに従って分配更新)

モンテカルロ法・動的計画法との比較

  • モンテカルロ(MC): エピソード終端までサンプルを待ち、実際の累積報酬で価値を更新。分散は高いがバイアスは少ない(無偏)。
  • 動的計画法(DP): 環境モデルが既知ならばベルマン方程式を用いた完全バックアップで学習。モデルが必要。
  • TD学習: モデル不要で逐次的に更新でき、MCより早く収束することが多い(バイアスと分散のトレードオフ)。MCとDPの利点を兼ね備える。

TD学習の理論的性質・収束

代表的な理論結果は次の通りです。

  • タブラ(状態が有限でテーブル形式)の政策評価問題において、適切な学習率スケジュールを用いればTD(0)は収束する(Suttonの結果やTsitsiklis & Van Royの解析)。
  • 関数近似(特に非線形近似、例:ニューラルネット)を組み合わせた場合、TDの更新が発散する可能性がある(代表例: Bairdの反例)。そのため安定化技術(経験再生、ターゲットネットワーク、重要度サンプリング等)が必要。
  • オフポリシー学習(行動方策と評価方策が異なる)では通常のTDはバイアスや発散問題を引き起こしやすく、重要度修正や特殊アルゴリズム(Q-learning、GQ(λ)など)が使われる。

TDとQ学習・SARSA、深層強化学習との関係

TDは価値関数の逐次更新という考え方の核であり、多くのアルゴリズムの基礎になっています。

  • SARSA: オンポリシーのQ値TD版。Q(s,a)をTD誤差 r + γ Q(s',a') − Q(s,a) で更新する。
  • Q-learning: オフポリシーのTD法で最適Q値を目指す。TD誤差は r + γ max_{a'} Q(s',a') − Q(s,a)。タブラ型では収束が証明されている。
  • DQN(Deep Q-Network): Q学習の深層化。TD誤差を損失としてニューラルネットを学習させる。経験再生・ターゲットネットワーク等でTD学習の不安定性を抑えている(Mnih et al., 2015)。

実装上のポイントとハイパーパラメータ

実用で注意すべき点を列挙します。

  • 学習率 α: 大きすぎると発散、小さすぎると遅い。減衰スケジュールも検討。
  • 割引率 γ: 将来の報酬の重み。タスクに応じて0.9〜0.999などを試す。短期報酬優先なら小さく。
  • λ(TD(λ)): 0に近いとバイアスは小さく安定、1に近いと分散が増えるが長期依存を学べる。中間値(0.7〜0.9)を試すことが多い。
  • オフポリシー時の補正: 重要度サンプリングや別アルゴリズムを利用。
  • 関数近似: 線形基底なら理論保証がある条件下で安定。一方、非線形(NN)は経験再生・ターゲット等で安定化。

実際の応用例

  • ゲームプレイ(Atariなど): DQNはTD誤差を最小化する形で学習し、高得点を達成。
  • ロボティクス: オンラインでの方策評価や価値関数学習にTDを利用。
  • 推薦システムや広告配信: 逐次的な報酬を扱う場面で未来の価値推定にTDを活用。
  • 経済学・運用研究: 時系列意思決定問題での価値学習。

長所・短所とよくある落とし穴

  • 長所: オンライン更新が可能でサンプル効率が高い。モデル不要で幅広い応用。
  • 短所: 関数近似やオフポリシーでは不安定化しやすい。ハイパーパラメータに敏感。
  • 落とし穴: 学習率やλの設定ミス、非線形近似での直接適用、経験バイアスの放置など。

まとめ

時間差学習は強化学習における基礎的かつ強力な考え方で、モンテカルロ法と動的計画法の良いとこ取りをした手法です。TD(0)、TD(λ)、およびそれを核としたQ-learningやSARSA、DQNなどは、理論・実務の両面で広く使われています。一方で、関数近似やオフポリシー学習における不安定性や収束性の問題には注意が必要で、安定化のための実装テクニックや理論的理解が重要になります。

参考文献