它会学习,但随机连线反而更好:果蝇和蚁群的觅食实验

实验待证

配合仿真与实验探针的假设探索,等待更多证据或边界检验。

ℹ数字花园

🌿 什么是数字花园与思想演进?

遵循 Maggie Appleton 与 Andy Matuschak 的常青笔记理念:这里不是按时间沉底的流水账,而是持续修剪打磨的知识生态。文章按成熟度经历:

  • 🌱 萌芽 (Seedling): 发散灵感、读书摘录、开放猜想
  • 🌿 演进 (Budding): 结构渐明、初步代码推导、积极修正
  • 🌳 常青 (Evergreen): 逻辑闭环、持久经得起检验的基石
  • 🔬 实验待证 (Speculative): 结合沙盒与仿真探针的理论探索
浏览全站数字花园与笔记全景 →

项目代码与全部实验记录:https://github.com/meiluosi/fly-connectome-study

可以玩的版本:交互页面(发布时把这里换成可分享的链接)

把真实的蘑菇体放进一个虚拟世界找吃的,旁边放一群蚂蚁一起比。页面上可以换大脑、换通信方式、立即反转奖励,甚至“损毁”某几个神经元。

结论:它会学,在会变的世界里比不学习多赚很多;但真实连线没有显出特殊之处,随机稀疏连线反而更好。

1. 实验设计:世界与奖励反转#

觅食世界
觅食世界

一个 100×100 的平面里放 6 个食物源,分成两个气味家族,A 家族三个(A、A′、A″),B 家族三个。变体和原型共享 6 个嗅觉小球里的 4 个,所以它们“闻起来像”。气味向外按指数衰减,果蝇用左右两根触角比较浓度,然后转向。

奖励故意设计成会变:吃到好的 +1,吃到坏的 −1。跑到第 3000 步(共 6000 步)的时候,所有家族的奖励同时反转,原来好吃的变成有害,反过来也一样。

世界有两种:

  • 相似气味同奖励:A 家族大家同号,B 家族相反。学到 A 好,闻到 A′ 也该觉得好,泛化是有用的。
  • 相似气味奖励相反:A 和 A′ 符号相反。光靠“长得像”会学错,泛化反而有害。

这两种放在一起,是想看学习器到底是在泛化,还是只是在死记。

2. 参与者:三个主角和对照#

果蝇用的是第 1 篇讲过的回路:气味激活小球,经过真实的小球→KC 连线变成稀疏编码,再经 KC→MBON 读出一个价值,吃到东西后用预测误差更新。价值变成行动的规则是手写的:转向的力度与(先天吸引 + 学到的价值)成正比。

蚁群不会闻气味。蚂蚁在一个网格上走,找到食物就带回巢,路上留信息素,后来的蚂蚁倾向于走信息素浓的地方。碰到有害的食物,扣分并被送回巢。

对照:打乱连线、随机稀疏连线、线性学习器,还有一个什么都不学的果蝇。

读结果时要注意两点:

  1. 记账不对等。 果蝇吃到就拿分,蚂蚁要把食物搬回巢才算分,对蚂蚁不利;蚂蚁的规则也是手写的。蚁群在这里是并排演示,不是严格的对手。
  2. 先天成分不赚分。 果蝇的转向里有一个手写的、趋向气味的先天成分;“不学习”的果蝇净奖励只有 +0.5,说明赚到的分要靠学。

所有参数都在单独的“调参世界”上选好,测试用的是全新的世界。

3. 单只果蝇:结果与可信度#

结果#

单只果蝇
单只果蝇

200 个新世界、6000 步的平均净奖励:

大脑相似气味同奖励相似气味奖励相反
真实连线+44.0+35.9
打乱连线+44.4+32.4
随机稀疏连线+50.9+44.1
线性学习器+46.2+31.5
不学习+0.5+0.9

