compcogneuro 翻訳ページ

compcogneuro/sims: ネットワークと入力

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

種別

翻訳資料

更新日

2026-05-20

対象

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

目安

原文量に依存

確認メモ

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

出典とライセンス

原典: https://github.com/compcogneuro/sims/blob/main/ch9/a_not_b/README.md

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

シミュレーションに戻る

# 導入

このシミュレーションは、環境の変化に応じて行動を迅速に変化させることができるという意味で、PFC アクティブ メンテナンス能力の開発が行動をより柔軟にするのにどのように役立つかを調査します。柔軟性の開発は、ピアジェの有名な A-not-B タスクの文脈で広く研究されてきました。このタスクでは、おもちゃが最初に 1 つの隠し場所 (A) に数回隠され、次に新しい場所 (B) に隠されます。さまざまなタスクのパラメーターに応じて、幼い子供たちは B に更新するのではなく、確実に A に戻ります。

ネットワークと入力

まずネットワークを調べてみましょう。 LocationCover、および Toy 入力と、GazeExpect (期待値) および Reach 出力があります。内部 Hidden 層は、反復的自己接続を使用しておもちゃが隠されている間、遅延にわたって情報を維持し、このモデルの前頭前野 (PFC) を表します。

ネットワーク内の位置ベースの単位で表される、位置 A、B、および C に対応する 3 つの位置単位があることに注意してください。また、デフォルトのカバー タイプである C1 と別のカバー タイプである C2 に対応する 2 つのカバー (蓋) 入力ユニットと、デフォルトの玩具である T1 と別の玩具タイプである T2 に対応する 2 つの玩具ユニットがあります。

  • [[sim:Wts]] / [[sim:Wts/r.Wt]] をクリックして接続を調べます。最初に 3 つの隠れユニットのそれぞれをクリックし、次に出力ユニットをクリックします。

3 つの入力層はそれぞれ隠れ層に完全に接続されており、隠れ層は 2 つの出力層のそれぞれに完全に接続されています。同じ場所には重みが 0.7 でより強くアクティブになる初期バイアスがあるのに対し、他の場所の初期接続重みは 0.3 しかないことがわかります。 .3ではトイユニットやカバーユニットからの接続が比較的弱いです。 Hidden 層と GazeExpect 層には、各ユニットに戻る自己反復的な興奮性接続があり、最初はマグニチュード 0.4 ですが、これはパラメーター [[sim:Recurrent wt]] で変更できます。 ここでの重みを強化すると、アクティブな表現を維持するネットワークの能力が向上します。積極的な維持能力が乏しい幼児をシミュレートするために、比較的弱いものから始めます。

次に、ネットワークに提示される入力データ パターンを調べてみましょう。

  • [[sim:AnotB Delay=3]] (Delay3 の隣) をクリックします。

トライアルには 3 種類あり (すべてを表示するにはスクロールする必要がある場合があります)、Group 列で使用されている 3 つの名前で示されていることに注意してください。

  • ptrial: (試行前または「練習」試行): これらは、乳児が A 位置に到達するように誘導するために実験の開始時に提示されます。項目の提示と選択テストの間には、単一タイム ステップの遅延しかありません。

  • Atrial: A ロケーションへのテスト トライアル。遅延が長いという点でのみ ptial と異なります。

  • Btrial: これは重要なテスト条件であり、おもちゃの入力が B 位置にあることを除いて心房と同じです。

各試験は、以下に示す A-not-B 試験の実験セグメントに対応する 5 つのセグメント (表の行) で構成されます。各セグメント中に、刺激イベントの目に見える/顕著な側面に対応する活動のパターンが入力ユニットに提示されます。他のすべての入力ユニットにはアクティビティがありません。入力アクティビティのレベルは、刺激の側面の顕著性を表し、より顕著な側面 (実験者が振るおもちゃなど) ほど、より多くのアクティビティが生成されます。

  1. start: カバーは、幼児の手の届かない場所で、実験者が幼児の注意を特定の位置に向ける前に、装置上の所定の位置に置かれます (位置とカバー入力に対する弱い均等な活性化)。

  2. おもちゃのプレゼンテーション (toy-pres): 実験者は幼児の注意をおもちゃに引き付け(例: おもちゃを振る)、それを装置内の 1 つの場所に置きます (1 つの場所がより強くアクティブになり、おもちゃ T1 がアクティブになります)。

  3. 蓋の提示 (lid-pres): 実験者は、おもちゃの場所に蓋を置きながら、その場所に幼児の注意をさらに引き付けます (おもちゃは、カバーがよりアクティブになり、場所がよりアクティブになる間、アクティブ化でフェードアウトします)

  4. delay: 装置はすべてのカバーを所定の位置に取り付けて (手の届かないところに) 設置されています (弱い場所とおもちゃの起動が等しい)

  5. choice: 実験者は、乳児の反応のために装置にアクセスできるようにします (カバーを所定の位置に置きます) (リーチはこのセグメントの間のみ可能/許可されます) (入力は遅延よりもアクティブですが、同じパターンです。リーチ層は抑制されません)

これらのトライアル タイプはそれぞれ、トライアル内のイベントと同様に複数回繰り返すことができます。実行するバージョンでは、タスクは 4 つの プレトライアル、2 つの A トライアル、および 1 つの B トライアル (その順序どおり) で構成されます。さらに、toy-pres 入力は各試行中に 3 回提示され、作業記憶の「負荷」を変えるために遅延イベントの数が「A」試行と「B」試行で変更されます。

Delay と RecurrentWt の影響

