compcogneuro 翻訳ページ

compcogneuro/sims: TD をネットワークにマッピングする

このページは外部資料の日本語訳です。原文の見出し順と本文順を保ち、コード・URL・出典表記はできるだけ原形のまま残しています。

種別

翻訳資料

更新日

2026-05-20

対象

外部資料を日本語で原文順に読みたい読者

目安

原文量に依存

確認メモ

機械翻訳をベースにした日本語訳です。実装手順や引用は必ず原典も確認してください。

出典とライセンス

原典: https://github.com/compcogneuro/sims/blob/main/ch8/rl/README.md

ライセンス: BSD 3-Clause。このページは日本語翻訳であり、変更点は翻訳とサイト内整形です。

シミュレーションに戻る

# 導入

このシミュレーションでは、いくつかの基本的なパブロフ条件付け環境下で時間差分 (TD) 強化学習アルゴリズムを調査します。

TD 学習ルールを調べるために、単純な古典 (パブロフ) 条件付けタスクを使用します。このタスクでは、ネットワークは刺激 (トーン) がその後の報酬を確実に予測することを学習します。次に、タスクを 2 次条件付けのケースに拡張します。ここでは、別の刺激 (光) がそのトーンを確実に予測します。まず、この文脈で TD アルゴリズムの使用を正当化し、ネットワークで使用される刺激表現の性質を動機付ける必要があります。

デルタ ルール (別名レスコルラ ワグナー ルール) は古典的条件付けの優れたモデルを提供すると述べたことを思い出して、なぜ TD が必要なのか疑問に思っているかもしれません。それはすべて タイミング の問題に関係しています。応答に対する刺激のタイミングを無視すると、実際、すべてが 1 つのタイム ステップで発生する場合、TD ルールはデルタ ルールと等価になります (V(t) を r(t) に一致するようにトレーニングするだけです)。ただし、動物はタイミングの関係に敏感であり、私たちの目的にとってさらに重要なことは、このタイミングをモデル化することで、TD 学習の基本特性を特に明確かつ簡単にデモンストレーションできることです。

唯一の問題は、この単純なデモンストレーションには、タイミングの表現がやや非現実的であるということです。基本的に、刺激表現には各時点の刺激ごとに個別の単位があるため、TD システムが学習する固有のものが存在します。この表現は、サットンとバルト (1990) によって提案された 完全シリアル複合 (CSC) であり、モデルを見るとそれがどのように機能するかが正確にわかります。すでに述べたように、実行機能の章では、TD エラー信号が時間の経過とともに刺激を維持するコンテキスト表現の更新を制御する、より妥当な代替案を検討します。

TD をネットワークにマッピングする

TD アルゴリズム全体の一部をそれぞれ計算する 4 つの個別の TD レイヤーがあり、実際の TD 計算は、レイヤー自体間のネットワークレベルの相互作用を使用するのではなく、シミュレーション コードによって実行されます。 TD アルゴリズムに必要な加算と減算を計算するユニットを取得することは可能ですが、ユニットで表される値を直接使用してこれらの計算を実行する方がはるかに簡単で確実です。重要なネットワーク レベルの計算は、刺激の報酬値についての学習であり、これは Pred 層の特別なドーパミンのような学習ルールを使用して行われます。

各レイヤーの機能については次のとおりです。

  • Rew: 報酬入力、つまり US (無条件刺激) を活性化状態として表します (0 = 報酬なし、1 = 報酬)。

  • Pred: 主要な学習層。現在の刺激入力に基づいて、次のタイム ステップ V(t+1) での報酬値を予測する方法を学習します。この予測は、Input 層からの現在の重みに基づいて Leabra セトリングの プラス フェーズ で生成されます (線形無制限の活性化ルールが使用されるため、このユニットは任意の値を表すことができます)。一方、マイナス フェーズでは、層の状態は前の試行で行われた予測 (V(t)) に固定されます。

  • Integ: 報酬予測と外部報酬層の値を統合し、そのプラスとマイナスのフェーズの活性化状態の差が TD デルタ (ドーパミン様) 信号を駆動するものです。具体的には、マイナスフェーズのアクティベーションは V(t) です。これは 前の試行 で rew pred 層によって計算された報酬の期待値であり、プラスフェーズのアクティベーションは、次のトライアル (Pred から) の報酬の期待に、現時点で (Rew 層からの直接シナプス入力を介して) 受け取っている実際の報酬を加えたものです。したがって、そのプラス位相状態は Rew 値と Pred 値の合計であり、この合計はユニットの起動状態として直接クランプされます。

  • TD: Integ 層からプラスマイナス値を計算します。これは TD デルタ値を反映し、脳内のドーパミン信号のように作用すると考えられています。この TD 値は、層内の DA 値を設定します。これは、学習を促進する重要な Pred 層を含む他のすべての層にブロードキャストされます。

ネットワーク

