![]()
机器之心报道
机器之心编辑部
一直以来,关于人工生命(Artificial Life, ALife)的研究致力于回答这样一个问题:生命的复杂性能否在计算系统中自然涌现?
这一探索的核心目标,被称为开放式复杂化(open-ended complexification)—— 让人工系统能够像生物世界一样,在持续的适应与演化中自发产生新的结构与功能。
近年来,NCA(Neural Cellular Automata,神经细胞自动机)为这种探索提供了新的思路。它们能够在局部规则下展现分布式生长与自组织能力。然而,大多数 NCA 模型仍基于单一、固定的结构,难以突破演化的封闭边界。
在这样的背景下,来自Sakana AI的研究者提出了一种新的 ALife 模拟系统 ——PD-NCA( Petri Dish Neural Cellular Automata)。在该系统中,多个 NCA 智能体在同一环境中竞争,它们的唯一目标是实现自我复制(self-replication)。
PD-NCA 与传统的 NCA 框架有着显著不同:
传统的 NCA 通常由单一、固定的模型在网格上运行,其参数在训练完成后保持不变;而在 PD-NCA 中,Sakana AI 引入了一个由多个独立且持续学习的 NCA 构成的种群。
每个 NCA 都拥有自己独立的神经网络参数,并在模拟过程中通过基于梯度的持续优化不断更新与适应。
这些智能体共享一个共同的空间基质 —— 即所谓的培养皿(Petri Dish)。
在这个培养皿中,不同 NCA 之间通过可微分的攻击与防御通道进行交互,表现出既竞争又合作的动态关系。
与传统 NCA 不同,后者的形态发生过程通常是根据预训练规则以确定性方式展开的;PD-NCA 则通过 learning-in-the-loop 的机制,让学习过程本身参与到模拟之中,从而实现开放式的适应与复杂性涌现。
换言之,在一个可微的、动态学习的环境中,生命体样的结构不再被预先设定,而是能在交互、进化与竞争中自行演化出丰富的行为与形态。
![]()
论文标题:Petri Dish Neural Cellular Automata论文地址:https://pub.sakana.ai/pdnca/项目地址:https://github.com/SakanaAI/petri-dish-nca
在 PD-NCA 中,每一个个体都在努力扩张自身,同时学习如何适应环境并超越邻近的竞争者。
结果显示,PD-NCA 能够产生多种复杂的涌现行为,例如周期性动态(cyclic dynamics)、领地防御(territorial defense)以及自发协作(spontaneous cooperation)。
下方的视频展示了多次模拟过程中不断演化出的丰富变化与复杂性 —— 每一种颜色代表不同的 NCA 个体。
![]()
方法介绍
![]()
模拟在一个离散的空间网格上运行。你可以把它想象成一个棋盘,它有特定的宽度(W)和高度(H)。
在棋盘的每一个格子上,都存储着一组信息,称为通道(C)。
在任何一个时间点(t)和网格位置(x,y),该格子的状态(s)都由一个特征向量来定义。这个向量包含了三个关键部分:攻击通道(a)、防御通道(d)、隐藏状态(h)。
![]()
在模拟的每一个时间步,都会依次经历以下四个阶段:处理(Processing)、竞争(Competition)、归一化(Normalization)、状态更新(State Update)。
处理阶段
每个 NCA 智能体(可以理解为模拟中的「玩家」)本身都是通过一个卷积函数来定义的。
这个函数会「观察」某个位置(x,y)及其邻近区域(N)的状态,然后生成一个「状态更新提议(Δs)」,也就是它「希望」这个格子在下一刻变成什么样。
![]()
智能体能否提出这个「提议」,受到一个「存活掩码(A)」的控制。简单来说,智能体只能在它自己存活的格子或紧邻的格子里提出更新建议。
背景环境(一个恒定的对手)
为了确保模拟始终充满活力,尤其是在某个区域只有一个智能体「活着」的情况下研究人员引入了一个静态的「背景环境(E)」
它就像一个恒定的背景竞争者,在模拟开始时随机初始化一次,然后就固定不变。
这个「背景环境」也会像智能体一样,在每个格子上提出它自己的「更新提议」。这确保了所有智能体必须时刻保持积极的攻击和防御,以对抗这种持续的背景压力,从而防止「躺平」或停滞
竞争阶段
![]()
计算式中的「温度参数(τ)」用来控制竞争的「尖锐程度」。温度越低,竞争越激烈,第一名的优势就越大。
状态更新阶段
![]()
这带来一个有趣的结果:它允许最多 2 个智能体在同一个格子里共存(因为 0.4 + 0.4 < 1.0)。研究者发现,如果阈值高于 0.5(导致赢家通吃,只留 1 个),模拟会变得很无聊。
研究者这样设置的灵感来源于混合专家(MoE)模型(它们通常会选择 Top-2 专家),这能确保模拟保持一定的探索性。
因此,虽然模拟的真实状态是连续的(一个格子可能是多个智能体更新提议的混合体),但在可视化视频中,为了清晰起见,只显示了每个格子上「贡献权重」最高的那个智能体,并用不同颜色来区分。
优化目标(智能体的「动机」)
那么,智能体是如何「学习」的呢?
每个智能体 i 的优化目标(L)都是为了最大化其领土,即最大化它在整个网格上的「总存活度」。
在实际计算中,作者通过最小化「负对数存活度」来实现这个目标。
![]()
这个目标设定非常巧妙,它会自然地「涌现」出复杂的行为:智能体必须学会在「进攻扩张」(优化其攻击通道)和「防守领地」(优化其防御通道)之间找到精妙的平衡,以便在与其他智能体和持续的背景环境压力对抗时,尽可能多地「活下去」。
实验
该研究开展了多项实验来探索 PD-NCA。
动态特性
在探索 PD-NCA 的过程中,他们发现当网格规模(grid size)与 NCA 个体数量同时增加时,系统的群体行为会变得更加丰富与复杂。
这表明未来的研究方向之一是进一步在更大尺度的网格上运行 PD-NCA,支持更多数量的 NCA 个体,并可能同时在多块 GPU 上并行计算。
![]()
下面是网格大小的影响。网格大小从 16 x 16 到 196 x 196 的结果:
![]()
下图展示了从 16×16 网格扩展到 196×196 网格时 NCA 行为的变化。
![]()
学习的影响
下方的视频展示了学习机制对 PD-NCA 模拟结果的影响。
在没有学习的情况下,系统最终会进入一种稳定状态,仅呈现出微小的波动;而引入学习之后,可以观察到有趣的周期性行为,以及系统在不同交互状态之间的持续变化与演化。
这些现象表明:NCA 的数量、网格规模以及学习过程,是产生 PD-NCA 中复杂动态与多样行为的关键因素。
接下来作者探索了反向传播的重要性。左侧视频展示的是未启用反向传播的模拟,右侧视频则展示了正常启用反向传播的运行结果。对比结果表明:反向传播显著提升了系统中复杂涌现行为的丰富度与持续性。
![]()
超参数搜索
下面视频中,左上、中间下方和右下角的模拟都先运行了很多步没有提前进行学习,然后运行了几步,又进行了学习。这反映在它们的行为上:在反向传播改变平衡之前,它们都呈现出稳定的石头剪刀布动态。中间上方的模拟展示了稳定的循环是如何出现和竞争的,暗示了共生起源的存在。
超循环
在包含 3 到 6 个 NCA 的实验中,作者测试了是否可以鼓励形成更长长度的超循环结构(hypercycles)。

结果显示,尽管修改了损失函数,但观察到完整长度的超循环很少能够稳定存在。相反,NCA 循环坍缩为较短的 2–3 NCA 循环,或者出现寄生行为与叛逃级联现象。
在图中最右侧的 N=6N=6N=6 实验中,黄色智能体因绿色智能体的扩张而获得奖励,但绿色智能体却反过来侵占了黄色智能体的领地。同时,我们还观察到一个由黄色与蓝色智能体组成的截断的二元循环(2-cycle),其中蓝色智能体在对抗寄生性的绿色智能体时扮演防御者角色。
了解更多内容,请参考原文。





京公网安备 11011402013531号