ViciousSquid/Dosidicus

Raise a neural network as a pet - a transparent cognitive sandbox where a digital squid learns, grows, and rewires itself via Hebbian learning & Neurogenesis

Dosidicusとは何か?

Dosidicus electronicus は、オープンソースのPythonベースのシミュレーションで、脳が小さく完全に透明なニューラルネットワークであるデジタルペットのイカを育てることができます。このプロジェクトは、教育用の神経科学ツールおよびシミュレーションゲームとして位置付けられています。イカに餌を与え、掃除し、交流しながら、すべてのニューロンの発火、シナプスの変化、そして学習に伴って現れる新しいニューロンを観察できます。

コアアイデア

  • 8ニューロンの初期脳 – 7つの「ドライブ」(空腹、好奇心など)と1つの感覚入力を備えます。ネットワークは、既存の構造がタスクを解決できない場合にのみ、新しいニューロンを生成します。
  • 生物学的に着想を得た学習 – ヘッブ則の更新とスパイクタイミング依存可塑性(STDP)が純粋なNumPyで実装されています(src/plasticity.pyを参照)。各重み変更は、何が原因か、なぜ発生したか、どの経験が引き金となったかを記録します。
  • 完全な来歴記録 – システムは、すべてのシナプス変更と新しく生成されたニューロンについて、人間が読める説明をログに記録します。これにより、「この重みが0.31から0.47に変わったのはなぜか?」といった質問ができます。
  • 二重記憶システム – 短期記憶と長期記憶により、イカは時間を超えて経験を保持できます。
  • 拡張可能なエンジン(STRINg) – TensorFlowやPyTorchに依存せず、NumPyでゼロから構築されたカスタムシミュレーションコアです。同じエンジンがGUI、ヘッドレストレーナー、テストスイートを駆動します。

使用方法

  1. クローンとセットアップ – git clone … && python -m venv venv && pip install -r requirements.txt。
  2. 実行 – python main.pyでPyQt5ウィンドウが起動し、イカと対話できます。
  3. Docker – GUI版(X11/WSLgが必要)と、訓練済みの脳JSONファイルを出力できるヘッドレスCLIトレーナー向けのビルド済みイメージが用意されています。
  4. カスタマイズ – Brain Designerウィキページでは、ニューロンや行動の追加・削除方法が説明されています。事前に作成された脳設定はcustom_brains/にあります。
  5. 共有 – 保存された脳ファイルをエクスポートし、SQUID‑EXCHANGEブランチにアップロードして、他の人があなたの生物の神経履歴を探索できるようにします。

誰に役立つか?

  • 学生や愛好家 – 単純なスパイク型学習ルールがどのように適応行動を生み出すかを、具体的で視覚的に理解したい方。
  • 研究者 – 大規模な深層学習フレームワークのオーバーヘッドなしに、構造的可塑性やクレジット割り当てに関するアイデアをプロトタイプするための軽量で完全に観察可能なサンドボックスを探している方。
  • ゲームデザイナー – 検査や調整が可能な創発的AIエージェントに興味がある方。

リポジトリの内容

  • src/ – STRINgエンジン、可塑性アルゴリズム、brain-designerユーティリティ、UIウィジェット、プラグインフレームワーク。
  • main.py – PyQt5 GUIのエントリーポイント。
  • headless/ – グラフィックスなしで同じエンジンを実行するコマンドライン版トレーナー。
  • custom_brains/ – ネットワーク設定の例。
  • 2つのビルドターゲット(guiとheadless)を備えたDockerfile。
  • マニフェスト、エンジン概要、脳設計、STDP理論、変更履歴をカバーする広範なウィキ(57ページ)。

TL;DR

Dosidicusは、かわいらしい仮想ペットゲームに包まれた透明なニューラルネットワークサンドボックスです。シンプルなPython/NumPyコードベースとオプションのPyQt5 GUIを使用して、小さなスパイクネットワークがリアルタイムで学習する様子を観察し、すべての重み変更を検査し、新しいニューロンを育てることさえできます。


上記のすべての情報は、リポジトリのREADMEとリンクされたウィキページから直接取得されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト