compcogneuro/sims: 制約を満たすための動的アトラクター
このページは外部資料の日本語訳です。原文の見出し順と本文順を保ち、コード・URL・出典表記はできるだけ原形のまま残しています。
出典とライセンス
原典: https://github.com/compcogneuro/sims/blob/main/ch3/necker_cube/README.md
ライセンス: BSD 3-Clause。このページは日本語翻訳であり、変更点は翻訳とサイト内整形です。

# 導入
このシミュレーションでは、曖昧な刺激を処理する際の制約充足の使用を検討します。私たちが使用する例は、上の図に示されている ネッカー立方体 で、2 つの方向のいずれかで立方体として見ることができます。人々は、ある方向から見るか、別の方向から見るかの間を行ったり来たりする傾向があります。しかし、彼らがそれを同時に両方とみなすことは非常にまれです。言い換えれば、彼らは曖昧な刺激に対して 一貫した 全体的な解釈を形成する傾向があります。この一貫性は、可能な解釈によって課される制約を最大化する解釈を優先する制約満足システムの作用を反映しています。あるいは、立方体の解釈ごとに 1 つずつ、2 つの安定したアトラクターがあり、ネットワークはこれらのアトラクターの状態のいずれかに引き込まれると言うことができます。
制約を満たすための動的アトラクター
[ネットワーク] ビューでは、ネッカー キューブの頂点を表す 2 x 4 のサイズのニューロンの 2 つのプールがペアで下から上に表示されます。各立方体は、2 つの可能な解釈のうちの 1 つを表します (上の図の左側の立方体はパネル b に対応し、右側の立方体はパネル c に対応します)。すべてのユニットはレイヤー内の 1 つの全体的な抑制プール内にあり、その抑制は十分に強力であるため、いつでも 2 つのキューブのうち 1 つだけがアクティブになります。
- いつものように、重みを調べてみましょう ([[sim:Wts]]/
r.Wtを選択し、単位をクリックします)。
各ユニットがローカル近傍の頂点に接続されていることに注目してください。したがって、1 つの頂点がアクティブになると、他の頂点もアクティブになり、立方体全体の一貫した解釈がアクティブになる傾向があります。しかし同時に、立方体の別の解釈もその頂点を活性化し、抑制を介して活性化しようと競合します。
- ネットワーク内の [[sim:Act]]/
Actの表示に戻り、それを実行します。ツールバーの [[sim:Init]] を押し、ステップ レベル ([[sim:Step]] の右側) をTrialではなくCycleに設定し、決済プロセスを通じて [[sim:Step]] を設定すると、実際の競合プロセスが表示されます。これにより、トライアル中に時間の経過とともにネットワークが進化するのを確認できます (そうしないと、あまりにも早く変化するので、見ることができません)。また、[サイクル] の横の数値を 5 に設定して、一度に 5 つのサイクルをステップ実行することもできるため、すべてのサイクルをクリックする必要がなくなります。
ランニング中、どちらの解釈も等しいが弱い量の興奮性入力を受け取ります。ネットワークが安定するにつれて、両方のキューブのユニットがちらつき、強度が前後に揺れ、最終的に一方のキューブが勝利して完全にアクティブになり、もう一方のキューブは非アクティブのままであることがわかります。
- ステップ レベルをさらに数回
Trialおよび [[sim:Step]] に戻し、どちらの方向に進む傾向があるかを確認します。
どのキューブが勝つかはランダムであることに注意してください。粘り強く続ければ、最終的には、1 つのキューブ全体がアクティブになり、もう 1 つが非アクティブになるのではなく、各キューブの一部がアクティブになるケースを観察できるかもしれません (ランダム シードの偶然の度合いによっては、これには数百回の試行が必要になる可能性があることに注意してください)。これが発生した場合は、[[sim:Test Cycle Plot]] 内の Harmony 値のプロットに注目してください。これは、1 つの立方体上の一貫したソリューションに対応する他のすべてのトレースよりも大幅に下にある必要があります。したがって、重み制約の一貫性のない部分的な満足は、1 つのキューブ内の制約の完全な満足よりも調和が低くなります。
膜電位に追加されたノイズは、このシミュレーションで重要な役割を果たしています。ノイズがなければ、2 つの立方体解釈の間の「結びつきを壊す」ものは何もありません。これを確認するために、ノイズのレベルを操作してみましょう。
- コントロール パネルで [[sim:Noise]] の値 0、.1、.01、.001 を試してください。 (このノイズ パラメータを変更した後は、必ず [[sim:Init]] を押して有効にしてください)。
質問 3.5: さまざまなノイズ値 (0、.1、.01、.001) に対してネットワークの整定動作でどのような違いが観察されたかを報告し、ノイズがプロセスにどのような影響を与えるかについてこのことから何がわかるかを説明してください