compcogneuro 翻訳ページ

compcogneuro/sims: ネットワーク構造

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

種別

翻訳資料

更新日

2026-05-20

対象

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

目安

原文量に依存

確認メモ

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

出典とライセンス

原典: https://github.com/compcogneuro/sims/blob/main/ch6/objrec/README.md

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

シミュレーションに戻る

# 導入

このシミュレーションは、視覚処理の腹側の流れ(下側頭(IT)皮質まで)の領域の階層が、網膜入力画像の位置、サイズなどの変化に影響を受けない堅牢な物体認識をどのように生成できるかを調査します。

ネットワーク構造

V1フィルター

図 1: V1 フィルタリング ステップ。長さ合計セルやエンドストップ セルなど、単純および複雑なセル起動プロパティをシミュレートします。上部は、各 4x5 V1 ハイパーカラム内のこれらのフィルターの構成を示しています。

まず、V1 から V4、IT、そしてオブジェクトの名前が表される出力に至るネットワーク構造を確認します。 (領域 V2 は、ここでは関係のない深度および図地エンコードに重要であると考えられているため、このモデルでは表されていません。) V1 層は 10x10 の大規模グリッド構造を持ち、これらのグリッド要素のそれぞれがユニットの 1 つのハイパー列を表し、以前の v1rf シミュレーションで開発が観察された種類の表現を非常にコンパクトかつ効率的にキャプチャします (図 1)。各ハイパーカラムには、入力イメージの局所的なパッチを処理する 20 (4x5) ユニットのグループが含まれています。これらのユニットは、(X 軸に沿って) 4 つの角度で方向付けされたエッジをエンコードし、行は次のように単純なセルと複雑なセルを表します。単純なセルは、異なる極性 (明るいより暗い、またはその逆) をエンコードする最後の 2 行によって表されます。最初の行は、極性と隣接する単純なセルを統合する複雑な「長さの合計」セルを表します。中央の 2 行は エンド ストップ ユニットで、指定された長さと合計の方向によって励起され、一方の端で周囲の単純なセルによって抑制されます。

隣接するグループは、画像の半分重複する領域を処理します。これらのグループは、接続性に加えて、層内の抑制を組織します。これは、V1 層全体では両方の抑制性競合が存在するが、単一のハイパーカラム内ではより高度な競合が存在することを意味します。これは、皮質の局所領域内の抑制性ニューロンが隣接する興奮性ニューロンから入力を受け取る可能性が高いという事実を反映しています。この効果は、FFFB 抑制を 2 つのスケールで同時に動作させることによって近似されます。ユニット グループ (ハイパーカラム) 内のより強力なレベルの抑制と、レイヤー内のすべてのユニットにわたるより低いレベルの抑制です。これにより、非常に強い入力を受け取らないカラムはまったくアクティブにならないことが保証されます (より励起された他のカラムによって生成された層レベルの抑制によって押しつぶされてしまうため) 一方で、ハイパーカラム内で最も適切な機能を選択するためのより高いレベルの競争も発生します。

V4 レイヤーもハイパーカラム (プール) のグリッドに編成されており、今回はサイズが 5x5 で、各ハイパーカラムには 49 ユニット (7x7) があります。 V1 と同様に、ここでも抑制はハイパーカラムとレイヤー全体のスケールの両方で機能します。 V4 ユニットの各ハイパーカラムは 4x4 V1 ハイパーカラムから受信し、隣接するカラムも半分重複する受容野を持ちます。次に、IT 層は、単一​​の阻害グループ内の単位の単一のハイパーカラム (10x10 または 100 単位) のみを表し、V4 層全体から受け取ります。最後に、出力レイヤーには、さまざまなオブジェクトごとに 1 つずつ、合計 20 のユニットがあります。図 2 は、各ユニットがどのオブジェクトを表すかを示しています。出力ユニットの 5x4 配列は、図 2 のオブジェクトの 5x4 配列に対応します。

  • [[sim:Network/Wts]] / [[sim:Wts/r.Wt]] をクリックしてから、さまざまなレイヤーのユニットをクリックすると、上記の接続パターンを表示できます。

# トレーニング

LED オブジェクト

図 2: オブジェクト認識シミュレーションに使用される、水平および垂直の線要素で構成される 20 個のオブジェクトのセット。視覚的特徴要素の制限されたセットを使用することで、モデルがどのように機能するかをより簡単に理解できるようになり、新しいオブジェクトへの一般化をテストすることもできます (オブジェクト 18 と 19 は最初はトレーニングされず、その後は比較的少数の場所でのみトレーニングされます。そこで学習すると、他の場所にもよく一般化されます)。

