TD学習の名前の由来と時間差による価値更新の仕組みを初心者向けに解説

こんにちは。ゆうせいです。

人工知能や制御工学の分野では、試行錯誤を通じて最適な判断基準を機械自身に獲得させる強化学習という手法が利用されています。ゲームの自動操作やロボットの姿勢制御など、未来の成果を見据えて行動を選択する技術です。強化学習において、状態の良し悪しを評価する数値を段階的に更新する基礎手法として知られているアルゴリズムがTD学習です。今回は、TD学習という名称の由来や処理の仕組み、確認できる長所と短所について解説します。

TD学習という名称の由来

TD学習は、英語の Temporal Difference learning を日本語へ翻訳した用語です。直訳すると「時間差分学習」となります。

名称を構成する単語を分解して確認すると、計算の特徴が分かります。

Temporal(時間の)の意味

テンポラルという単語は、時間の経過や時間的な前後関係を指します。1ステップ前と1ステップ後というように、時間の推移に伴う状態の変化を扱っていることを表します。

Difference(差分)の意味

ディファレンスという単語は、2つの数値の間にある引き算の残りや差額を指します。ある時点で予測した将来の価値と、少し時間が進んだ次の時点で改めて予測した将来の価値との間にあるズレを意味します。

時間経過に伴って生じる2つの予測値の差分(Temporal Difference)を手がかりにして数値を修正していく手法であることから、頭文字をとってTD学習と命名されました。この概念は1988年にリチャード・サットン(Richard Sutton)氏の論文によって体系化されました。

天気予報の修正を例にした比喩

TD学習の予測修正の考え方を理解するために、週末の天気を予測する場面を例に考えてみます。

別の手法であるモンテカルロ法は、月曜日に「土曜日は晴れる」と予測した場合、土曜日の夜になって実際の天気が完全に判明するまで手帳の記録を一切修正しません。最後まで結果を見届けた上で、予測の成否を一度に振り返る方法です。

これに対してTD学習は、火曜日や水曜日の段階で空模様を見て細かく修正を加える方法をとります。月曜日の予測値と、火曜日になって少し情報が増えた状態での予測値との間に生じた「時間差のズレ」を計算し、土曜日を待たずに月曜日の予測精度をその場で引き上げます。直近の1歩進んだ段階での新しい見込みを手がかりにして、手前の予測値を段階的に手直しする仕組みです。

TD誤差と価値関数の更新式

TD学習は、実際に得られた即時報酬と次の状態の予測価値を足し合わせ、現在の状態価値との差額を算出します。この差額をTD誤差と呼びます。

TD誤差の定義

時刻 t における状態 s_t から行動を起こし、報酬 r_{t+1} を得て次の状態 s_{t+1} へ遷移した際のTD誤差 delta_t は、次のように定義されます。

TD誤差の計算式

\delta_{t} = r_{t+1} + \gamma V(s_{t+1}) - V(s_{t})

数式内の記号には以下の意味があります。

  • r_{t+1} は、状態遷移の直後に環境から得られた即時報酬を表します。
  • gamma は割引率を表し、0以上1以下の範囲で設定されます。将来得られる報酬を現時点でどれくらい重視するかを調整する数値です。
  • V(s_{t+1}) は、遷移先の状態 s_{t+1} における将来の合計報酬の予測値を表します。
  • V(s_{t}) は、遷移前の状態 s_t における事前の予測値を表します。

右辺の先頭にある「即時報酬と割引された次の状態価値の和」は、1ステップ進んだことで得られた新しい目標値です。この目標値から古い予測値 V(s_t) を差し引くことで、予測のズレを数値化します。

状態価値関数の更新手順

算出したTD誤差に学習率 alpha を掛け合わせ、現在の状態価値 V(s_t) に足し込むことで数値を修正します。

状態価値の更新式

V(s_{t}) \leftarrow V(s_{t}) + \alpha \delta_{t}

学習率 alpha は0より大きく1以下の値であり、新しい情報をどれくらいの割合で反映させるかを決定します。この反復計算を繰り返すことで、各状態の真の価値へと数値を近づけていきます。

TD学習のメリット

TD学習を採用することによって確認されている具体的な長所には、以下の項目が挙げられます。

  • 途中段階での逐次更新:一連の試行が最後まで終了する(エピソードが完結する)のを待つ必要がなく、行動を1ステップ進めるごとに価値を更新できるため、終わりがない継続的なタスクにも適用できます。
  • 推定値の分散の抑制:最終結果までの累積報酬を直接使う手法と比較して、直近の1ステップの報酬と次の状態の推定値のみを利用するため、確率的なばらつき(分散)が小さく安定した更新が行えます。
  • 環境モデルの事前知識が不要:状態遷移確率や報酬関数の厳密な数式が事前に判明していなくても、環境との相互作用から得られるサンプリングデータのみを用いて学習を進められます。

TD学習のデメリット

一方で、TD学習を運用する際には以下のような短所も存在します。

  • 初期推定値の偏りの影響:次の状態の価値推定値を用いて現在の価値を更新する仕組み(ブートストラップ方式)をとるため、学習初期に推定値が大きく偏っている場合、その誤った偏りが手前の状態の更新にも伝播します。
  • 大域的な最適化の遅れ:直近の1ステップの情報のみを局所的に反映させていくため、ゴール付近で得られた報酬の情報が遠く離れたスタート地点付近の状態まで浸透するまでに、多くの試行回数を要します。
  • テーブル表現における状態数の限界:状態の数をマス目で管理する基本的なTD学習では、扱う状態の組み合わせが増大した際にメモリ容量と反復計算時間が大幅に増加します。

まとめと次の学習ステップ

TD学習は、時間的な経過に伴って生じる2つの予測値の差分(Temporal Difference)を利用して価値を更新する計算規則に由来して命名されました。最終的な結果を待たずに各ステップの推移ごとに価値を修正できる特性により、強化学習の根幹を成す技術として定着しています。

TD学習の理解を深めるための学習ステップは以下の通りです。

  1. 状態、行動、報酬の関係性を規定するマルコフ決定プロセスの基本構造を整理する。
  2. 最終結果が出るまで待ってから平均をとるモンテカルロ法と、1ステップごとに更新するTD学習の計算手順を簡単な数値例で比較する。
  3. 直近の1ステップだけでなく、複数ステップ先までの差分をまとめて反映させるTD(lambda)法と適格度トレースの仕組みを学ぶ。
  4. TD学習の考え方を行動の価値評価へと拡張したSARSA(方策オン型)やQ学習(方策オフ型)のアルゴリズムへと学習を進める。
  5. 状態価値の近似計算にニューラルネットワークを組み合わせた深層強化学習モデルの構造を確認する。

時間差による予測の修正という基本原理を順序立てて把握しておくことで、現代の強化学習アルゴリズム全般の価値更新の枠組みについても明確に理解できるようになります。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。