コンテンツにスキップ

EvoSpikeNet 分散脳シミュレーションシステム 技術仕様書

[!NOTE] 最新の実装状況は 機能実装ステータス (Remaining Functionality) を参照してください。

作成日: 2026年1月12日(最終更新: 2026年3月19日 Phase E コネクトーム統合 E-0/E-1/E-2 完了)

Author: Masahiro Aoki

このドキュメントの目的と使い方

  • 目的: 分散脳システム全体の技術仕様を俯瞰し、設計/実装/運用の共通認識を持つ。
  • 対象読者: アーキテクト、分散脳実装チーム、SRE/運用担当。
  • まず読む順: 1.システム概要 → 2.アーキテクチャ設計 → 3.Zenoh通信システム → 8.分散脳ノードの実行フロー。
  • 関連リンク: 実行スクリプトは examples/run_zenoh_distributed_brain.py、PFC/Zenoh/Executive詳細は implementation/PFC_ZENOH_EXECUTIVE.md

  • 実装ノート(アーティファクト): 学習/生成スクリプトが作成する artifact_manifest.json と CLI フラグについては docs/implementation/ARTIFACT_MANIFESTS.md を参照してください。最新のパイプラインでは --node-type で分散脳ノードタイプを指定し、生成されるアーティファクトに node_type メタが自動的に含まれるようになっています。

目次

  1. システム概要
  2. アーキテクチャ設計
  3. Zenoh通信システム
  4. PFCとQ-PFCフィードバックループ
  5. 高度な意思決定エンジン
  6. ノード発見システム
  7. ChronoSpikeAttention機構
  8. 分散脳ノードの実行フロー
  9. データ構造と型定義
  10. 性能最適化と制御
  11. シミュレーションデータの記録
  12. 長期間記憶システム
  13. Feature 13: 高度な空間処理ノード ✅ 新規実装
  14. 生物模倣オーバーレイ(BiomimeticAdapter) ⭐ 2026-02-25
  15. ゲノム駆動分散推論(Phase D) ⭐ NEW 2026-03-11
  16. コネクトーム統合(Phase E) ⭐ NEW 2026-03-19

1. システム概要

1.1. コンセプト

EvoSpikeNetの分散脳シミュレーションシステムは、生物学的な脳の機能的専門化と統合の原理に基づいて設計された、スケーラブルなニューロモーフィックコンピューティングフレーム ワークです。

設計哲学: - 専門化(Specialization): 各機能モジュール(視覚、聴覚、言語、運動)が専門的な処理を担当 - 統合(Integration): 前頭前野(PFC)が全体の調整・統合を行う - 非同期通信(Asynchronous Communication): Zenohによる低遅延Pub/Subパターン - 自己変調(Self-Modulation): Q-PFCフィードバックループによる動的な閾値調整

1.2. 主要コンポーネント

graph TB
    subgraph "制御層"
        PFC["PFC: Prefrontal Cortex 前頭前野"]
        QPFC["Q-PFC Feedback Loop 量子変調フィードバック"]
    end

    subgraph "機能モジュール層"
        SH["Sensor Hub: センサー統合管理"]
        MH["Motor Hub: 運動統合管理"]
        VISUAL["Visual Module 視覚処理"]
        AUDIO["Auditory Module 聴覚処理"]
        LANG["Language Module 言語処理"]
        MOTOR["Motor Module 運動制御"]
    end

    subgraph "通信・インフラ基盤"
        ZENOH["Zenoh Router Pub/Sub通信"]
        PTP["PTP Sync 時刻同期"]
        DISCOVERY["Node Discovery ノード発見"]
        SAFETY["FPGA Safety 安全性監視"]
        SECURITY["Encryption Security 暗号化セキュリティ"]
    end

    PFC <--> QPFC
    PFC <-->|ChronoSpikeAttention| ZENOH
    SH <-->|Sensor Data| PFC
    PFC <-->|Motor Commands| MH
    VISUAL <--> SH
    AUDIO <--> SH
    LANG <--> ZENOH
    MOTOR <--> MH

    ZENOH --- PTP
    ZENOH --- DISCOVERY
    ZENOH --- SAFETY

1.3. 29ノード完全脳アーキテクチャ

2026年2月19日更新: 空間認知・生成モジュールを追加した29ノード構成を、FastAPIベースの空間生成サービス(/generate, /health)とSDKラッパー(spatial_generate, spatial_health)付きで公開面に統合。RAGノードもSDK経由で /upload_file /query を提供。各層が専門化し、Zenohによる非同期通信で協調動作します。

2026年2月25日追記: 長期記憶層にスパイク圧縮レイヤと忘却制御を追加し、LongTermMemoryModule がエピソード/セマンティック記憶と圧縮スパイクを統合。容量超過時は ForgettingController で破壊的忘却を防ぎます。

graph TB
    subgraph "観測層 (Sensing Layer - 3ノード)"
        CAM["Camera Sensor<br/>カメラセンサ"]
        MIC["Microphone Sensor<br/>マイクセンサ"]
        ENV["Environment Sensor<br/>環境センサ"]
    end

    subgraph "エンコード層 (Encoding Layer - 4ノード)"
        VENC["Vision Encoder<br/>視覚エンコーダ"]
        AENC["Audio Encoder<br/>音声エンコーダ"]
        TENC["Text Encoder<br/>テキストエンコーダ"]
        SENC["Spiking Encoder<br/>スパイキングエンコーダ"]
    end

    subgraph "認知・推論層 (Cognition Layer - 6ノード)"
        LMINF["LM Inference<br/>言語モデル推論"]
        CLF["Classifier<br/>分類器"]
        SPLM["Spiking LM<br/>スパイキングLM"]
        SPATIAL["Spatial Processor<br/>空間認識・生成"]
        ENS["Ensemble<br/>アンサンブル"]
        RAG["RAG<br/>検索拡張生成"]
    end

    subgraph "意思決定層 (Decision Layer - 3ノード)"
        PFC["PFC<br/>前頭前野"]
        PLANNER["High-Level Planner<br/>高レベルプランナー"]
        CTRL["Execution Controller<br/>実行コントローラー"]
    end

    subgraph "長期記憶層 (Long-Term Memory - 2ノード)"
        EPI["Episodic Memory<br/>エピソディック記憶"]
        SEM["Semantic Memory<br/>セマンティック記憶"]
    end

    subgraph "記憶層 (Memory Layer - 6ノード)"
        VDB["Vector DB<br/>ベクトルDB"]
        EST["Episodic Storage<br/>エピソードストレージ"]
        RETR["Retriever<br/>検索器"]
        KB["Knowledge Base<br/>知識ベース"]
        SPKRES["Spike Reservoir<br/>スパイク圧縮レイヤ"]
        MINT["Memory Integrator<br/>メモリ統合器"]
    end

    subgraph "学習層 (Learning Layer - 1ノード) - ノードタイプベースLLMトレーニング対応"
        TRAIN["Trainer<br/>学習器"]
    end

    subgraph "集約層 (Aggregation Layer - 2ノード)"
        FED["Federator<br/>フェデレータ"]
        RAGG["Result Aggregator<br/>結果集約器"]
    end

    subgraph "管理層 (Management Layer - 2ノード)"
        AUTH["Auth Manager<br/>認証管理"]
        MON["Monitoring<br/>監視"]
    end

    subgraph "通信基盤 (Communication Infrastructure)"
        ZENOH["Zenoh Router<br/>Pub/Sub通信"]
        PTP["PTP Sync<br/>時刻同期"]
        DISC["Node Discovery<br/>ノード発見"]
        SAFETY["FPGA Safety<br/>安全性監視"]
    end

    %% データフロー
    CAM --> VENC
    MIC --> AENC
    ENV --> SENC

    VENC --> SPATIAL
    VENC --> LMINF
    AENC --> CLF
    TENC --> RAG
    SENC --> SPLM

    LMINF --> ENS
    CLF --> ENS
    SPLM --> ENS
    SPATIAL --> ENS
    RAG --> ENS

    ENS --> PFC
    PFC --> PLANNER
    PLANNER --> CTRL

    EPI --> MINT
    SEM --> MINT
    SPKRES --> MINT
    MINT --> RETR

    VDB --> RETR
    EST --> RETR
    KB --> RETR
    SPKRES --> RETR

    RETR --> RAG
    RETR --> PFC

    PFC --> TRAIN
    TRAIN --> FED
    FED --> RAGG

    AUTH -->|Security| ZENOH
    MON -->|Monitoring| ZENOH

    %% 通信基盤接続
    ZENOH --- PTP
    ZENOH --- DISC
    ZENOH --- SAFETY

    %% 全ノードがZenohに接続
    CAM -.-> ZENOH
    MIC -.-> ZENOH
    ENV -.-> ZENOH
    VENC -.-> ZENOH
    AENC -.-> ZENOH
    TENC -.-> ZENOH
    SENC -.-> ZENOH
    LMINF -.-> ZENOH
    CLF -.-> ZENOH
    SPLM -.-> ZENOH
    SPATIAL -.-> ZENOH
    ENS -.-> ZENOH
    RAG -.-> ZENOH
    PFC -.-> ZENOH
    PLANNER -.-> ZENOH
    CTRL -.-> ZENOH
    EPI -.-> ZENOH
    SEM -.-> ZENOH
    VDB -.-> ZENOH
    EST -.-> ZENOH
    RETR -.-> ZENOH
    KB -.-> ZENOH
    SPKRES -.-> ZENOH
    MINT -.-> ZENOH
    TRAIN -.-> ZENOH
    FED -.-> ZENOH
    RAGG -.-> ZENOH
    AUTH -.-> ZENOH
    MON -.-> ZENOH

アーキテクチャの特徴

  • 層別専門化: 各層が生物学的脳の機能を模倣した専門処理を担当
  • 非同期通信: Zenoh Pub/Subによる低遅延リアルタイム通信
  • 長期記憶統合: エピソディック/セマンティック記憶による学習適応
  • スケーラビリティ: 29ノード構成(スパイク圧縮ノード追加)で完全脳機能をカバー
  • 耐障害性: 分散アーキテクチャによる単一障害点の排除

ノード配分詳細

  • 観測層: 3ノード - 外部環境からのデータ収集
  • エンコード層: 4ノード - 多様なデータ形式の特徴抽出
  • 認知・推論層: 6ノード - 高度な認識と推論処理
  • 意思決定層: 3ノード - PFCを中心とした計画・実行制御
  • 長期記憶層: 2ノード - 永続的な知識と経験の保持
  • 記憶層: 6ノード - 短期/作業記憶と効率的な検索(スパイク圧縮レイヤ含む)
  • 学習層: 1ノード - 継続的なモデル適応
  • 集約層: 2ノード - 分散学習と結果統合
  • 管理層: 2ノード - セキュリティとシステム監視

1.4. プロセス実行フロー

基本的なデータフローシーケンス

sequenceDiagram
    participant CAM as Camera Sensor
    participant VENC as Vision Encoder
    participant LMINF as LM Inference
    participant PFC as PFC
    participant PLANNER as High-Level Planner
    participant CTRL as Execution Controller
    participant EPI as Episodic Memory
    participant RETR as Retriever
    participant MOTOR as Motor Hub

    Note over CAM,MOTOR: センサー入力 → 認知 → 意思決定 → 行動実行

    CAM->>VENC: 画像データ送信
    VENC->>LMINF: 視覚特徴ベクトル
    LMINF->>PFC: 認識結果

    PFC->>RETR: 関連記憶検索要求
    RETR->>EPI: エピソード記憶クエリ
    EPI-->>RETR: 関連エピソード返却
    RETR-->>PFC: 統合された文脈情報

    PFC->>PLANNER: 目標設定と計画生成
    PLANNER->>CTRL: 実行可能な行動プラン
    CTRL->>MOTOR: 運動コマンド送信

    PFC->>EPI: 新しい経験の記憶保存
    EPI-->>PFC: 記憶保存確認

長期記憶統合フロー

sequenceDiagram
    participant INPUT as センサー入力
    participant ENCODER as エンコーダ
    participant INFERENCE as 推論ノード
    participant PFC as PFC
    participant EPI as Episodic Memory
    participant SEM as Semantic Memory
    participant MINT as Memory Integrator
    participant RETR as Retriever

    Note over INPUT,RETR: 経験学習と知識蓄積のサイクル

    INPUT->>ENCODER: 生データ
    ENCODER->>INFERENCE: 特徴ベクトル
    INFERENCE->>PFC: 処理結果

    PFC->>EPI: エピソード記憶保存
    PFC->>SEM: 知識抽出・保存

    Note right of PFC: 継続的な学習サイクル

    PFC->>MINT: 記憶統合要求
    MINT->>EPI: エピソード検索
    MINT->>SEM: 知識検索
    EPI-->>MINT: エピソードデータ
    SEM-->>MINT: 知識データ
    MINT->>RETR: 統合記憶インデックス更新

    Note over RETR: 検索効率向上のための<br/>クロスモーダル連想

学習適応フロー

sequenceDiagram
    participant PFC as PFC
    participant TRAIN as Trainer
    participant FED as Federator (Flower)
    participant RAGG as Result Aggregator
    participant ALL as 全ノード

    Note over PFC,ALL: Flowerベースの連合学習とモデル更新

    PFC->>TRAIN: 学習データ送信
    TRAIN->>TRAIN: ローカルモデル更新計算

    TRAIN->>FED: Flower FLクライアント初期化
    FED->>ALL: 連合学習ラウンド参加要求
    ALL-->>FED: ローカル更新パラメータ送信
    FED->>RAGG: 安全なパラメータ集約(差分プライバシー)
    RAGG->>TRAIN: 集約済みグローバル更新

    TRAIN->>ALL: 新グローバルモデル配布
    ALL-->>TRAIN: 配布確認

    Note over ALL: 継続的な性能向上とプライバシー保護

システム全体の実行サイクル

stateDiagram-v2
    [*] --> 初期化
    初期化 --> センサー監視: Zenoh接続完了
    センサー監視 --> データ収集: 入力検知
    データ収集 --> 特徴抽出: エンコーダ処理
    特徴抽出 --> 推論処理: 認知層
    推論処理 --> 意思決定: PFC統合
    意思決定 --> 記憶検索: 文脈要求
    記憶検索 --> 計画生成: 関連情報取得
    計画生成 --> 行動実行: コントローラー
    行動実行 --> 経験記憶: エピソード保存
    経験記憶 --> 学習適応: 継続学習
    学習適応 --> センサー監視: 次のサイクル

    意思決定 --> 直接実行: 単純タスク
    直接実行 --> センサー監視

    状態チェック --> センサー監視: 正常
    状態チェック --> エラー回復: 異常検知
    エラー回復 --> センサー監視: 回復完了

主要コンポーネント

Sensor Hub (センサーハブ):

2025年12月12日更新: 運動野とセンサー情報を管理する分類を分離し、より効率的なアーキテクチャを導入しました。

Sensor Hub (センサーハブ): - すべてのセンサー入力(視覚、聴覚、触覚)を統合管理 - センサーデータの前処理と統合を担当 - PFCに統合されたセンサーデータを提供

Motor Hub (モーターハブ): - すべての運動出力(軌道制御、小脳協調、PWM制御)を統合管理 - PFCからのコマンドを実際の運動制御に変換 - 複数の運動サブシステムの協調を管理

利点: - 並列処理: センサー入力の同時処理が可能 - 専門化: 各ハブが専門の機能を担当 - 拡張性: 新しいセンサー/運動タイプの追加が容易 - 効率性: センサーと運動の分離により、処理の最適化が可能

データフロー:

Sensor Hub → PFC → Motor Hub
     ↓         ↓         ↓
  Visual    Compute   Motor-Traj
 Auditory   Lang-Main  Motor-Cereb
            Speech     Motor-PWM

1.3. プラグインアーキテクチャ & マイクロサービス

2025年12月20日追加: システムアーキテクチャをモノリシックからプラグインベースマイクロサービスに移行しました。

アーキテクチャ概要

プラグインシステム: - 7種類のプラグインタイプ (NEURON, ENCODER, PLASTICITY, FUNCTIONAL, LEARNING, MONITORING, COMMUNICATION) - 動的ローディングによる実行時拡張 - 9つのビルトインプラグイン (LIF, Izhikevich, EntangledSynchrony, Rate, TAS, Latency, STDP, MetaPlasticity, Homeostasis) - 機能追加時間70%短縮 (4-5日 → 1-1.5日)

マイクロサービス: - 5つの独立したサービス (Training, Inference, Model Registry, Monitoring, API Gateway) - サービスごとの独立したスケーリング - スケーラビリティ80%向上 (リソース効率60% → 85%) - Docker Composeによる完全なコンテナ化デプロイ

詳細は PLUGIN_MICROSERVICES_ARCHITECTURE.md を参照してください。

1.4. P3機能統合 - 生産準備完了

2025年12月12日更新: 7つのP3 (低優先度) 機能がすべて実装完了し、システムは本番環境での使用に必要なすべての高度な機能を備えています。

統合されたP3機能

🔄 エンドツーエンド遅延最適化 (< 500ms) - LatencyProfiler による全コンポーネントの遅延追跡 - 統計分析とターゲットチェック機能 - リアルタイム性能監視

💾 スナップショット/災害復旧システム - SnapshotManager による完全なシステム状態保存 - 圧縮・チェックサム・完全復旧機能 - 地理的バックアップ対応

📊 大規模スケーラビリティ検証 - ScalabilityTester による1000ノード以上対応 - リソース監視とストレステスト - ボトルネック自動検出

🔧 ハードウェア最適化 - HardwareOptimizer によるONNXエクスポート・量子化 - Loihi等ニューロモーフィックチップ対応 - 自動ハードウェア適応

🛡️ 高可用性監視 (99.9%+) - AvailabilityMonitor によるヘルスチェック・自動復旧 - SLA保証機能 - ダウンタイム統計追跡

🌐 非同期Zenoh通信統合 - AsyncZenohCommunicator による構造化メッセージング - リクエスト/レスポンス・Pub/Subパターン - 高性能分散通信

⚖️ 分散意思決定コンセンサス - DistributedMotorConsensus による自律的運動制御コンセンサス - 複数モーターノード間での協調動作決定 - 提案・投票・集計の3フェーズプロセス - クォーラム計算: \(\lceil N \times t \rceil\) (N: ノード数, t: 閾値)

システム全体の可用性指標

  • エンドツーエンド遅延: < 500ms (95パーセンタイル)
  • システム可用性: 99.9%+ (年間ダウンタイム < 8.76時間)
  • スケーラビリティ: 1000ノード以上対応
  • ハードウェア互換性: CPU/GPU/TPU/ニューロモーフィックチップ
  • 災害復旧時間: < 30分 (完全復旧)

1.5. Plan D: 脳内言語アーキテクチャ

2025年12月12日追加: 脳内ループにおける視覚の言語化や運動指示を「データ量の少ない特別な脳内言語」として実装することで、処理速度や伝達速度を大幅に改善する次世代アーキテクチャ。

