这只果蝇什么也不学。它只是把雄性果蝇神经系统的真实接线图原样搬过来,把每个神经元当作发出电脉冲的简单零件来运行。可是,它尝到糖会伸出口器,混入苦味就停下,有东西扑过来就跳起。如果说前两页讲的是“像大脑的神经网络如何学习”,那么这一页提出相反的问题:不学习,只靠连接,能产生行为吗?
对象:github.com/blendi-remade/fly-brain-minecraft(Fabric 模组,Minecraft 1.21.1)。本页的数字均出自模组仓库的文档(README、docs/VALIDATION.md)。正文中带点状下划线的词语,悬停或点击即可看到释义。
在 Minecraft 里放入一只果蝇生物,并在它的脑袋里完整运行真实的果蝇神经系统。生物看到、闻到、尝到的东西会刺激真实的感觉神经元,再读取真实的下行神经元和运动神经元的活动来驱动生物移动。每只果蝇都在自己的线程中实时运行自己的大脑。
包括大脑和腹神经索(相当于昆虫的脊髓)在内的整个中枢神经系统。使用了 2026 年 9 月 3 日发表于 Cell 的 Berg 等人论文的公开数据(neuPrint male-cns:v1.0)。这个模组在论文发表当天就做出来了。
完全沿用了 Shiu 等人(2024)Nature 模拟整个果蝇大脑时的方法。没有为单个神经元单独调的参数,连接的突触数就是连接强度。
苹果·蛋糕·蜘蛛眼·雨·扑过来的玩家成为感觉输入,大脑下达的命令变成行走·进食·跳跃·梳理等生物动作。这部分是人工手动制作的。
/flybrain build 命令会把细胞体位置已重建的 141,781 个神经元,按脑区用不同颜色的玻璃方块搭起来。当连接的生物的神经元发放时,对应方块会以海晶灯闪亮。图片:fly-brain-minecraft 仓库 docs/media(MIT License,© 2026 Blendi Remade / fal.ai)。仅缩小了尺寸。Minecraft 是 Mojang/Microsoft 的商标。
如果说前两页把“用经验修改连接强度”视为神经网络的核心,那么这个模组实验的是“把连接强度原样从接线图搬来,能做到什么程度”。没有学习,人为设定的数字也很少。最重要的是乘在所有连接上的全局增益 0.65,此外还有 Kenyon 细胞输入 0.25 倍,以及“去掉突触少于 5 个的连接”这一标准。
按作用分组整理了仓库 README 和参考文档(REFERENCE.md)中引用的研究。核心是两篇:连接了什么由 Berg 等人(2026)决定,怎么运行由 Shiu 等人(2024)决定。
把大脑和腹神经索拍成一套电子显微镜图像,连起了所有神经元和突触。这也是首次在突触层面比较雄性与雌性大脑的研究。
Cell 189(18):5504–5526 · doi:10.1016/j.cell.2026.08.015
把 FlyWire 雌性大脑接线图中的所有神经元都当作泄漏积分发放零件运行,预测了“尝到糖 → 伸出口器”等感觉-运动通路,并用实验加以验证。模组的神经元公式和数值完全照搬这篇论文。
Nature 634:210–219 · doi:10.1038/s41586-024-07763-9
用于查询连接组的公开工具。模组中的神经元名称(DNp01、MN9 …)全都是 neuPrint 的细胞类型名,因此可以直接在网页上查到画面里的神经元。
Front. Neuroinform. 16:896292
Nern 等人(2025)的视觉系统完整目录、Hoeller 等人(2026)的视觉通路、Tastekin 等人(2026)的味觉-摄食连接组。用于决定把游戏输入送进哪些感觉神经元。
Nature 641 · Cell 189(18) 两篇
行走·停止(Sapkal 2024)、转向(DNa02)、巨纤维与逼近逃逸(von Reyn 2014,Ache 2019)、着陆(Ache 2019)、触角梳理(Hampel 2015)、振翅强度(Namiki 2022)。这些是把神经元活动解读为生物动作的规则依据。
Nature · Nat Neurosci · eLife · Curr Biol
Takemura 等人、Marin 等人(2024)、Cheong 等人(2026)的雄性腹神经索研究,以及 Rubin 等人(2026)的雄性特有神经元(pC1、P1)研究。它们是求偶鸣唱连接的基础,但这一功能尚未演示。
eLife 13 · Curr Biol (2026)
数字略有不同的原因。论文摘要把完成校对的神经元计为 166,700 个。模组则模拟从 neuPrint 数据集载入的全部 176,422 个条目,并把其中细胞体位置已重建的 141,781 个搭成方块结构。差异应是计数标准不同所致。
与前几页的关系。第 ① 页引用的 FlyWire(2024)连接组,正是 Shiu 等人(2024)使用的那份雌性大脑接线图。本模组把同样的方法搬到了更大的雄性神经系统(大脑 + 腹神经索)上。
在前一页的 3D 大脑上加了腹神经索(下方细长的一团)、颈部和口器。因为这个模组运行的不只是大脑,还包括驱动腿和翅膀的运动神经元。选择场景后,绿色信号会沿真实的连接通路前进。这是示意模型,不是真实解剖数据。
17 万个神经元全都是这一个零件。输入脉冲到来时电压升高,放着不管就会漏回静息电压。超过阈值(−45 mV)就发出脉冲,随即回到 −52 mV。这就是在第 ① 页的“超简单模型” y = [w·x ≥ θ] 上加入了时间和泄漏。
把输入 × 权重相加,超过阈值为 1,否则为 0。没有时间,输入一到就立刻出结果。权重通过学习确定。
输入随时间累积,又慢慢漏走。所以“多频繁、多集中”地输入很重要。权重固定为接线图的突触数 × 0.275 mV × 增益 0.65。
根据神经元释放的神经递质决定连接的符号。乙酰胆碱·多巴胺·血清素等为兴奋(+),GABA·谷氨酸·组胺为抑制(−)。一个神经元的所有输出符号相同(戴尔原理)。结果是兴奋性 116,390 个、抑制性 60,032 个。第 ① 页总结表中的“抑制性突触是负权重”,在这里直接由接线图决定。
仿照模组的“神经示波器”(H 键)画面。选择场景后,感觉神经元受到刺激,经过中间神经元,下行·运动神经元的发放频率再经过解码器的优先级阶梯变成行为。条形上的浅色带是仓库验证记录(VALIDATION.md)中的实测范围。
把神经元群的发放频率相加,构成 21 个命令通道(前进、转向、后退、停止、跳跃、进食、梳理 …)。两个以上同时开启时,按逃逸 > 着陆 > 飞行 > 急停 > 停止 > 后退 > 前进 > 进食 > 梳理 > 鸣唱的顺序胜出。一旦进入某个行为,至少保持 250 ms,降到阈值的一半以下才会退出。哪些神经元被激活由接线图决定,但这个阶梯和阈值是人定的。
Shiu 等人每个突触 0.275 mV 的取值是针对雌性大脑(FlyWire)调好的。雄性神经系统每个神经元的突触更多,直接沿用这个值会让整个网络过度兴奋。因此用与论文相同的方法,重新校准了乘在所有连接上的那一个增益。
在满足以下三个条件的值中选了最小的增益:① 糖输入能可靠地激活口器运动神经元;② 梳理·逃逸通路稳定;③ 学习中枢的 Kenyon 细胞保持安静。0.55 时进食偏弱,0.75 时失控。
相当于不动单个权重,而是通过验证实验挑选初始化尺度之类的超参数。Kenyon 细胞的 0.25 倍也相当于只乘在特定层上的校正值。增益太大时,激活值逐层膨胀而“失控”,这一点也与深层神经网络相同。
这个仓库最好的一点是它自己划清了界线。README 写道:“这个项目的核心是对最后一栏(来源)保持诚实。”每种行为都标注了涌现(从接线图中自然产生)、手工(人做的替身)或混合。
注意“涌现”的范围。这里的涌现指“在这个计算机模型中无需规则就出现了”。这不是在真实雄性果蝇身上确认的结果,而是不开游戏、只运行模型的自动测试(bench)的结果。其中部分通路(糖 → MN9、梳理)曾由 Shiu 等人(2024)用雌性大脑模型预测,并通过动物实验得到确认。
| 行为 | 游戏中的触发 | 接线图中的通路 | 来源 |
|---|
哪种感觉模式激活哪些下行·运动神经元 · 苦味在运动前一级关掉进食 · 左右转向的不对称 · 前进/后退行走的相互对抗 · 巨纤维单个脉冲就决定跳跃 · 选择梳理的部位
视网膜绘制与亮度适应 · 气味地图与距离衰减 · 把发放频率换算成方块/秒的倍率 · 阈值与优先级阶梯 · 飞行·着陆物理 · 把逼近信号直接送入 LC4·LPLC2 · Kenyon 细胞输入 0.25 倍 · 朝气味方向行走的反射层
这个模组是脑科学项目,但它的设计方式与当今的 AI 系统有很多相似之处。我们为学习或教授生成式 AI 的人、以及想把 AI 引入实际工作的人整理了对应关系。
第 ① 页是神经网络入门,第 ② 页是记忆提取论文图解,再加上这个 Minecraft 模组。三者都沿着“感觉 → 大脑 → 行为”展开,但哪些部分保持真实、哪些部分做了简化各不相同。
横轴是在多大程度上原样使用真实接线图,纵轴是用经验修改连接在多大程度上处于核心。前两页位于左上,模组位于右下。右上,即在真实接线图上进行学习的模型,是刚刚起步的领域。代表性的例子是 Lappalainen 等人(2024)Nature:他们保留了果蝇视觉系统运动通路中 64 种细胞类型的真实连接,只用深度学习训练未知的神经元·突触参数。该模型的预测与 26 项研究的实测结果吻合。这正是本模组中保持安静的那条通路(T4·T5)。不过,同时运行整个大脑和身体、又加入学习·神经调节的模型目前还没有。
点击按钮切换六种结构的示意图。绿线是可学习的连接,虚线是固定的连接,橙色箭头是跨越时间的记忆。所有图都是展示原理的示意图。
灰色条 = 全部连接,彩色条 = 可学习的连接。深度学习模型全部可学习,果蝇模型大部分是固定连接。下面的训练器和公共部分 A 的代码 2 统计的是同样的数字。
最后一行的证据级别:真实回路·测量 模型搬用了真实回路 · 结构相似 指连接形态相似,并不证明进行相同的计算 · 松散类比 · 纯粹类比 只是帮助解释的说法,没有生物学依据。
表中与本模型最相似的,出人意料地是 RNN。两者都运行时间循环,都有反馈连接。决定性的差别在于权重的来源:RNN 从随机值开始,通过反向传播学习;本模型直接使用电子显微镜测得的接线。介于两者之间的是 Lappalainen 等人(2024)的方法:接线用测量值,只用深度学习训练未知的参数。
像 Teachable Machine 一样:① 为每个类别收集示例,② 训练,③ 用新输入检验。所有计算都在这个浏览器里进行,画作和摄像头影像不会外传。想用代码运行同一模型,请使用公共部分 A 的代码 2。
开始:点击“填入示例数据”,或者在画板上画好后点击类别里的“添加图画”。名称可以点击修改。
创建类别 → 收集样本 → 训练 → 实时预览 → 导出的流程,摄像头输入,以及所有计算都在浏览器中完成。
Teachable Machine 采用迁移学习:在大型图像模型(MobileNet)预先提取的特征上只训练一个小分类器。这个训练器则由本页的模型从零开始学习 16×16 的图画。因此它适合简单的形状,不擅长照片之类的复杂输入。作为交换,它会如实显示验证准确率和可学习连接的数量。
借用大脑原理的人工神经网络通过用经验修改连接强度来解决问题。果蝇的蘑菇体也用多巴胺改变连接,把气味与结果配对,而这段记忆要经过本能回路(侧角)才变成行为。
把连接强度原样从接线图搬来,即使不学习,进食·拒绝苦味·跳跃·梳理也会从正确的神经元中产生。反过来,像循着气味走这样需要学习·调节的部分,目前仍由人做的替身负责。
要点 1. 仅凭结构(接线)就能产生许多行为。果蝇的许多先天行为就刻写在连接本身之中。
要点 2. 学习与记忆(蘑菇体、多巴胺)是这个模组留空的格子。Kenyon 细胞被刻意保持安静,也没有神经调质。第 ② 页的记忆提取回路正是这个空格。
要点 3. 三项工作都标明了“哪些是真的”:页面用黄色印章,模组用涌现/手工标记。这是通俗地展示科学时最重要的习惯。
两段代码都只使用 Colab 预装的库。点击“下载笔记本(.ipynb)”后在 Colab 中通过文件 → 上传笔记本打开,或者复制后粘贴到新笔记本的单元格中。
用突触数 × 0.275 mV × 增益 0.65 构造固定权重(符号由神经递质决定),以 120 Hz 刺激 20 个感觉神经元,每步 0.5 ms,计算 100 步。没有任何需要学习的权重。想换成自己的数据,就从真实的连接组文件中读取 syn(突触数矩阵)。
用同一套图画数据训练 MLP·CNN·RNN·GRU·LSTM 和三种果蝇模型。固定接线脉冲网络模型(ConnectomeLIF)固定 160 个隐藏神经元的连接,只训练解码层。第 8 个单元格绘制脉冲记录。
| 项目 | 代码 1(固定接线脉冲网络) | 常规深度学习代码 |
|---|---|---|
| 权重来源 | 电子显微镜测得的突触数 × 0.275 mV × 增益 | 从随机值开始学习 |
| 学习 | 无(只有增益 0.65 等少数几个值由人校准) | 用替代梯度训练所有连接 |
| 脉冲的导数 | 不需要(因为不学习) | 阶跃函数梯度为 0 → 用替代梯度绕过 |
| 时间处理 | 0.5 ms × 100 步 = 游戏 1 tick | 20 步时间循环 + 随时间反向传播 |
| 规模 | 17.6万神经元、629万连接(示例为 500 个) | 通常为数百~数千个神经元 |
| 目的 | 预测·解释真实大脑会做什么 | 任务性能(准确率) |
| 输出解读 | 人做的解码器(优先级阶梯) | 输出层直接就是类别得分 |
这是可以粘贴到 ChatGPT、Qwen、Claude 等 AI 助手中的提示词。点击“复制”,所选代码会附在提示词后面一起复制。把〔 〕中的内容换成你自己的情况即可。
AI 的回答只是起点。它建议的论文·数值·库函数,务必对照原文和官方文档核实。如果在竞赛·论文中借助了 AI,请按照主办方和期刊的规定说明使用情况和范围。
与正文中黄色点状下划线是同一套词典。悬停或点击下划线也会显示相同的解释。
类比是理解的第一步,也可能是误解的种子。果蝇·大脑类比标注了强度:直接 有证据表明确实做同样的事 · 部分 只有部分性质相似 · 无 尚不知道对应的东西
| 概念 | 日常类比 | 果蝇·大脑类比 | 类比失效之处 |
|---|---|---|---|
| 泄漏积分发放 | 往漏水的桶里倒水:满了就倒空,再重新装 | 直接真实神经元的膜电压也是随输入累积、又不断泄漏,到达阈值就发放脉冲 | 真实神经元的形态和离子通道多种多样,而这个模型让所有神经元都使用同一组数值 |
| 接线图 = 预训练权重 | 拿着别人画好的地图,只负责找路 | 部分直接把电子显微镜测得的突触数用作连接强度 | 生成式 AI 的权重是用数据训练出来的,而接线图是测量出来的。两者来源正好相反 |
| 增益校准 | 转动音响上唯一的总音量旋钮 | 无 | 真实的大脑里并没有一个总增益旋钮。这个值是人为设定的,用来适配雄性神经系统 |
| 反射层(替身) | 自动驾驶犹豫时,人类接过方向盘 | 无 | 反射层不是生物回路,而是人写的规则。画面上的 [REFLEX] 标记会提示这一时刻 |
| 涌现 | 每只蚂蚁都很简单,整个蚁巢却能做出复杂的行为 | 部分没有写入任何规则,进食和逃跑却从接线图中出现了 | “涌现”是这个模型内部的结果,并没有在真实的雄性果蝇身上验证过 |
E-1 作者介绍 · E-2 学术参考文献 · E-3 图片参考资料
| 编号 | 内容 | 数值 | 来源 |
|---|---|---|---|
| [1] | 模拟中的神经元、连接和突触数量 | 176,422 / 6,287,749 / 90.3 M | fly-brain-minecraft README、PROVENANCE.md、VALIDATION.md §0(neuPrint male-cns:v1.0,仅保留 5 个及以上突触的连接) |
| [2] | 视网膜柱数、50 ms 时间步、不学习、神经元公式中的数值 | 877 + 892 柱 · τm 20 ms · τs 5 ms · −52/−45 mV · 不应期 2.2 ms · 0.275 mV × 0.65 | docs/REFERENCE.md “How it works”,Shiu 等 (2024) |
| [3] | 行为观察仪表盘中的发放频率范围、活跃神经元、实时倍率 | 表中的范围 | docs/VALIDATION.md §1–8(不运行游戏的自动测试,2026-09-03) |
| [4] | 增益 0.55 / 0.65 / 0.75 比较 | §9 表 | docs/VALIDATION.md §9 |
| [5] | 连接组论文中的神经元数量 | 166,700(已完成校对和注释) | Berg 等 (2026) Cell 189(18):5504–5526 |
| [6] | 全脑泄漏积分发放模型 | — | Shiu 等 (2024) Nature 634:210–219 |
| [7] | 在真实接线图上用深度学习训练参数的视觉系统模型 | 64 种细胞类型,与 26 项实测研究一致 | Lappalainen 等 (2024) Nature 634:1132–1140 · doi:10.1038/s41586-024-07939-3 |
| [8] | 两张游戏截图 | — | fly-brain-minecraft docs/media (MIT License) |
这是给讲师、企业在岗培训(OJT)负责人和辅导老师的教学指南。时间为估计值,请根据实际课堂调整。
| 对象 | 已学完特别篇 1、2 的学习者;对大脑模拟和数字孪生感兴趣的从业者 |
|---|---|
| 先修知识 | 特别篇 1 的 ② 感知机,特别篇 2 的“固定通路 + 学习修正” |
| 学习目标 | ① 用语言解释泄漏积分发放神经元的公式 ② 区分从接线图中自然出现的行为与人为制作的替身 ③ 与深度学习比较,说明几乎没有可学习连接的模型有哪些优点和局限 |
| 预计时间 | 阅读 50~60 分钟 · 动画演示 25 分钟 · Colab 实践 30 分钟(代码 1 10 分钟,代码 2 运行 2 分钟 + 解读 15 分钟) |
导入 5 分钟(游戏画面)→ 一个神经元 15 分钟 → 行为观察 15 分钟 → 真身与替身 10 分钟 → 练习题 5 分钟。
行为观察 15 分钟 → 把“真身与替身”改写成自家系统的“模型 vs 规则”表 25 分钟 → 迁移应用 15 分钟 → 代码 2 运行与解读 25 分钟 → 提示词卡片 10 分钟。
入门者只学“是什么”“一个神经元”“行为观察”。中级学习者在“一个神经元”中用公式推导出“同时需要 162 个突触”,并修改代码 1 的增益,比较发放数量。
| 部分 | 停下来提问 | 操作提示 |
|---|---|---|
| 是什么 | “不学习的神经网络有用吗?” | 先看两张游戏截图 |
| 一个神经元 | “输入相同,为什么脉冲出现的时刻却不同?” | 改变突触数和增益,观察输出发放频率 |
| 行为观察 | “加入苦味后,进食会在哪个阶段停下?” | 按“糖 → 糖 + 苦味”的顺序点击 |
| 调增益 | “为什么 0.75 就会失控?” | 比较 0.65 和 0.75 的梳理曲线图 |
| 真身与替身 | “出现 [REFLEX] 时,是谁在驾驶?” | 重看苹果气味场景 |
| 三项研究比较 | “右上角(真实接线图 + 学习)会是什么?” | 指出地图上 Lappalainen (2024) 那个点 |
| 实践:训练器 | “只学习 483 个连接,能答对百分之多少?” | 交替训练固定接线脉冲网络和 MLP |
| 误解 | 正确解释 | 要展示的画面 |
|---|---|---|
| 只要有连接组,就能完整复现大脑 | 其中缺少神经调质、电突触以及各神经元不同的特性。气味通路已饱和,由替身接管 | “真身与替身”中的局限列表 |
| 游戏里的果蝇会学习 | 可学习的权重为 0 个。人为设定的只有增益 0.65 等少数几个值 | 开头数字、调增益 |
| 发放频率数字是真实果蝇的数值 | 这些是模型的测试结果,不要相信绝对值,只看规律 | 行为观察中的浅色带 |
| 涌现出的行为已通过真实果蝇实验验证 | 这是模型内部的结果。只有部分通路在其他研究中通过动物实验得到证实 | “真身与替身”中关于“涌现”范围的段落 |
| 脉冲神经网络无法学习 | 机器学习中可以用替代梯度来训练。这个模组不学习,是设计上的选择 | 结构比较、代码 2 |
30 × 0.275 × 0.65 ≈ 5.36 mV.
距阈值 7 mV。7 / 0.1575 ≈ 44.4 mV。增益为 1.0 时需要约 162 个突触同时作用,增益为 0.65 时需要约 249 个。
运动之前的最后一步。苦味刹车(Scapula)阻断了进食指令通路。
仅 200 ms 内,每个时间步的脉冲数就膨胀到五倍,Kenyon 细胞以 39 Hz 被唤醒,由此产生的抑制甚至关掉了梳理指令神经元(失控)。
只学习约 4% 的连接就能答对不少,但由于无法学习表示本身,准确率低于 MLP。还应指出数据很少(测试 32 个),差异会有 ±0.1 的波动。
在代码 1 中把增益 0.65 改为 0.55 和 0.75,用表格报告发放的神经元数量和平均发放频率,并结合“调增益”一节中的失控现象,用两句话加以解释。
在代码 2 的 ConnectomeLIF 中,把抑制神经元的符号(−0.5)全部改为 +0.18(去掉抑制)后重新训练。用两个随机种子比较脉冲记录(第 8 格)和准确率,并说明抑制在神经网络中起什么作用。
| 入门者 | “一个神经元”中的公式只读“用语言读”部分即可。重点掌握“行为观察”和“真身与替身” |
|---|---|
| 进阶 | 让学生调研像 Lappalainen 等 (2024) 那样在接线图上只学习部分参数的方法并做报告。调研的论文要查阅原文确认 |
| 延伸学习 | Sangsun Ahn,《面向商业的数据科学》讲义(数据科学概论,韩文)· STEP [K-Digital] 人工智能自然语言处理 · STEP [K-Digital] 金融科技数据分析基础 |
| 讲师用资料 | 练习题的评分标准和作业参考答案见教师用答案页面(特别篇 3) |
你已经读完了《特别篇 3 Minecraft 里的果蝇大脑》。实验室的成员们各自来做个总结。