用果蝇大脑模拟信号的传播

FlyWire项目绘制了果蝇大脑的大约14万个神经元和5000万个突触的连接图谱,所以我围绕它构建了一个小型网络应用。

用果蝇大脑模拟信号的传播
梯形图转SCL | 梯形图在线查看 | 博途编程文档MCP | AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace

2024年,一个大型研究合作发表了第一个完整的大脑布线图——不是人类的,而是果蝇的。FlyWire项目绘制了大约14万个神经元和5000万个突触的连接图谱,精确到单个连接,并将数据在线公开供任何人使用(Dorkenwald等人,Nature,2024)。

这很罕见:一个真实的、大规模的、公开可用的连接组。所以我围绕它构建了一个小型网络应用。你选择一个神经元,注入刺激,然后在浏览器中实时观看激活通过真实的布线传播。

这篇文章与其说是关于生物学,不如说是关于我会再次做出的工程决策,以及几个我会做不同的决策。

代码公开:github.com/jevrton-code/flywire-propagation-sim

1、它能做什么

你选择一个起始神经元或一小群神经元,应用注入刺激,然后离散时间模拟将激活传播到果蝇连接组的真实子图上。React前端通过WebSocket逐帧流式传输动画,所以你看到的是激活前沿在实际测量的连接中移动,而不是某人为演示编造的玩具图。

2、为什么我大幅缩减了范围

完整的连接组有14万个节点和5000万条边。在浏览器中交互式模拟它更接近分布式系统问题,而不是v1功能。所以,与其假装模拟整个大脑,MVP模拟一个有据可查的回路:中央复合体的指南针或环形吸引子回路。153个神经元,2695个突触连接,从FlyWire快照中提取,阈值为每个连接5个突触。

这个回路不是随机选择的。它是果蝇大脑中特征较好的递归回路之一。早期工作(Seelig和Jayaraman 2015,Turner-Evans等人 2020,Hulse等人 2021)发现它保持一小块活动,随着动物转向而移动,跟踪它的朝向。它的工作原理像一个指南针。

3、模型没有再现那个指南针,我是有意这样做的

这是我最关心的部分。模拟运行在离散时间漏积分发放模型上,主要是因为它在约49%递归的图上保持数值稳定。简单的线性传播模型需要权重矩阵的谱半径恰好调在不稳定的边缘,以避免激活爆炸或消失。

然而,稳定性与生物准确性不同。连接性是真实的,动力学是它的漫画。给定一个刺激,模型显示激活如何在测量的布线上传播。它不预测真实神经元做什么,也不再现这个回路实际计算工作的局部凸起。让那个凸起出现意味着仔细调节兴奋和抑制平衡,比简单、可审计的模型应该尝试的更仔细。

所以,与其把这个警告埋在没人打开的README中,我把它放在产品本身中。调用GET /api/circuit,API返回完整的简化假设列表,比如突触阈值、戴尔定律、无传导延迟、无突触可塑性。前端将相同的列表放在一个永远不会消失的面板中。运行模拟,你就无法避免看到它不是什么。

4、一个例子

"这个神经元是兴奋性的还是抑制性的"?两个有效答案。

数据集包含来自原始FlyWire管道的自动神经递质预测:113个兴奋性,39个抑制性,1个调节性。但默认情况下,模拟使用"已知优先"策略,优先考虑文献中建立的神经递质身份,而不是自动预测,只在没有已发表数据的神经元上回退到预测。这个选择恰好翻转了两个低置信度神经元的符号,并产生了文献中已知的抑制性架构。

两种策略都是合法且可引用的,并且都通过查询参数可用。它们之间的确切差异通过自己的端点暴露,而不是隐藏。我宁愿发布一个具有可见、可防御假设的模型,而不是一个碰巧看起来正确的模型。

5、技术栈

数据来自FlyWire在Zenodo上的公开连接性转储,MVP不需要CAVEclient令牌。模拟本身是Python加NetworkX运行离散时间LIF模型。后端是FastAPI,带有用于逐步模拟的WebSocket流式传输。前端是React和Vite,图使用react-force-graph-2d绘制。测试方面:234个pytest测试覆盖数据、模拟和后端,80个vitest和Testing Library测试在前端,以及一个26个检查的Playwright端到端冒烟测试套件,针对真实后端和开发服务器运行,而不是模拟。

6、排队中的功能

数据层已经将回路视为注册表,所以添加更多不需要重写。接下来是嗅觉通路,主要是前馈的,与这个递归回路形成良好对比,以及一个逼近或逃逸回路,一个具有清晰行为输出的短感觉运动链。还有一个更小的修复我欠这个项目:模型目前按入度归一化突触权重,所以一个有11个输入突触的神经元最终与一个有697个输入突触的神经元一样容易兴奋。这是一个真正的简化,它还没有像其他假设那样向用户展示。

7、为什么要做这些

这个项目的困难部分从来不是让图在浏览器中动画化。而是抵制让模拟看起来比实际更令人印象深刻的诱惑。很容易调整动力学直到环形吸引子的凸起出现,并称其为结果。那也是错误的,因为模型没有构建得足够好来赢得那个。在产品本身中保持"这个模拟器是什么,不是什么"可见,而不是藏在README中,才是真正重要的决定。


原文链接: I Simulated Signal Propagation on a Real Fly Brain

汇智网翻译整理,转载请标明出处