コンテンツにスキップ

EvoSpikeNet ユーザーマニュアル

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

作成日: 2026年2月17日
バージョン: 1.1.0 🎯 Feature 13対応完了
著者: Masahiro Aoki
所属: Moonlight Technologies Inc.

目次


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」ドロップダウンでの追加機能アクセス

使用方法

  1. アイコンをクリックして各ページに移動
  2. アイコンをドラッグして好みの順序に並び替え
  3. リセットボタン(↻)でデフォルト順序に戻す

3.2 データ作成

アイコン: 🗄️ データベース
パス: /data-creation

機能概要

トレーニングデータの作成と管理を行うページです。

主要機能

データセット作成
  1. データセット名: 一意の識別名を入力
  2. データタイプ: テキスト/画像/音声から選択
  3. サンプル数: 生成するデータ数を指定
  4. 作成ボタン: クリックしてデータセット生成
データアップロード
  1. ファイル選択: ドラッグ&ドロップまたはクリックでファイル選択
  2. 対応フォーマット: CSV, JSON, TXT, JSONL
  3. プレビュー: アップロード前にデータ内容を確認
  4. アップロードボタン: データベースへの登録
データ管理
  • データセット一覧: 作成済みデータセットの表示
  • 編集機能: データセットの内容を修正
  • 削除機能: 不要なデータセットを削除
  • エクスポート: データセットをJSON/CSVでダウンロード

3.3 分散脳シミュレーション

アイコン: 🧠 脳
パス: /distributed-brain

機能概要

24ノードの階層的脳機能モデルを用いたシミュレーションページです。

主要機能

ノード構成
  • PFC(前頭前野): 中央制御ハブ、意思決定
  • 視覚系: V1(初期視覚)→ IT(物体認識)
  • 聴覚系: A1(初期聴覚)→ STS(音声理解)
  • 言語系: Wernicke(理解)→ Broca(生成)
  • 運動系: M1(運動指令)→ SMA(運動計画)
シミュレーション実行
  1. プロンプト入力: マルチモーダルなプロンプトを入力
  2. テキスト: 言語指示
  3. 画像: ファイルアップロード
  4. 音声: マイク入力またはファイルアップロード
  5. 実行ボタン: シミュレーション開始
  6. 進捗表示: リアルタイムで処理状況を表示
リアルタイム監視
  • ノードアクティビティ: 各ノードの活性化状態
  • スパイクレート: ニューロンの発火頻度
  • 接続強度: ノード間のシナプス結合強度
  • エネルギー消費: リアルタイム電力消費量
