compcogneuro 翻訳ページ

compcogneuro/sims: 探検

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

種別

翻訳資料

更新日

2026-05-20

対象

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

目安

原文量に依存

確認メモ

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

出典とライセンス

原典: https://github.com/compcogneuro/sims/blob/main/ch3/inhib/README.md

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

シミュレーションに戻る

# 導入

このシミュレーションでは、抑制性介在ニューロンが興奮性錐体ニューロンにフィードフォワード抑制とフィードバック抑制の両方を提供することにより、ネットワーク内の全体的な活動レベルをどのように動的に制御できるかを調査します。 この抑制は、ニューロンが双方向の興奮性接続を持っている場合に重要です。そうでないと、正のフィードバック ループがてんかん発作と同等の興奮性活動の暴走を引き起こすからです。

[[[sim:FF Net]]] タブに示すような、より単純な フィードフォワード (FF) ネットワークから始めます。このネットワークには、興奮性ユニットの 10x10 Hidden 層と、20 個の Inhib 抑制性ニューロンの層の両方に投影する 10x10 ユニットの Input 層が含まれています。これらの抑制性ニューロンは隠れ層ユニットの活性化レベルを制御し、(このシミュレーションの目的では独自の層にあるとしても) 隠れ層の抑制性ユニットとして考える必要があります。合計 120 の隠れユニットに対する 20 の抑制ユニットの比率 (17 パーセント) は、皮質で見られるものと同様であり、一般に約 15 パーセントといわれています (White, 1989a; Zilles, 1990)。抑制性ニューロンは、その出力がニューロンの興奮性コンダクタンスではなく抑制性コンダクタンスに寄与することを除いて、興奮性ニューロンとまったく同様です。また、以下で説明するように、活性化パラメータの 1 つをこれらの抑制性ニューロンに対して異なるように設定しました。

このより単純な FF ネットワークを調べた後、相互双方向の興奮性接続を持つ 2 つの隠れ層を持つ [[sim:tabs/Bidir Net]] を調べます。

探検

いつものように、ネットワークの接続性と重みを確認することから始めましょう。 まず、FF Net タブの経路矢印を介して全体的な接続を観察できます。これは、Input から Hidden 層と Inhib 層の両方への興奮性の投影と、これら後者の 2 つの層間の双方向接続を示しています。 HiddenHiddenInhib を興奮させます。

  • FF Net ネットビューで [[sim:Wts]]/[[sim:Wts/r.Wt]] を選択し、Hidden 層および Inhib 層ユニットの一部をクリックします。

ほとんどの重みはランダムですが、抑制単位の重みは例外で、定数値 0.5 に固定されています。これは、多数の興奮性ニューロンにわたるより均一な影響と一致しています。

次に、ネットワークを実行します。ネットワーク上のグラフ ビューに注目してください。これは、隠れユニットと抑制ユニットの全体的な活性化レベル (平均活性化) を記録します。

  • [[sim:tabs/Act]]/[[sim:Act/Act]] を選択してネットワーク ウィンドウでアクティベーションを表示し、FF ネットワークの実行コントロールの最初のセットでステップ レベル ([[sim:Step]] の直後) として Cycle を選択し、その [[sim:Step]] ボタンをクリックしてサイクルごとに更新します ( FF 対 Bidir ネットワーク)。

ランダムな活動パターンによって入力ユニットが活性化され、数サイクルの活性化更新の後、抑制性ユニット、次に隠れたユニットが活性化することがわかります。抑制が入力層からの励起を予測し、相殺するため、活性化はかなり制御されているように見えます。

  • [[sim:Test Cycle Plot]] タブを選択すると、Inhib 層と非表示層の両方の平均アクティビティのプロットが表示されます。いくつかの初期振動の後に隠れ層が安定すると、隠れ層が 10 ~ 20 パーセントの間で活性化していることがわかります。

次のセクションでは、コントロール パネルのパラメーターの一部を操作して、ネットワーク内の抑制ダイナミクスの根底にある原理をよりよく理解します。このプロット ビューをそのまま使用すると、ネットワーク ビューの更新を見るよりも早く結果を確認できます。

  • FF StepTrial に戻します。

抑制性コンダクタンスの強さ