脳内言語の概念的背景

  • 神経科学的根拠: 人間の思考は言語ベース(内言/inner speech)
  • 情報圧縮: 視覚データ(数百万次元)→言語トークン(数百次元)
  • 抽象化処理: 具体的なセンサーデータを概念レベルの表現に変換
  • 効率的伝達: スパイキングネットワーク間での低帯域・高速通信

アーキテクチャ概要

graph TD
    subgraph "Vision-to-Language"
        VISUAL[Visual Input] --> VFE[Visual Feature Extractor]
        VFE --> VLE[Vision-Language Encoder]
        VLE --> BLT[Brain Language Tokens]
    end

    subgraph "Brain Language Processing"
        BLT --> BLP[Brain Language Processor]
        BLP --> REASON[Reasoning & Inference]
        BLP --> MEMORY[Memory Integration]
        REASON --> DECISIONS[Decisions in Language]
    end

    subgraph "Language-to-Motor"
        DECISIONS --> LMD[Language-to-Motor Decoder]
        LMD --> MOTOR_CMD[Motor Commands]
        MOTOR_CMD --> EXEC[Execution]
    end

    MEMORY -.-> REASON
    EXEC -.-> FEEDBACK[Feedback Loop] -.-> BLP

期待される性能向上

  • データ圧縮率: 90%以上の削減(視覚→言語)
  • 処理速度: 50%以上の向上(< 250ms目標)
  • 伝達効率: 80%以上の帯域削減
  • エネルギー効率: 60%以上の消費電力低減

実装フェーズ

  1. Phase 1 (2026 Q1): 概念実証 - Vision-Language変換
  2. Phase 2 (2026 Q2-Q3): コア実装 - Brain Language Encoder/Processor/Decoder
  3. Phase 3 (2026 Q4): 最適化 - 性能向上とマルチモダリティ拡張
  4. Phase 4 (2027 Q1-Q2): 統合 - Plan Bとの完全統合

このアプローチにより、人間らしい認知プロセスを模倣しつつ、現代の計算制約の中で効率的なAIシステムを実現できる可能性があります。

1.5. システムの特徴

特徴 説明 技術要素
非同期通信 Zenoh Pub/Subモデル 低遅延(<1ms)、疎結合、バージョン互換性
量子インスパイア Q-PFCフィードバックループ エントロピー → 変調係数α(t)
時系列因果性 ChronoSpikeAttention 時間的近接性マスク、因果性保証
階層的制御 PFCによるトップダウン制御 タスクルーティング、資源配分
自己適応性 動的閾値調整 探索(低α)↔ 利用(高α)
高度な意思決定 Executive Control Engine メタ認知、階層的プランニング
動的ノード発見 リアルタイム中央監視サービス ハートビート、自動フォールバック
動的モデル読込 AutoModelSelectorによるモデル解決 API経由で最新モデルを自動ダウンロード
シミュレーション記録 SimulationRecorderによるデータ保存 スパイク、膜電位、重み、制御状態

2. アーキテクチャ設計

2.1. 全体アーキテクチャ

sequenceDiagram
    participant UI as "Web UI: Dash"
    participant API as "API Server: FastAPI"
    participant ZR as "Zenoh Router"
    participant PFC as "PFC Node"
    participant LANG as "Lang-Main Node"
    participant AMS as "AutoModelSelector"

    UI->>API: 1. プロンプト送信

    alt モダンなパス: Zenoh
        API->>ZR: 2a. api/prompt へPublish
        ZR->>PFC: 3a. プロンプト転送
    else レガシーパス: ファイル
        API->>PFC: 2b. /tmp/prompt.json ファイル書き込み
        PFC->>PFC: 3b. ファイルシステムをポーリング
    end

    PFC->>AMS: 4. 最新モデルを要求
    AMS->>API: 5. 最新モデルをダウンロード
    API-->>AMS: 6. モデルファイル
    AMS-->>PFC: 7. モデルインスタンス

    Note over PFC: 8. Q-PFCループでタスク分析・ルーティング

    PFC->>ZR: 9. pfc/text_prompt へPublish
    ZR->>LANG: 10. タスク転送

    Note over LANG: 11. SpikingEvoSpikeNetLMで推論実行

    alt モダンなパス: Zenoh
        LANG->>ZR: 12a. api/result へPublish
        ZR->>API: 13a. 結果を転送
    else レガシーパス: ファイル
        LANG->>API: 12b. /tmp/result.json ファイル書き込み
    end

    API->>UI: 14. 結果をUIへ送信: ポーリング

    LANG->>ZR: 15. task/completion をPublish
    ZR->>PFC: 16. タスク完了を通知

2.2. ノード構成と命名規則

分散脳シミュレーションは、以下の種類のノードで構成されます。ノード名は階層構造を表現でき、_get_base_module_type()関数によりベースタイプが解決されます。 - lang-embed-18lang-main - vis-object-9visual

PFCノード(Prefrontal Cortex)

役割: 中央制御ハブ、タスクルーティング、認知制御、高度な意思決定

実装クラス: - evospikenet.pfc.PFCDecisionEngine (基本PFC) - evospikenet.pfc.AdvancedPFCEngine (高度なPFC) - evospikenet.executive_control.ExecutiveControlEngine (執行制御)

主要機能: 1. Zenohとファイルシステムの両方からタスクを受信 2. AutoModelSelectorで動的にモデルをロード 3. Q-PFCフィードバックループによる自己変調とルーティング 4. アクティブノードの動的発見とlang-mainへの自動フォールバック

Lang-Mainノード(Language Main)

役割: 言語処理、テキスト生成。全システムのデフォルトフォールバック先。

実装クラス: evospikenet.models.SpikingEvoSpikeNetLM

主要機能: 1. テキストプロンプトの受信とトークン化 2. スパイク駆動推論(バックグラウンドスレッドで実行) 3. 結果をZenohとファイルの両方に出力

Visualノード(Visual Processing)

役割: 視覚情報の処理

実装クラス: SimpleLIFNode(基本)/ カスタムビジョンエンコーダー

主要機能: 1. 視覚データの受信とスパイクエンコーディング 2. PFCへの特徴スパイク送信

Motorノード(Motor Control)

役割: 運動出力の生成と分散合意形成

実装クラス: evospikenet.motor_consensus.AutonomousMotorNode

主要機能: 1. モーターゴールの受信と分散コンセンサス 2. FPGA Safetyサービスと連携した安全性検証

✨ NEW: 空間認知ノード群(Spatial Recognition & Generation)

Spatial_Where ノード(Rank 12)- Where処理経路(頭頂葉背側)

役割: 視覚入力から空間位置・距離・方向を抽出

実装クラス: evospikenet.spatial_processing.where_pathway.SpatialWhereNode

主要機能: 1. ビジョンノードからの特徴抽出 2. 奥行き推定と空間座標計算 3. Allocentric座標への変換 4. 光学フロー計算による動き検出

発行トピック: - spikes/spatial/where/depth (30 Hz) - 奥行きマップ - spikes/spatial/where/coordinates (30 Hz) - 3D座標 - spikes/spatial/where/optical_flow (30 Hz) - 光学フロー

Spatial_What ノード(Rank 13)- What処理経路(視覚皮質/側頭皮質)

役割: テキストから3D空間シーンを生成、視覚生成

実装クラス: evospikenet.spatial_processing.what_pathway.SpatialWhatNode

主要機能: 1. 言語モジュールからのテキスト説明受信 2. シーングラフの解析と構築 3. VAEによる3D空間生成 4. 時系列予測(次フレーム予測)

発行トピック: - spikes/spatial/what/scene_graph (10 Hz) - シーングラフ - spikes/spatial/what/voxel_grid (10 Hz) - 3D voxel表現 - spikes/spatial/what/mesh (5 Hz) - 3Dメッシュ

Spatial_Integration ノード(Rank 14)- What-Where統合(後頭頭頂接合部)

役割: What(何)と Where(どこ)情報の統合、統一的な世界モデル構築

実装クラス: evospikenet.spatial_processing.integration.SpatialIntegrationNode

主要機能: 1. What と Where からの情報受信 2. 時系列統合による世界モデル更新 3. 空間推論(物体間関係、reach可能性など) 4. 複数視点からの自己中心ビュー生成

発行トピック: - spikes/spatial/integration/world_model (10 Hz) - 世界モデル - spikes/spatial/integration/reasoning (10 Hz) - 空間推論結果 - spikes/spatial/integration/perspective (30 Hz) - 自己中心ビュー

Spatial_Attention ノード(Rank 15)- 空間注意制御(前頭眼窩野連携)

役割: PFCからのタスク信号に基づく空間注意の制御

実装クラス: evospikenet.spatial_processing.attention_control.SpatialAttentionNode

主要機能: 1. PFCからのタスク駆動信号受信 2. ボトムアップ顕著性検出 3. トップダウン注意ウェイト計算 4. サッカード(眼球運動)目標計画

発行トピック: - spikes/spatial/attention/weights (30 Hz) - 注意ウェイト - spikes/spatial/attention/saliency (30 Hz) - 顕著性マップ - spikes/spatial/attention/saccade (可変) - サッカード目標

2.3. 通信トポロジー