結果表示
  • タブ形式: 出力/グラフ/メトリクス/ログ
  • 出力タブ: シミュレーション結果のテキスト表示
  • グラフタブ: ノードアクティビティの時系列グラフ
  • メトリクスタブ: 定量的評価指標
  • ログタブ: 詳細なシステムログ

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モードでの使用
  1. Connection Typeを"WebSocket"に設定
  2. WebSocket URLを確認(デフォルト: ws://localhost:8765
  3. Connectボタンをクリック
  4. 接続成功後、リアルタイムデータが表示されます
  5. 各タブを切り替えて様々な可視化を確認
Mockデータモードでの使用
  1. Connection Typeを"Mock Data"に設定
  2. Connectボタンをクリック
  3. 自動生成された疑似EEGデータが表示されます
  4. パラメータを調整してデータ特性を変更
データ分析ワークフロー
  1. 接続してデータストリーミングを開始
  2. Waveformsタブで生波形を確認
  3. Spectrumタブで周波数特性を分析
  4. Band Powersタブで脳波状態を評価
  5. 3D Viewタブで空間分布を可視化

技術仕様

  • データ形式: JSONメッセージプロトコル
  • サンプリングレート: 最大1000Hz
  • チャンネル数: 4チャンネル対応
  • バッファサイズ: 最大5000サンプル
  • 通信プロトコル: WebSocket (RFC 6455)
  • UIフレームワーク: Dash + Plotly.js
  • リアルタイム性: 1ms以下のレイテンシー

注意事項

  • WebSocket接続時は、対応するEEGサーバーが実行されている必要があります
  • 大量のデータバッファリング時はメモリ使用量に注意してください
  • リアルタイム表示時はブラウザのリソース消費が増加します

3.5 運動皮質

アイコン: 🏃 ランニング
パス: /motor-cortex

機能概要

運動制御とロボット制御のシミュレーションページです。

主要機能

運動パターン生成
  1. 目標設定: 座標または動作パターンを指定
  2. 軌道計画: 最適な運動軌道を計算
  3. 実行: シミュレーションまたは実機制御
ロボット制御
  • 7自由度アーム: 7関節の協調制御
  • パラメータ設定: 位置・速度・加速度・トルク
  • ウェイポイント: 50点までの軌道生成
  • リアルタイムフィードバック: センサー情報の統合
可視化
  • 3Dビューア: 運動軌道の3D表示
  • 関節角度グラフ: 時系列での角度変化
  • トルクグラフ: 各関節のトルク推移

3.6 言語モデル

アイコン: 💬 言語
パス: /evospikenet-lm

機能概要

EvoSpikeNetベースの言語モデル機能です。

主要機能

テキスト生成
  1. プロンプト入力: 開始文章を入力
  2. パラメータ設定:
  3. 最大トークン数: 生成する最大長
  4. Temperature: 創造性の度合い(0.1~2.0)
  5. Top-p: 確率分布の閾値
  6. Top-k: 候補トークン数
  7. 生成ボタン: テキスト生成開始
会話モード
  • マルチターン対話: 文脈を保持した連続対話
  • 履歴管理: 会話履歴の保存・読み込み
  • エクスポート: 会話内容をテキストファイルに保存
評価機能
  • パープレキシティ: 言語モデルの性能指標
  • BLEUスコア: 機械翻訳評価
  • ROUGEスコア: 要約評価

3.7 マルチモーダルLM

アイコン: 📚 レイヤー
パス: /multi-modal-lm

機能概要

視覚・聴覚・言語を統合したマルチモーダルAIページです。

主要機能

マルチモーダル入力
  1. 画像入力: 画像ファイルのアップロード
  2. テキスト入力: 質問や指示を入力
  3. 音声入力: 音声ファイルまたはマイク入力
  4. 統合処理: 全モーダルを統合して処理
画像理解
  • 物体検出: 画像内の物体を検出
  • キャプション生成: 画像の説明文を生成
  • 視覚質問応答: 画像に関する質問に回答
音声理解
  • 音声認識: 音声をテキストに変換
  • 話者識別: 話者を特定
  • 感情認識: 音声から感情を推定
統合出力
  • テキスト: 統合結果のテキスト出力
  • 音声合成: 結果を音声で出力
  • 可視化: アテンションマップの表示

3.8 RAGシステム

アイコン: 📖 読書
パス: /rag

機能概要

Retrieval-Augmented Generation(RAG)による知識検索と生成です。

主要機能

ドキュメント管理
  1. アップロード: PDF/TXT/DOCX ほか多様な形式をドラッグ&ドロップ
  2. プレビュー: テキストは最初の数行、PDFは1ページ目、画像は200×200サムネイルが表示される
  3. 進行状況: アップロード中はプログレスバー/ステータスが更新される
  4. チャンク分割: トークンベースで自動分割(デフォルト512トークン、重複128トークン)
  5. ベクトル化: 埋め込みモデルでのベクトル生成
  6. インデックス登録: Milvus/Elasticsearch に登録しバージョン管理(VersionManager利用)
  7. バッチ処理: 複数ファイルをまとめてキューに投入・進捗監視・キャンセル可能
知識検索
  1. クエリ入力: 検索したい質問を入力
  2. 検索実行: 類似ドキュメントを検索
  3. 結果表示: 関連度順に表示、並び替えやフィルタが可能
  4. 詳細表示: 各ドキュメントの内容を確認
  5. バージョン履歴: 過去のバージョンを素早く切り替え
  6. 差分表示: 選択バージョン間のテキスト差分を確認
  7. 継続版ダウンロード/ロールバック機能付き
RAG生成
  1. 質問入力: 生成したいコンテンツの質問
  2. 検索統合: 関連ドキュメントを自動検索
  3. コンテキスト生成: 検索結果を統合
  4. 回答生成: 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設定
  1. ニューロンモデル: LIF/ALIF/Izhikevichから選択
  2. 膜電位閾値: スパイク発火の閾値設定
  3. 時定数: 膜電位の減衰時定数
  4. リセット電位: スパイク後のリセット値
スパイク符号化
  • Rate Encoding: 発火率による符号化
  • Temporal Encoding: 時間タイミングによる符号化
  • TAS Encoding: 時間適応型符号化
  • Population Encoding: 集団符号化
学習設定
  • STDP: スパイクタイミング依存可塑性
  • Meta-STDP: メタ学習STDP
  • Energy-STDP: エネルギー制約STDP
  • 学習率: 0.0001~0.01
実行・評価
  • テキスト生成: スパイクベース生成
  • エネルギー測定: 消費電力の計測
  • スパイクレート: 発火頻度の分析
  • 性能比較: ANNとの比較

3.9 ハイパーパラメータチューニング

アイコン: 🎚️ スライダー
パス: /tuning

機能概要

自動ハイパーパラメータ最適化ツールです。

主要機能

チューニング設定
  1. 最適化手法: Grid Search/Random Search/Bayesian Optimization/Evolutionary
  2. パラメータ空間: 最適化対象パラメータの範囲設定
  3. 評価指標: Accuracy/Loss/F1-Score等
  4. 試行回数: 最大試行回数の設定
パラメータ設定
  • 学習率: 対数スケールで範囲指定
  • バッチサイズ: 8, 16, 32, 64, 128
  • エポック数: 10~200
  • 正則化係数: L1/L2正則化の強度
  • ドロップアウト率: 0.0~0.5
実行・監視
  1. チューニング開始: 最適化プロセス開始
  2. 進捗表示: リアルタイムで進捗表示
  3. 結果表示: 試行ごとの結果を表形式で表示
  4. ベストパラメータ: 最良のパラメータセットを表示
可視化
  • パラメータ重要度: 各パラメータの影響度
  • 最適化履歴: 目的関数値の推移
  • パラレルコーディネート: 多次元パラメータの可視化
  • ヒートマップ: パラメータ間の相互作用

3.10 モデル管理

アイコン: 📦 ボックス
パス: /model-management

機能概要

学習済みモデルの管理とデプロイ機能です。

主要機能

モデル登録
  1. モデル名: 一意の識別名
  2. バージョン: セマンティックバージョニング(v1.0.0形式)
  3. 説明: モデルの概要説明
  4. タグ: 検索用のタグ付け
  5. アップロード: モデルファイルのアップロード
モデル一覧
  • 検索フィルター: 名前/タグ/日付で検索
  • ソート: 名前/日付/バージョンでソート
  • プレビュー: モデル情報の表示
  • ダウンロード: モデルファイルのダウンロード
バージョン管理
  • バージョン履歴: 全バージョンの一覧
  • 差分表示: バージョン間の差分比較
  • ロールバック: 以前のバージョンに戻す
  • メタデータ: 各バージョンの詳細情報
デプロイ管理
  • デプロイ先選択: Production/Staging/Development
  • エンドポイント設定: REST APIエンドポイント
  • スケーリング: レプリカ数の設定
  • ヘルスチェック: デプロイ状態の監視

3.11 ビジョンエンコーダー

アイコン: 👁️ 目
パス: /vision-encoder

機能概要

視覚情報のエンコーディングと特徴抽出です。

主要機能

画像入力
  1. ファイルアップロード: JPEG/PNG画像
  2. カメラ入力: Webカメラからのリアルタイム入力
  3. バッチ処理: 複数画像の一括処理
エンコーダー設定
  • アーキテクチャ: 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

機能概要

音声データのエンコーディングと特徴抽出です。

主要機能

音声入力
  1. ファイルアップロード: WAV/MP3/FLAC
  2. マイク録音: リアルタイム録音
  3. 長時間音声: 自動分割処理
エンコーダー設定
  • 特徴抽出: MFCC/Mel-Spectrogram/Wave2Vec
  • サンプリングレート: 8kHz/16kHz/44.1kHz
  • フレーム長: 25ms~50ms
  • ホップ長: 10ms~25ms
前処理
  • ノイズ除去: スペクトルサブトラクション
  • 音量正規化: RMS正規化
  • 無音除去: VAD(Voice Activity Detection)
  • オーグメンテーション: ピッチシフト/タイムストレッチ
分析・可視化
  • 波形表示: 時間領域の波形
  • スペクトログラム: 時間-周波数分析
  • メルスペクトログラム: メル尺度スペクトル
  • 特徴ベクトル: エンコード結果の可視化

3.13 知識蒸留

アイコン: 🧪 フラスコ
パス: /distillation

機能概要

大規模モデルから小規模モデルへの知識転移です。

主要機能

モデル設定
  1. 教師モデル: 大規模な事前学習済みモデル
  2. 生徒モデル: 軽量化対象の小規模モデル
  3. 蒸留温度: ソフトラベルの温度パラメータ(1.0~10.0)
  4. α係数: 蒸留損失とタスク損失のバランス
蒸留手法
  • Response-based: 出力確率分布の模倣
  • Feature-based: 中間層特徴の模倣
  • Relation-based: サンプル間関係の模倣
  • Attention-based: アテンションパターンの模倣
学習実行
  1. データセット選択: 蒸留用データセット
  2. エポック数: 学習回数の設定
  3. 学習開始: 蒸留プロセス開始
  4. 進捗監視: リアルタイム学習曲線
評価・比較
  • 精度比較: 教師 vs 生徒モデル
  • サイズ削減率: パラメータ数・ファイルサイズ
  • 推論速度: レイテンシ比較
  • 圧縮率: 全体的な圧縮効果

3.14 音声テキスト統合

アイコン: 🌊 波形
パス: /audio-text-integration

機能概要

音声認識・音声合成・テキスト処理の統合機能です。

主要機能

音声認識(ASR)
  1. 音声入力: マイクまたはファイルアップロード
  2. 認識実行: 音声をテキストに変換
  3. 言語選択: 日本語/英語/中国語等
  4. 後処理: 句読点追加・大文字化
音声合成(TTS)
  1. テキスト入力: 合成したいテキスト
  2. 話者選択: 音声の種類を選択
  3. 速度調整: 1.0倍速を基準に0.5~2.0倍
  4. ピッチ調整: 音程の上げ下げ
統合処理
  • 音声→テキスト→音声: 音声変換
  • テキスト→音声→テキスト: 合成検証
  • 多言語翻訳: 音声翻訳
  • 要約: 音声内容の要約

3.15 音声合成

アイコン: 🔊 スピーカー
パス: /speech-synthesis

機能概要

高品質な音声合成(TTS)システムです。

主要機能

合成設定
  1. テキスト入力: 合成対象のテキスト(最大500文字)
  2. 話者モデル: 複数の話者から選択
  3. 感情: ニュートラル/喜び/怒り/悲しみ
  4. 速度: 0.5~2.0倍速
  5. ピッチ: -12~+12半音
  6. エネルギー: 音量調整
高度な設定
  • ポーズ挿入: 文の区切りでの間
  • 強調: 特定単語の強調
  • イントネーション: 疑問文/平叙文のイントネーション
  • ノイズ除去: 合成音声のノイズ除去
プレビュー・出力
  1. 合成実行: 音声生成
  2. プレビュー: ブラウザで再生
  3. ダウンロード: WAV/MP3形式で保存
  4. バッチ合成: 複数テキストの一括合成

3.16 総合テスト

アイコン: 🧪 試験管
パス: /integrated-testing

機能概要

システム全体の統合テストと評価です。

主要機能

テストスイート
  • ユニットテスト: 個別コンポーネントのテスト
  • 統合テスト: モジュール間連携のテスト
  • E2Eテスト: エンドツーエンドのシナリオテスト
  • パフォーマンステスト: 性能ベンチマーク
テスト実行
  1. テスト選択: 実行するテストスイートを選択
  2. 実行開始: テストプロセス開始
  3. 進捗表示: リアルタイム進捗
  4. 結果表示: 成功/失敗の詳細
レポート
  • カバレッジ: コードカバレッジ率
  • 成功率: テスト成功率
  • 失敗詳細: エラーログとスタックトレース
  • パフォーマンス: 実行時間・メモリ使用量

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. グラフ追加: 表示したいメトリクスを選択
  2. レイアウト設定: グリッドレイアウトの調整
  3. 更新頻度: リアルタイム/1秒/5秒/10秒
  4. 保存: ダッシュボード設定の保存

3.19 テスト評価

アイコン: ✅ チェック
パス: /test-evaluation

機能概要

モデルの性能評価とベンチマークです。

主要機能

評価データセット
  1. データセット選択: テスト用データセット
  2. バッチサイズ: 評価時のバッチサイズ
  3. デバイス: CPU/GPU選択
  4. 評価開始: 評価プロセス開始
評価指標
  • 分類: Accuracy/Precision/Recall/F1-Score
  • 回帰: MSE/MAE/R²
  • 生成: BLEU/ROUGE/Perplexity
  • 検索: MRR/NDCG/Recall@K
混同行列
  • クラス別性能: 各クラスの精度
  • 誤分類パターン: よくある誤りの分析
  • ヒートマップ: 混同行列の可視化
詳細分析
  • エラー分析: 誤分類サンプルの詳細
  • 信頼度分布: 予測信頼度のヒストグラム
  • ROC曲線: TPR-FPR曲線
  • PR曲線: Precision-Recall曲線

3.20 進化ダッシュボード

アイコン: 🌳 プロジェクト図
パス: /evolution

機能概要

遺伝的アルゴリズムによる進化プロセスの監視です。

主要機能

進化設定
  1. 個体群サイズ: 10~1000個体
  2. 世代数: 最大世代数
  3. 交叉率: 0.0~1.0
  4. 突然変異率: 0.0~1.0
  5. 選択方法: トーナメント/ルーレット/ランク選択
  6. エリート保存: 上位N個体を保存
進化実行
  1. 初期化: ランダム個体群の生成
  2. 評価: 適応度関数による評価
  3. 選択: 親個体の選択
  4. 交叉・突然変異: 次世代の生成
  5. 進化ループ: 終了条件まで反復
リアルタイム監視
  • 最良適応度: 各世代の最良スコア
  • 平均適応度: 個体群の平均スコア
  • 多様性: 遺伝的多様性の推移
  • 収束状況: 進化の収束判定
可視化
  • 適応度推移グラフ: 世代ごとの推移
  • 個体分布: t-SNEでの可視化
  • 系統樹: 進化の系統関係
  • 遺伝子頻度: 遺伝子出現頻度

3.21 ゲノムビジュアライザー

アイコン: 🧬 DNA
パス: /genome-visualizer

機能概要

ニューラルネットワークのゲノム(構造)の可視化です。

主要機能

ゲノム読み込み
  1. ファイル選択: ゲノムファイルの選択
  2. 個体ID: 特定個体の指定
  3. 世代: 世代番号の指定
  4. 読み込み: ゲノムデータの読み込み
構造可視化
  • ノードグラフ: ニューロンとレイヤーの構造
  • 接続行列: シナプス結合の行列表示
  • 階層表示: レイヤー階層の可視化
  • 3D表示: 3次元でのネットワーク表示
遺伝子情報
  • レイヤー数: 全レイヤー数
  • ニューロン数: 総ニューロン数
  • 接続数: シナプス総数
  • パラメータ数: 学習可能パラメータ数
比較機能
  • 2個体比較: 2つのゲノムの差分
  • 世代間比較: 世代間の進化変化
  • トップN比較: 上位個体の比較
  • 差分ハイライト: 変化部分の強調表示

3.22 統合ログビューア

アイコン: 🖥️ ターミナル
パス: /log-viewer

機能概要

システム全体のログを統合的に表示・検索するページです。

主要機能

ログ表示
  • リアルタイム更新: 1秒ごとの自動更新
  • レベルフィルター: DEBUG/INFO/WARNING/ERROR/CRITICAL
  • サービスフィルター: 特定サービスのログのみ表示
  • 時間範囲: 開始時刻~終了時刻での絞り込み
検索機能
  1. キーワード検索: ログメッセージ内の文字列検索
  2. 正規表現: 高度なパターンマッチング
  3. 複数条件: AND/OR条件での検索
  4. 除外検索: 特定パターンの除外
フィルター
  • サービス: frontend/backend/database/worker
  • ログレベル: 重要度による絞り込み
  • ホスト: 特定ノードのログ
  • タグ: カスタムタグでの絞り込み
エクスポート
  • テキストダウンロード: ログをテキストファイルに保存
  • JSONダウンロード: 構造化データとして保存
  • CSV出力: スプレッドシート用に出力
  • 期間指定: 特定期間のログのみエクスポート
分析機能
  • 異常検知: エラーパターンの検出
  • 頻度分析: ログ出現頻度の統計
  • トレンド: 時系列でのログ傾向
  • アラート: 特定パターン検出時の通知

3.23 バックプロパゲーション検証

アイコン: 🧮 計算機
パス: /backprop-verification

機能概要

スパイキングニューラルネットワーク(SNN)におけるバックプロパゲーションの正確性、数値安定性、収束性を包括的に検証するシステムです。

主要機能

パラメータ設定パネル
基本パラメータ
  1. 勾配検証イプシロン (ε)
  2. 用途: 有限差分法の微小変化量
  3. デフォルト: 1e-5
  4. 推奨範囲: 1e-7(高精度)~ 1e-4(高速)
  5. 説明: 小さいほど精度が高いが計算コストが増加

  6. 勾配許容誤差

  7. 用途: 勾配検証の合格基準
  8. デフォルト: 1e-3
  9. 推奨範囲: 1e-5(厳格)~ 1e-2(緩和)
  10. 説明: 解析的勾配と数値勾配の最大許容差

  11. 収束閾値

  12. 用途: 学習収束の判定基準
  13. デフォルト: 1e-4
  14. 推奨範囲: 1e-6(厳格)~ 1e-3(緩和)
  15. 説明: 損失改善が閾値以下で収束と判定

  16. 検証イテレーション数

  17. 用途: 検証実行の反復回数
  18. デフォルト: 100
  19. 推奨範囲: 10(高速)~ 1000(精密)
  20. 説明: 多いほど統計的に信頼性が高いが時間がかかる
代理勾配関数

SNNのスパイク関数は微分不可能なため、代理勾配関数を使用します:

  1. Fast Sigmoid
  2. 数式: \(g(x) = \frac{\beta e^{-\beta x}}{(1 + e^{-\beta x})^2}\)
  3. 特徴: 滑らかで計算効率が高い
  4. 推奨用途: 汎用的な用途、初期実験

  5. Triangular

  6. 数式: \(g(x) = \max(0, 1 - \frac{|x|}{w})\)
  7. 特徴: ゼロ付近で線形、境界で滑らか
  8. 推奨用途: 勾配の安定性重視

  9. Rectangular

  10. 数式: \(g(x) = \mathbb{1}_{|x| < w}\)
  11. 特徴: ウィンドウ内で一定、実装が単純
  12. 推奨用途: 高速実験、概念検証

  13. Exponential

  14. 数式: \(g(x) = \alpha e^{-\alpha |x|}\)
  15. 特徴: 指数関数的減衰、広い範囲で非ゼロ
  16. 推奨用途: 長距離依存性のモデル

  17. SuperSpike

  18. 数式: \(g(x) = \frac{\beta}{(\beta |x| + 1)^2}\)
  19. 特徴: 鋭いピーク、生物学的妥当性が高い
  20. 推奨用途: 生物学的に忠実なシミュレーション
検証モード
  1. 完全検証: 全ての検証項目を実行
  2. 勾配のみ: 勾配計算の正確性のみ検証
  3. 安定性のみ: 数値安定性のみ検証
  4. 収束性のみ: 収束性のみ検証
実行プロセス
  1. 検証開始ボタン: クリックして検証を開始
  2. 進捗バー: リアルタイムで進捗を表示(0~100%)
  3. ステータスメッセージ: 現在の処理状況を文字で表示
  4. 完了通知: 検証完了時に✅マークと完了メッセージ
結果表示(5つのタブ)
タブ1: サマリー

4つのステータスカードで概要を表示:

  1. 勾配検証カード (✅ チェックマーク)
  2. ステータス: ✅ 合格 / ❌ 不合格
  3. 最大誤差: 解析的勾配と数値勾配の最大差(例: 1.23e-04)
  4. 相対誤差: 全体に対する相対的な誤差(例: 2.11e-06)
  5. 合格基準: 最大誤差 < 勾配許容誤差

  6. 数値安定性カード (⚖️ 天秤)

  7. ステータス: ✅ 安定 / ⚠️ 不安定
  8. 条件数: 最大値/最小値の比(例: 1.23e+02)
  9. 異常検出: NaN(非数)/ Inf(無限大)の有無
  10. 安定基準: NaN/Infなし、条件数 < 1e6

  11. 収束性カード (📈 グラフ)

  12. 収束: ✅ 収束 / ⏳ 未収束
  13. イテレーション: 収束までの反復回数(例: 456回)
  14. 最終損失: 収束時の損失値(例: 0.1234)
  15. 収束基準: 損失改善 < 収束閾値

  16. 実行時間カード (⏱️ 時計)

  17. 合計時間: 全体の実行時間(例: 45.67秒)
  18. 勾配検証: 勾配検証にかかった時間(例: 12.34秒)
  19. 安定性テスト: 安定性テストの時間(例: 23.45秒)
タブ2: 勾配分析

詳細な勾配検証結果:

  1. 勾配誤差ゲージチャート
  2. ゲージ型表示で最大誤差を視覚化
  3. 色分け:
    • 緑(0~10): 優秀
    • 黄(10~50): 注意
    • 赤(50~100): 問題あり
  4. 単位: ×10⁻⁵スケール

  5. 勾配分布プロット

  6. 解析的勾配と数値勾配の分布比較
  7. ヒストグラムで差異を可視化
  8. 理想: 完全に重なる

  9. 詳細データテーブル

  10. パラメータ名: 各レイヤー・パラメータの名前
  11. 解析的勾配: バックプロパゲーションで計算
  12. 数値勾配: 有限差分法で計算
  13. 絶対誤差: |解析的 - 数値|
  14. 相対誤差: 絶対誤差 / |数値|
タブ3: 数値安定性

学習中の数値的挙動の分析:

  1. 勾配ノルム推移グラフ
  2. 横軸: イテレーション
  3. 縦軸: 勾配のL2ノルム
  4. 正常: 安定した値または緩やかな減少
  5. 異常: 急激な増加(勾配爆発)、ゼロへの収束(勾配消失)

  6. 重みノルム推移グラフ

  7. 横軸: トレーニングステップ
  8. 縦軸: 重みのL2ノルム
  9. 正常: 緩やかな変化
  10. 異常: 急激な変化、発散

  11. 安定性メトリクステーブル

  12. 勾配ノルム統計: 平均・標準偏差・最小・最大
  13. 重みノルム統計: 平均・標準偏差・最小・最大
  14. 条件数: 数値的安定性の指標
  15. NaN/Inf検出: 異常値の出現回数
タブ4: 収束性分析

学習プロセスの収束挙動:

  1. 損失推移グラフ
  2. 折れ線グラフ(マーカー付き)
  3. 横軸: イテレーション
  4. 縦軸: 損失値
  5. 理想: 単調減少または振動しながら減少

  6. 収束率グラフ

  7. 単位イテレーションあたりの損失減少量
  8. 正の値: 学習が進行中
  9. ゼロ: 収束状態
  10. 負の値: 過学習の可能性

  11. 収束統計テーブル

  12. 初期損失: 学習開始時の損失
  13. 最終損失: 収束または終了時の損失
  14. 改善率: (初期 - 最終) / 初期
  15. 平均収束率: 単位イテレーションあたりの改善
  16. 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 - 用途: プログラムでの再解析

  1. テキストダウンロードボタン:
  2. 人間が読みやすい形式
  3. ファイル名: backprop_verification_report.txt
  4. 用途: ドキュメント化、共有
使用例とワークフロー
基本的な使用フロー
  1. 初期設定:
  2. デフォルト設定のまま開始(推奨)
  3. または用途に応じてパラメータ調整

  4. 代理勾配関数の選択:

  5. 初回: Fast Sigmoid(汎用)
  6. 安定性重視: Triangular
  7. 生物学的妥当性: SuperSpike

  8. 検証モード選択:

  9. 初回: 完全検証(全項目)
  10. デバッグ時: 該当項目のみ

  11. 検証実行:

  12. 「検証開始」ボタンをクリック
  13. 進捗バーで進捗確認
  14. 完了まで待機(通常30秒~2分)

  15. 結果確認:

  16. サマリータブで全体概要
  17. 問題があれば該当タブで詳細確認
  18. レポートタブでテキスト確認

  19. レポート保存:

  20. JSON: 後で再解析する場合
  21. テキスト: ドキュメントに添付する場合
トラブルシューティング

勾配検証失敗の場合: 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開発の民主化を実現します。

主要機能

システム構築パネル
ノード設定
  1. センサーノード数
  2. 用途: 入力データの処理ノード数
  3. デフォルト: 1000
  4. 範囲: 100~10000
  5. 説明: 視覚・聴覚・触覚などのセンサーデータを処理

  6. 運動ノード数

  7. 用途: 出力動作の制御ノード数
  8. デフォルト: 1000
  9. 範囲: 100~10000
  10. 説明: ロボット制御や意思決定出力を処理

  11. 前頭葉ノード数

  12. 用途: 意思決定と制御のノード数
  13. デフォルト: 100
  14. 範囲: 10~1000
  15. 説明: Q-PFCフィードバックループによる高度な制御

  16. 言語ノード数

  17. 用途: 言語処理のノード数
  18. デフォルト: 50
  19. 範囲: 10~500
  20. 説明: Brain Languageによるコミュニケーション
トレーニング設定
分散パラメータ
  1. PC数
  2. 用途: 分散実行に使用するPC台数
  3. デフォルト: 10
  4. 範囲: 2~100
  5. 説明: マルチPC環境での並列処理

  6. GPU per PC

  7. 用途: 各PCあたりのGPU数
  8. デフォルト: 4
  9. 範囲: 1~8
  10. 説明: GPUアクセラレーションによる高速トレーニング

  11. バッチサイズ

  12. 用途: トレーニング時のバッチサイズ
  13. デフォルト: 1024
  14. 範囲: 64~8192
  15. 説明: 大規模バッチによる効率的な学習

  16. エポック数

  17. 用途: トレーニングの反復回数
  18. デフォルト: 1000
  19. 範囲: 100~10000
  20. 説明: 十分な学習時間を確保
フォールトトレランス設定
リカバリーオプション
  1. チェックポイント間隔
  2. 用途: 自動保存の間隔(分)
  3. デフォルト: 30
  4. 範囲: 5~120
  5. 説明: 障害時のデータ損失を最小化

  6. リトライ回数

  7. 用途: 障害発生時の自動リトライ回数
  8. デフォルト: 3
  9. 範囲: 1~10
  10. 説明: 一時的な障害からの自動回復

  11. タイムアウト設定

  12. 用途: ノード応答のタイムアウト時間(秒)
  13. デフォルト: 300
  14. 範囲: 60~1800
  15. 説明: 遅延ノードの検出と除外
監視ダッシュボード
リアルタイムメトリクス
  1. トレーニング進捗
  2. 現在のエポック/総エポック
  3. 損失値の推移グラフ
  4. 学習率の自動調整状況

  5. システム状態

  6. 各ノードの生存状態
  7. CPU/GPU使用率
  8. メモリ使用量
  9. ネットワーク帯域使用

  10. パフォーマンス指標

  11. トレーニング速度(samples/sec)
  12. 通信レイテンシ
  13. フォールト発生回数
操作ボタン
主要操作
  1. システム構築開始
  2. 設定に基づき巨大AIシステムを初期化
  3. センサーノード・運動ノード・前頭葉・言語ノードをAPI経由で作成

  4. トレーニング開始

  5. 分散トレーニングを実行
  6. マルチPC環境での並列学習を開始

  7. 停止/一時停止

  8. トレーニングを安全に停止
  9. チェックポイントを保存

  10. リカバリー実行

  11. 障害発生時に自動リカバリー
  12. 最後のチェックポイントから再開
使用例とワークフロー
基本的な使用フロー
  1. システム設定:
  2. ノード数を目的に応じて調整
  3. PC数とGPU数を環境に合わせて設定

  4. トレーニング準備:

  5. データセットを準備
  6. バッチサイズとエポック数を設定

  7. システム構築:

  8. 「システム構築開始」ボタンをクリック
  9. 2000ノードの巨大システムが初期化されるまで待機

  10. トレーニング実行:

  11. 「トレーニング開始」ボタンをクリック
  12. リアルタイムで進捗を監視

  13. 監視と管理:

  14. ダッシュボードでシステム状態を確認
  15. 必要に応じてパラメータ調整

  16. 完了と評価:

  17. トレーニング完了後、モデルを評価
  18. システムを保存またはエクスポート
高度な使用例

ロボット制御システム構築: - センサーノード: 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上での選択方法

  1. シミュレーションタイプドロップダウンを開く
  2. 左上の「Select Simulation Type」ドロップダウンをクリック

  3. 「🎯 Complete Brain (24-Node) - Feature 13」を選択

  4. 29ノード構成がロードされます

  5. ノード構成の確認

  6. ツリービューに各層と対応するノードが表示されます
  7. ハブノード(Sensor-Hub等)が組織構造を表示します

  8. ノード割当

  9. 各ノード右側の「Host」ドロップダウンでホスト指定(デフォルト: localhost)
  10. 「Model」ドロップダウンでモデルを選択

  11. シミュレーション開始

  12. 「Start Nodes」ボタンをクリック
  13. 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が統合されることで:

  1. 空間認知の完全な実装
  2. 背側視覚経路(Where): 空間位置認識
  3. 腹側視覚経路(What): 物体認識
  4. 統合処理: What-Where結合
  5. 注意制御: 次の視聴覚対象の選定

  6. 複雑な認知タスクの実行

  7. マルチモーダル処理(視覚+聴覚+言語)
  8. 空間推論
  9. 計画立案と実行制御
  10. 記憶の統合と検索

  11. 生物学的妥当性

  12. 脳皮質の信階層構造を模反
  13. スパイキングニューラルネットワークの使用
  14. スパイク時間依存可塑性(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
2. ポート8050が使用中でないか確認
lsof -i :8050
3. Python バージョン確認(3.9以上必要)
python --version

問題: Elasticsearch に接続できない

症状: ログビューアでデータが表示されない

解決策: 1. Elasticsearchが起動しているか確認

docker ps | grep elasticsearch
2. 接続設定を確認 - フロントエンド: evospikenet-es:9200 - ローカル: localhost:9200 3. Dockerネットワーク確認
docker network ls

問題: GPU が認識されない

症状: CUDA関連のエラー

解決策: 1. PyTorchのGPUサポート確認

import torch
print(torch.cuda.is_available())
2. CUDAバージョン確認
nvidia-smi
3. PyTorchの再インストール(CUDA対応版)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

問題: メモリ不足エラー

症状: OOM (Out of Memory) エラー

解決策: 1. バッチサイズを減らす 2. モデルサイズを小さくする 3. 勾配累積を使用

accumulation_steps = 4
4. Mixed Precision学習を有効化
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