まずはネットワークを調べてみましょう。 Input 層 (その下の TD 層によって表される中脳ドーパミン システムに対するこの皮質領域の相対的な解剖学的位置を捕捉するために最上部に位置します) には、それぞれ 20 ユニットの 3 行が含まれています。これは CSC で、行はそれぞれ異なる刺激 (A、B、C) を表し、列は時点を表します。各ユニットには刺激と時間エンコーディングがあります (例: A_10 = A 刺激の時間ステップ 10)。 TD層は上述した通りである。

  • [[sim:Network]] タブの [[sim:Wts]] / r.Wt をクリックし、次に Pred layer unit -- you will see that it starts with a uniform weight of 0. Then, click back to viewing [[sim:Act]] / Act` をクリックします。

基本的な TD 学習メカニズム

CSC が実際にどのように機能するかを見てみましょう。

  • ツールバーの [[sim:Init]] をクリックしてから、[[sim:Step]] Trial ボタンをクリックして入力を進めます。

タイム ステップ 0 では刺激が存在しないため、Input 層では何も起こらないはずです。さまざまな TD 層も同様に 0 のままで、TD 層も活性化がゼロになります。したがって、期待された報酬も得られた報酬もありませんし、期待からの逸脱もありません。

  • 入力レイヤーでアクティベーションが表示されるまで、[[sim:Step]] Trial ボタンを押し続けます (さらに 10 ステップ必要です)。

この入力活性化は、条件刺激 (CS) A (つまり、「トーン」刺激) が t=10 でオンになったという事実を表します。 TD レイヤーはこの CS をまだ報酬に関連付けていないため、これによる影響はありません。

  • もう少し [[sim:Step]] Trial に進みます。

この刺激はさらに 6 タイム ステップ (t=15 まで) アクティブなままであり、この期間の終わりに、Rew レイヤーの値が 0 ではなく 1 を表し、外部報酬がネットワークに配信されたことを示していることがわかります。 Pred 層はこの報酬を期待することを学習していないため、TD ユニットのアクティビティに反映されているように、TD デルタ値は正になります。この TD ドーパミンのスパイクは、Pred 層の学習も促進しました。これについては、次回この一連の試行を行うときに説明します。

  • [[[sim:Train Trial Plot]]] タブをクリックし、[[sim:Step Trial]] を実行して、20 タイム ステップのトライアルを終了します。 これにより、t=15 での TD ドーパミン スパイクが表示されます。

  • [[sim:Network]] に戻ってクリックし、タイム ステップ 14 まで次のトライアルまで [[sim:Step]] Trial を実行します。

Pred 層がタイム ステップ 14 で弱くアクティブになり、次のタイム ステップで発生する報酬の予測を示していることがわかります。この報酬の期待は、Rew レイヤーで報酬が配信されない場合でも (0 値表現が表示されている)、TD の「ドーパミン スパイク」を引き起こすのに十分です。[[sim:Train Trial Plot]] をクリックしてプロット上で確認してください。

  • [[sim:Step]] Trial をもう一度実行します (t=15)。

ここで状況は逆転します。Rew レイヤーは、報酬が提示されたことを示していますが、TD 値は前の 1 から減少しています。これは、Pred レイヤーが前のタイム ステップでこの報酬を正確に予測しており、TD が通知する報酬予測誤差が予測量だけ減少しているためです。

  • [[sim:Step]] Trial を実行してトライアルの残りを処理し、[[sim:Train Trial Plot]] の表示に切り替えます。

このプロットは、TD デルタの「ドーパミン スパイク」が時間的に 1 ステップ後方 (前方) に移動したことを示しています。これは TD アルゴリズムの重要な特徴です。1 タイム ステップ後の報酬を予測することを学習することで、最終的にドーパミン スパイクをより早い時間に移動させることになります。

  • さらに [[sim:Step]] Trial を続けます。

スパイクは各 Step Trial に合わせて「逆方向」に移動しますが、タイム ステップ 10 の CS の開始よりも先に移動することはできません。

重みを調べて、ネットワークが何を学習したかを確認することもできます。

  • [[sim:Wts]] / r.Wt をクリックし、次に Pred レイヤー ユニットをクリックします。タイム ステップ 10 ~ 14 の A 刺激からの重みが増加していることがわかります。 「[[sim:Weights]]」タブをクリックして、グリッド ビューで重みを確認することもできます。

消去と二次条件付け

現時点では、モデルを使用して調査できる古典的条件付けの標準的な現象が多数あります。 消滅 と *二次条件付け * の 2 つを見ていきます。消去は、刺激が報酬を予測できなくなったときに発生します。その後、刺激はこの報酬を予測する能力を失います (これは適切です)。先ほど説明したように、二次条件付けとは、条件付き刺激が別の刺激の無条件刺激として機能する場合です。つまり、報酬の予測を 2 つの別々の刺激にわたって後方に拡張できます。

t=15 で表示される米国の報酬をオフにするだけで、絶滅をシミュレートできます。

  • 左側の [[sim:Envs]] -> Train をクリックし、US フィールドの Act トグルをクリックしてオフにします。これにより、US が非アクティブになります。

  • 次に、[[sim:Init]] (重みは初期化されません) を押し、ツールバーの [[sim:Reset Trial Log]] を押して [[sim:Train Trial Plot]] (クリックして表示します) をクリアし、次に [[sim:Step]] Trial を押します。 プロット内の [[sim:Pred_Act]] 線をクリックすると、予測された報酬値が表示されます。 また、[[sim:Step]] Trial とネットワークを監視して、ネットワークがどのように動作するかを確認することもできます。

質問 8.4: 報酬が発生するはずだった時点で何が起こりましたか?実際に受け取った報酬値と比較した報酬期待の TD メカニズムを使用して、なぜこれが起こったのかを説明してください。

> **質問 8.5:** ネットワークを実行し、グラフ ビューにプロットされた TD エラー信号に関して消滅トレーニングの次の数エポックで何が起こるかを説明し、TD がこれを行う理由を説明してください。ネットワークが再び学習を終えた後も、その刺激は依然として報酬への期待を引き起こしますか? では、二次条件付けを見てみましょう。まず、刺激 1 の関連付けでネットワークを再トレーニングする必要があります。 * 左側の [[sim:Envs]] -> `Train` をクリックし、`US` `Act` をオンに戻し、[[sim:Init]] および [[sim:Run]] を実行します。トレーニングすると [[sim:Stop]] できます。 次に、CS B 刺激をオンにします。これは t=2 で開始され、タイム ステップ 10 まで続きます。 * 左側の [[sim:Envs]] -> `Train` をクリックし、`CSB` `Act` をクリックして、[[sim:Network]] の [[sim:Act]] / `Act` の表示に戻ります (まだ行っていない場合)。 [[sim:Reset Trial Log]] を押してプロットをクリアし、次に [[sim:Step]] `Trial` を押して、B 刺激に続いて A、次に US を表示します (最後に停止した場所によっては、完全なトライアルを取得するには 2 回実行する必要がある場合があります)。 基本的に、CSA 刺激は正のデルタ値をトリガーすることで *報酬のように機能し*、これにより CSB 刺激がこの最初の刺激を予測することを学習できるようになります。 * [[sim:Train Trial Plot]] に切り替え、[[sim:Run]] をクリックし、プロットの変化が停止したら [[sim:Stop]] をクリックします。 報酬の早期の予測が、CS B 刺激の開始まで実行されることがわかります (これは時間的に最初に発生します)。 最後に、CSC 表現の制限のいくつかを示します。明らかな問題の 1 つは容量です。各刺激には、表現できるすべての時間間隔に対して異なる単位セットが必要です。また、CSC は、すべてのトライアルが適切に同期されるように、適切な時点で時間をゼロに初期化する方法についても疑問を投げかけています。最後に、CSC は、報酬が得られるまで刺激 (またはその痕跡) が持続することを要求しますが、これは非現実的です。この最後の問題は、TD アルゴリズムの重要な問題を示しています。つまり、TD アルゴリズムは時間的なギャップを埋めることを学習できますが、この橋渡しをサポートするには何らかの適切な表現が必要であるということです (これについては実行機能の章で検討します)。 # 高度な探索 `Train` 環境のさまざまな設定を試して、より高度な探索を実行できます。ここでは、刺激が提示される確率を操作し、タイミングにランダム性を導入できます。一般に、これらの操作は CSC 入力表現の限界、より一般的には TD の限界を強調する傾向がありますが、これらの多くは、より高度なアプローチ (たとえば、より現実的な方法で感覚状態を表現する; Ludvig, Sutton & Kehoe 2008) や可変タイミングを可能にする「隠れ状態」の隠れマルコフ モデルを使用することによって対処されます (Daw, Courville & Touretzky, 2006)。モーターのメインの章では、PVLV (およびシミュレーション探索: PVLV) と呼ばれる TD の別の代替案を検討します。これは、タイミングそのものにはあまり焦点を当てず、報酬の期待を表現できるようにするドーパミン システムの上流の神経メカニズムの一部に対処しようとします。 # 参考文献 * ノースダコタ州ドー、A.C. クールヴィル、D.S. トゥーレツキー (2006)。ドーパミン システムの理論における表現とタイミング。ニューラル コンピューティング、18(7)、1637 ~ 1677 年。 https://doi.org/10.1162/neco.2006.18.7.1637 * Ludvig, E.A.、Sutton, R.S.、Kehoe, E.J. (2008)。ドーパミンシステムのモデルにおける刺激表現と報酬予測エラーのタイミング。ニューラルコンピューティング、20(12)、3034–3054。 * サットン、R.S.、バルト、A.G. (1990)。パブロフ強化の時間微分モデル。 J. W. ムーア & M. ガブリエル (編著)、学習と計算神経科学 (pp. 497–537)。マサチューセッツ州ケンブリッジ:MITプレス。 </section>