分散脳シミュレーションのフル脳動作フロー/シーケンス
[!NOTE] 最新の実装状況は 機能実装ステータス (Remaining Functionality) を参照してください。
このドキュメントは、EvoSpikeNetの分散脳シミュレーションにおけるフル脳(24ノード構成)の動作フローとシーケンスを詳細に記述します。長期記憶ノードの統合を含む完全な処理パイプラインを、時系列ベースで説明します。
1. 全体アーキテクチャ概要
層構造
- 観測層 (Sensing Layer): 外部入力の収集と初期処理
- エンコード層 (Encoding Layer): 特徴抽出と埋め込み生成
- 認知・推論層 (Cognition Layer): 意味理解と推論
- 意思決定層 (Decision Layer): 行動計画の生成
- 長期記憶層 (Long-Term Memory Layer): エピソディック/セマンティック記憶の管理
- 記憶層 (Memory Layer): 短期/作業記憶と検索
- 学習層 (Learning Layer): モデルの適応と更新(ノードタイプ別LLM学習パイプライン対応)
- 管理層 (Management Layer): システム全体の監視と制御
通信プロトコル
- Zenoh: ノード間リアルタイム通信 (Pub/Sub)
- AEG-Comm: 適応的エネルギーゲーティング通信制御(3層セーフティアーキテクチャ)
- REST/gRPC: 設定更新と管理操作
- PTP: 時間同期
- Heartbeat: ノード健全性監視
2. 初期化シーケンス
Phase 1: インフラ起動 (0-30秒)
- Zenoh Router起動
- ポート7447でメッセージルーティング開始
-
ノードディスカバリサービス有効化
-
PTP時間同期初期化
- 全ノードでマスタクロック同期
-
タイムスタンプ精度: <1μs
-
安全システム起動
- FPGA安全モニター有効化
-
緊急停止回路準備
-
ノードディスカバリ開始
- 各ノードがZenohで自己登録
- ネットワークトポロジー構築
Phase 2: ノード初期化 (30-90秒)
- 観測ノード (Nodes 1-3)
- センサ接続とキャリブレーション
-
初期フィルタ適用
-
エンコードノード (Nodes 4-7)
- モデルロードとウォームアップ
-
埋め込み次元検証
-
認知ノード (Nodes 8-12)
- LLM/推論モデル初期化
-
RAGシステム接続
-
長期記憶ノード (Nodes 13-14)
- FAISSインデックス初期化(
LongTermMemoryNode) - スパイク圧縮レイヤ初期化(
LargeScaleSpikeReservoir+CompressedMemoryLayer) - 忘却制御/保持スコアリング有効化(
ForgettingController) -
既存メモリデータのロード
-
意思決定ノード (Nodes 15-16)
- PFCエンジン起動
-
ポリシーモデルロード
-
記憶ノード (Nodes 17-18)
- ベクトルDB接続
-
キャッシュ初期化
-
学習ノード (Node 19)
- 分散トレーニング環境準備
-
ノードタイプ対応LLMトレーニング: トレーニングスクリプトは
evospikenet/node_types.pyを参照し、--node-typeオプションで収集・学習対象を自動設定。各機能領域に特化したデータセットとハイパーパラメータが適用される。 -
集約ノード (Nodes 20-21)
-
フェデレーション設定
-
管理ノード (Nodes 22-23)
- 監視ダッシュボード起動
- ログ集約開始
Phase 3: システム検証 (90-120秒)
- ヘルスチェック
- 全ノードのZenohハートビート確認
-
メモリ使用量とCPU負荷チェック
-
接続テスト
- エンドツーエンドメッセージング検証
-
タイムアウト設定確認
-
初期学習データロード
- 長期記憶ノードにベース知識投入
3. 通常動作シーケンス
入力処理フロー (リアルタイム)
Step 1: 観測と初期処理 (0-10ms)
外部入力 → 観測ノード → フィルタリング/同期 → Zenoh: "input/raw"
- カメラ/マイク入力
- 観測ノード1-3がデータを収集
- ノイズ除去と正規化
-
Zenohトピック:
input/camera,input/audio -
センサデータ統合
- IMU/温度データを時系列で同期
- 欠損値補間
Step 2: 特徴エンコーディング (10-50ms)
Zenoh: "input/*" → エンコードノード → 埋め込み生成 → Zenoh: "encoded/features"
- ビジョンエンコーディング
- ViT/ResNetで画像特徴抽出
-
768次元埋め込み生成
-
オーディオエンコーディング
- Wav2Vec/Spectrogram変換
-
512次元埋め込み生成
-
マルチモーダルフュージョン
- クロスアテンションで統合
- 統合埋め込み出力
Step 3: 認知・推論処理 (50-200ms)
Zenoh: "encoded/features" → 認知ノード → 意味理解 → Zenoh: "cognition/results"
- 意味理解
- LLMで文脈解析
-
感情/意図認識
-
RAG拡張
- 記憶ノードから関連コンテキスト検索
-
LLM推論にコンテキスト付与
-
分類・検出
- 物体認識/シーン理解
- イベント検出
Step 3.5: 空間認知・生成処理 (150-250ms) - Feature 13 実装 ✅
Feature 13: 高度な空間処理ノード (Rank 12-15) - 2026-02-17 実装完了
Zenoh: "vision/features" →
├─ SpatialWhereNode (R12) → 空間位置/深度 → <50ms
├─ SpatialWhatNode (R13) → 物体認識 → <30ms
├─ SpatialIntegrationNode (R14) → What-Where統合 → <50ms
└─ SpatialAttentionControlNode (R15) → 注意制御 → <30ms
→ Zenoh: "spatial/context"
処理ステップ:
- Where経路処理 (Rank 12: SpatialWhereNode) - <50ms
- 入力: Vision ノード(Rank 1)からの視覚特徴
- 処理:
DepthEstimationNetwork: CNN ベース単眼深度推定CoordinateTransformer: Egocentric ↔ Allocentric 座標系変換SpatialCoordinateEncoder: 3D座標 → スパイク表現変換- Retinotopic map: 視覚野の網膜地図構造シミュレート
- 出力: 空間座標、深度マップ、網膜中心座標
-
Zenoh送信:
spikes/spatial/where/*トピック -
What経路処理 (Rank 13: SpatialWhatNode) - <30ms
- 入力: Vision ノード(Rank 1)からの低レベル視覚特徴
- 処理:
- 物体認識・分類: 100+ クラス (ImageNet準拠)
- シーン理解: 物体間関係の推論
- マルチスケール処理: ローカル~グローバル特徴統合
- 属性抽出: 色、サイズ、方向などの特徴計算
- 出力: クラス確率、シーングラフ、属性ベクトル
-
Zenoh送信:
spikes/spatial/what/*トピック -
What-Where統合処理 (Rank 14: SpatialIntegrationNode) - <50ms
- 入力: Rank 12 (Where) と Rank 13 (What) の統合
- 処理:
- マルチヘッド注意メカニズム: Where/What情報の重み付け
- 空間構造符号化: オブジェクトの相対位置関係
- 世界モデル更新: 環境の内部表現構築
- 予測部: 次フレームの視覚予測
- 出力: 統合視覚表現、世界状態、予測
-
Zenoh送信:
spikes/spatial/integration/*トピック -
注意制御・Saccade計画 (Rank 15: SpatialAttentionControlNode) - <30ms
- 入力: Rank 14 (Integration) の統合表現
- 処理:
- 注意優先度マップ生成: 視覚野への投射
- Saccade (急速眼球運動) 計画: 目標位置決定
- モジュレーション強度制御: ゲーティング信号生成
- タスク駆動制御: 高レベルタスク情報の統合
- 出力: 注意優先度マップ、Saccadeターゲット、モジュレーション信号
Step 3.6: SNNメモリ拡張と忘却制御 (並列, 100-200ms)
Zenoh: "spikes/*" → CompressedMemoryLayer → LargeScaleSpikeReservoir → retention scoring (ForgettingController)
- スパイク圧縮・保存
- 入力: 各モジュールが生成するスパイク列/バッファ
- 処理: 圧縮判定 → アダプティブ圧縮 → メタデータ付与(重要度/アクセス頻度)
-
出力: 圧縮スパイク記録ID、保持メタ情報
-
忘却制御・容量管理
- 処理:
ForgettingControllerが重要度・頻度・可塑性負荷に基づきスコアリング -
容量超過時: 低スコア記録を剪定して破壊的忘却を回避
-
長期記憶統合
LongTermMemoryModuleがエピソード/セマンティックタグとスパイク記録を関連付け- 連想検索時に圧縮スパイクを復元・再利用
- Zenoh送信:
spikes/spatial/attention/*トピック
統合システム: DistributedSpatialCortex (evospikenet/spatial_processing.py)
- 4つのランク12-15ノードの統合管理
- 実装行数: 891 行
- テスト統計: 17+ テストケース、100% 合格率
パフォーマンス実績: - 全パス合計レイテンシ: ~150ms (目標時間内) - ピーク スループット: 60+ fps - システム加速率: 7.1倍 (12週計画→3.5週実装)
詳細仕様書: DISTRIBUTED_BRAIN_SPATIAL_NODES.md | DISTRIBUTED_BRAIN_NODE_TYPES.md | DISTRIBUTED_BRAIN_SYSTEM.md
Step 3.5: 空間認知・生成処理 (150-250ms)
Zenoh: "vision/features" → 空間ノード → 空間認識/生成 → Zenoh: "spatial/context"
- 空間認識
- 視覚特徴から空間マッピング
-
位置・距離・関係性の推定
-
空間生成
- シーン生成とメンタルイメージ作成
-
3D空間配置の最適化
-
視覚-空間統合
- 後頭頭頂接合部シミュレーション
- 統合空間表現の生成
Step 4: 長期記憶統合 (200-300ms)
Zenoh: "cognition/results" → 長期記憶ノード → 記憶保存/検索 → Zenoh: "memory/context"
2025年12月31日更新: FAISSベースのベクトル検索を使用した新しい長期間記憶システムを実装。
- エピソディック記憶保存
EpisodicMemoryNode.store_episodic_sequence()で時系列イベント保存-
PTP同期タイムスタンプ付与、各イベントにシーケンス位置情報追加
-
セマンティック記憶更新
SemanticMemoryNode.store_knowledge()で概念・知識保存-
関連概念とのリンク付け、重要度2.0の自動設定
-
高速ベクトル検索
- FAISSインデックスを使用したコサイン類似度検索
-
リアルタイムでの類似記憶検索(数ミリ秒)
-
クロスモーダル連想
MemoryIntegratorNode.associate_memories()で記憶統合-
エピソードとセマンティック記憶の関連付け
-
Zenoh分散通信
- トピック:
memory/episodic/store,memory/semantic/queryなど - ノード間リアルタイム記憶共有
Step 5: 意思決定 (300-500ms)
Zenoh: "cognition/results" + "memory/context" → 意思決定ノード → 計画生成 → Zenoh: "decision/plan"
- 状況評価
- 現在の状態と過去文脈の統合
-
目標設定
-
計画生成
- 多段階アクションプラン作成
-
リスク評価
-
実行コントローラ
- プランをモーター指令に変換
- フィードバックループ開始
Step 6: 行動実行と学習 (500ms-継続)
Zenoh: "decision/plan" → 運動ノード → アクチュエータ制御 → フィードバック収集
- モーターコンセンサス
- 分散合意で指令調整
-
協調動作実行
-
結果監視
- センサフィードバック収集
-
パフォーマンス評価
-
オンライン学習
- 長期記憶に結果保存
- モデルパラメータ更新
4. 長期記憶の統合フロー
2025年12月31日更新: FAISS + Zenohベースの新しい長期間記憶システムの詳細シーケンス。
記憶保存シーケンス
- イベント検出: 認知ノードが重要なイベントを検出
- ベクトル化: イベントを128-768次元ベクトルに変換
- メタデータ付与: タイムスタンプ、重要度、コンテキスト情報を追加
- Zenoh送信:
memory/episodic/storeトピックにパブリッシュ - FAISSインデックス更新:
LongTermMemoryNode.store_memory()で保存 - 確認応答: 記憶IDをZenohで返信
記憶検索シーケンス
- クエリ生成: 認知ノードが検索ベクトルを生成
- Zenohクエリ:
memory/episodic/queryトピックにリクエスト - FAISS検索: コサイン類似度でtop-k結果を取得
- フィルタリング: 重要度閾値による結果絞り込み
- コンテキスト返却: 関連記憶をZenohで返信
記憶統合シーケンス
- マルチモーダル入力: エピソードとセマンティッククエリを受信
- 並列検索: 両方の記憶タイプで同時に検索実行
- 関連付け計算: スコアベースの記憶間関連付け
- 統合結果: クロスモーダルコンテキストを生成
- Zenoh配信: 統合された記憶コンテキストを配信
パフォーマンス特性
- 保存レイテンシ: < 10ms (FAISSインデックス更新)
- 検索レイテンシ: < 5ms (ベクトル検索)
- スループット: 1000+ queries/sec
- メモリ効率: 重要度ベース自動整理
- スケーラビリティ: 分散Zenoh通信でノード拡張可能
- メタデータ付与: タイムスタンプ、重要度、関連ノード情報追加
- Zenoh送信:
memory/storeトピックで長期記憶ノードに送信 - インデックス更新: FAISSインデックスに追加
- 確認応答: 保存完了を送信元に通知
記憶検索シーケンス
- クエリ生成: 認知ノードが検索クエリを作成
- ベクトル化: クエリをベクトルに変換
- Zenoh送信:
memory/queryトピックで送信 - 類似検索: FAISSでk-NN検索実行
- 結果統合: スコアリングとフィルタリング
- コンテキスト返却: 関連記憶をZenohで返却
記憶統合シーケンス
- 関連性評価: エピソディックとセマンティック記憶の関連付け
- 連想生成: グラフベースで関連記憶を連鎖
- 重要度更新: アクセス頻度に基づく記憶強化
- 忘却処理: 低重要度記憶の自動削除
5. エラー処理と回復シーケンス
ノード障害時
- 障害検出: ハートビート欠如で検知
- 隔離: 障害ノードをネットワークから除外
- 冗長切り替え: バックアップノード起動
- 状態同期: 長期記憶から状態復元
- 再統合: 回復後にネットワーク再参加
メモリ溢れ時
- 使用量監視: 定期的にメモリ使用量チェック
- 重要度ベース整理: 低重要度エントリ削除
- 圧縮: 類似記憶のマージ
- 外部保存: 古い記憶を永続ストレージに移動
6. パフォーマンス指標
レイテンシ目標
- 観測→エンコーディング: <50ms
- エンコーディング→認知: <150ms
- 認知→意思決定: <200ms
- 意思決定→行動: <100ms
- 合計エンドツーエンド: <500ms
メモリ管理
- 長期記憶エントリ: 最大10,000件
- ベクトル次元: 768
- 検索精度: >90% (Top-5)
- 忘却率: 自動最適化
スケーラビリティ
- ノード追加: ゼロダウンタイム
- 負荷分散: Zenoh自動ルーティング
- フェデレーション: 複数インスタンス統合
この動作フローにより、フル脳は生物学的脳に近い適応性と学習能力を実現します。長期記憶の統合により、システムは過去の経験を活用してより賢明な意思決定が可能になります。