几条读法:

  • 会学:真实连线比不学习多赚 35 到 44。哪怕奖励中途整个反转,它也能重新学过来。
  • 真实 ≈ 打乱:把每个 KC 接哪几个小球随机换掉,成绩几乎不变(−0.4,区间 [−3.6, +2.8])。
  • 随机稀疏更好:多 6.9 到 8.3,两种世界里都是,区间都在 0 的一侧。
  • 线性学习器也不差:在“相似气味同奖励”的世界里和蘑菇体差不多,在“相反”的世界里略差(真实比它好 +4.3)。

蘑菇体的稀疏扩展没有让它在“泛化有用”的世界里明显占优,只在“泛化有害”的世界里略稳一些,幅度不大。

排除实现假象:随机连线真的更好吗?#

随机稀疏连线下,每个 KC 的输入分数只可能是 0 到 6 的整数,截止线上约有 152 个 KC 并列(真实连线约 10 个)。argpartition 在并列时的选择是实现细节,若偏向某些索引,随机连线就会占便宜。

排查:被选中的索引平均在 990 左右,前半部分占 51%,看不出偏向。仍改成显式随机打破(加极小的随机抖动)并全部重跑,随机稀疏仍然更好。

另一个候选解释是“真实连线的输入强度参差不齐”。对照:保留真实拓扑、把所有突触数置 1,结果比真实连线略好(+3.3,区间 [+0.1, +6.4] 和 [−0.1, +6.7]),不确定,只算未证实的线索。

4. 果蝇群:通信方式与结果#

四种通信方式,用大白话讲#

先说清楚一件事:真实的果蝇不会互相“传话”。这里的“通信”是我设计的几种让同伴影响彼此的假设,用来看信息共享有多大价值。

接下来让 20 只果蝇同时在一个世界里觅食。每只有自己的蘑菇体,各自学各自的,但吃的是同一批食物:一个食物源被吃过之后 30 步内不再给奖励,所以大家会互相抢。四种方式的区别,只在于“别的果蝇吃到东西,对我有没有影响”:

方式大白话具体怎么做是不是真实的生物行为
独立20 个互不认识的人,各自摸索每只果蝇只从自己吃到的东西里学是(最接近真实)
聚在一起跟着人群走,但不交换任何信息选方向时,除了气味,还会被同伴所在的方向吸引;只影响走位,不影响学习我写的假设
观察学习看到邻居吃到好东西,我也跟着学一点一只果蝇吃到东西时,20 个距离单位以内的果蝇,用自己学习强度的一半更新蘑菇体,好像自己也吃了一口我写的假设
广播20 个人共用一本笔记,谁吃到都记在同一本上任何一只吃到,所有 20 只都用一半的强度学一遍,不管距离不是生物做法,只是共享信息的上限

蚁群是另一种思路:蚂蚁不交换学到的东西,而是在路上留下信息素,后来的蚂蚁闻着走。

结果#

果蝇群
果蝇群

100 个新世界,相似气味同奖励的世界里,20 只的总净奖励:

群体总量每只
独立+274.2+13.7
手写:聚在一起+211.0+10.5
观察学习+353.5+17.7
广播+411.6+20.6
蚁群+187.9+9.4
单只果蝇+42.9+42.9
  • 共享信息越多越好:观察学习比独立多 +79.3,广播又比观察学习多 +58.1。我的解释(没有单独检验过)是:食物源很少,一只果蝇自己撞到一次食物要花很久,奖励反转之后,要重新学一遍;如果邻居吃到的经验也算自己的,大家重新学会的速度就快得多。
  • 聚在一起反而有害(−63.2):这种方式只让大家靠拢,没有给任何信息,结果大家挤到同一个食物源附近,互相抢,而被吃过的食物源 30 步内没有奖励。
  • 独立的果蝇群总量高于蚁群(+86.3,区间 [+78.0, +94.3]),但前面说了,蚂蚁在记账上吃亏,这个数字别拿来当“果蝇赢了蚂蚁”。
  • 拥挤是真实的成本:独立模式下,一只果蝇平均赚 41.7;5 只时每只 32.9,20 只时每只只剩 13.8,到 40 只时每只 6.7,总量甚至从 275.6 掉到 267.6。人多不等于总量成比例增加。

