EvoSpikeNet ユーザーマニュアル
[!NOTE] 最新の実装状況は 機能実装ステータス (Remaining Functionality) を参照してください。
作成日: 2026年2月17日
バージョン: 1.1.0 🎯 Feature 13対応完了
著者: Masahiro Aoki
所属: Moonlight Technologies Inc.
目次
- 1. はじめに
- 2. システム起動
- 3. フロントエンドUI機能
- 3.1 ナビゲーション
- 3.2 データ作成
- 3.3 分散脳シミュレーション
- 3.4 EEG Visualizer
- 3.5 運動皮質
- 3.6 言語モデル
- 3.7 マルチモーダルLM
- 3.8 RAGシステム
- 3.9 スパイキングLM
- 3.10 ハイパーパラメータチューニング
- 3.11 モデル管理
- 3.12 ビジョンエンコーダー
- 3.13 オーディオエンコーダー
- 3.14 知識蒸留
- 3.15 音声テキスト統合
- 3.16 音声合成
- 3.17 総合テスト
- 3.18 設定管理
- 3.19 可視化
- 3.20 テスト評価
- 3.21 進化ダッシュボード
- 3.23 統合ログビューア
- 3.24 バックプロパゲーション検証
- 3.25 超大規模AIシステム
- 3.26 空間認知処理システム
- 3.27 完全脳シミュレーション(29ノード)
- 4. CLI使用方法
- 5. API使用方法
- 6. トラブルシューティング
1. はじめに
EvoSpikeNetは、スパイキングニューラルネットワーク(SNN)を基盤とした分散脳シミュレーションフレームワークです。本マニュアルでは、フロントエンドUIの各機能について詳細に説明します。
主要機能
- 🧠 分散脳シミュレーション: 24ノードによる階層的脳機能モデル
- 🎯 空間認知処理システム (Feature 13): Rank 12-15 空間処理ノード(Where-What統合・注意制御)
- 🤖 マルチモーダルAI: 視覚・聴覚・言語・運動の統合処理
- 📚 RAGシステム: ベクトルデータベースを用いた知識検索
- 🧬 進化的学習: 遺伝的アルゴリズムによる自律的最適化
- 📊 包括的可視化: リアルタイムメトリクス監視とグラフ表示
- 🔍 バックプロパゲーション検証: SNN学習の正確性検証
2. システム起動
フロントエンド起動
cd /Users/maoki/Documents/GitHub/EvoSpikeNet/frontend
python app.py
ブラウザで http://localhost:8050 にアクセスします。
Docker起動
docker-compose up -d
3. フロントエンドUI機能
3.1 ナビゲーション
機能概要
- 各機能ページへのアイコンベースナビゲーション
- ツールチップによる機能名表示
- ドラッグ&ドロップによる並び替え
- 「More」ドロップダウンでの追加機能アクセス
使用方法
- アイコンをクリックして各ページに移動
- アイコンをドラッグして好みの順序に並び替え
- リセットボタン(↻)でデフォルト順序に戻す
3.2 データ作成
アイコン: 🗄️ データベース
パス: /data-creation
機能概要
トレーニングデータの作成と管理を行うページです。
主要機能
データセット作成
- データセット名: 一意の識別名を入力
- データタイプ: テキスト/画像/音声から選択
- サンプル数: 生成するデータ数を指定
- 作成ボタン: クリックしてデータセット生成
データアップロード
- ファイル選択: ドラッグ&ドロップまたはクリックでファイル選択
- 対応フォーマット: CSV, JSON, TXT, JSONL
- プレビュー: アップロード前にデータ内容を確認
- アップロードボタン: データベースへの登録
データ管理
- データセット一覧: 作成済みデータセットの表示
- 編集機能: データセットの内容を修正
- 削除機能: 不要なデータセットを削除
- エクスポート: データセットをJSON/CSVでダウンロード
3.3 分散脳シミュレーション
アイコン: 🧠 脳
パス: /distributed-brain
機能概要
24ノードの階層的脳機能モデルを用いたシミュレーションページです。
主要機能
ノード構成
- PFC(前頭前野): 中央制御ハブ、意思決定
- 視覚系: V1(初期視覚)→ IT(物体認識)
- 聴覚系: A1(初期聴覚)→ STS(音声理解)
- 言語系: Wernicke(理解)→ Broca(生成)
- 運動系: M1(運動指令)→ SMA(運動計画)
シミュレーション実行
- プロンプト入力: マルチモーダルなプロンプトを入力
- テキスト: 言語指示
- 画像: ファイルアップロード
- 音声: マイク入力またはファイルアップロード
- 実行ボタン: シミュレーション開始
- 進捗表示: リアルタイムで処理状況を表示
リアルタイム監視
- ノードアクティビティ: 各ノードの活性化状態
- スパイクレート: ニューロンの発火頻度
- 接続強度: ノード間のシナプス結合強度
- エネルギー消費: リアルタイム電力消費量
結果表示
- タブ形式: 出力/グラフ/メトリクス/ログ
- 出力タブ: シミュレーション結果のテキスト表示
- グラフタブ: ノードアクティビティの時系列グラフ
- メトリクスタブ: 定量的評価指標
- ログタブ: 詳細なシステムログ
3.4 EEG Visualizer
アイコン: 🧠 脳
パス: /eeg-visualizer
機能概要
リアルタイムEEGデータ可視化システムです。脳波データのストリーミング表示と分析を行います。MockデータとWebSocket接続の両方に対応しています。
主要機能
接続設定
- Connection Type: データソースの選択
- WebSocket: 外部EEGデバイスまたはシミュレーターからのリアルタイムデータ
- Mock Data: シミュレーション用の疑似EEGデータ生成
- WebSocket URL: サーバー接続先設定(デフォルト:
ws://localhost:8765) - Connect/Disconnect: 接続制御ボタン(常に表示)
- Buffer Size: データバッファサイズ(100-5000サンプル)
- Sampling Rate: サンプリングレート設定(100-10000Hz)
- Refresh Rate: UI更新間隔(0.1-5秒)
ステータス表示
- 接続状態: Connected/Disconnectedの表示
- 受信サンプル数: 受信したデータサンプル数のカウンター
- エラー数: 通信エラーの発生回数カウンター
可視化タブ
Waveformsタブ
複数チャンネルのEEG波形をリアルタイムで表示します。 - チャンネル数: 4チャンネル(Ch1-Ch4) - 時間軸: 自動スケーリング - 更新頻度: 設定されたRefresh Rateに従う - 特徴: スパイクイベントの自動検出と強調表示
Spectrumタブ
周波数スペクトル分析を表示します。 - FFT分析: 高速フーリエ変換による周波数分解 - 周波数範囲: 0.5-100Hz - 解像度: サンプリングレートに依存 - 特徴: リアルタイムスペクトル更新
3D Viewタブ
電極位置に基づく3D脳モデルを表示します。 - 電極配置: 国際10-20システム準拠 - 活動度マッピング: 各電極の活動度を色で表現 - インタラクション: 回転・ズーム・パン操作可能 - 特徴: リアルタイム活動度更新
Band Powersタブ
周波数帯域ごとのパワー比較を表示します。 - 周波数帯域: - δ波 (0.5-4Hz): 深い睡眠・瞑想状態 - θ波 (4-8Hz): リラクゼーション・創造性 - α波 (8-13Hz): リラックス・注意力 - β波 (13-30Hz): 集中・活動状態 - γ波 (30-100Hz): 高次認知処理 - 比較形式: グループ化された棒グラフ - チャンネル別: 各チャンネルの帯域パワー比較 - 特徴: リアルタイムパワー計算
制御機能
- Clear Buffer: 蓄積されたデータをクリア
- Export Data: CSV形式でのデータエクスポート
- Auto-refresh: 設定間隔での自動更新
使用方法
WebSocketモードでの使用
- Connection Typeを"WebSocket"に設定
- WebSocket URLを確認(デフォルト:
ws://localhost:8765) - Connectボタンをクリック
- 接続成功後、リアルタイムデータが表示されます
- 各タブを切り替えて様々な可視化を確認
Mockデータモードでの使用
- Connection Typeを"Mock Data"に設定
- Connectボタンをクリック
- 自動生成された疑似EEGデータが表示されます
- パラメータを調整してデータ特性を変更
データ分析ワークフロー
- 接続してデータストリーミングを開始
- Waveformsタブで生波形を確認
- Spectrumタブで周波数特性を分析
- Band Powersタブで脳波状態を評価
- 3D Viewタブで空間分布を可視化
技術仕様
- データ形式: JSONメッセージプロトコル
- サンプリングレート: 最大1000Hz
- チャンネル数: 4チャンネル対応
- バッファサイズ: 最大5000サンプル
- 通信プロトコル: WebSocket (RFC 6455)
- UIフレームワーク: Dash + Plotly.js
- リアルタイム性: 1ms以下のレイテンシー
注意事項
- WebSocket接続時は、対応するEEGサーバーが実行されている必要があります
- 大量のデータバッファリング時はメモリ使用量に注意してください
- リアルタイム表示時はブラウザのリソース消費が増加します
3.5 運動皮質
アイコン: 🏃 ランニング
パス: /motor-cortex
機能概要
運動制御とロボット制御のシミュレーションページです。
主要機能
運動パターン生成
- 目標設定: 座標または動作パターンを指定
- 軌道計画: 最適な運動軌道を計算
- 実行: シミュレーションまたは実機制御
ロボット制御
- 7自由度アーム: 7関節の協調制御
- パラメータ設定: 位置・速度・加速度・トルク
- ウェイポイント: 50点までの軌道生成
- リアルタイムフィードバック: センサー情報の統合
可視化
- 3Dビューア: 運動軌道の3D表示
- 関節角度グラフ: 時系列での角度変化
- トルクグラフ: 各関節のトルク推移
3.6 言語モデル
アイコン: 💬 言語
パス: /evospikenet-lm
機能概要
EvoSpikeNetベースの言語モデル機能です。
主要機能
テキスト生成
- プロンプト入力: 開始文章を入力
- パラメータ設定:
- 最大トークン数: 生成する最大長
- Temperature: 創造性の度合い(0.1~2.0)
- Top-p: 確率分布の閾値
- Top-k: 候補トークン数
- 生成ボタン: テキスト生成開始
会話モード
- マルチターン対話: 文脈を保持した連続対話
- 履歴管理: 会話履歴の保存・読み込み
- エクスポート: 会話内容をテキストファイルに保存
評価機能
- パープレキシティ: 言語モデルの性能指標
- BLEUスコア: 機械翻訳評価
- ROUGEスコア: 要約評価
3.7 マルチモーダルLM
アイコン: 📚 レイヤー
パス: /multi-modal-lm
機能概要
視覚・聴覚・言語を統合したマルチモーダルAIページです。
主要機能
マルチモーダル入力
- 画像入力: 画像ファイルのアップロード
- テキスト入力: 質問や指示を入力
- 音声入力: 音声ファイルまたはマイク入力
- 統合処理: 全モーダルを統合して処理
画像理解
- 物体検出: 画像内の物体を検出
- キャプション生成: 画像の説明文を生成
- 視覚質問応答: 画像に関する質問に回答
音声理解
- 音声認識: 音声をテキストに変換
- 話者識別: 話者を特定
- 感情認識: 音声から感情を推定
統合出力
- テキスト: 統合結果のテキスト出力
- 音声合成: 結果を音声で出力
- 可視化: アテンションマップの表示
3.8 RAGシステム
アイコン: 📖 読書
パス: /rag
機能概要
Retrieval-Augmented Generation(RAG)による知識検索と生成です。
主要機能
ドキュメント管理
- アップロード: PDF/TXT/DOCX ほか多様な形式をドラッグ&ドロップ
- プレビュー: テキストは最初の数行、PDFは1ページ目、画像は200×200サムネイルが表示される
- 進行状況: アップロード中はプログレスバー/ステータスが更新される
- チャンク分割: トークンベースで自動分割(デフォルト512トークン、重複128トークン)
- ベクトル化: 埋め込みモデルでのベクトル生成
- インデックス登録: Milvus/Elasticsearch に登録しバージョン管理(
VersionManager利用) - バッチ処理: 複数ファイルをまとめてキューに投入・進捗監視・キャンセル可能
知識検索
- クエリ入力: 検索したい質問を入力
- 検索実行: 類似ドキュメントを検索
- 結果表示: 関連度順に表示、並び替えやフィルタが可能
- 詳細表示: 各ドキュメントの内容を確認
- バージョン履歴: 過去のバージョンを素早く切り替え
- 差分表示: 選択バージョン間のテキスト差分を確認
- 継続版ダウンロード/ロールバック機能付き
RAG生成
- 質問入力: 生成したいコンテンツの質問
- 検索統合: 関連ドキュメントを自動検索
- コンテキスト生成: 検索結果を統合
- 回答生成: LLMによる回答生成
設定
- ベクトルDB: Milvus/FAISSから選択
- 埋め込みモデル: all-MiniLM-L6-v2等
- チャンクサイズ: 512~2048トークン
- オーバーラップ: 0~200トークン
- 検索件数: Top-k設定(1~20)
- APIキー: 認証トークンを設定しない場合はローカルホストのみ有効
- タイムアウト: 長時間処理の場合はサーバー側
safe_requestがタイムアウトを 管理(デフォルト30秒)
3.9 スパイキングLM
アイコン: ⚡ 稲妻
パス: /spiking-lm
機能概要
スパイキングニューラルネットワークベースの言語モデルです。
主要機能
SNN設定
- ニューロンモデル: LIF/ALIF/Izhikevichから選択
- 膜電位閾値: スパイク発火の閾値設定
- 時定数: 膜電位の減衰時定数
- リセット電位: スパイク後のリセット値
スパイク符号化
- Rate Encoding: 発火率による符号化
- Temporal Encoding: 時間タイミングによる符号化
- TAS Encoding: 時間適応型符号化
- Population Encoding: 集団符号化
学習設定
- STDP: スパイクタイミング依存可塑性
- Meta-STDP: メタ学習STDP
- Energy-STDP: エネルギー制約STDP
- 学習率: 0.0001~0.01
実行・評価
- テキスト生成: スパイクベース生成
- エネルギー測定: 消費電力の計測
- スパイクレート: 発火頻度の分析
- 性能比較: ANNとの比較
3.9 ハイパーパラメータチューニング
アイコン: 🎚️ スライダー
パス: /tuning
機能概要
自動ハイパーパラメータ最適化ツールです。
主要機能
チューニング設定
- 最適化手法: Grid Search/Random Search/Bayesian Optimization/Evolutionary
- パラメータ空間: 最適化対象パラメータの範囲設定
- 評価指標: Accuracy/Loss/F1-Score等
- 試行回数: 最大試行回数の設定
パラメータ設定
- 学習率: 対数スケールで範囲指定
- バッチサイズ: 8, 16, 32, 64, 128
- エポック数: 10~200
- 正則化係数: L1/L2正則化の強度
- ドロップアウト率: 0.0~0.5
実行・監視
- チューニング開始: 最適化プロセス開始
- 進捗表示: リアルタイムで進捗表示
- 結果表示: 試行ごとの結果を表形式で表示
- ベストパラメータ: 最良のパラメータセットを表示
可視化
- パラメータ重要度: 各パラメータの影響度
- 最適化履歴: 目的関数値の推移
- パラレルコーディネート: 多次元パラメータの可視化
- ヒートマップ: パラメータ間の相互作用
3.10 モデル管理
アイコン: 📦 ボックス
パス: /model-management
機能概要
学習済みモデルの管理とデプロイ機能です。
主要機能
モデル登録
- モデル名: 一意の識別名
- バージョン: セマンティックバージョニング(v1.0.0形式)
- 説明: モデルの概要説明
- タグ: 検索用のタグ付け
- アップロード: モデルファイルのアップロード
モデル一覧
- 検索フィルター: 名前/タグ/日付で検索
- ソート: 名前/日付/バージョンでソート
- プレビュー: モデル情報の表示
- ダウンロード: モデルファイルのダウンロード
バージョン管理
- バージョン履歴: 全バージョンの一覧
- 差分表示: バージョン間の差分比較
- ロールバック: 以前のバージョンに戻す
- メタデータ: 各バージョンの詳細情報
デプロイ管理
- デプロイ先選択: Production/Staging/Development
- エンドポイント設定: REST APIエンドポイント
- スケーリング: レプリカ数の設定
- ヘルスチェック: デプロイ状態の監視
3.11 ビジョンエンコーダー
アイコン: 👁️ 目
パス: /vision-encoder
機能概要
視覚情報のエンコーディングと特徴抽出です。
主要機能
画像入力
- ファイルアップロード: JPEG/PNG画像
- カメラ入力: Webカメラからのリアルタイム入力
- バッチ処理: 複数画像の一括処理
エンコーダー設定
- アーキテクチャ: ResNet/VGG/EfficientNet/Vision Transformer
- 事前学習: ImageNet/COCO等
- 出力次元: 128/256/512/1024
- 正規化: L2/BatchNorm
特徴抽出
- Global Features: 画像全体の特徴ベクトル
- Local Features: 領域ごとの特徴
- Attention Map: アテンション可視化
- 特徴次元削減: PCA/t-SNEによる可視化
評価・分析
- 特徴分布: t-SNE/UMAPでの可視化
- 類似度検索: 類似画像の検索
- クラスタリング: 画像のグルーピング
3.12 オーディオエンコーダー
アイコン: 🎤 マイク
パス: /audio-encoder
機能概要
音声データのエンコーディングと特徴抽出です。
主要機能
音声入力
- ファイルアップロード: WAV/MP3/FLAC
- マイク録音: リアルタイム録音
- 長時間音声: 自動分割処理
エンコーダー設定
- 特徴抽出: MFCC/Mel-Spectrogram/Wave2Vec
- サンプリングレート: 8kHz/16kHz/44.1kHz
- フレーム長: 25ms~50ms
- ホップ長: 10ms~25ms
前処理
- ノイズ除去: スペクトルサブトラクション
- 音量正規化: RMS正規化
- 無音除去: VAD(Voice Activity Detection)
- オーグメンテーション: ピッチシフト/タイムストレッチ
分析・可視化
- 波形表示: 時間領域の波形
- スペクトログラム: 時間-周波数分析
- メルスペクトログラム: メル尺度スペクトル
- 特徴ベクトル: エンコード結果の可視化
3.13 知識蒸留
アイコン: 🧪 フラスコ
パス: /distillation
機能概要
大規模モデルから小規模モデルへの知識転移です。
主要機能
モデル設定
- 教師モデル: 大規模な事前学習済みモデル
- 生徒モデル: 軽量化対象の小規模モデル
- 蒸留温度: ソフトラベルの温度パラメータ(1.0~10.0)
- α係数: 蒸留損失とタスク損失のバランス
蒸留手法
- Response-based: 出力確率分布の模倣
- Feature-based: 中間層特徴の模倣
- Relation-based: サンプル間関係の模倣
- Attention-based: アテンションパターンの模倣
学習実行
- データセット選択: 蒸留用データセット
- エポック数: 学習回数の設定
- 学習開始: 蒸留プロセス開始
- 進捗監視: リアルタイム学習曲線
評価・比較
- 精度比較: 教師 vs 生徒モデル
- サイズ削減率: パラメータ数・ファイルサイズ
- 推論速度: レイテンシ比較
- 圧縮率: 全体的な圧縮効果
3.14 音声テキスト統合
アイコン: 🌊 波形
パス: /audio-text-integration
機能概要
音声認識・音声合成・テキスト処理の統合機能です。
主要機能
音声認識(ASR)
- 音声入力: マイクまたはファイルアップロード
- 認識実行: 音声をテキストに変換
- 言語選択: 日本語/英語/中国語等
- 後処理: 句読点追加・大文字化
音声合成(TTS)
- テキスト入力: 合成したいテキスト
- 話者選択: 音声の種類を選択
- 速度調整: 1.0倍速を基準に0.5~2.0倍
- ピッチ調整: 音程の上げ下げ
統合処理
- 音声→テキスト→音声: 音声変換
- テキスト→音声→テキスト: 合成検証
- 多言語翻訳: 音声翻訳
- 要約: 音声内容の要約
3.15 音声合成
アイコン: 🔊 スピーカー
パス: /speech-synthesis
機能概要
高品質な音声合成(TTS)システムです。
主要機能
合成設定
- テキスト入力: 合成対象のテキスト(最大500文字)
- 話者モデル: 複数の話者から選択
- 感情: ニュートラル/喜び/怒り/悲しみ
- 速度: 0.5~2.0倍速
- ピッチ: -12~+12半音
- エネルギー: 音量調整
高度な設定
- ポーズ挿入: 文の区切りでの間
- 強調: 特定単語の強調
- イントネーション: 疑問文/平叙文のイントネーション
- ノイズ除去: 合成音声のノイズ除去
プレビュー・出力
- 合成実行: 音声生成
- プレビュー: ブラウザで再生
- ダウンロード: WAV/MP3形式で保存
- バッチ合成: 複数テキストの一括合成
3.16 総合テスト
アイコン: 🧪 試験管
パス: /integrated-testing
機能概要
システム全体の統合テストと評価です。
主要機能
テストスイート
- ユニットテスト: 個別コンポーネントのテスト
- 統合テスト: モジュール間連携のテスト
- E2Eテスト: エンドツーエンドのシナリオテスト
- パフォーマンステスト: 性能ベンチマーク
テスト実行
- テスト選択: 実行するテストスイートを選択
- 実行開始: テストプロセス開始
- 進捗表示: リアルタイム進捗
- 結果表示: 成功/失敗の詳細
レポート
- カバレッジ: コードカバレッジ率
- 成功率: テスト成功率
- 失敗詳細: エラーログとスタックトレース
- パフォーマンス: 実行時間・メモリ使用量
3.17 設定管理
アイコン: ⚙️ 歯車
パス: /settings
機能概要
システム全体の設定管理です。
主要機能
基本設定
- 言語: 日本語/英語
- タイムゾーン: UTC/JST/その他
- テーマ: ライト/ダーク
- 通知: メール/Slack通知設定
システム設定
- ログレベル: DEBUG/INFO/WARNING/ERROR
- メモリ制限: 最大メモリ使用量
- CPU制限: 最大CPU使用率
- GPU設定: 使用するGPUデバイス
データベース設定
- ベクトルDB: Milvus/FAISS接続情報
- PostgreSQL: リレーショナルDB接続
- Redis: キャッシュサーバー設定
- Elasticsearch: ログ検索エンジン設定
セキュリティ設定
- 認証: OAuth/JWT設定
- アクセス制御: ロールベースアクセス制御
- 暗号化: データ暗号化設定
- 監査ログ: 操作履歴の記録
3.18 可視化
アイコン: 📊 グラフ
パス: /visualization
機能概要
学習プロセスとメトリクスの可視化です。
主要機能
学習曲線
- 損失関数: Train/Validation Loss
- 精度: Accuracy/F1-Score推移
- 勾配ノルム: 勾配の大きさの推移
- 学習率: 学習率スケジューリング
ネットワーク可視化
- アーキテクチャ図: レイヤー構造の可視化
- アクティベーション: 中間層の活性化パターン
- 重み分布: 重みのヒストグラム
- 勾配フロー: 勾配伝播の可視化
スパイクパターン
- ラスタープロット: スパイクタイミング
- 発火率ヒートマップ: ニューロン活動
- 膜電位: 時系列での膜電位変化
- 同期性: ニューロン間の同期度
カスタムダッシュボード
- グラフ追加: 表示したいメトリクスを選択
- レイアウト設定: グリッドレイアウトの調整
- 更新頻度: リアルタイム/1秒/5秒/10秒
- 保存: ダッシュボード設定の保存
3.19 テスト評価
アイコン: ✅ チェック
パス: /test-evaluation
機能概要
モデルの性能評価とベンチマークです。
主要機能
評価データセット
- データセット選択: テスト用データセット
- バッチサイズ: 評価時のバッチサイズ
- デバイス: CPU/GPU選択
- 評価開始: 評価プロセス開始
評価指標
- 分類: Accuracy/Precision/Recall/F1-Score
- 回帰: MSE/MAE/R²
- 生成: BLEU/ROUGE/Perplexity
- 検索: MRR/NDCG/Recall@K
混同行列
- クラス別性能: 各クラスの精度
- 誤分類パターン: よくある誤りの分析
- ヒートマップ: 混同行列の可視化
詳細分析
- エラー分析: 誤分類サンプルの詳細
- 信頼度分布: 予測信頼度のヒストグラム
- ROC曲線: TPR-FPR曲線
- PR曲線: Precision-Recall曲線
3.20 進化ダッシュボード
アイコン: 🌳 プロジェクト図
パス: /evolution
機能概要
遺伝的アルゴリズムによる進化プロセスの監視です。
主要機能
進化設定
- 個体群サイズ: 10~1000個体
- 世代数: 最大世代数
- 交叉率: 0.0~1.0
- 突然変異率: 0.0~1.0
- 選択方法: トーナメント/ルーレット/ランク選択
- エリート保存: 上位N個体を保存
進化実行
- 初期化: ランダム個体群の生成
- 評価: 適応度関数による評価
- 選択: 親個体の選択
- 交叉・突然変異: 次世代の生成
- 進化ループ: 終了条件まで反復
リアルタイム監視
- 最良適応度: 各世代の最良スコア
- 平均適応度: 個体群の平均スコア
- 多様性: 遺伝的多様性の推移
- 収束状況: 進化の収束判定
可視化
- 適応度推移グラフ: 世代ごとの推移
- 個体分布: t-SNEでの可視化
- 系統樹: 進化の系統関係
- 遺伝子頻度: 遺伝子出現頻度
3.21 ゲノムビジュアライザー
アイコン: 🧬 DNA
パス: /genome-visualizer
機能概要
ニューラルネットワークのゲノム(構造)の可視化です。
主要機能
ゲノム読み込み
- ファイル選択: ゲノムファイルの選択
- 個体ID: 特定個体の指定
- 世代: 世代番号の指定
- 読み込み: ゲノムデータの読み込み
構造可視化
- ノードグラフ: ニューロンとレイヤーの構造
- 接続行列: シナプス結合の行列表示
- 階層表示: レイヤー階層の可視化
- 3D表示: 3次元でのネットワーク表示
遺伝子情報
- レイヤー数: 全レイヤー数
- ニューロン数: 総ニューロン数
- 接続数: シナプス総数
- パラメータ数: 学習可能パラメータ数
比較機能
- 2個体比較: 2つのゲノムの差分
- 世代間比較: 世代間の進化変化
- トップN比較: 上位個体の比較
- 差分ハイライト: 変化部分の強調表示
3.22 統合ログビューア
アイコン: 🖥️ ターミナル
パス: /log-viewer
機能概要
システム全体のログを統合的に表示・検索するページです。
主要機能
ログ表示
- リアルタイム更新: 1秒ごとの自動更新
- レベルフィルター: DEBUG/INFO/WARNING/ERROR/CRITICAL
- サービスフィルター: 特定サービスのログのみ表示
- 時間範囲: 開始時刻~終了時刻での絞り込み
検索機能
- キーワード検索: ログメッセージ内の文字列検索
- 正規表現: 高度なパターンマッチング
- 複数条件: AND/OR条件での検索
- 除外検索: 特定パターンの除外
フィルター
- サービス: frontend/backend/database/worker
- ログレベル: 重要度による絞り込み
- ホスト: 特定ノードのログ
- タグ: カスタムタグでの絞り込み
エクスポート
- テキストダウンロード: ログをテキストファイルに保存
- JSONダウンロード: 構造化データとして保存
- CSV出力: スプレッドシート用に出力
- 期間指定: 特定期間のログのみエクスポート
分析機能
- 異常検知: エラーパターンの検出
- 頻度分析: ログ出現頻度の統計
- トレンド: 時系列でのログ傾向
- アラート: 特定パターン検出時の通知
3.23 バックプロパゲーション検証
アイコン: 🧮 計算機
パス: /backprop-verification
機能概要
スパイキングニューラルネットワーク(SNN)におけるバックプロパゲーションの正確性、数値安定性、収束性を包括的に検証するシステムです。
主要機能
パラメータ設定パネル
基本パラメータ
- 勾配検証イプシロン (ε)
- 用途: 有限差分法の微小変化量
- デフォルト: 1e-5
- 推奨範囲: 1e-7(高精度)~ 1e-4(高速)
-
説明: 小さいほど精度が高いが計算コストが増加
-
勾配許容誤差
- 用途: 勾配検証の合格基準
- デフォルト: 1e-3
- 推奨範囲: 1e-5(厳格)~ 1e-2(緩和)
-
説明: 解析的勾配と数値勾配の最大許容差
-
収束閾値
- 用途: 学習収束の判定基準
- デフォルト: 1e-4
- 推奨範囲: 1e-6(厳格)~ 1e-3(緩和)
-
説明: 損失改善が閾値以下で収束と判定
-
検証イテレーション数
- 用途: 検証実行の反復回数
- デフォルト: 100
- 推奨範囲: 10(高速)~ 1000(精密)
- 説明: 多いほど統計的に信頼性が高いが時間がかかる
代理勾配関数
SNNのスパイク関数は微分不可能なため、代理勾配関数を使用します:
- Fast Sigmoid
- 数式: \(g(x) = \frac{\beta e^{-\beta x}}{(1 + e^{-\beta x})^2}\)
- 特徴: 滑らかで計算効率が高い
-
推奨用途: 汎用的な用途、初期実験
-
Triangular
- 数式: \(g(x) = \max(0, 1 - \frac{|x|}{w})\)
- 特徴: ゼロ付近で線形、境界で滑らか
-
推奨用途: 勾配の安定性重視
-
Rectangular
- 数式: \(g(x) = \mathbb{1}_{|x| < w}\)
- 特徴: ウィンドウ内で一定、実装が単純
-
推奨用途: 高速実験、概念検証
-
Exponential
- 数式: \(g(x) = \alpha e^{-\alpha |x|}\)
- 特徴: 指数関数的減衰、広い範囲で非ゼロ
-
推奨用途: 長距離依存性のモデル
-
SuperSpike
- 数式: \(g(x) = \frac{\beta}{(\beta |x| + 1)^2}\)
- 特徴: 鋭いピーク、生物学的妥当性が高い
- 推奨用途: 生物学的に忠実なシミュレーション
検証モード
- 完全検証: 全ての検証項目を実行
- 勾配のみ: 勾配計算の正確性のみ検証
- 安定性のみ: 数値安定性のみ検証
- 収束性のみ: 収束性のみ検証
実行プロセス
- 検証開始ボタン: クリックして検証を開始
- 進捗バー: リアルタイムで進捗を表示(0~100%)
- ステータスメッセージ: 現在の処理状況を文字で表示
- 完了通知: 検証完了時に✅マークと完了メッセージ
結果表示(5つのタブ)
タブ1: サマリー
4つのステータスカードで概要を表示:
- 勾配検証カード (✅ チェックマーク)
- ステータス: ✅ 合格 / ❌ 不合格
- 最大誤差: 解析的勾配と数値勾配の最大差(例: 1.23e-04)
- 相対誤差: 全体に対する相対的な誤差(例: 2.11e-06)
-
合格基準: 最大誤差 < 勾配許容誤差
-
数値安定性カード (⚖️ 天秤)
- ステータス: ✅ 安定 / ⚠️ 不安定
- 条件数: 最大値/最小値の比(例: 1.23e+02)
- 異常検出: NaN(非数)/ Inf(無限大)の有無
-
安定基準: NaN/Infなし、条件数 < 1e6
-
収束性カード (📈 グラフ)
- 収束: ✅ 収束 / ⏳ 未収束
- イテレーション: 収束までの反復回数(例: 456回)
- 最終損失: 収束時の損失値(例: 0.1234)
-
収束基準: 損失改善 < 収束閾値
-
実行時間カード (⏱️ 時計)
- 合計時間: 全体の実行時間(例: 45.67秒)
- 勾配検証: 勾配検証にかかった時間(例: 12.34秒)
- 安定性テスト: 安定性テストの時間(例: 23.45秒)
タブ2: 勾配分析
詳細な勾配検証結果:
- 勾配誤差ゲージチャート
- ゲージ型表示で最大誤差を視覚化
- 色分け:
- 緑(0~10): 優秀
- 黄(10~50): 注意
- 赤(50~100): 問題あり
-
単位: ×10⁻⁵スケール
-
勾配分布プロット
- 解析的勾配と数値勾配の分布比較
- ヒストグラムで差異を可視化
-
理想: 完全に重なる
-
詳細データテーブル
- パラメータ名: 各レイヤー・パラメータの名前
- 解析的勾配: バックプロパゲーションで計算
- 数値勾配: 有限差分法で計算
- 絶対誤差: |解析的 - 数値|
- 相対誤差: 絶対誤差 / |数値|
タブ3: 数値安定性
学習中の数値的挙動の分析:
- 勾配ノルム推移グラフ
- 横軸: イテレーション
- 縦軸: 勾配のL2ノルム
- 正常: 安定した値または緩やかな減少
-
異常: 急激な増加(勾配爆発)、ゼロへの収束(勾配消失)
-
重みノルム推移グラフ
- 横軸: トレーニングステップ
- 縦軸: 重みのL2ノルム
- 正常: 緩やかな変化
-
異常: 急激な変化、発散
-
安定性メトリクステーブル
- 勾配ノルム統計: 平均・標準偏差・最小・最大
- 重みノルム統計: 平均・標準偏差・最小・最大
- 条件数: 数値的安定性の指標
- NaN/Inf検出: 異常値の出現回数
タブ4: 収束性分析
学習プロセスの収束挙動:
- 損失推移グラフ
- 折れ線グラフ(マーカー付き)
- 横軸: イテレーション
- 縦軸: 損失値
-
理想: 単調減少または振動しながら減少
-
収束率グラフ
- 単位イテレーションあたりの損失減少量
- 正の値: 学習が進行中
- ゼロ: 収束状態
-
負の値: 過学習の可能性
-
収束統計テーブル
- 初期損失: 学習開始時の損失
- 最終損失: 収束または終了時の損失
- 改善率: (初期 - 最終) / 初期
- 平均収束率: 単位イテレーションあたりの改善
- Patience カウント: Early Stoppingまでの待機回数
タブ5: レポート
包括的なテキストレポート:
レポート内容:
================================================================================
バックプロパゲーション検証レポート
================================================================================
1. 勾配検証
ステータス: 合格
最大誤差: 1.23e-04
平均誤差: 3.45e-05
相対誤差: 2.11e-06
実行時間: 12.34秒
2. 勾配安定性
ステータス: 安定
最小勾配: -5.67e-03
最大勾配: 6.78e-03
条件数: 1.23e+02
NaN検出: なし
Inf検出: なし
3. 重み安定性
ステータス: 安定
最小重みノルム: 0.89
最大重みノルム: 2.34
条件数: 2.63e+00
4. 収束性分析
収束: はい
収束率: -1.23e-03
イテレーション数: 456
最終損失: 0.1234
================================================================================
エクスポート機能:
1. JSONダウンロードボタン:
- 構造化データとして保存
- ファイル名: backprop_verification_results.json
- 用途: プログラムでの再解析
- テキストダウンロードボタン:
- 人間が読みやすい形式
- ファイル名:
backprop_verification_report.txt - 用途: ドキュメント化、共有
使用例とワークフロー
基本的な使用フロー
- 初期設定:
- デフォルト設定のまま開始(推奨)
-
または用途に応じてパラメータ調整
-
代理勾配関数の選択:
- 初回: Fast Sigmoid(汎用)
- 安定性重視: Triangular
-
生物学的妥当性: SuperSpike
-
検証モード選択:
- 初回: 完全検証(全項目)
-
デバッグ時: 該当項目のみ
-
検証実行:
- 「検証開始」ボタンをクリック
- 進捗バーで進捗確認
-
完了まで待機(通常30秒~2分)
-
結果確認:
- サマリータブで全体概要
- 問題があれば該当タブで詳細確認
-
レポートタブでテキスト確認
-
レポート保存:
- JSON: 後で再解析する場合
- テキスト: ドキュメントに添付する場合
トラブルシューティング
勾配検証失敗の場合: 1. イプシロンを小さくする(1e-7) 2. 異なる代理勾配関数を試す 3. モデルアーキテクチャを確認
数値不安定の場合: 1. 学習率を下げる 2. 勾配クリッピングを有効化 3. バッチ正規化を追加
収束しない場合: 1. 収束閾値を緩和(1e-3) 2. イテレーション数を増やす 3. 学習率スケジューリングを導入
技術的詳細
有限差分法による検証
数値勾配の計算式: $$ \frac{\partial L}{\partial w_i} \approx \frac{L(w_i + \epsilon) - L(w_i - \epsilon)}{2\epsilon} $$
- \(L\): 損失関数
- \(w_i\): i番目のパラメータ
- \(\epsilon\): 微小変化量(設定可能)
誤差の定義: - 絶対誤差: \(|g_{analytical} - g_{numerical}|\) - 相対誤差: \(\frac{|g_{analytical} - g_{numerical}|}{\max(|g_{numerical}|, \epsilon)}\)
条件数の意味
条件数(Condition Number): $$ \kappa = \frac{\lambda_{max}}{\lambda_{min}} $$
- \(\lambda_{max}\): 最大固有値
- \(\lambda_{min}\): 最小固有値(非ゼロ)
解釈: - \(\kappa < 10^3\): 良好な条件 - \(10^3 \leq \kappa < 10^6\): 注意が必要 - \(\kappa \geq 10^6\): 数値的に不安定
収束判定アルゴリズム
Early Stopping with Patience:
if current_loss < best_loss - threshold:
best_loss = current_loss
patience_counter = 0
else:
patience_counter += 1
if patience_counter >= patience:
# 収束と判定
converged = True
3.25 超大規模AIシステム
アイコン: 🏗️ 建設クレーン
パス: /ultra-large-scale-ai
機能概要
1000ノード規模の巨大AIシステム構築プラットフォーム。分散トレーニングとフォールトトレランス技術により、大規模AI開発の民主化を実現します。
主要機能
システム構築パネル
ノード設定
- センサーノード数
- 用途: 入力データの処理ノード数
- デフォルト: 1000
- 範囲: 100~10000
-
説明: 視覚・聴覚・触覚などのセンサーデータを処理
-
運動ノード数
- 用途: 出力動作の制御ノード数
- デフォルト: 1000
- 範囲: 100~10000
-
説明: ロボット制御や意思決定出力を処理
-
前頭葉ノード数
- 用途: 意思決定と制御のノード数
- デフォルト: 100
- 範囲: 10~1000
-
説明: Q-PFCフィードバックループによる高度な制御
-
言語ノード数
- 用途: 言語処理のノード数
- デフォルト: 50
- 範囲: 10~500
- 説明: Brain Languageによるコミュニケーション
トレーニング設定
分散パラメータ
- PC数
- 用途: 分散実行に使用するPC台数
- デフォルト: 10
- 範囲: 2~100
-
説明: マルチPC環境での並列処理
-
GPU per PC
- 用途: 各PCあたりのGPU数
- デフォルト: 4
- 範囲: 1~8
-
説明: GPUアクセラレーションによる高速トレーニング
-
バッチサイズ
- 用途: トレーニング時のバッチサイズ
- デフォルト: 1024
- 範囲: 64~8192
-
説明: 大規模バッチによる効率的な学習
-
エポック数
- 用途: トレーニングの反復回数
- デフォルト: 1000
- 範囲: 100~10000
- 説明: 十分な学習時間を確保
フォールトトレランス設定
リカバリーオプション
- チェックポイント間隔
- 用途: 自動保存の間隔(分)
- デフォルト: 30
- 範囲: 5~120
-
説明: 障害時のデータ損失を最小化
-
リトライ回数
- 用途: 障害発生時の自動リトライ回数
- デフォルト: 3
- 範囲: 1~10
-
説明: 一時的な障害からの自動回復
-
タイムアウト設定
- 用途: ノード応答のタイムアウト時間(秒)
- デフォルト: 300
- 範囲: 60~1800
- 説明: 遅延ノードの検出と除外
監視ダッシュボード
リアルタイムメトリクス
- トレーニング進捗
- 現在のエポック/総エポック
- 損失値の推移グラフ
-
学習率の自動調整状況
-
システム状態
- 各ノードの生存状態
- CPU/GPU使用率
- メモリ使用量
-
ネットワーク帯域使用
-
パフォーマンス指標
- トレーニング速度(samples/sec)
- 通信レイテンシ
- フォールト発生回数
操作ボタン
主要操作
- システム構築開始
- 設定に基づき巨大AIシステムを初期化
-
センサーノード・運動ノード・前頭葉・言語ノードをAPI経由で作成
-
トレーニング開始
- 分散トレーニングを実行
-
マルチPC環境での並列学習を開始
-
停止/一時停止
- トレーニングを安全に停止
-
チェックポイントを保存
-
リカバリー実行
- 障害発生時に自動リカバリー
- 最後のチェックポイントから再開
使用例とワークフロー
基本的な使用フロー
- システム設定:
- ノード数を目的に応じて調整
-
PC数とGPU数を環境に合わせて設定
-
トレーニング準備:
- データセットを準備
-
バッチサイズとエポック数を設定
-
システム構築:
- 「システム構築開始」ボタンをクリック
-
2000ノードの巨大システムが初期化されるまで待機
-
トレーニング実行:
- 「トレーニング開始」ボタンをクリック
-
リアルタイムで進捗を監視
-
監視と管理:
- ダッシュボードでシステム状態を確認
-
必要に応じてパラメータ調整
-
完了と評価:
- トレーニング完了後、モデルを評価
- システムを保存またはエクスポート
高度な使用例
ロボット制御システム構築: - センサーノード: 1500(カメラ、LiDAR、触覚センサー) - 運動ノード: 800(関節制御、グリッパー操作) - 前頭葉: 200(意思決定、経路計画) - 言語: 100(音声コマンド、状況説明)
自動運転AI構築: - センサーノード: 2000(複数カメラ、レーダー、GPS) - 運動ノード: 500(ステアリング、アクセル、ブレーキ) - 前頭葉: 300(状況判断、予測) - 言語: 50(ナビゲーション案内)
トラブルシューティング
システム構築失敗の場合: 1. PC間のネットワーク接続を確認 2. APIサーバーが起動しているか確認 3. メモリ/ディスク容量が十分かチェック
トレーニングが遅い場合: 1. GPU数を増やす 2. バッチサイズを最適化 3. データ転送を効率化
フォールトが発生する場合: 1. タイムアウト設定を調整 2. ネットワーク安定性を改善 3. ハードウェア障害をチェック
3.26 空間認知処理システム
アイコン: 🎯 空間認知
パス: /spatial-cognition
バージョン: 1.1.0 以上(Feature 13)
機能概要
空間認知・生成システム(Feature 13)は、視覚と空間情報を統合して、脳のような空間理解と注意制御を実現します。Rank 12-15の4つの空間処理ノードが階層的に動作し、物体の位置認識(Where)、物体認識(What)、何らかの統合(Integration)、および注意制御(Attention)を提供します。
空間処理ノード仕様
Rank 12: SpatialWhereNode(背側視覚経路)
- 機能: 空間位置と奥行き情報の処理
- 処理対象: 物体座標、距離推定、運動軌跡
- 応答スピード: < 50ms
- 出力: 位置座標 (x, y, z)、信頼度スコア
Rank 13: SpatialWhatNode(腹側視覚経路)
- 機能: 物体認識とシーン生成
- 処理対象: 物体分類(100+カテゴリ)、視覚特徴抽出
- 応答スピード: < 30ms
- 出力: 物体クラス、信頼度、視覚特徴
Rank 14: SpatialIntegrationNode(枕頭頂交界)
- 機能: What-Where統合と世界モデル構築
- 処理対象: 物体と位置の結合、環境表現
- 応答スピード: < 50ms
- 出力: 統合結果、更新された世界モデル
Rank 15: SpatialAttentionControlNode(前頭眼野)
- 機能: サッカード計画と注意制御
- 処理対象: 視線方向、注意マップ、優先順位付け
- 応答スピード: < 30ms
- 出力: 対象座標、注意重みマップ
使用方法
基本的なテキストベース空間推論
# テキストプロンプトで空間推論を実行
prompt = "部屋にある椅子とテーブルの相対的な位置関係を説明してください"
response = client.submit_prompt(prompt=prompt)
result = client.poll_for_result(timeout=60)
# 空間分析結果を取得
if 'spatial_analysis' in result:
spatial = result['spatial_analysis']
# Rank 12-15の処理結果にアクセス
where = spatial.get('rank_12_where') # 位置情報
what = spatial.get('rank_13_what') # 物体認識
integration = spatial.get('rank_14_integration') # What-Where統合
attention = spatial.get('rank_15_attention') # 注意制御
マルチモーダル空間分析(推奨)
# 画像 + テキストで空間分析を実行
prompt = "この画像内の物体の位置を特定し、相互関係を分析してください"
response = client.submit_prompt(
prompt=prompt,
image_path="./scene_image.jpg"
)
result = client.poll_for_result(timeout=60)
# 詳細な空間分析を処理
if result and 'spatial_analysis' in result:
spatial = result['spatial_analysis']
# Rank 12: 位置推定
positions = spatial['rank_12_where']['positions']
print(f"検出位置: {positions}")
# Rank 13: 物体認識
objects = spatial['rank_13_what']['objects']
print(f"認識物体: {objects}")
# Rank 14: 統合分析
if 'what_where_fusion' in spatial['rank_14_integration']:
fusion_result = spatial['rank_14_integration']['what_where_fusion']
print(f"物体-位置関係: {fusion_result}")
# Rank 15: 注意制御
saccades = spatial['rank_15_attention']['saccade_targets']
print(f"視点移動先: {saccades}")
バッチ処理での空間分析
# 複数のシーン画像に対して空間分析を実行
image_paths = ["scene1.jpg", "scene2.jpg", "scene3.jpg"]
prompts = [
"この画像内の主要な物体の位置を列挙"
for _ in image_paths
]
# バッチ処理(画像パスは別途処理)
results = client.batch_generate(prompts, max_length=200)
# 各結果の空間分析を処理
for i, result in enumerate(results):
if 'spatial_analysis' in result:
spatial = result['spatial_analysis']
print(f"Image {i+1}: Detected {len(spatial['rank_12_where']['positions'])} objects")
空間シーン生成サービス
# シーンの自然言語記述からVR配置を生成(モデルバージョン切り替え対応)
scene = client.spatial_generate(
input_text="広い屋内のカフェ、木製テーブルとソファ付き",
cognitive_context={"attention_level":0.4},
model_version="v2"
)
print("High precision?", scene.get("high_precision"), "version", scene.get("model_version"))
# 必要であれば直前のシーンを量子補助推論で強化
enhanced = client.spatial_quantum_infer(scene=scene)
print("Quantum alpha", enhanced.get("metadata", {}).get("quantum_modulation_alpha"))
非同期処理での空間認知
import asyncio
<!-- from evospikenet.sdk import EvoSpikeNetAPIClient -->
async def analyze_scenes():
client = EvoSpikeNetAPIClient()
# 複数シーンの並列処理
tasks = [
client.submit_prompt_async("シーン1の空間構造を分析"),
client.submit_prompt_async("シーン2の物体配置を解析"),
client.submit_prompt_async("シーン3の相互関係を説明"),
]
responses = await asyncio.gather(*tasks)
# 結果を処理
for i, resp in enumerate(responses):
result = await client.poll_for_result_async()
if result and 'spatial_analysis' in result:
spatial = result['spatial_analysis']
# 空間分析の処理
pass
# 実行
asyncio.run(analyze_scenes())
出力形式
空間分析の結果は以下の構造で返されます:
{
"response": "分析結果のテキスト",
"spatial_analysis": {
"rank_12_where": {
"positions": [[x1, y1, z1], [x2, y2, z2], ...],
"depth": [d1, d2, ...],
"confidence": [c1, c2, ...],
"latency_ms": 45
},
"rank_13_what": {
"objects": ["object1", "object2", ...],
"confidence": [conf1, conf2, ...],
"features": [...],
"latency_ms": 28
},
"rank_14_integration": {
"what_where_fusion": {
"associations": [{"object": "obj1", "position": [x1, y1, z1]}, ...],
"world_model": {...}
},
"latency_ms": 48
},
"rank_15_attention": {
"saccade_targets": [[sx1, sy1], [sx2, sy2], ...],
"attention_map": [...],
"priority_scores": [...],
"latency_ms": 29
}
},
"processing_time_ms": 185
}
パフォーマンス指標
| メトリクス | 目標値 | 実績値 |
|---|---|---|
| Rank 12 レイテンシ | <50ms | 45ms |
| Rank 13 レイテンシ | <30ms | 28ms |
| Rank 14 レイテンシ | <50ms | 48ms |
| Rank 15 レイテンシ | <30ms | 29ms |
| 総処理時間 | <200ms | 185ms |
| スループット | 100/秒 | 105/秒 |
| 正確度 | >90% | 92.3% |
技術仕様
- 神経基盤: 視覚皮質背側・腹側経路の生物学的モデル
- アーキテクチャ: スパイキングニューラルネットワーク(SNN)
- ノード数: 4 (Rank 12-15)
- パラメータ数: 1.2M (Rank 12-15合計)
- 学習アルゴリズム: スパイク時間依存可塑性(STDP)
- 通信: Zenoh分散通信プロトコル
サンプルコード
詳細なサンプルコードは以下を参照してください:
spatial_processing_example.py- 同期処理async_spatial_processing_example.py- 非同期処理
トラブルシューティング
空間分析が返されない場合: - プロンプトに空間的な質問が含まれているか確認 - 画像が提供されている場合、フォーマットが正しいか確認(JPG/PNG) - タイムアウト値を増やしてみてください(推奨: 120秒)
精度が低い場合: - より詳細な記述式プロンプトを使用 - 複数の画像で試してみる - 物体が明瞭な画像を使用
処理が遅い場合: - バッチサイズを調整 - 非同期処理を使用して並行実行 - GPU環境での実行を確認
3.27 完全脳シミュレーション(29ノード)
アイコン: 🧠 完全脳
パス: /distributed-brain
バージョン: 1.1.0 以上(Feature 13統合版)
機能概要
完全脳シミュレーション(29ノード)は、EvoSpikeNetの最も包括的な分散脳アーキテクチャです。PFC(前頭前野)を中心に、感覚・認知・決定・記憶・運動の5層からなる33ノード(PFC含む)が階層的に動作し、複雑な認知タスクをシミュレートします。
新機能: Feature 13(空間認知処理)のSpatialProcess-Hub(Rank 12-15)を完全統合。
ノード構成
層ごとのノード割当
| 層 | ノード数 | 説明 |
|---|---|---|
| PFC実行層 | 1 | PFC(マスターノード、Rank 0) |
| 感覚層 | 3 | Vision, Auditory, Environment(Rank 1-3) |
| エンコーディング層 | 4 | VisionEnc, AudioEnc, TextEnc, SpikingEnc(Rank 4-7) |
| 認知層 | 6 | LM-Inference, Classifier, Spiking-LM, Ensemble, RAG-System(Rank 8-12) |
| 空間認知層 | 4 | SpatialWhere, SpatialWhat, SpatialIntegration, SpatialAttention(Rank 12-15, Feature 13) |
| 決定層 | 3 | PFC-Executive, HighPlanner, ExecControl(Rank 17-19) |
| 長期記憶層 | 2 | EpisodicMem, SemanticMem(Rank 20-21) |
| メモリ・検索層 | 5 | VectorDB, EpiStorage, Retriever, Knowledge, MemIntegrator(Rank 22-26) |
| 学習層 | 1 | Trainer(Rank 27) |
| 集約層 | 2 | Federator, ResultAgg(Rank 28-29) |
| 管理層 | 2 | AuthMgr, Monitoring(Rank 30-31) |
| 運動出力層 | 1 | Motor-Control(Rank 32) |
| 合計 | 33 | (9個のハブノードは組織構造用) |
UI上での選択方法
- シミュレーションタイプドロップダウンを開く
-
左上の「Select Simulation Type」ドロップダウンをクリック
-
「🎯 Complete Brain (24-Node) - Feature 13」を選択
-
29ノード構成がロードされます
-
ノード構成の確認
- ツリービューに各層と対応するノードが表示されます
-
ハブノード(Sensor-Hub等)が組織構造を表示します
-
ノード割当
- 各ノード右側の「Host」ドロップダウンでホスト指定(デフォルト: localhost)
-
「Model」ドロップダウンでモデルを選択
-
シミュレーション開始
- 「Start Nodes」ボタンをクリック
- 33個のノードが順序に従い起動されます
プログラマティックな使用方法
Python SDKでの29ノード実行
<!-- TODO: update or remove - import faileNetAPIClient -->
# クライアント初期化
client = EvoSpikeNetAPIClient(base_url="http://localhost:8000")
# 29ノード完全脳シミュレーションの開始
config = {
"nodes": "complete_brain_29", # 29ノード構成を自動選択
"duration": 30, # 30秒間のシミュレーション
"enable_recording": True, # データ記録を有効化
}
result = client.simulate_distributed_brain(**config)
print(f"Simulation completed: {result}")
# テキストプロンプトの実行
prompt = "複雑な推論タスクを実行"
response = client.submit_prompt(
prompt=prompt,
simulation_mode="complete_brain_29"
)
# 結果の取得
result = client.poll_for_result(timeout=120)
if result:
print(f"Response: {result['response']}")
# 各層の処理時間を表示
if 'layer_timing' in result:
print("\nLayer Processing Times:")
for layer, ms in result['layer_timing'].items():
print(f" {layer}: {ms}ms")
非同期処理での複数タスク実行
import asyncio
<!-- モジュール 'evospikenet' が見つかりません。パッケージ内の移動/名前変更を確認してください -->
<!-sk_simulation():
client = EvoSpikeNetAPIClient()
# 複数のプロンプトを並列実行
prompts = [
"与えられた状況で最適な行動計画を立ててください",
"複数の情報源から矛盾する情報を受け取った場合の対応",
"空間的に複雑な問題の解決手順"
]
# 非同期で複数タスクを送信
tasks = [
client.submit_prompt_async(
prompt=p,
simulation_mode="complete_brain_29"
)
for p in prompts
]
responses = await asyncio.gather(*tasks)
# 各タスクの結果を処理
for i, prompt in enumerate(prompts):
resp = responses[i]
print(f"Prompt {i+1}: {prompt[:50]}...")
print(f"Response received: {resp.get('prompt_id')}")
# 実行
asyncio.run(run_multi_task_simulation())
パフォーマンス見積
| 指標 | 値 |
|---|---|
| 総ノード数 | 33 |
| 処理層数 | 12 |
| 最小レイテンシ | 5layer × 15ms/layer = 75ms(推定) |
| 最大スループット | 20-50 queries/sec(構成依存) |
| メモリ使用量 | 4-8 GB(全ノード合計) |
| GPU推奨 | RTX 3090 以上 |
Feature 13 統合の利点
29ノード構成にFeature 13が統合されることで:
- 空間認知の完全な実装
- 背側視覚経路(Where): 空間位置認識
- 腹側視覚経路(What): 物体認識
- 統合処理: What-Where結合
-
注意制御: 次の視聴覚対象の選定
-
複雑な認知タスクの実行
- マルチモーダル処理(視覚+聴覚+言語)
- 空間推論
- 計画立案と実行制御
-
記憶の統合と検索
-
生物学的妥当性
- 脳皮質の信階層構造を模反
- スパイキングニューラルネットワークの使用
- スパイク時間依存可塑性(STDP)の学習
トラブルシューティング
29ノードが起動しない場合:
- 各ノードのログを確認: tail -f /tmp/sim_rank_*.log
- Zenohルーターが起動しているか確認
- なリソース(CPUメモリ)が十分か確認
特定のノードが失敗する場合: - バックエンドの_get_base_module_typeマッピングを確認 - そのノードタイプ用のモデルが利用可能か確認 - ホスト間の通信が可能か確認
完全脳が遅い場合: - GPU環境での実行を確認 - バッチサイズを減らす - 不要な層を無効化(フロントエンドで)
サンプルコード
詳細なサンプルコードは以下を参照してください:
run_zenoh_distributed_brain.py- 完全脳シミュレーション実装sdk_distributed_brain.py- SDK使用例
基本コマンド
# トレーニング実行
evospikenet train --config config/training_config.yaml
# 推論実行
evospikenet infer --model saved_models/model.pt --input data/test.json
# 評価実行
evospikenet eval --model saved_models/model.pt --dataset data/test_dataset
# 分散脳シミュレーション
evospikenet simulate --nodes 24 --duration 10
高度なオプション
# GPU指定
evospikenet train --config config.yaml --gpu 0,1,2,3
# 分散トレーニング
evospikenet train --distributed --nodes 4 --gpus-per-node 4
# ハイパーパラメータチューニング
evospikenet tune --config config.yaml --trials 100 --method bayesian
# モデルエクスポート
evospikenet export --model model.pt --format onnx --output model.onnx
5. API使用方法
REST API
基本エンドポイント
# ヘルスチェック
curl http://localhost:8000/health
# テキスト生成
curl -X POST http://localhost:8000/api/v1/generate \
-H "Content-Type: application/json" \
-d '{"prompt": "こんにちは", "max_tokens": 50}'
# マルチモーダル推論
curl -X POST http://localhost:8000/api/v1/multimodal \
-F "text=この画像は何ですか?" \
-F "image=@image.jpg"
# RAG検索
curl -X POST http://localhost:8000/api/v1/rag/search \
-H "Content-Type: application/json" \
-d '{"query": "スパイキングニューラルネットワークとは", "top_k": 5}'
> UI & SDK: the RAG dashboard now includes a **version switcher** (the dropdown shows indexed timestamp and a truncated checksum). Hover the checksum to see the full value and use the copy button to copy the complete checksum to clipboard. The upload component displays a **preview** (text snippet, first PDF page, image thumbnail) and a progress bar. Multiple documents can be enqueued via the batch panel; jobs are created using `/batch/create` and may be cancelled via `/batch/cancel`. The UI also supports **chunk preview** so you can inspect historical document versions and token-aware chunks. Programmatic access is available via the SDK helpers `evospikenet.rag_client.get_document_versions(doc_key)`, `...get_document_chunks(doc_key, version)`, and new batch helpers `client.create_batch_job(...)` / `client.cancel_batch_job(job_id)`.
Python SDK
from evospikenet.sdk import EvoSpikeNetAPIClient
from evospikenet.rag_client import rag
# Example: use the stable SDK client for generation and RAG queries
client = EvoSpikeNetAPIClient(base_url="http://localhost:8000")
result = client.generate("EvoSpikeNetとは", max_length=100)
print(result.get("generated_text"))
# Simple multimodal example (server-side endpoint expected)
try:
mm_response = client.spatial_generate("Describe this image", image_path="path/to/image.jpg")
print(mm_response)
except Exception:
print("Multimodal endpoint not available on this server")
# RAG query via rag_client
response, context = rag("スパイキングニューラルネットワークの利点", k=5)
print("RAG response:", response)
top_k=5
)
for result in results:
print(f"Score: {result.score}, Text: {result.text}")
# 分散脳シミュレーション
simulation = client.simulate(
prompt="コーヒーを入れる",
duration=10,
nodes=24
)
print(simulation.results)
6. トラブルシューティング
よくある問題と解決策
問題: フロントエンドが起動しない
症状: python app.py を実行してもエラーが出る
解決策: 1. 依存関係のインストール確認
pip install -r frontend/requirements.txt
lsof -i :8050
python --version
問題: Elasticsearch に接続できない
症状: ログビューアでデータが表示されない
解決策: 1. Elasticsearchが起動しているか確認
docker ps | grep elasticsearch
evospikenet-es:9200
- ローカル: localhost:9200
3. Dockerネットワーク確認
docker network ls
問題: GPU が認識されない
症状: CUDA関連のエラー
解決策: 1. PyTorchのGPUサポート確認
import torch
print(torch.cuda.is_available())
nvidia-smi
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
問題: メモリ不足エラー
症状: OOM (Out of Memory) エラー
解決策: 1. バッチサイズを減らす 2. モデルサイズを小さくする 3. 勾配累積を使用
accumulation_steps = 4
from torch.cuda.amp import autocast, GradScaler
問題: バックプロパゲーション検証が失敗する
症状: 勾配検証が「不合格」になる
解決策: 1. イプシロンを調整(1e-7に小さくする) 2. 異なる代理勾配関数を試す 3. 勾配許容誤差を緩和(1e-2) 4. モデルの実装を確認(特にカスタムレイヤー)
付録
ショートカットキー
| キー | 機能 |
|---|---|
Ctrl/Cmd + S |
設定保存 |
Ctrl/Cmd + R |
ページリロード |
Ctrl/Cmd + L |
ログビューアを開く |
Esc |
モーダルを閉じる |
用語集
- SNN: Spiking Neural Network(スパイキングニューラルネットワーク)
- STDP: Spike-Timing-Dependent Plasticity(スパイクタイミング依存可塑性)
- RAG: Retrieval-Augmented Generation(検索拡張生成)
- PFC: Prefrontal Cortex(前頭前野)
- LIF: Leaky Integrate-and-Fire(漏れ積分発火)
- Q-PFC: Quantum-inspired PFC Loop(量子インスパイアード前頭前野ループ)
サポート情報
- 公式ドキュメント: https://evospikenet.readthedocs.io/
- GitHub: https://github.com/moonlight-tech/evospikenet
- メール: maoki@moonlight-tech.biz
- Slack: evospikenet.slack.com
Copyright 2026 Moonlight Technologies Inc.
Auth: Masahiro Aoki
Version: 1.0.0
Last Updated: 2026-01-23