evospikenet/
├── api/prompt              # API → PFC (プロンプト送信, Zenoh経由)
├── api/result              # 機能ノード → API (結果送信, Zenoh経由)
├── pfc/text_prompt         # PFC → Lang-Main (テキストタスク)
├── pfc/visual_task         # PFC → Visual (視覚タスク)
├── pfc/spatial_task        # PFC → Spatial (空間タスク)✨ NEW
├── pfc/audio_task          # PFC → Audio (音声タスク)
├── pfc/motor_goals         # PFC → Motor (運動ゴール)
├── pfc/spatial_attention   # PFC → Spatial_Attention (空間注意信号)✨ NEW
├── pfc/add_goal            # Executive Control (ゴール追加)
├── pfc/get_status          # Executive Control (ステータス取得)
├── spikes/visual/pfc       # Visual → PFC (視覚スパイク)
├── spikes/spatial/where/*  # Spatial_Where ノード出力 ✨ NEW
│   ├── depth              # 奥行き推定(30 Hz)
│   ├── coordinates        # 空間座標(30 Hz)
│   └── optical_flow       # 光学フロー(30 Hz)
├── spikes/spatial/what/*   # Spatial_What ノード出力 ✨ NEW
│   ├── scene_graph        # シーングラフ(10 Hz)
│   ├── voxel_grid         # 3D grid表現(10 Hz)
│   └── mesh               # 3Dメッシュ(5 Hz)
├── spikes/spatial/integration/*  # Spatial_Integration ✨ NEW
│   ├── world_model        # 統合世界モデル(10 Hz)
│   ├── reasoning          # 空間推論結果(10 Hz)
│   └── perspective        # 自己中心ビュー(30 Hz)
├── spikes/spatial/attention/*    # Spatial_Attention ✨ NEW
│   ├── weights            # 注意ウェイト(30 Hz)
│   ├── saliency           # 顕著性マップ(30 Hz)
│   └── saccade            # サッカード目標(可変)
│
├── spikes/audio/*          # Audio ノード出力
├── ego_pose                # 自己位置・姿勢情報
├── task/completion         # タスク完了通知
└── monitoring/*            # 監視・メトリクス配信
├── spikes/spatial/pfc      # Spatial → PFC (空間スパイク)
├── spikes/auditory/pfc     # Auditory → PFC (聴覚スパイク)
├── task/completion         # 機能ノード → PFC (完了通知)
├── heartbeat/{node_id}     # 各ノード → Discovery (生存確認, 2秒毎)
└── discovery/announce      # 全ノード → Discovery (ノード発見、起動時)

3. Zenoh通信システム

3.1. Zenohとは

Zenoh (Zero Overhead Network Protocol)は、ロボティクスやIoTのための次世代通信プロトコルです。

特徴: - 低遅延: サブミリ秒レベルの通信遅延 - 高スループット: 数百万メッセージ/秒 - 柔軟性: Pub/Sub、Request/Reply、Queryingをサポート - 疎結合: ノードの動的な追加・削除が可能

3.2. ZenohConfig データ構造

# evospikenet/zenoh_comm.py
@dataclass
class ZenohConfig:
    mode: str = "peer"                      # "peer" または "client"
    connect: Optional[List[str]] = None     # 接続先エンドポイント
    listen: Optional[List[str]] = None      # リスンエンドポイント
    namespace: str = "evospikenet"          # トピックの名前空間

3.3. 実装詳細

3.3.1. ZenohCommunicator

基本的なPub/Sub、Request/Reply機能を提供します。

  • バージョン互換性: Zenoh 0.6+ と 0.4.x のAPI差異を吸収する互換性レイヤーを内蔵。
  • 非同期キュー: subscribe_queue()メソッドにより、コールバックの代わりにQueueオブジェクトでメッセージを受信可能。
  • Request-Reply: デフォルトタイムアウトは5.0秒に設定。
  • 圧縮対応: IntelligentCompressorによる自動圧縮/解凍機能。

3.3.2. 非同期通信拡張

AsyncZenohCommunicatorクラスによる構造化メッセージングを実装。

  • Pub/Subパターン: 非同期メッセージ配信
  • リクエスト/レスポンス: 同期的なクエリ処理
  • 高性能分散通信: 低遅延・高スループットを実現

3.3.3. セキュア通信

特徴: - PSK(事前共有鍵)暗号化: ZenohConfigにpskフィールドを追加し、256ビット(64文字の16進数)の事前共有鍵による暗号化をサポート - Diffie-Hellman鍵交換: DHKeyExchangeクラスによる2048ビットDHパラメータとHKDF鍵導出による動的な鍵交換 - AES-256-GCM認証暗号: 認証タグ付きの暗号化により、機密性と完全性を同時に保証 - セッションベース鍵管理: set_session_key()/get_session_key()によるノード間のセッション鍵管理 - Forward Secrecy: DH鍵交換により、セッションごとに異なる鍵を使用し、過去の通信の安全性を保証 - 後方互換性: レガシーフォーマット(埋め込み鍵)とセキュアフォーマット(PSK/セッション鍵)の両方をサポート

実装クラス: - evospikenet.spike_encryption.DHKeyExchange: DH鍵交換の実装 - evospikenet.spike_encryption.SpikeEncryption: 暗号化/復号化エンジン - evospikenet.zenoh_comm.ZenohCommunicator: PSK設定とDH鍵交換の統合

使用例:

# PSKモード
config = ZenohConfig(
    mode="peer",
    namespace="evospikenet",
    psk="a1b2c3d4..." # 64文字の16進数
)
comm = ZenohCommunicator(config)

# DH鍵交換モード
peer_public_key = comm.initiate_key_exchange("peer_node_id")
# ピアからの公開鍵を受信後
comm.complete_key_exchange(peer_public_key_bytes)

詳細は SECURE_DISTRIBUTED_BRAIN.md を参照してください。

3.3.4. 信頼性向上メカニズム (MT25-EV016)

ACK/リトライ機構: ZenohCommunicator に確認応答とリトライ機能を実装し、ノード間通信の信頼性を99%+ から99.9%+ に向上させました。 - Request ID で送受信相関を追跡 - 指数バックオフでリトライ間隔を自動調整 - 接続状態を常時監視

Structured Logging: すべての通信エラーと性能イベントを構造化ログとして記録し、トラブルシューティングを高速化。 - リクエストのライフサイクルを完全追跡 - エラータイプと試行回数を自動記録

詳細は evospikenet/zenoh_comm.py の StructuredLogger クラスを参照。

3.4. スパイク送信の最適化

SpikePacket データ構造 (PTPSpikePacket):

# evospikenet/ptp_sync.py
@dataclass
class PTPSpikePacket:
    timestamp_ns: int             # PTP同期されたナノ秒タイムスタンプ
    modality: str
    data: torch.Tensor
    metadata: Dict
PTPで同期された高精度なタイムスタンプを利用して、モジュール間の時間的整合性を保証します。

3.4.1. AEG-Comm通信最適化

AEG-Comm (Adaptive Energy-based Gating for Communication)は、3層セーフティアーキテクチャによるインテリジェントな通信制御システムです。

特徴: - Layer 1: Energy Gate - エネルギーベースの適応的ゲーティング - Layer 2: Critical Override - 重要パケットの優先送信(force、safetyモダリティ、緊急キーワード) - Layer 3: Timestamp Guarantee - タイムスタンプ保証による順序性維持 - 通信削減率: 85-93%目標達成 - エラー回復: 指数バックオフ再試行 - セキュリティ: スパイク暗号化(MT25-EV015)

3.5. 分散記憶システム (Distributed Memory System)

実装完了: 2025年12月21日

Zenoh通信プロトコルを使用したエピソード記憶の分散共有システム。複数ノード間での知識共有と協調学習を実現。

3.5.1. アーキテクチャ概要

graph TD
    A[Node A: EpisodicMemory] --> Z[Zenoh Router]
    B[Node B: EpisodicMemory] --> Z
    C[Node C: EpisodicMemory] --> Z

    Z --> A
    Z --> B
    Z --> C

    A --> T1[evolspikenet/memory/node_A]
    B --> T2[evolspikenet/memory/node_B]
    C --> T3[evolspikenet/memory/node_C]

3.5.2. 主な機能

1. 分散記憶有効化

# EpisodicMemory クラスの拡張メソッド
def enable_distributed_memory(self, node_id: str, zenoh_config: Optional[Dict[str, Any]] = None) -> bool:
    """Zenoh通信による分散記憶を有効化"""

2. 記憶共有

def share_memory_with_node(self, target_node_id: str, memory_ids: List[str]) -> bool:
    """指定ノードへの記憶共有"""

3. 同期要求

def request_memory_sync(self, target_node_id: str, sync_criteria: Dict[str, Any]) -> bool:
    """他のノードからの記憶同期要求"""

3.5.3. 通信トピック構造

evolspikenet/memory/{node_id}           # 記憶共有トピック
evolspikenet/memory/sync/{node_id}      # 同期要求トピック

3.5.4. メッセージフォーマット

記憶共有メッセージ:

{
    "type": "memory_share",
    "source_node": "node_A",
    "memories": [
        {
            "source_node": "node_A",
            "memory_data": {...},  # EpisodicMemoryEntry.to_dict()
            "timestamp": "2025-12-21T10:30:00.000000"
        }
    ]
}

同期要求メッセージ:

{
    "type": "sync_request",
    "source_node": "node_B",
    "criteria": {
        "importance_threshold": 0.7,
        "time_range": {"start": "2025-12-20", "end": "2025-12-21"}
    },
    "timestamp": "2025-12-21T10:30:00.000000"
}

3.5.5. 記憶マージ戦略

インテリジェントマージ: - 重複記憶の重要度ベース統合 - アクセス統計の加重平均 - メタデータの統合

def _merge_memory_entry(self, existing_id: str, new_entry: EpisodicMemoryEntry) -> None:
    """既存記憶と新規記憶のマージ"""
    existing = self.memories[existing_id]

    # 重要度の加重平均
    total_access = existing.access_count + new_entry.access_count
    if total_access > 0:
        existing.importance = (
            (existing.importance * existing.access_count +
             new_entry.importance * new_entry.access_count) / total_access
        )

3.5.6. 性能特性

指標 備考
同期成功率 95% Zenohの信頼性による
レイテンシ <10ms ローカルネットワーク
メモリ使用量 +5% 通信オーバーヘッド
スケーラビリティ 100ノード 理論的上限

3.5.7. 使用例

<!-- from evospikenet.episodic_memory import EpisodicMemory -->

# 分散記憶有効化
memory = EpisodicMemory(embedding_dim=512, max_memories=1000)
memory.enable_distributed_memory("brain_node_01", {"port": 7447})

# 経験保存
memory_id = memory.store_experience(
    context={"task": "pattern_recognition"},
    action="classify_image",
    outcome="correct",
    reward=1.0
)

# 他のノードと記憶共有
memory.share_memory_with_node("brain_node_02", [memory_id])

# 同期要求
memory.request_memory_sync("brain_node_03", {
    "importance_threshold": 0.8,
    "time_range": {"start": "2025-12-21"}
})

3.5.8. 分散学習効果

  • 協調学習: ノード間での知識共有による学習加速
  • 冗長性: 分散によるデータ損失耐性向上
  • スケーラビリティ: 動的ノード追加/削除対応
  • 適応性: 分散環境での継続的学習

3.6. セキュリティシステム (Spike Encryption & Secure Communication)

実装完了: 2026年1月24日

分散脳ノード間の暗号化通信システム。MT25-EV015特許実装により、スパイクデータとメッセージの機密性と完全性を保証。

3.6.1. セキュリティアーキテクチャ概要

graph TD
    A[Node A] -->|PSK/DH鍵交換| B[Node B]
    A -->|暗号化スパイク| C[Zenoh Router]
    C -->|暗号化スパイク| B

    subgraph "SpikeEncryption System"
        PSK[Pre-Shared Key]
        DH[Diffie-Hellman Exchange]
        SESSION[Session Key Management]
    end

    PSK --> SESSION
    DH --> SESSION
    SESSION --> ENC[AES-256-GCM Encryption]
    ENC --> C

3.6.2. セキュリティ機能

1. 事前共有鍵 (PSK)

# 256-bit PSK生成
import os
psk = os.urandom(32).hex()  # 64 hex characters

# ZenohConfigでPSK設定
config = ZenohConfig(
    psk=psk,
    namespace="evospikenet"
)

2. Diffie-Hellman鍵交換

# DH鍵交換の初期化
dh_exchange = DHKeyExchange()
public_key = dh_exchange.generate_keypair()

# ピアとの鍵交換
shared_secret = dh_exchange.compute_shared_key(peer_public_key)
session_key = dh_exchange.derive_session_key(shared_secret)

3. セッションベース暗号化 - Forward Secrecy: DH鍵交換により、過去のセッションが漏洩しても影響なし - AES-256-GCM: 認証暗号により改ざん検知 - 動的鍵管理: セッションごとに異なる鍵を使用

3.6.3. 暗号化フォーマット

セキュア形式 (PSK/Session Key使用時):

{
    "format": "secure",
    "nonce": "<12 bytes base64>",
    "ciphertext": "<encrypted spike data>",
    "tag": "<16 bytes auth tag>"
}

レガシー形式 (後方互換):

{
    "format": "legacy",
    "key": "<embedded AES key>",
    "nonce": "<12 bytes base64>",
    "ciphertext": "<encrypted spike data>",
    "tag": "<16 bytes auth tag>"
}

3.6.4. 通信トピック構造

evospikenet/security/key_exchange/{node_id}    # DH公開鍵の交換
evospikenet/spikes/{source}/{dest}             # 暗号化スパイクデータ
evospikenet/heartbeat/{node_id}                # ノード生存確認

3.6.5. セキュリティメトリクス

指標 備考
暗号化アルゴリズム AES-256-GCM NIST推奨
鍵長 256-bit 量子耐性考慮
DH鍵サイズ 2048-bit RFC 3526準拠
暗号化オーバーヘッド <5% ベンチマーク測定
鍵交換時間 <100ms ローカルネットワーク
Forward Secrecy 有効 セッションごとに鍵更新

3.6.6. 使用例

<!-- TODO: update or remove - import failZenohCommunicator, ZenohConfig -->

# PSKモード
config = ZenohConfig(
    psk="64-hex-character-pre-shared-key",
    namespace="evospikenet"
)
comm = ZenohCommunicator(config)

# DH鍵交換モード
comm = ZenohCommunicator(ZenohConfig())
comm.initiate_key_exchange("peer_node_id")
# ... 鍵交換完了後、セッションキーで暗号化 ...

3.6.7. セキュリティベストプラクティス

  • PSK管理: 環境変数またはシークレット管理システムで保存
  • 鍵ローテーション: 定期的なセッションキー更新(推奨: 1時間ごと)
  • TLS統合: ZenohのTLS機能と併用可能
  • 監査ログ: 暗号化イベントのロギング
  • アクセス制御: ノードIDベースの認証

詳細ドキュメント: SECURE_DISTRIBUTED_BRAIN.md


4. PFCとQ-PFCフィードバックループ

4.1. PFCDecisionEngine 概要

PFCは、システムの最高次認知機能を担います。

  1. ワーキングメモリ: LIFニューロン層による短期記憶
  2. タスクルーティング: ChronoSpikeAttentionによる注意機構
  3. エントロピー計算: 意思決定の不確実性の定量化
  4. 自己変調: Q-PFCフィードバックループ

4.2. Q-PFCフィードバックループの理論

4.2.1. 認知エントロピーの定義

\[ H = -\sum_{i=1}^{N} p_i \log p_i \]

4.2.2. 量子インスパイアード変調

\[ \theta = \pi \cdot \frac{H}{H_{\max}}, \quad \alpha(t) = \cos^2\left(\frac{\theta}{2}\right) = \cos^2\left(\frac{\pi H}{2\log N}\right) \]

4.2.3. 自己変調メカニズム

閾値の動的調整: $$ \text{threshold}(t) = \text{threshold}_{\text{base}} \cdot (0.5 + \alpha(t)) $$ - \(\alpha(t)\)(高エントロピー): 閾値が下がり、探索的な発火が増加。 - \(\alpha(t)\)(低エントROPY): 閾値が上がり、安定的・確定的な発火が増加。

ルーティング温度の制御: $$ T_{\text{routing}} = \frac{1}{\alpha(t) + \epsilon} \quad (\epsilon = 10^{-9}) $$ - \(\alpha(t)\): 温度が上昇し、ソフトマックスが均等分布に近づき、探索的ルーティング。 - \(\alpha(t)\): 温度が1に近づき、ソフトマックスが最大値に集中し、利用的ルーティング。

4.3. PFCの実装 (evospikenet/pfc.py)

4.3.1. QuantumModulationSimulator

ドキュメントの数式通りにalpha_tを計算します。

4.3.2. PFCDecisionEngine

実装上の特徴: - スタンドアロンモード: num_modules=0の場合、エラーを起こさずに動作するようmax_entropyにデフォルト値1.0を設定。 - 柔軟な入力: forward()メソッドは、入力がtorch.long(トークンID)の場合は埋め込み層を通し、それ以外(スパイク列)は直接使用する。 - 固定値: vocab_sizeはデフォルトで256。PFCへのテキスト入力は、ord(c) % 256という単純な文字コード変換(プレースホルダー)で行われる。

詳細フロー図:

graph TD
    A["入力データ"] --> B{"データ型?"}
    B -->|"トークンID: torch.long"| C["Embedding: 256, size"]
    B -->|"スパイク: torch.float"| D["そのまま使用"]
    C --> E["時間次元に展開"]
    D --> E

    E --> F["ワーキングメモリ更新"]
    F --> G["ChronoSpikeAttention"]
    G --> H["決定ベクトル生成"]

    H --> I["ルーティングスコア計算"]
    I --> J["Softmax"]
    J --> K["エントロピー計算 H"]

    K --> L["Q-PFC: alpha_t 生成"]
    L --> M["ルーティング温度調整 T"]
    M --> N["最終ルーティング確率: softmax scores/T"]

    L --> O["閾値変調: threshold = base * 0.5 + alpha"]
    O --> F

    N --> P["出力: route_probs"]
    K --> Q["出力: entropy"]
    F --> R["出力: spikes, potential"]

5. 高度な意思決定エンジン

5.1. AdvancedPFCEngine

PFCDecisionEngineを拡張し、ExecutiveControlEngineを統合して高度な認知制御を提供します。

実装上の特徴: - 動的ゴール追加: add_goal()メソッドにより、外部から高レベルのゴールを動的に追加可能。 - プレースホルダー実装: add_goal()内のゴール埋め込み生成は、torch.randn(self.size)というダミー実装であり、将来的には適切なエンコーディング手法に置き換えが必要。 - パフォーマンス追跡: get_performance_stats()メソッドにより、総意思決定回数、成功率、平均エントロピーなどのパフォーマンス指標を取得可能。

詳細: ADVANCED_DECISION_ENGINE.md


6. ノード発見システム

6.1. ZenohNodeDiscovery (evospikenet/node_discovery.py)

中央監視型サービスとして実装されており、単一のインスタンス(シングルトン)が全ノードの健全性を監視します。100+ノード対応のスケーラビリティを備えています。

主要機能: - ハートビート監視: evospikenet/heartbeat/*トピックを購読し、全ノードのハートビートを監視。 - 状態管理: 最後にハートビートを受信してから一定時間(デフォルト5.0秒)が経過したノードをinactive状態に更新。監視ループは1.0秒間隔で実行。 - UI連携: export_for_ui()メソッドが、UI表示用にステータスアイコン(🟢/🔴)を含む整形済みデータを提供。

スケーラビリティ改善 (MT25-EV016): 100+ノード対応のため、ノードグループ化機構を実装しました。大規模クラスタでのノード検索を O(n) から O(1) に高速化します。 - セクション内でモジュール別にノードを自動分類 - get_nodes_by_type(module_type) で即座にノード取得 - 登録/削除時に自動的にグループに追加/削除 - get_group_statistics() で各モジュール別の統計情報取得可能

6.2. PFCによる利用

PFCは、ルーティング先を決定した後、_has_active_nodes_for_module()メソッドでZenohNodeDiscoveryサービスに問い合わせ、ターゲットモジュールがアクティブかを確認します。

フォールバックロジック: - ターゲットモジュール(例: visual)にアクティブなノードが存在しない場合、タスクは自動的にlang-mainモジュールにフォールバックされる。これにより、一部のノードがダウンしてもシステム全体の機能が停止しない堅牢性を確保している。

詳細: ADVANCED_NODE_DISCOVERY.md


7. ChronoSpikeAttention機構

7.1. 概要

ChronoSpikeAttentionは、時間的因果性を保証するスパイキング注意機構です。

  1. 因果性の保証: 未来の情報を参照しない
  2. 時間的近接性バイアス: 近い時刻ほど重みが大きい
  3. スパイク出力: 複数のニューロンモデル(LIF, Izhikevich等)をサポート

7.2. 理論的基礎

因果的時間近接性マスク: $$ \text{mask}(t, t') = \begin{cases} 0 & \text{if } t' > t \ \exp\left(-\frac{t - t'}{\tau}\right) & \text{if } t' \leq t \end{cases} $$ 完全な式: $$ \text{Attention}{\text{chrono}}(Q, K, V) = \text{SpikingNeuron}\left(\text{sigmoid}\left(\frac{QK^T}{\sqrt{d_k}}\right) \odot M \cdot V \cdot W{\text{out}}\right) $$

7.3. 実装の詳細 (evospikenet/attention.py)

  • 時定数tauのデフォルト値: tauが指定されない場合、time_steps / 4.0 という固定の経験則に基づいて設定される。
  • 多様なニューロンタイプ: neuron_type引数により、'LIF' (snnTorch)、'EvoLIF' (カスタム整数ベースLIF)、'Izhikevich'を切り替え可能。
  • 固定スケール係数: neuron_type='EvoLIF'の場合、LIF層への入力は* 1000.0でスケーリングされる。これは、浮動小数点出力を整数ベースニューロンの適切な動作範囲に変換するための固定値
  • データ形状: 入力は(batch_size, time_steps, seq_len, input_dim)の4次元テンソルを想定している。

8. 分散脳ノードの実行フロー

8.1. ノードの初期化シーケンス

sequenceDiagram
    participant M as "Main"
    participant PTP as "PTP Manager"
    participant S as "Safety Controller"
    participant D as "Node Discovery"
    participant N as "ZenohBrainNode"

    M->>PTP: 1. init_ptp
    M->>S: 2. init_safety
    M->>D: 3. init_node_discovery
    M->>N: 4. ZenohBrainNode
    N->>N: 5. _create_model: AutoModelSelector使用
    M->>N: 6. start: サブスクリプション設定

8.2. プロンプト処理フロー(実装準拠)

PFCノードは、UIからのプロンプトを2つの経路で受信します。

  1. Zenoh経由: APIがapi/promptトピックにPublishし、PFCの_on_api_prompt()コールバックが起動。
  2. ファイル経由(レガシー): APIが/tmp/evospikenet_prompt_*.jsonファイルを書き込み、PFCの_process_pfc_timestep()が100Hzループでポーリングして発見。

どちらの経路でも、最終的にPFCはタスクを分析し、適切な機能モジュール(例: lang-main)のトピック(例: pfc/text_prompt)にPublishします。

8.3. タイムステップ処理

各ノードはprocess_timestep()100Hz(10msごと)のループで実行します。ループ内では以下の処理が行われます。 1. ステップカウンターのインクリメント 2. SimulationRecorderへの制御状態記録 3. PFCノードの場合、APIへのステータス更新(2秒間隔) 4. safety_heartbeat()の送信 5. モジュール固有の処理(PFCのファイルポーリングなど)


9. データ構造と型定義

9.1. PTPSpikePacket

evospikenet.ptp_syncで定義。PTP同期された高精度タイムスタンプを含むスパイクパケット。

9.2. MotorGoal

evospikenet.motor_consensusで定義。モーター制御のゴール定義。

9.3. NodeInfo

evospikenet.node_discoveryで定義。ノード発見サービスが管理するノード情報。


10. 性能最適化と制御

10.1. 高速起動 (FastStartupSequencer)

examples/run_zenoh_distributed_brain.py--fast-startupフラグで使用。 - 目標: 15秒以内に全ノードを起動。 - 戦略: max_workers=5の並列初期化と、PFCをpriority=0とする優先度付き起動。 - 固定値: PFCのタイムアウトは5.0秒、その他ノードは3.0秒

10.2. PTP時刻同期

evospikenet.ptp_syncにより、マイクロ秒レベルの時刻同期を提供。

10.3. 安全性監視

evospikenet.fpga_safetyにより、速度や温度などの安全リミットを監視。

10.4. メモリ監視と自動管理 (MT25-EV016)

MemoryMonitor クラス: バックグラウンドで定期的にメモリ使用量を監視し、メモリリークの早期検出と自動GCトリガーを実現。 - 60秒間隔でメモリ使用量チェック - RSS > 1000MBで警告ログ出力 - 100MB以上の成長を検出して警告 - メモリ成長が200MB以上の場合、自動的に gc.collect() 実行

ZenohCommunicator 統合: 圧縮バッファのメモリ使用量を制限し、OOMを防止。不要なバッファは自動的に解放。

10.5. NTP 同期監視 (MT25-EV016)

RaftConsensus への NTP 検証機構: Raftリーダー選出前にシステムクロック同期を検証し、ネットワークパーティション下での < 5秒のフェイルオーバーを確実にします。 - 60秒間隔でシステムクロック同期状態を検証 - clock_sync_tolerance (デフォルト0.1秒) 超過時に警告 - Linux環境で timedatectl を統合 - 同期外の状態の履歴を追跡

10.6. ボトルネック分析

  1. ネットワーク: Zenohの遅延 < 1ms(通常は無視可能)
  2. 計算: SpikingEvoSpikeNetLM.generate()での推論(GPU推奨)
  3. メモリ: AutoModelSelectorによる大規模モデルのロード +メモリ監視による保護
  4. 通信信頼性: ACK/リトライにより99.9%+確保
  5. ノード発見: グループ化により O(1) で高速ルックアップ

11. シミュレーションデータの記録

11.1. SimulationRecorder

--enable-recordingフラグで使用可能。シミュレーション中の内部状態をHDF5ファイルに記録します。 - 記録対象: スパイク、膜電位、重み、制御状態 - 設定: コマンドライン引数で記録対象を細かく制御可能。

詳細はSIMULATION_RECORDING_GUIDE.mdを参照。


12. 長期間記憶システム

12.1. 概要

2025年12月31日実装完了: EvoSpikeNetの分散脳に長期間記憶機能を統合しました。FAISSベースのベクトル検索とZenoh通信により、永続的な知識保持と学習適応を実現します。

12.2. アーキテクチャ

graph TB
    subgraph "長期間記憶ノード"
        LTM["LongTermMemoryNode<br/>基底クラス"]
        EPI["EpisodicMemoryNode<br/>時系列イベント記憶"]
        SEM["SemanticMemoryNode<br/>事実知識記憶"]
        INT["MemoryIntegratorNode<br/>記憶統合・連想"]
    end

    subgraph "ストレージ層"
        FAISS["FAISS<br/>ベクトル検索インデックス"]
        ZCOMM["Zenoh Communicator<br/>分散通信"]
        PTP["PTP Sync<br/>時刻同期"]
    end

    subgraph "統合インターフェース"
        STORE["store_memory()<br/>記憶保存"]
        QUERY["query_memory()<br/>類似検索"]
        RETRIEVE["retrieve_memory()<br/>特定検索"]
        ASSOCIATE["associate_memories()<br/>クロスモーダル連想"]
    end

    LTM --> FAISS
    EPI --> LTM
    SEM --> LTM
    INT --> EPI
    INT --> SEM

    LTM --> ZCOMM
    ZCOMM --> PTP

    STORE --> LTM
    QUERY --> LTM
    RETRIEVE --> LTM
    ASSOCIATE --> INT

12.3. 実装済み機能

メモリノードクラス

  • LongTermMemoryNode: FAISSを使用したベクトル類似性検索の基底クラス
  • EpisodicMemoryNode: 時系列イベントのシーケンス記憶(store_episodic_sequence()
  • SemanticMemoryNode: 概念・知識の構造化記憶(store_knowledge()
  • MemoryIntegratorNode: エピソードとセマンティック記憶の統合・連想

コア機能

  • ベクトル検索: FAISSによる高速近傍検索(コサイン類似度)
  • Zenoh統合: Pub/Subによる分散メモリ操作
  • PTP同期: ナノ秒精度タイムスタンプ(テスト環境ではシステム時間)
  • 重要度管理: アクセス頻度と重要度に基づくメモリ保持
  • クロスモーダル連想: 異なる記憶タイプ間の関連付け

分散脳統合

  • 29ノードアーキテクチャ(スパイク圧縮ノード込み)へのメモリノード追加
  • Zenohトピック経由のリアルタイムメモリ操作
  • 長期学習のための経験再生と知識保持

12.4. APIインターフェース

基本操作

# メモリ保存
memory_id = await memory_node.store_memory(content_vector, metadata, importance=0.8)

# 類似検索
results = await memory_node.query_memory(query_vector, top_k=5, threshold=0.7)
# 戻り値: [(memory_id, score, metadata), ...]

# 特定検索
entry = await memory_node.retrieve_memory(memory_id)
# 戻り値: MemoryEntry or None

特殊操作

# エピソード記憶
await episodic_node.store_episodic_sequence(sequence_vectors, metadata)

# セマンティック記憶
await semantic_node.store_knowledge(concept, embedding, related_concepts)

# 記憶統合
associations = await integrator.associate_memories(episodic_query, semantic_query)

12.5. 性能特性

  • 検索速度: FAISSによる高速ベクトル検索(ミリ秒オーダー)
  • スケーラビリティ: 数百万ベクトルの効率的処理
  • メモリ効率: 重要度ベースの自動整理・削除
  • 分散耐性: Zenohによるノード間同期

12.6. テストカバレッジ

完全なテストスイートを実装(9テストケース、100%成功): - 初期化テスト - 記憶保存・検索・取得テスト - エピソードシーケンス記憶テスト - 知識保存テスト - 記憶統合・連想テスト

12.7. 実装ファイル

  • evospikenet/memory_nodes.py: メモリノード実装
  • examples/run_zenoh_distributed_brain.py: 分散脳統合
  • tests/test_memory_nodes.py: テストスイート
  • requirements.txt: FAISS依存関係
  • Dockerfile: コンテナ設定

13. Feature 13: 高度な空間処理ノード ✅ 新規実装完了 (2026-02-17)

13.1. 概要

EvoSpikeNetの分散脳システムに追加された高度な空間認知・生成システム。生物学的脳の視覚システム(後頭葉~側頭葉~頭頂葉)をシミュレートする4つの専有ノード(Rank 12-15)で構成。

実装ファイル: spatial_processing.py (3500+ 行)
テストファイル: test_distributed_brain_simulation.py (2000+ 行)
詳細仕様: DISTRIBUTED_BRAIN_SPATIAL_NODES.md

13.2. ノード構成 (Rank 12-15)

視覚処理フロー:
┌─────────────────────────────────────────────┐
│ Rank 1: Vision (基本視覚特徴抽出)           │
└──────────┬──────────────────────────────────┘
           │
      ┌────┴────┐
      │          │
      ▼          ▼
┌──────────┐  ┌──────────────┐
│ Rank 12  │  │ Rank 13      │
│Where処理 │  │What処理      │
│(空間・  │  │(物体認識)    │
│ 深度)    │  │              │
└────┬─────┘  └──────┬───────┘
     │               │
     └───────┬───────┘
             │
             ▼
        ┌──────────────┐
        │ Rank 14      │
        │統合処理      │
        │What-Where    │
        │融合          │
        └────┬─────────┘
             │
             ▼
        ┌──────────────┐
        │ Rank 15      │
        │注意制御      │
        │Saccade計画   │
        └──────────────┘
Rank ノード 脳領域 処理内容 実装状態
12 SPATIAL_WHERE 頭頂葉背側 空間位置・深度認識、網膜座標 ✅ 完了
13 SPATIAL_WHAT IT皮質 物体認識、シーン理解、100+クラス分類 ✅ 完了
14 SPATIAL_INTEGRATION 後頭頭頂接合部 What-Where統合、世界モデル ✅ 完了
15 SPATIAL_ATTENTION 前頭眼窩野 注意制御、Saccade計画 ✅ 完了

13.3. コアコンポーネント

CoordinateTransformer (座標変換)

  • 機能: Egocentric ↔ Allocentric 座標系の変換
  • 入力: Rank 12 からの視覚座標
  • 出力: 変換済み空間座標、回転行列
  • 実装: 四元数/Euler角対応

DepthEstimationNetwork (深度推定)

  • モデル: CNN ベースの単眼深度推定
  • 入力: RGB画像 (H×W×3)
  • 出力: 深度マップ (1×H×W)
  • 性能: < 50ms latency

SpatialCoordinateEncoder (スパイク変換)

  • 機能: 3D座標 → スパイク表現変換
  • エンコーディング: 多スケール、LIFニューロン
  • 出力: スパイク時系列 (T×N×D)

SpatialAttentionModule (マルチヘッド注意)

  • ヘッド数: 8
  • 機能: What/Where情報の重み付け
  • 出力: 統合注意マップ

DistributedSpatialCortex (統合システム)

  • 役割: 4つのノード (Rank 12-15) の統合管理
  • 通信: Zenoh Pub/Sub (spikes/spatial/*)
  • 性能監視: profile_section コンテキストマネージャ統合

13.4. パフォーマンス特性

指標 目標 実績 状態
Rank 12 レイテンシ < 50ms 10-20ms avg ✅ 達成
Rank 13 レイテンシ < 30ms 8-15ms avg ✅ 達成
Rank 14 レイテンシ < 50ms 12-25ms avg ✅ 達成
Rank 15 レイテンシ < 30ms 7-12ms avg ✅ 達成
E2E パイプライン < 100ms 37-72ms avg ✅ 達成
スループット > 100 msg/sec 100+ msg/sec ✅ 達成
スケーラビリティ 100+ ノード 100+ ノード対応 ✅ 検証済み

13.5. テスト実装

テストファイル: test_distributed_brain_simulation.py

テストクラス:

テストクラス テスト数 対象 状態
TestSpatialNodeIntegration 5 Rank 12-15各ノード + E2E ✅ 完了
TestMultiNodeCommunication 3 Zenoh通信、メッセージフロー ✅ 完了
TestErrorRecovery 3 ノード失敗時のリカバリー ✅ 完了
TestPerformance 2 レイテンシ・スループット ✅ 完了
TestScalability 1 100+ ノード検証 ✅ 完了
TestRaftPerformanceProfiling 3 profile_section計測 ✅ 完了

テスト統計: - 総テスト数: 17+ - 合格率: 100% - 総実行時間: < 5秒

13.6. パフォーマンス計測機構

profile_section コンテキストマネージャ (pfc.py)

# 自動パフォーマンス計測
with profile_section("section_name", performance_stats, threshold_ms=100):
    # 処理実行

# 機能:
# - 自動計測 (perf_counter精度)
# - 移動平均追跡 (100サンプル)
# - 閾値超過警告
# - 統計情報蓄積

計測セクション: - ntp_check: NTP同期チェック - election_init: リーダー選出初期化 - vote_collection: 投票収集 - election_finalization: 選出完了

13.7. 実装完了サマリー

実装状況: - ✅ Phase 1: ノード初期化 & Zenohトピック設計 - ✅ Phase 2: SPATIAL_WHERE実装 (DepthEstimationNetwork, SpatialCoordinateEncoder) - ✅ Phase 3: SPATIAL_WHAT実装 (物体認識, シーン理解) - ✅ Phase 4: 統合層実装 (What-Where統合, 注意制御) - ✅ Phase 5: テスト & 最適化

提供物: - 実装コード: 3500+ 行 - テストコード: 2000+ 行 - ドキュメント: DISTRIBUTED_BRAIN_SPATIAL_NODES.md

完了日: 2026年2月17日
加速率: 予定比 7.1x (12週の予定が 3.5週で完了)


まとめ

本ドキュメントでは、EvoSpikeNetの分散脳シミュレーションシステムの以下の側面を、ソースコードの実装に即して詳解しました:

  1. Zenoh通信: バージョン互換性レイヤーを含む非同期Pub/Subアーキテクチャ
  2. Q-PFCフィードバックループ: 量子インスパイアードの自己変調メカニズムと実装の詳細
  3. ChronoSpikeAttention: 時間的因果性を保証するスパイキング注意機構と、その固定値
  4. 分散実行フロー: デュアル入力パスや自動フォールバックを含む堅牢な実行モデル
  5. 動的インフラ: 中央監視型のノード発見サービスと、動的なモデルローダー
  6. 性能・補助機能: 高速起動シーケンサーとシミュレーション記録機能
  7. 長期間記憶システム: FAISSベースのベクトルメモリと分散統合
  8. 高度な空間処理 (Feature 13 ✅): 4層の空間認知ノード (Rank 12-15) による視覚情報の統合処理

参考実装ファイル: - evospikenet/pfc.py: PFCとQ-PFCフィードバックループ、profile_section計測機構 - evospikenet/attention.py: ChronoSpikeAttention - evospikenet/zenoh_comm.py: Zenoh通信層 - evospikenet/node_discovery.py: ノード発見サービス - evospikenet/spatial_processing.py: Feature 13 空間処理ノード (Rank 12-15) ✅ - evospikenet/memory_nodes.py: 長期間記憶ノード - examples/run_zenoh_distributed_brain.py: 分散脳実行スクリプト

テストファイル: - tests/integration/test_distributed_brain_simulation.py: マルチノード統合テスト (17+ テスト) ✅

ドキュメント: - docs/DISTRIBUTED_BRAIN_SPATIAL_NODES.md: Feature 13 詳細仕様書 ✅ - docs/DISTRIBUTED_BRAIN_VALIDATION_REPORT.md: 検証レポート (最新版) ✅ - docs/DISTRIBUTED_BRAIN_IMPLEMENTATION_VERIFICATION.md: 実装完了サマリー ✅ - docs/DISTRIBUTED_BRAIN_METRICS_UI.md: フロントエンドメトリクス表示(インストール手順・API・運用ノート)


14. 生物模倣オーバーレイ(BiomimeticAdapter)⭐ NEW 2026-02-25

14.1. 概要

evospikenet/eeg_integration/distributed_brain_executor.py 内の DistributedBrainExecutorBiomimeticAdapter を統合し、EEG→ブレインコマンドの生成時に生物学的な調整係数を自動付与します。

EEG データ
  ↓
BiomimeticAdapter
  ├─ rhythm_metrics()       … δ/α 帯域パワー抽出
  ├─ modulatory_gain()      … ドーパミン/ノルアドレナリン相当ゲイン (0.6–1.6)
  ├─ homeostasis_scale()    … ホメオスタシス制約スケール (0.5–1.5)
  ├─ dev_gain()             … 発達段階利得 (0.5–1.5)
  └─ sleep_state()          … 睡眠バッファ管理
  ↓
EEGBrainCommand.metadata["biomimetic"]
  ↓
DistributedBrainNode(受信側)
  └─ biomimetic_gain をレスポンスに付与

14.2. 設定パラメータ

設定名 デフォルト 説明
enable_biomimetic bool True 生物模倣オーバーレイの有効化
low_latency_mode bool False True でオーバーレイをスキップし最低レイテンシ化
development_stage float 1.0 0.0(初期)〜1.0(成熟)の発達段階
energy_budget float 1.0 利用可能エネルギー割合(0〜1)
sleep_buffer_seconds float 3.0 睡眠バッファ保持時間(秒)

14.3. 関連ファイル

  • evospikenet/eeg_integration/distributed_brain_executor.py: BiomimeticAdapterDistributedBrainConfig を含む
  • evospikenet/distributed_brain_node.py: biomimetic_gain をレスポンスメタデータに付与
  • docs/DISTRIBUTED_BRAIN_EEG_INTEGRATION.md: BiomimeticAdapter の詳細使用例

14.4. テスト通過状況 (2026-02-25)

Docker (dev, ubuntu:22.04, CPU) 環境で以下 23 ケース全通過: - tests/research/test_paper_1_2_distributed_brain_architecture.py - tests/integration/test_brain_genome_integration.py - tests/unit/test_hierarchical_plasticity.py


15. ゲノム駆動分散推論(Phase D)⭐ NEW 2026-03-11

15.1. 概要

Phase D 実装により、DistributedEvolutionEngine が生むゲノムを実行中の DistributedBrainNode に直接展開できるようになりました。 展開後はノード内の _process_brain_command() が実ネットワーク(InstantiatedBrain)で推論を実行します。

15.2. パイプライン

DistributedEvolutionEngine.run_evolution(generations=N)
    └─→ best_genome
           │
           ▼  deploy_to_nodes([node1, node2, ...])
    DistributedBrainNode.deploy_genome(best_genome)
           │
           ▼  GenomeToBrainConverter().instantiate(genome) → InstantiatedBrain
    _process_brain_command()
           │
           ▼  InstantiatedBrain(input_tensor)  →  confidence補正

15.3. コード例

import asyncio
from evospikenet.distributed_evolution_engine import DistributedEvolutionEngine
from evospikenet.distributed_brain_node import DistributedBrainNode

engine = DistributedEvolutionEngine(config={"population_size": 50})
best   = asyncio.run(engine.run_evolution(generations=50))

pfc_node   = DistributedBrainNode("pfc",   config={"neuron_count": 1000, "specialization": "pfc"})
motor_node = DistributedBrainNode("motor", config={"neuron_count": 512,  "specialization": "motor"})
engine.deploy_to_nodes([pfc_node, motor_node])

for node in [pfc_node, motor_node]:
    assert node.get_stats()["genome_deployed"] is True

15.4. 関連変更ファイル

ファイル 内容
evospikenet/brain_simulation.py BrainSimulation(BrainSimulationFramework) ラッパー追加
evospikenet/genome_to_brain.py InstantiatedBrain.apply_weight_delta() 追加
evospikenet/distributed_brain_node.py deploy_genome() + genome forward pass + get_stats() 更新
evospikenet/distributed_evolution_engine.py deploy_to_nodes() 追加

16. コネクトーム統合(Phase E) ⭐ NEW 2026-03-19

16.1. 概要

Phase E は実世界の神経回路データ(コネクトーム)を EvoSpikeNet の 29 ノードトポロジーへ直接適用するフェーズです。 C. elegans(302 ニューロン)、FlyWire(≈140,000 ニューロン)、MICrONS(≈65,000 ニューロン)、HCP(マクロスケール DTI)から 構造的接続重みと軸索伝導遅延を取得し、ConnectomeLIFLayer.structural_mask(PyTorch sparse COO)として注入します。

Phase E-0/E-1/E-2 は 2026-03-19 に全完了。 合計 102 テスト PASS。

16.2. 実装済みモジュール一覧

モジュール ファイル 主要クラス/関数 備考
コネクトームローダー evospikenet/connectome_loader.py load_json, load_npz, save_npz, stratified_sample, spectral_coarsen, load, read_etag, write_etag F-1/F-2 削減・ETag+TTL キャッシュ
ノードマッピング evospikenet/connectome/node_mapping.py get_source_for_node, build_manifest, apply_to_layer 29 ノード ↔ データソース対応
スパース遅延バッファ evospikenet/connectome/delay_buffer.py SparseDelayBuffer COO リングバッファ [max_delay+1, n_neurons]
Zenoh メタデータ発行 evospikenet/zenoh_connectome_publisher.py ConnectomeMetadataPublisher トピック connectome/metadata/{node_id}
ConnectomeLIF 層 evospikenet/core.py ConnectomeLIFLayer structural_mask + attach_sparse_delay_buffer
コネクトーム密度計算 evospikenet/forgetting_controller.py compute_connectome_density Meta-STDP との連携

16.3. SparseDelayBuffer — 遅延付きシナプス伝達

生物学的なニューロン間の軸索伝導遅延(0.1–20 ms)を模倣するため、SparseDelayBuffer を実装しました。 内部は COO 形式のリングバッファ [max_delay+1, n_neurons] で、非ゼロ遅延のみを保持してメモリを節約します。

INT16 スケールファクタ: _INT16_SCALE = 512.0(スパイク電位 ±1.0 → INT16 ±512 でインプレース保存)

数理モデル:

\[\text{buf}[t \bmod (D_{\max}+1),\ j] = s_j(t) \cdot D_{\max}+1\]

タイムステップ \(t\)step_int16(spikes) を呼ぶと、遅延 \(d_{ij}\) だけ古いバッファスロット \(\text{buf}[(t - d_{ij}) \bmod (D_{\max}+1),\ i]\) からシナプス前ニューロン \(i\) のスパイクを取り出します。

16.4. コード例

from evospikenet import ConnectomeLIFLayer, SparseDelayBuffer
from evospikenet.connectome_loader import load_json

# 1. コネクトームデータを COO テンソルに変換
data = load_json("data/connectome/celegans_cook2019_c_elegans_302n.json")

# 2. ConnectomeLIFLayer にコネクトームを注入
layer = ConnectomeLIFLayer(n_neurons=256)
layer.attach_sparse_delay_buffer(
    delay_tensor=data["delays"],   # shape [N, N]
    weight_mask=data["mask"],      # shape [N, N], bool
)

# 3. forward ループ(SNNModel が内部で delay routing を実行)
import torch
x = torch.zeros(1, 256)
for t in range(100):
    spikes, _ = layer(x)
    # スパイク出力は SparseDelayBuffer 経由で次ステップの入力に反映される

16.5. ノード ↔ コネクトームデータソース対応

EvoSpikeNet ノード 適用データソース 削減手法
memory_spike C. elegans(302 ニューロン、直接マッピング) なし(1× スケール)
visual MICrONS V1 / FlyWire 視覚野相同 F-1 層別サンプリング + F-2 スペクトル縮約
auditory MICrONS / HCP マクロ DTI F-1 層別サンプリング
spatial / spatial_integration MICrONS 頭頂葉 F-1 層別サンプリング
pfc HCP マクロ / MICrONS dlPFC F-3 クラスタ代表点
その他 24 ノード HCP DTI マクロ ROI 統合平均

16.6. 関連変更ファイル

ファイル 内容
evospikenet/connectome_loader.py Phase E-1 新規作成: JSON/NPZ ロード・ETag+TTL キャッシュ・F-1/F-2 削減
evospikenet/connectome/__init__.py Phase E-2 新規作成: connectome パッケージ公開シンボル
evospikenet/connectome/node_mapping.py Phase E-2 新規作成: ノード↔データソースマッピング
evospikenet/connectome/delay_buffer.py Phase E-2 新規作成: SparseDelayBuffer COO リングバッファ
evospikenet/zenoh_connectome_publisher.py Phase E-2 新規作成: Zenoh コネクトームメタデータ発行
evospikenet/core.py Phase E-1/E-2 拡張: ConnectomeLIFLayer + SNNModel.forward 遅延ルーティング
evospikenet/forgetting_controller.py Phase E-2 拡張: compute_connectome_density 追加
evospikenet/__init__.py Phase E-2 拡張: E-2 公開シンボル 8 件追加
config/connectome_config.yaml Phase E-0 新規作成: CAVE API・キャッシュ・レート制限・生理的制約
data/connectome/ Phase E-1 追加: C. elegans JSON + NPZ キャッシュディレクトリ
  • tests/unit/test_snn_memory_extension.py