次に、ネットワークがどのようにトレーニングされるかを見てみましょう。

  • まず、[[sim:Network]] 表示の [[sim:Network/Act]] の表示に戻ります。次に、[[sim:Init]] および [[sim:Step]] Trial を実行して、最初のトレーニング トライアルを表示します。 NetView の右下にある VCR ボタンを使用して、活動化状態の四半期を再生します。

入力イメージのセトリングの マイナス フェーズ の 4 分の 3 が表示されます。これは図 2 に示す形状の 1 つで、平面内でランダムな位置、サイズ、わずかな回転が行われ、その後に出力レイヤーで正しい答えが提供される プラス フェーズが続きます。 ネットワークによって処理された完全なビットマップ イメージは、[[[sim:Image]]] タブにあります。 V1 入力層のパターンは、図 1 に示す V1 指向のエッジ検出器による処理の結果です。

  • [[sim:Step]] Trial に進み、さらにいくつかのトライアルを確認し、入力にどのような変動があるかを確認することができます。

このネットワークのトレーニングには時間がかかるため (特に Web では、コンピューターの新しさと性能にもよりますが、デスクトップでは数分しかかかりません)、トレーニング済みのネットワークから重みをロードするだけで済みます。ネットワークは、エポックあたり 100 のオブジェクト入力の 50 エポック、または 5,000 のオブジェクト プレゼンテーション向けにトレーニングされました。 ただし、パフォーマンスが漸近線に近づくまでに要した時間は、わずか約 25 エポック (2,500 のオブジェクト プレゼンテーション) でした。特定の入力を提示する方法にはさまざまなバリエーションがあるため、これは変動空間のそれほど多くのサンプリングを表すものではありません。

  • ツールバーの [[sim:Open Trained Wts]] を使用して重みをロードします。次に、[[sim:Step]] Trial を数回実行して、オブジェクト認識タスクを実行するトレーニング済みネットワークのマイナスとプラスのフェーズを確認します。 [[sim:Phase/ActM]] と [[sim:Phase/ActP]] ([[sim:Network/Phase]] 内) の間を行き来してクリックすると、ネットワークの応答と正しい応答の違いを確認できます。

通常、プラス位相とマイナス位相の出力状態が同じであることがわかります。これは、ネットワークが表示されているオブジェクトのほとんどを正しく認識していることを意味します。

パフォーマンスのより包括的なテストを行うには、オブジェクトの 500 回のプレゼンテーションを実行し、全体的なエラー レベルを記録するテスト プログラムを実行できます。

  • [[sim:Test All]] ボタンを押し、[[sim:Test Epoch Plot]] を選択すると、結果を待つ間の処理が高速化されます。 [[sim:Test Trial Plot]] をクリックすると、トライアルごとの結果を確認できますが、これを監視すると処理が遅くなります。 Web バージョンでは、コンピューターの速度によっては時間がかかる場合があります。

ネットワークがトレーニングされていない最後の 2 つのオブジェクト (常に間違っている) を除いて、エラー率は通常 5% 未満 (多くの場合はゼロ) であることがわかります。したがって、ネットワークは、位置とサイズが不変の方法でオブジェクトを認識するというこの困難なタスクにおいて、妥当なパフォーマンスを示します。

受容野分析

ネットワークがこの困難な問題を解決していることがわかったので、次の疑問は明らかです。「どのようにして?」ということです。これに答えるには、ネットワークの連続層にわたって入力パターンがどのように変換されるかを調べる必要があります。これは、V4 層と IT 層のユニットの 受容野 を計算することによって行われます。受容野とは本質的に、ネットワーク内の特定のユニットが反応するさまざまな刺激の範囲、つまり何を検出するように調整されているかを意味します。テストプロセス中に、システムは 活性化ベースの 受容野を計算します。

この手順では、すべての入力パターンをネットワークに提示し、ユニットがそれらにどのように応答するかを記録します。どのパターンがアクティブ化されるかを決定するために、たとえば、特定の V4 ユニットがアクティブになるたびに、別の ソース レイヤー上のアクティビティを集計します (アクティブな量によって重み付けされます)。特定のソース パターンが V4 ユニットを活性化しない場合、そのソースはそのユニットの全体的な受容野にはカウントされません。 最後に、ユニット アクティビティとソースの積をソース アクティベーションの合計で割ります (つまり、ソースのアクティベーション加重平均を計算します)。 この加重平均計算により、何がそのユニットを活性化する傾向があるのか​​についての有用な集合画像が生成されます。特に興味深いのは、画像入力のアクティビティです。アクティベーション ベースの手法の優れた特徴は、どのアクティビティでもどこでも使用できることです。レイヤーはそこから直接受け取る必要がありません。 また、Output レイヤー アクティビティにも興味があります。これにより、特定のユニットがどの LED オブジェクトの表現に関与しているかがわかります。

V4 アクティベーションベースの RF

