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的模拟项目,让你养育一只大脑是微小且完全透明的神经网络的数字宠物鱿鱼。该项目定位为教育性神经工具和模拟游戏:你可以喂食、清洁和与鱿鱼互动,同时观察每个神经元放电、每个突触变化,以及学习过程中出现的新神经元。
核心概念
- 八神经元初始大脑 – 七个“驱动力”(饥饿、好奇心等)加上一个感觉输入。网络仅在现有结构无法解决任务时才生成新神经元。
- 生物启发式学习 – 赫布更新和脉冲时间依赖可塑性(STDP)用纯NumPy实现(见
src/plasticity.py)。每次权重变化都会记录什么导致、为什么发生以及哪种经验触发了它。 - 完整溯源 – 系统为每次突触修改和每个新创建的神经元记录人类可读的解释,因此你可以提出诸如“这个权重为什么从0.31变到0.47?”的问题。
- 双记忆系统 – 短期和长期存储让鱿鱼能随时间保留经验。
- 可扩展引擎(STRINg) – 一个自制的模拟核心,完全用NumPy构建,不依赖TensorFlow/PyTorch。同一引擎驱动GUI、无头训练器和测试套件。
使用方法
- 克隆并设置 –
git clone … && python -m venv venv && pip install -r requirements.txt。 - 运行 –
python main.py启动PyQt5窗口,你可以在其中与鱿鱼互动。 - Docker – 提供了GUI版本(需要X11/WSLg)和无头CLI训练器的预构建镜像,无头CLI训练器可以输出训练好的大脑JSON文件。
- 自定义 – Brain Designer维基页面解释了如何添加或删除神经元和行为;预置的大脑配置位于
custom_brains/。 - 分享 – 保存的大脑文件可以导出并上传到
SQUID‑EXCHANGE分支,以便他人探索你的生物的神经历史。
谁可能觉得有用?
- 学生和爱好者 – 想要具体、直观地了解简单脉冲型学习规则如何产生自适应行为。
- 研究人员 – 寻找轻量级、完全可观察的沙箱来原型化结构可塑性或信用分配的想法,而无需大型深度学习框架的开销。
- 游戏设计师 – 对可以检查和调整的涌现式AI代理感兴趣。
仓库内容
src/– STRINg引擎、可塑性算法、大脑设计工具、UI小部件和插件框架。main.py– PyQt5 GUI的入口点。headless/– 无图形运行相同引擎的命令行训练器。custom_brains/– 示例网络配置。- 具有两个构建目标(
gui和headless)的Dockerfile。 - 涵盖宣言、引擎概述、大脑设计、STDP理论和变更日志的广泛维基(57页)。
TL;DR
Dosidicus是一个包装在可爱的虚拟宠物游戏中的透明神经网络沙箱。它让你实时观察一个小型脉冲网络的学习过程,检查每次权重变化,甚至生成新神经元,所有这些都基于简单的Python/NumPy代码库和可选的PyQt5 GUI。
以上所有信息直接取自仓库的README和链接的维基页面。
相关
- 项目
- 项目
- 项目
- 项目
- 项目