ANN系AI（通常のAI）は、莫大な計算パワーとバックプロパゲーションを使って、人間が設定した固定の数式（損失関数）に向けて「強引に全体をねじ伏せて最適化」します。しかし、SNN系AIは局所的なルールの集合体であるため、一部の修正がバタフライ効果のように全体に波及してしまいます。

脳神経科学やSNNの研究論文をもとに**「ネットワーク自身に自動でバランスをとらせる（自己組織化・ホメオスタシス）」**というアプローチを研究考察する。

### 1. ホメオスタシス可塑性（Homeostatic Plasticity）/ ALIFモデル

生体の脳は「てんかん（過剰発火の暴走）」や「昏睡（発火の停止）」を起こさないよう、ニューロン自身が自分の発火しやすさを自動調整しています。

* **アイデア (ALIF: Adaptive Leaky Integrate-and-Fire):**
各ニューロンに「目標とする平均発火率（例：1秒間に5回）」を持たせます。もし最近発火しすぎているなら、自身の**発火閾値を自動的に上げ**（鈍感になり）、逆にずっと発火していないなら**閾値を自動的に下げます**（敏感になる）。
* **論文/背景:**
SNNの研究では非常に有名で、Bellecらの論文（"A solution to the learning dilemma for recurrent networks of spiking neurons", 2020）などで、この適応的な閾値（Adaptive Threshold）が長期的な学習の安定化に不可欠であることが示されています。
* **SARAへの応用:**
現在 `chat_snn_lm.py` などで `fire_threshold=0.5` のように**固定値（ハードコード）**で渡している閾値をやめ、モデル内部でニューロンごとに動的に閾値を変動させる仕組み（Homeostatic Manager）を作ります。

### 2. BCM理論（スライディング・スレッショルド）

SARA-Engineの学習では「同時に発火したら結びつきを強くする（ヘッブ則/STDP）」を使っていますが、これだけだと強い結びつきがより強くなり無限に強化されてしまう「富める者はますます富む」状態になり、今回のようなループを引き起こします。

* **アイデア (BCM則):**
Bienenstock, Cooper, Munroによって提唱された有名な理論です。ニューロンの活動量に応じて、**「繋がりを強くする（LTP）か、弱くする（LTD）かの境界線」がスライド（移動）**します。よく発火するニューロンは「これ以上は結びつきを強くしない（むしろ弱くする）」ように境界線が自動で移動し、自己安定化を図ります。
* **SARAへの応用:**
`SynapseManager` の `update_weights` 処理に、固定の `_SYNAPSE_MAX_WEIGHT` だけでなく、そのニューロンの過去の活動履歴（`token_counts`）に基づいて、ペナルティ（抑制）の強さを自動計算する「動的なスケーリング」を導入します。

### 3. 大域的な抑制性ネットワーク（WTA: Winner-Take-All）

興奮するニューロン（アクセル）だけでなく、全体を抑え込む「抑制性ニューロン（ブレーキ）」の働きです。

* **アイデア:**
一部のニューロンが発火して「あ、これだ！」と答えを見つけた瞬間、そのニューロンが**他のすべての候補ニューロンに対して強い抑制信号（マイナスの電位）**を送り、黙らせます（勝者総取り）。
* **論文/背景:**
スイスのMaassらによる「Liquid State Machine (LSM)」や「Reservoir Computing」の研究で、興奮性（Excitatory）と抑制性（Inhibitory）のニューロン比率を「8:2」に保つことで、ネットワークがカオスの縁（Edge of Chaos）と呼ばれる最も情報処理効率の良い状態を自動的に維持できることが分かっています。
* **SARAへの応用:**
現在、ポテンシャル（電位）が上位の複数のトークンが同時に発火候補に挙がっていますが、「トップのトークンが発火したら、その電位の大きさに比例して、他のすべてのトークンの電位を強制的にマイナスにリセットする」というグローバルな抑制ロジック（Lateral Inhibition）を組み込みます。

---

### まとめ：次に目指すべき方向性

今の SARA-Engine は、「人間が手動で最適な閾値やペナルティの係数（0.85 など）を探して設定する」という、少し古い機械学習のアプローチに依存してしまっています。

今後の進化としては、**「マジックナンバー（固定の数値パラメータ）をできる限りコードから排除し、モデル自身に目標値（ホメオスタシス）に向かってパラメータを動的にスライドさせる機能を持たせる」**ことが、堅牢なSNNを作るためのブレイクスルーになります。