図 3: 画像層と出力層の V4 活性化ベースの受容野のサンプル。 同じ V4 ユニットが (外側のグリッドに) 表示されるため、それぞれを画像および出力の対応する受容野と比較できます。

ITアクティベーションベースのRF

図 4: 画像層と出力層のすべての IT 活性化ベースの受容野と、対応する外側グリッド内の各ユニット

  • [[sim:Test All]] が完了すると、[[sim:V4:Image]] で始まるタブには、結果として得られるアクティベーションベースの受容フィールドが含まれます。 それぞれを順番にクリックします (画像のレンダリングには時間がかかる場合があります)。 [[sim:V4:Image]] は、外側の大規模グリッド (NetView に表示されるそれぞれの位置) 内のすべての V4 ユニットと、各内側グリッドのイメージに対する加重平均応答を示します。 これは非常に大きいため、通常はスクロールが必要です。そこで、図 3 に V4 ユニットの 10x10 のサンプルをキャプチャし、[[sim:V4:Output]] の同じユニットも示しています。 同様に、IT タブには、対応する受容野が表示されます (図 4 も参照)。

V4 ユニットが、網膜入力内の比較的狭い範囲の位置で、線要素の単純な結合をエンコードしていることがわかります。 複数の場所にまたがって応答するという事実により、重みパターンが多少不鮮明になっているように見えます。これは、多少見づらくなっていますが、重要な不変性の役割を果たしているということを示しています。 また、画像と出力のアクティベーション間の対応も確認できます。たとえば、図 3 の左下の V4 ユニットは、画像パターンに従って「回転した F」に応答しているように見えます。実際、最もアクティブな出力ユニットは、その回転した F である LED オブジェクト 10 に対応します。各 V4 ユニットが複数の異なるオブジェクトに応答するという事実は、出力パネルの混雑したカラフルなパターンによって明らかです。 これは、V4 が (第 3 章で説明したように) ローカリスト的な表現ではなく、粗くコーディングされたオブジェクトの分散表現を生成していることを意味します。

質問 6.3: ネットワークによって実行される全体的な計算の観点から、V4 受容野で観察される線要素の組み合わせと空間的不変性の重要性を説明してください。

