# **競合分析と技術的ギャップ (Competitive Analysis vs Existing SNN Libraries)**

本ドキュメントでは、主要なSNN（Spiking Neural Network）ライブラリとSARA Engineを比較し、当プロジェクトに現在不足している機能や、アーキテクチャ上劣っているロジックを分析します。

## **1\. 比較対象のSNNライブラリ概要**

* **snnTorch / SpikingJelly / Norse**: PyTorchエコシステムに統合され、主に**サロゲート勾配（Surrogate Gradient）法**と\*\*BPTT（Backpropagation Through Time）\*\*を用いてSNNを学習させるライブラリ。ANNと同様の使い勝手と高い精度を持つ。SpikingJellyはCUDA拡張により極めて高速。  
* **BindsNET**: 生物学的な可塑性（STDP等）に焦点を当てたPyTorchベースのライブラリ。強化学習との統合が特徴。  
* **Nengo**: Neural Engineering Framework (NEF) に基づき、認知モデリングや動的システムに強い。NengoLoihiなど、ハードウェアへのデプロイパイプラインと強力なGUIツール（NengoGUI）を持つ。  
* **Brian2**: 純粋な計算論的神経科学のシミュレータ。微分方程式を文字で定義しコードを自動生成する。極めて高い生物学的忠実度（コンダクタンスベースモデル、マルチコンパートメント等）を持つ。

## **2\. ポリシーによる「意図的な劣後」（The Trade-offs）**

SARA Engineは doc/policy.md にて「誤差逆伝播法の否定」と「ANN-to-SNN変換の不採用」を宣言しています。これにより、以下の点で他ライブラリ（特にsnnTorchやSpikingJelly）に対して明確なビハインドを背負っています。

### **2.1 深層ネットワークにおける Credit Assignment (信用割当) の困難さ**

* **他ライブラリの利点:** Surrogate Gradient法を用いれば、ImageNetクラスの大規模データセットでも確実に収束し、高精度な深層SNNを学習できます。  
* **SARAの弱点:** STDPや報酬変調型STDP（3ファクター学習）などの局所的な学習則のみに依存しているため、ネットワークの層が深くなった際に「どのシナプスが最終的な出力（または報酬）に貢献したか」を割り当てる（Credit Assignment）ロジックが極めて弱いです。現状の hierarchical\_stdp.py などのロジックでは、数十層以上の深いモデルにおいて、ANN相当の精度に収束させることは理論的にも実装的にも非常に困難です。

### **2.2 実用的な事前学習モデル導入の遅さ**

* **他ライブラリの利点:** 学習済みのResNetやVGGなどのANNを、ほぼ精度劣化なしでSNNに変換する強力なツール（ANN-to-SNN Conversion）を備えています。  
* **SARAの弱点:** 変換を否定しているため、すべてのタスクにおいてゼロから、あるいは独自のSNN向け事前学習（distill\_llm.py など）を行う必要があり、ユーザーが「すぐに高精度なモデルを使いたい」というユースケースにおいて実用性が大きく劣ります。

## **3\. ポリシー上解決すべき機能的欠落（Missing Features）**

プロジェクトの思想には合致しているものの、現行の実装レベルにおいて他ライブラリと比較して明らかに不足している機能です。

### **3.1 ニューロモルフィックハードウェアへのコンパイル・マッピング (vs Nengo)**

* **現状の課題:** SARAはRustによるCPUエッジ実行（sara\_rust\_core）を構築していますが、Intel Loihi、SpiNNaker、BrainScaleSといった専用のニューロモルフィック・チップ上で動かすための中間表現（IR）生成やコンパイラツールチェーンが存在しません。  
* **必要な機能:** edge/exporter.py を拡張し、Nengoエコシステムに匹敵するようなハードウェア・バックエンド抽象化レイヤーの実装。

### **3.2 ネイティブなイベント駆動型データセットのサポート (vs SpikingJelly)**

* **現状の課題:** 画像（MNIST等）やテキストを自前でポアソン・スパイク等にエンコードする仕組みはありますが、DVS（Dynamic Vision Sensor: イベントカメラ）によって記録された標準的なニューロモルフィックデータセット（DVS128 Gesture, N-MNISTなど）をネイティブに読み込み、前処理するエコシステムが弱いです。  
* **必要な機能:** sara\_engine/utils/data/ へのDVSフォーマットパーサーと、時間的・空間的ダウンサンプリングツールの追加。

### **3.3 数学的抽象化レイヤーの不在 (vs Nengo)**

* **現状の課題:** NengoのNEF（Neural Engineering Framework）は、任意の高次元ベクトルをスパイクするニューロン集団に変換し、ベクトル演算（足し算、掛け算など）をシナプス結合重みとして数学的に解析解で求めることができます。  
* **必要な機能:** 現在のSARA（spatio\_temporal\_binding.py など）は純粋に学習によってこれらを獲得しようとしていますが、事前知識に基づくシンボリックな演算をSNN上に埋め込むための理論的枠組み・抽象化レイヤーが不足しています。

### **3.4 微視的な生物学的忠実度の表現力 (vs Brian2)**

* **現状の課題:** 生物学的妥当性を謳いながらも、Brian2のようにユーザーが任意の微分方程式を動的にパースしてシミュレーションする柔軟性はありません。LIFモデルやその派生にハードコードされています。  
* **必要な機能:** マクロな認知モデリングには現状で十分ですが、今後はマルチコンパートメントモデル（樹状突起の空間的広がりを考慮したモデル）や、アストロサイトなどのグリア細胞による修飾を記述できるDSL（ドメイン特化言語）の導入が望まれます。

### **3.5 動的アーキテクチャのリアルタイム可視化 GUI (vs Nengo GUI)**

* **現状の課題:** snn\_visualizer.py などのスクリプトベースの静的な出力にとどまっています。自己組織化（Structural Plasticity）によってシナプスがリアルタイムに生成・消滅する様子や、ホームオスタシスによる発火率の変遷をデバッグするためのインタラクティブなGUIがありません。  
* **必要な機能:** Webベース、またはRustのGUIフレームワークを利用した、実行中にネットワークトポロジとスパイクラスタープロットを同時に監視できるコントロールパネルの開発。

## **4\. 総括と今後の重点課題**

SARA Engineは「誤差逆伝播の否定」という最も困難な道を選んだため、**「深いネットワークの最適化（Credit Assignment）」においてsnnTorch等のBPTTベースライブラリに性能で圧倒されるリスク**が最大の懸念事項です。

これを乗り越え、自己組織化（Structural Plasticity）と局所学習（STDP/Homeostasis）の組み合わせが、結果的にBPTTと同等以上の抽象特徴抽出能力を持つことを証明する数学的アプローチ（あるいはPredictive Codingのような大脳新皮質アルゴリズムのより厳密な実装）の強化が急務です。同時に、DVSデータのサポートやインタラクティブGUIといったエコシステムの拡充も、ユーザー獲得に向けて不足しているピースとなります。