まず、興奮性ユニットへの抑制性電流の最大コンダクタンス [[sim:Hidden Gbar I]] を操作します。これにより、隠れ層 (興奮性) ニューロンに入る抑制レベルが倍増されます (これにより、隠れ層の Act.Gbar.I パラメーターが設定されます)。明らかに、これが重要な役割を果たしていることが予測されます。

  • [[sim:Hidden Gbar I]] を .4 から .3 に減らし、Step を実行します。次に、それを 0.5 に増やして再度テストします。 各ステップの開始時にパラメータが自動的に適用されるため、[[sim:Init]] を押す必要がないことに注意してください。 また、[[sim:Test Trial Plot]] を参照して、各試験の最終的な活動レベルを確認し、パラメーター操作の効果を確認することもできます。

質問 3.6: [[sim:Hidden Gbar I]] の減少と増加は、隠れ単位と抑制単位の興奮の平均レベルにどのような影響を及ぼしますか?また、なぜそのような影響があるのでしょうか (簡単な 1 文の回答)。

* [[sim:Hidden Gbar I]] を .4 に戻します (または、単に [[sim:Defaults]] ボタンを押します)。 デフォルト設定ではないパラメータの青色で強調表示されたラベルをダブルクリックして、パラメータをデフォルト値に戻すこともできます。 ここで、抑制性ニューロンに入る抑制に対応するパラメーター [[sim:Inhib Gbar I]] を操作すると何が起こるかを見てみましょう。 `Hidden Gbar I` で得られたものと同様の結果が得られることが期待されるかもしれませんが、抑制性ニューロンに対する抑制は興味深い結果をもたらす可能性があることに注意してください。 * 比較のために、[[sim:Inhib Gbar I]] を 0.75 にして最初に実行します。次に、[[sim:Inhib Gbar I]] を 0.6 および Step に減らし、次に [[sim:Inhib Gbar I]] を 1.0 および Step に増やします。 `Inhib Gbar I` が .6 の場合、興奮性の活性化は低下しますが、抑制性のレベルはほぼ同じままであることがわかります。値が 1.0 の場合、興奮性活性化レベルは増加しますが、抑制性は同じままです。これは理解するのが難しい現象ですが、何が起こっているのかについていくつかの考え方を以下に示します。 まず、抑制性ニューロンの抑制の量を減らすと、抑制性ニューロンがさらに活性化されるはずであることは簡単に思われます。抑制性ニューロンの活動の最初の瞬間だけを見てみると、これは真実です (逆に、抑制性を高めると活性化が低下することも同様です)。ただし、隠れたユニットがアクティブになるにつれてフィードバック抑制が開始されると、抑制活性はすべての実行で同じレベルに戻ります。これは、`Inhib Gbar I` = 0.6 の場合の抑制ユニットの活性化が大きくなり、隠れユニットの活性化がさらに高まる場合 (実際に抑制ユニットの活性化が低下するため) であれば、その結果、隠れユニットからのフィードバックによる抑制ユニットの活性化が *少なくなる* ことになるのであれば、これは理にかなっています。この抑制性ニューロンの活性化の低下により、より低い `Inhib Gbar I` 値による活性化の増加が相殺され、結果として同じ抑制性活性化レベルになります。謎は、抑制が元の活性化レベルに戻った後、なぜ隠れたユニットが低い活性化レベルのままになるのかということです。 これを説明する方法の 1 つは、これが *動的* システムであり、興奮と抑制の静的なバランスではないことに注意することです。興奮性の隠れユニットが少し活発になり始めるたびに、今度は抑制性ユニットがより簡単に活性化されます(抑制性ユニットは自分自身を抑制する傾向が低いため)。これにより、隠れユニットの前進を相殺するのに十分な追加の抑制が提供されます。この戦闘は、絶対的なレベルではなく、ユニットの 2 つのプールにおける活性化の *微分* (変化) のレベルで事実上行われます。これにより、これらの絶対的なレベルだけを見て実際に戦闘の証拠をあまり見ることができない理由が説明されます。 抑制性ニューロンに対する抑制の影響を理解するためのより直観的な (しかし詳細は多少不正確ですが) 方法は、AC 出力通気口に対するサーモスタットの位置という観点からです。サーモスタットを AC 通気口の非常に近くに配置すると (通気口から一定の距離を置いて座っている間)、サーモスタットが AC 出力から遠く離れている場合よりも暖かくなります。したがって、AC 出力ベントによってサーモスタットがどの程度強く駆動されるかは、`Inhib Gbar I` パラメータに似ています。`Inhib Gbar I` の値が大きいほど、サーモスタットをベントに近づけたようなもので、隠れ層の活性化レベルが高く (暖かさが大きく) なり、値が小さい場合はその逆になります。 * 続行する前に、[[sim:Inhib Gbar I]] を 0.75 に戻します (または、デフォルトを押します)。 # フィードフォワードとフィードバック抑制の役割 次に、フィードフォワードとフィードバックの抑制性投影の相対的な強さを操作することで、その重要性と特性を評価します。コントロール パネルには、フィードフォワードおよびフィードバックの抑制経路の相対的な寄与を決定する 2 つのパラメーターがあります。[[sim:F finhib wt scale]] は入力から抑制ユニットへのフィードフォワードの重みに適用され、`F BinhibWtScale` は隠れ層から抑制ユニットへのフィードバックの重みに適用されます。これらのパラメーター (具体的には、その .rel コンポーネント) は、あるレイヤーから別のレイヤーへの接続の投影全体の強度を均一にスケールし、[CCN教科書](https://github.com/compcogneuro/book) の *ネット入力の詳細* 付録で説明されている任意の `WtScale.Rel` (r_k) 相対スケーリング パラメーターです。 * [[sim:F finhib wt scale]] を 0 に設定すると、入力層から抑制性ニューロンへのフィードフォワード興奮性入力が効果的に除去されます (つまり、フィードフォワード抑制が除去されます)。 > **質問 3.7:** フィードフォワード阻害の除去は、興奮性および抑制性の平均活動レベルの挙動にどのような影響を及ぼしますか -- 2 つの層がいつ活動し始めるか、およびデフォルトのパラメーターと比較して活動の全体的なパターンに関して明らかな定性的な違いはありますか? ※ 次に、[[sim:F finhib wt scale]] を 1 に戻し、[[sim:F binhib wt scale]] を 0 に設定してフィードバック禁止をオフにして実行します。 これらの .rel パラメーターの相対的な繰り込み特性により、全体として同じレベルの抑制活性が達成されることがわかりますが、フィードフォワード方式で急速に起こり、最初から興奮性ユニットを抑制します。興奮性ユニットは非常にゆっくりと上昇しますが、最終的には以前とほぼ同じレベルに近づきます。 これらの演習は、明確な原則に基づいた理由により、フィードフォワード抑制とフィードバック抑制の両方を組み合わせた方が、どちらか単独よりも効果的に機能することを理解するのに役立ちます。フィードフォワードは、入ってくるアクティビティ レベルを予測できますが、非常に正確なバランスが必要であり、遅くて脆弱です。フィードバック阻害は、さまざまな活性レベルに自動的に反応できるため、より強力ですが、純粋に反応性でもあるため、フィードフォワード阻害と組み合わせないと不安定で振動的になる可能性があります。 ## 時定数とフィードフォワードの予測 フィードフォワード抑制が、隠れ層への入力から来る励起を予測して相殺するために重要であることがわかりました。このフィードフォワード抑制接続に加えて、予期効果は、興奮性ニューロンと抑制性ニューロンの更新速度の違いに依存します。これは、コントロール パネルの `Dt.GTau` パラメーター [[sim:Hidden G Tau]] および [[sim:Inhib G Tau]] によって制御されます ([CCN教科書](https://github.com/compcogneuro/book)、第 2 章を参照)。ご覧のとおり、興奮性ニューロンはタウ 40 (遅い) で更新されますが、抑制性ニューロンは 20 (速い) で更新されます。これらの数値は、かなりの量の変化が起こるまでにかかるサイクル数にほぼ対応します。抑制性ニューロンの更新が速くなると、フィードフォワード入力によって抑制性ニューロンがより迅速に活性化され、実際に活性化される前に興奮性隠れユニットに予測抑制を送ることができます。 * これを確認するには、[デフォルト] をクリックし、[[sim:Inhib G Tau]] を (デフォルトの 20 ではなく) 40 に設定して、実行します。 抑制によって励起を予測することができなくなり、初期振動が大きくなることがわかります。また、抑制時定数が速くなることで、抑制が全体的な興奮レベルの変化により迅速に適応できるようになります。皮質抑制性ニューロンが錐体ニューロンよりも入力に対して速く反応するという十分な証拠がある(例えば、Douglas & Martin、1990)。 これらの更新速度定数に関するもう 1 つの重要な実際的な点は、次のセクションで説明する単純化された抑制関数の重要な利点であることがわかります。振動動作を防ぐために、これらの速度定数は比較的遅く設定する必要があります。 * これを確認するには、[[sim:Defaults]] を押し、[[sim:Hidden G Tau]] を 5 に、[[sim:Inhib G Tau]] を 2.5 に設定して実行します。 ここで観察される主要な持続的な振動は、より遅い時間スケールのアップグレードによって主に防止されます。これは、興奮性ニューロンがより小さなステップで活動を更新し、抑制性ニューロンがよりスムーズに反応できるためです。 # 学習の効果 抑制で行う必要がある重要なことの 1 つは、学習に伴う重み値の変化を適切に補償することです。 通常、ユニットが学習するにつれて、入力パターンから受け取る興奮性入力の量に大きなレベルの変動が生じ、特定のユニットに強い興奮を与えるパターンもあれば、それほど生成しないパターンもあります。これは、あるものを表現 (検出) し、他のものを表現しないためのユニットの特殊化の自然な結果です。より高い分散レベルの興奮性の重み値をユニットに与えることにより、学習の効果をシミュレートすることで、現在の抑制メカニズムがこれらの変化に適切に対処できるかどうかをテストできます。 * まず、[[sim:Defaults]] を押してデフォルトのパラメータに戻します。このケースを実行して、比較のためのベースラインを取得します。 この場合、ネットワークの重みは、平均が 0.25 の乱数と、その平均の周りの均一分散が 0.2 である乱数を生成することによって生成されます。 * 次に、[[sim:Trained Wts]] ボタンをオンに設定し、[[sim:Init]] (ネットワークの重みを初期化するまでこの変更は有効になりません)、`Step Trial` を実行します。 次に、重みは、ガウス (正規) 分布値を使用して、同じ平均で分散が 0.7 になるように初期化されます。これにより、隠れ層内のユニットの興奮性正味入力のはるかに高い分散が生成されます。 また、平均 0.25 を超えると大きなウェイトを使用できる余地が大きくなりますが、平均を下回るとあまり余地がないため、分散の増加に伴って合計のウェイト強度の合計も増加します。 最初のトレーニングされていないウェイトと比較して、トレーニングされたウェイトを使用すると、より大きなレベルの興奮が観察されるはずです。 * [[sim:Hidden Gbar I]] を 0.5 に増やすことで、システムがこの変化を補正できることを確認できます。 * 続行する前に、[[sim:Trained Wts]] をオフに戻し、[[sim:Init]] を再度実行します。 # 双方向励磁 最初に物事を簡単にするために、これまでのところ、ネットワークが双方向の興奮性接続を持たない、抑制の比較的簡単なケースを調査してきました。これは、暴走する正のフィードバックダイナミクスを防ぐために抑制が本当に不可欠になる場所です。ここで、双方向に接続された 2 つの隠れ層を持つネットワークを実行してみましょう。 * まず、[[sim:Defaults]] を選択してデフォルトのパラメータに戻し、次に左側のパネルで [[sim:Bidir net]] スイッチをクリックし、[[sim:Bidir Init]] をクリックします。このネットワークを表示するには、「[[sim:Bidir net]]」タブをクリックします。 ネットワークを双方向の場合に拡張するには、フィードフォワード抑制とは何かについての概念も拡張する必要があります。一般に、フィードフォワード抑制の役割は、層に入る興奮性入力のレベルを予測し、平衡させることです。したがって、双方向の興奮性接続を持つネットワークでは、特定の層の抑制性ニューロンも、「フィードフォワード」抑制の役割を果たすトップダウンの興奮性接続を受け取る必要があります。 ⇒ 通常どおり [[sim:Wts]]/`r.Wt` の重みを調べることにより、このネットワークが双方向の興奮性接続と 2 番目の隠れ層から返される「フィードフォワード」抑制の両方を備えていることを確認します。 * このネットワークは `Bidir Init` および `Step Trial` になります (2 番目の実行コントロール セットを使用)。次に、[[sim:Test Cycle Plot]] に戻ると、一定期間の平均アクティビティが表示されます。 プロットは、最初の隠れ層と抑制層のみの平均アクティビティを示しています (以前と同様)。 2 番目の隠れ層が活動し始めるまでの最初の部分は以前と同じですが、2 番目の隠れ層が活動するにつれて、1 番目の層の抑制性ニューロンにフィードバックされ、興奮性ニューロンと同様に、より活発になります。ただし、全体的な活動レベルは依然として完全に制御されており、以前と大きな違いはありません。 したがって、抑制により正のフィードバックのダイナミクスを完全に抑制することができます。 次に、双方向に接続されたネットワークでは、抑制が異なって重要であることがわかります。 * [[sims:Hidden Gbar I]] パラメータを .35 に設定し、`Step Trial` に設定します。 これにより、興奮性ニューロンの抑制量が減少します。これがアクティビティ曲線の最初のフィードフォワード部分に与える影響は比較的小さいことに注意してください。しかし、2 番目の隠れ層がアクティブになると、ネットワークが壊滅的に過剰にアクティブになり、てんかん発作が発生します。 * [[sim:Hidden Gbar I]] パラメータを .4 に戻します。 # FFFB 阻害の探索 [CCN教科書](https://github.com/compcogneuro/book) の *FFFB 抑制機能* セクションを読んだ後で、このセクションを実行する必要があります。 * `Defaults` ボタンを使用してパラメータをデフォルト値にリセットし、`BidirNet` をクリックしてそれを使用し、次にテストしてネットワークの初期状態を取得します。これにより、実際の抑制性ニューロンの場合の標準的な活性化グラフが再現されるはずです。 ※本文に記載されているFFFB機能を使用するには[[sim:FFFB Inhib]]をONに設定してください。また、[[sim:Hidden Gbar I]] および [[sim:Inhib Gbar I]] パラメータを 1 に設定し (そうしないと、計算された抑制が不正確になります)、速度定数パラメータを通常 (非ユニット抑制) 動作のデフォルト ([[sim:Hidden G Tau]] および [[sim:Inhib G Tau]] は両方とも 1.4) に設定します。最後に、抑制性投影をオフにする必要があります (抑制性投影が存在する場合、これらは FFFB によって計算されるものに加えて寄与しますが、FFFB が単独でどのように実行できるかを確認したいと考えています)。 `Fm Inhib Wt Scale Abs` を 0 に設定します (これにより、抑制性ニューロンからの接続の絶対スケール係数が 0 に設定され、これらの接続が効果的に無効になります)。 * [[sim:Step]]: トライアルを押します。 活性化は 10 ~ 15% の活性レベル付近である必要があります。これは、デフォルトの未トレーニングの重みと比較して、トレーニングされた重みではどのように変化しますか? * [[sim:Trained Wts]] をオンに設定し、`Bidir Init` および `Step Trial` を実行します。 隠れたアクティビティが 20% レベルに近づいていることがわかります。これは、FFFB 阻害が比較的柔軟で、全体的なアクティビティ レベルが全体的な入力強度に敏感であることを示しています。また、FFFB ダイナミクスにより、ネットワークが比較的早く安定することにも注意してください。これは、介在ニューロンが利用できるより近似的なサンプリングと比較して、受信ネット入力と平均アクティベーションに対して直接的で正確な統計を使用しているためです。したがって、FFFB はおそらく実際の生物学的システムよりも依然として強力で効果的ですが、これにより、入力ごとに少ないサイクル数でモデルを非常に効率的に実行できるようになります。 * FFFB 関数の設定点の動作をテストするには、[[sim:Input Pct]] レベルをデフォルトの 20% ではなく 10 と 30 に変更することで、興奮性入力の量を変更できます。 [[sim:Input Pct]] を変更した後、ツールバーで [[sim:ConfigPats]] を実行する必要があります (これにより、この割合のニューロンがアクティブになる新しい入力パターンが作成されます)、次に `Step Trial` を実行する必要があります。 > **質問 3.8:** 隠れた平均活動レベルは、さまざまな [[sim:Input Pct]] レベル (10、20、30) の関数としてどの程度変化しますか。これは、FFFB 抑制メカニズムの設定点の性質 (つまり、固定設定点温度を維持するために機能するエアコンのように機能する程度) について何を明らかにするのでしょうか? 最後に、[[sim:Hidden Gbar I]]、[[sim:Inhib Gbar I]]、[[sim:F finhib wt scale]]、[[sim:F binhib wt scale]] パラメーターを変更した場合の影響を調べることができます。これにより、全体の抑制量と、フィードフォワード抑制とフィードバック抑制の量がそれぞれ変化します。 </section>