> **質問 6.4:** 図 3 から *異なる* V4 ユニットを選択し、その画像受容野に示される特徴に基づいて、その最強の出力表現がどのように意味を持つのかを説明してください。 (ヒント: 特定の画像パターンと特定の出力単位を特に選択する単位を選択してください。これにより、内容が見やすくなります。) IT パターン (図 4) を調べて、V4 パターンと比較できるようになりました。 > **質問 6.5:** IT ユニットの調査によると、個々のニューロンは単一のオブジェクト全体をコードしているように見えますか、それとも異なるオブジェクトの一部をコードしているように見えますか (個々のニューロンが複数のオブジェクトにわたってアクティブであるなど)。説明する。 (出力層に基づいて) 特定のユニットが明らかに「関与していない」オブジェクトの数に特に焦点を当てると、IT ユニットが V4 ユニットよりも選択的であることが明らかになるはずです。これは、IT ユニットが、少数のオブジェクトで共有される機能のより複雑な組み合わせをエンコードしている (したがって、オブジェクトの特定のサブセットに対してより選択的になっている) という考えを裏付けています。したがって、ここでは、空間的不変性を生成しながらフィーチャの関係をエンコードするために必要なフィーチャの複雑さが階層的に増加しているという証拠が見られます。 また、IT パターンははるかにぼやけており、これは、入力画像のより多くの位置/歪みにわたって統合されている、つまり、より不変であることを意味します。 # 受容野分析の要約と考察 活性化ベースの受容野技術を使用して、このネットワークが複数のレベルの処理にわたって段階的に空間的に不変の物体認識を実行する方法についてある程度の洞察が得られました。 同様に、階層内のレベルが増加するにつれて、フィーチャ リプレゼンテーションの複雑さも増加します。これらの両方を同時に、複数のレベルにわたって段階的に実行することにより、ネットワークは、構成要素の詳細な空間配置に大きく依存する環境内のオブジェクトを認識できるようになり、それによって前述のバインディングの問題を明らかに回避できます。 なぜ V4 表現と IT 表現がそれぞれの特性を持っているのか、つまりネットワークがこのように発展したのはなぜなのか疑問に思われるかもしれません。空間的不変性の程度に関しては、接続性のパターンが V4 で可能な不変性の程度を制限するのに対し、IT ニューロンは (この小規模モデルでは) 視野全体から受信するため、完全に不変な表現が得られる立場にあることは明らかです。また、IT 表現は、V4 レイヤーの限られた不変性と機能の複雑さに基づいて構築されるため、より不変でより複雑になる可能性があります。後続の層が以前の層で実行された変換を基にして構築できるこの機能は、認識の中心となる一般原則です。 ここで観察した表現特性は、機能的に重要な意味を持つ可能性があります。たとえば、次のセクションでは、IT 表現の性質が、ネットワークを効果的に一般化できるようにする上で重要な役割を果たす可能性があることを見ていきます。 IT 表現がオブジェクト自体ではなく、複雑なオブジェクトの特徴をエンコードする限り、これらの表現は新しいオブジェクトに再利用できます。 ネットワークはこれらの IT 表現の比較的不変なバージョンをすでに形成できるため、新しいオブジェクトに再利用することは、不変変換自体が新しいオブジェクトに一般化されることを意味します。 ## 一般化テスト ネットワークのパフォーマンスに関する上記のすべての受容野測定に加えて、トレーニング中にネットワークに「提示されなかった」 2 つのオブジェクト (上の図 2 の番号 18 と 19) を使用して、空間的に不変な方法で一般化する能力の動作テストを実行できます。これで、空間的な位置とサイズの制限されたセットでこれら 2 つのオブジェクトをトレーニングし、新しい位置とサイズでこれらのアイテムに応答するネットワークの能力を評価できるようになりました。おそらく、ネットワークが行う必要のあることの大部分は、IT 表現と適切な出力ユニットの間の関連性を学習することであり、他のすべての空間位置に対して適切な一般化が行われるはずです。 トレーニング中に新しいオブジェクトを提示することに加えて、見慣れたオブジェクトも提示する必要があります。そうしないと、ネットワークが *壊滅的な干渉* に見舞われることになります。次の手順を使用しました。各試行では、新しいオブジェクトが提示される確率は 50% でした (パネル内の [[sim:P Novel]])。新しいオブジェクトが提示された場合、その位置、スケーリング、および回転パラメーターは、元のトレーニングでのこれらの値の最大範囲の 0.5 を使用して選択されました。これら 4 つの要素 (x 方向の平行移動、y 方向の平行移動、サイズ、回転) が組み合わせであるとすると、合計の組み合わせ空間のうちおよそ 0.5^4 または 0.0625 が調査されたことになります。見慣れたオブジェクトが提示された場合、そのサイズと位置はすべての可能性から完全にランダムに選択されます。この手順は、エポックあたり 100 個のオブジェクトの 10 エポックだけ繰り返されました。重要なのは、結果が以前の経路ではなく IT レベルの学習によるものであることを保証するために、IT 接続と出力接続を除くすべての学習率がゼロに設定されていることです。脳では、視覚システムのこれらの初期領域は、システムが成熟するにつれて高次領域に比べて可塑性が低下する可能性が非常に高くなります。 * この形式の汎化トレーニング用にシステムをセットアップするには、ツールバーの [[sim:Init]] をクリックしてから、[[sim:Train Novel]] ボタンをクリックします。これにより、トレーニングされた重みがロードされ、環境生成が上記の形式になるように設定されます。次に、[[sim:Step]] ボタンをトライアルではなく `Epoch` に設定し、一度に 1 エポックだけではなく 10 エポックをステップに設定します。次に、[[sim:Step]] ボタンをクリックし、[[sim:Train Epoch Plot]] に切り替えてトレーニングを監視します。 * ネットワークがトレーニングされた後、[[sim:Test All]] を実行してテストを実行できます。 結果は、ネットワークが新しい 18 および 19 パターン全体で平均して約 80% 正解 (20% エラー) したことを示しています。これは空間のわずか 6% でトレーニングが行われており、ネットワークが新しいオブジェクトに適用できる一般化された不変変換を学習していることを示唆しています。 IT および出力経路への学習の制限を考慮すると、これらの新しいオブジェクトをエンコードするために下位の経路で追加の学習を行う必要はなかったと確信できます。 要約すると、これらの一般化の結果は、刺激が他の見慣れたオブジェクトと共通の構造的特徴を持っている限り、階層的な一連の表現が新しい刺激に対して効果的に作用できることを示しています。ネットワークは、これらの特徴の組み合わせを、ますます複雑になり、空間的にも不変になるという観点から表現することを学習しました。このケースでは、新しいオブジェクトが他のオブジェクトと同じライン フィーチャから構築されるようにすることで、一般化を容易にしました。私たちは、自然物体も複雑な特徴の語彙を共有しており、学習によってそれらを発見して活用し、同様に一般化可能な不変性マッピングを実現できると予想していますが、より現実的な種類の物体についてはまだ実証されていません。このモデルが行う予測の 1 つは、不変マッピングの一般化は既知のオブジェクトとの特徴の類似性の関数である可能性が高いため、人々 (およびより精巧なモデル) での一般化パフォーマンスの連続性が期待できるということです。 </section>