5. 可信度与边界#

  • 数字来源: 页面上的“实测数据”都来自先登记后运行的 200 个新世界(果蝇群为 100 个)。网页模拟是 Python 版的逐行移植,在 Node 里通过 37 项检查,统计上与 Python 的 200 个世界一致(真实连线 44.1 对 44.0,不学习 0.6 对 0.5);两边随机数不同,只比统计量。
  • 探索性数字要重跑: 最早 20 个世界里“真实连线略强”的迹象,在重跑中消失(同一批世界仅因智能体随机数不同,净奖励波动约 5)。
  • 结论的边界: “随机稀疏更好”只说明在这个模型和任务里,这套真实连线编码没有优势;不能说明真实蘑菇体次优,因为这里没有建模效价专门化的隔间、多巴胺的时序和更真实的气味统计。

6. 下一篇#

第 4 篇:持续学习审计。


文件位置:fly-foraging/forage.py(世界、果蝇、蚁群)、fly-foraging/swarm.py(果蝇群)、fly-foraging/RESULTS_forage_eval.md、RESULTS_swarm_eval.md、web/(交互页面)。图由 blog/figures/make_figures.py 生成。

文章概念网络

从章节进入正文概念。实线表示所属层级,虚线连接跨章节重复出现的概念,不代表因果关系。

35 / 54 个节点 · 正文标记术语与关键词概念

它会学习,但随机连线反而更好:果蝇和蚁群的觅食实验同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept它会学习,但随机连线反而更好:果蝇和蚁群的觅食实验它会学习,但随机连线反而更好:果蝇和蚁群的觅食实验1. 实验设计:世界与奖励反转1. 实验设计:世界与奖励反转觅食世界觅食世界相似气味同奖励相似气味同奖励相似气味奖励相反相似气味奖励相反2. 参与者:三个主角和对照2. 参与者:三个主角和对照果蝇果蝇蚁群蚁群对照对照记账不对等记账不对等先天成分不赚分先天成分不赚分3. 单只果蝇:结果与可信度3. 单只果蝇:结果与可信度结果结果排除实现假象:随机连线真的更好吗排除实现假象:随机连线真的更好吗4. 果蝇群:通信方式与结果4. 果蝇群:通信方式与结果四种通信方式,用大白话讲四种通信方式,用大白话讲结果结果5. 可信度与边界5. 可信度与边界数字来源数字来源探索性数字要重跑探索性数字要重跑结论的边界结论的边界6. 下一篇6. 下一篇fly-foraging/forage.pyfly-foraging/forage.pyfly-foraging/swarm.pyfly-foraging/swarm.pyfly-foraging/RESULTSforageeval.mdfly-foraging/RESULTSforageeval.mdRESULTSswarmeval.mdRESULTSswarmeval.mdweb/web/blog/figures/makefigures.pyblog/figures/makefigures.py奖励奖励实验实验奖励奖励奖励奖励PythonPython奖励奖励探索探索
它会学习,但随机连线反而更好:果蝇和蚁群的觅食实验

它会学习,但随机连线反而更好:果蝇和蚁群的觅食实验

回到原文 ↗
BIBTEX

引用本文

@article{2026-10-21-fly-connectome-03-foraging-and-swarm,
  author  = {枫语},
  title   = {它会学习,但随机连线反而更好:果蝇和蚁群的觅食实验},
  journal = {枫语},
  year    = {2026},
  month   = {oct},
  url     = {https://meiluosi.github.io/posts/2026-10-21-fly-connectome-03-foraging-and-swarm/}
}
🌐

本篇知识星丛与滑动侧栈

它会学习,但随机连线反而更好:果蝇和蚁群的觅食实验 当前主轴

搜索

正在载入索引…