コンテンツにスキップ

EvoSpikeNet ユーザーマニュアル

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

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

目次

    1. はじめに
    1. システム起動
    1. フロントエンド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ノード)
    1. CLI使用方法
    1. API使用方法
    1. トラブルシューティング

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スコア: 要約評価
LanguageMode の GPU 容量表示
  • 学習フォームで batch_size、d_model、head 数、block 数、time_steps、seq_len を変更すると、現在の GPU に対する必要 VRAM と空き VRAM が表示されます。
  • 容量不足が判定された場合、学習開始ボタンは無効になります。値は自動変更されないため、利用者が batch size またはモデル構成を明示的に調整してください。
  • 起動時にも同じ検証が行われ、容量不足なら構成を変更せずに HTTP 422 が返されます。GPU 使用量は他のプロセスにより変化し得るため、表示は実行時 OOM を完全に保証するものではありません。
  • 詳細は LanguageModel GPU 容量検証ポリシー を参照してください。

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