それでは、ネットワークを実行してみましょう。ネットワークの実行中に各トライアルのアクティブ化を観察しようとするよりも、グリッド表示を見ることで、ネットワーク内で何が起こっているかを知ることがはるかに簡単になります (ただし、入力を段階的に実行することは歓迎されます)。

※「[[sim:Train Trial]]」タブをクリックします。次に、ツールバーの [[sim:Init]]、[[sim:Run]] ボタンを押します。

これを行うと、ネットワークは A-not-B 実験全体を実行し、テーブルにアクティベーションを記録します。 TrialName 列は、どのイベントが発生しているかを示し、残りの列は、各イベント後のネットワークの各層でのアクティベーションを示します。

  • まず、表の上部にあるプレトライアルに焦点を当てましょう。

p-toy-pres イベント中におもちゃが提示されると、対応する非表示の「A」位置も拡散アクティベーションによってアクティブになり、ネットワークも GazeExpect 層のこの位置を「探す」ことに注意してください。

さらに、ヘビアン学習は各試行後に行われるため、協調的な経験の重みが増加し、その結果、後続の試行で A 位置表現をアクティブにするネットワークの傾向が増加します。

  • 次に、4 つのプレトライアルを過ぎて下にスクロールすると、最初の A トライアル イベント (A-start) が表示されます。 (テーブルの真ん中を過ぎたところです。)

ここでは、A の場所に到達するネットワークの傾向が評価される A テスト トライアルが表示されます。 Hebbian 学習の結果として、ここでは隠れたユニットと GazeExpect ユニットがプレトライアルよりもさらにアクティブになっていることに注意してください。

  • 次に、下にスクロールして、最初の B トライアル イベントが最初に表示されるようにします。また、[[[sim:Train Trial Plot]]] タブをクリックして、3 つの Reach アクティベーションの経時的なプロットを表示し、相対的なアクティベーション レベルを定量的に把握することもできます (Reach_00 は A ユニット、Reach_01 は B ユニット)。

質問 9.1: B トライアルの遅延および選択トライアルでネットワークの内部表現と出力 (視線、リーチ) 応答に何が起こるか、またこれが乳児におけるピアジェの A-not-B データとどのように関連するかを説明してください。

* ControlPanel の [[sim:recurrent wt]] パラメータをデフォルトの .4 から .7 に増やし、[[sim:Init]]、[[sim:Run]] にします。 > **質問 9.2:** 今回は、PFC (隠れた) 反復接続強度の増加がネットワークの動作にどのような影響を与えるかについての説明を含め、ネットワークがどのように応答するか (つまり、視線出力とリーチ出力で) 説明してください。 * 次に、`Delay` を `Delay5` に設定し、反復重みの値を 0.7 にして試してみます。 最終的な B テストの出力を確認するには、少し下にスクロールする必要があります。 > **質問 9.3:** `Delay3` (および同じ 0.7 の反復重み) で起こったことと比較して、この長い遅延を持つ「B」トライアルでは何が起こりますか?なぜ遅延がネットワークの動作にこのような影響を与えるのでしょうか? また、より長い 5 遅延条件でもネットワークが成功できるようにする反復重み値を見つけてみることもできます。 * ここで、[[sim:recurrent wt]] パラメータを弱い値 .58 に減らし、`Delay` を `Delay3`、[[sim:Init]]、[[sim:Run]] に設定し、B トライアルを再度調べます (これは、 `Network`。) B トライアルでは視線とリーチのアクティベーションがわずかに分離されていることがわかります。これは、視線経路が継続的に更新される一方、リーチ経路は最後まで待機する必要があるため、少量の減衰に対してより敏感であるという事実を反映しています。 * 遅延が短いと、通常、幼児のパフォーマンスが向上します (A-not-B エラーが少なくなります)。`Delay1` の短い遅延条件で、元の 0.4 回の反復体重値に戻してみてください。 最後に、反復重みが非常に弱い場合に発生する可能性のある興味深い効果があります。これにより、ネットワークは「A」トライアルで *A* 位置の表現さえも適切に維持できなくなります。 「A」に向かう重みの変化は「A」ユニットの維持されたアクティビティに依存するため、これらの重みベースの表現は比較的弱く、わずかに強い反復重みを使用する場合よりもネットワークが「A」まで持続することが少なくなります。 * この効果を確認するには、`Delay` を `Delay3` に戻してから、[[sim:recurrent wt]] パラメータを .1 に減らします。 [[sim:Init]]、[[sim:Run]]、「B」選択トライアルのユニットの活性化を見てください。次に、これを .4 の場合と比較します。 [[sim:Train Trial Plot]] の違いを確認する方が簡単です。画面のスナップショットを撮って違いを確認できます。 再帰重みが弱いため、「A」応答が弱くなっていること (また、「B」ユニットの残りの活性化もある) が見られるはずです。これは、「若い」ネットワークでは A-not-B エラーがそれほど強くないことを意味します (そして、さらなる分析により、これは「A」試行での学習量によるものであることが確認されました)。 A-not-B タスク ([宗像、1998](#references)) のニューラル ネットワーク モデルからのこの直感に反する予測は、乳児でも確認されました ([クリアフィールド他、2006](#references))。 # 参考文献 * Clearfield, M. W.、Diedrich, F. J.、Smith, L. B.、および Thelen, E. (2006) 幼児は A-not-B 課題で正しく到達します: 安定性と忍耐力の発達について。 乳児の行動と発達、29(3)、435-444。 (https://doi.org/10.1016/j.infbeh.2006.03.001) * 宗像裕也 (1998).幼児の忍耐力とオブジェクトの永続性理論への影響: A-not-B タスクの PDP モデル。発生科学、1(2)、161-184。 (https://onlinelibrary.wiley.com/doi/10.1111/1467-7687.00021) </section>