在演化研究中——无论是生物演化还是计算演化——我们都使用模型来理解变异和选择如何创造出复杂系统。但大多数计算模型都有一个关键局限: 演化规则由程序员预先设定。建模者决定突变发生的频率、允许的变化类型以及它们的分布方式。这就像通过只观察自己种下的树木来研究一片森林。
如果突变——演化真正的引擎——能够从系统内部自发产生,会怎样呢?
Boaz Shvartzman 和 Yoav Ram 的一项新研究提出了一个恰能实现这一点的模型。他们的自复制人工神经网络 (SeRANN) 是一种不仅能够学习执行任务,还能学习复制自身“遗传”代码的神经网络。繁殖成功与突变都是内生的,意味着它们自然源自系统内在的动力学,而非外部强加。
当研究人员演化了一个包含 1000 个 SeRANN 的种群达 6000 代时,他们观察到了丰富的演化现象——适应、克隆干扰、上位性,甚至突变率本身的演化。SeRANN 框架提供了一种新颖且开放的途径,用以探讨演化自发产生的真正含义。
背景: 显式突变的局限性
像 Avida 和 aevol 这样的人工生命平台早已用于研究数字演化。这些系统允许小型计算机程序——即数字生物——进行竞争和繁殖,它们的适应度源于完成计算任务的表现。
然而,这些模型中的突变仍然是显式的: 由外部算法决定如何复制基因型,并通过预定义的分布注入随机变化。这种预先设定的随机性限制了演化可以发现的可能性,因为变异本身并不是可演化的对象。
相比之下,生物演化更加复杂。突变率和突变模式由生物体自身的基因、代谢与环境共同塑造。如果复制与突变能够被学习并内化,我们就能模拟一种真正开放式的演化形式。
SeRANN 的工作原理
作者设计 SeRANN 同时执行两个任务:
- 繁殖任务——一个标准的图像分类问题。
- 复制任务——复制自身的遗传信息。
图 1. SeRANN 演化框架。幼年 SeRANN 学习分类图像和复制基因型 (A)。成年后,通过评估这些任务确定繁殖能力并产生后代 (B)。繁殖能力与漂变共同塑造下一代 (C)。后代的基因型被解码为新的源代码 (D, E),继续循环。
基因型与表现型
- 基因型: 一个 100 位字符串,代表可遗传信息——类似于生物的 DNA。
- 表现型: 一段定义神经网络架构的 Python 源代码,包括层类型、连接和超参数。
基因型的改变会映射到表现型的变化,意味着单个比特的突变就可能改变网络架构 (如层大小或类型) 。表现型本身再执行复制任务——一个优雅的循环,演化的产物成为自身的遗传机制。
两个任务,一个网络
每个 SeRANN 接收一个图像 \( X \) 和其基因型 \( g \),并输出:
\[ (\hat{y}, g') = F(X, g) \]其中 \( \hat{y} \) 是图像的预测标签 (繁殖任务) ,而 \( g' \) 是复制后的基因型 (复制任务) 。
复制中的错误——即 \( g' \neq g \) 的情况——代表自发突变。
双重损失函数
SeRANN 使用梯度下降法在一个复合损失函数上进行训练:
\[ \ell(y, \hat{y}, g, g') = \alpha \cdot \ell_X(y, \hat{y}) + (1 - \alpha) \cdot \ell_g(g, g') \]其中,\( \ell_X \) 衡量分类错误,\( \ell_g \) 衡量复制准确性,而 \( \alpha \) (即 loss_weight) 控制它们的相对权重。
关键在于,loss_weight 本身编码在基因型中。通过突变与选择,SeRANN 能演化出自己在学习性能与复制保真度之间的平衡——甚至使突变率随时间演化。
翻译基因型: RiboAE
将一个 100 位基因型映射为语法有效的 Python 代码非常困难。随机比特翻转常导致代码损坏。为弥合这一差距,作者构建了一个*核糖体自编码器 *(RiboAE) ——一个独立的神经网络,充当 SeRANN 演化中的翻译机制。
- RiboAE 在一百万个有效的 SeRANN 源代码样本上进行训练。
- 它学会将代码编码为比特串,并将这些比特串解码回可运行的 Python 脚本。
- 通过设计,基因型的微小变化通常只引起表现型的微小或非致命变化,反映了生物学的“翻译鲁棒性”。
训练完成后,RiboAE 保持固定,为所有 SeRANN 提供一个稳定的遗传“语言”。
演化周期
每一代演化都如同生物生命周期般展开:
- 训练: 幼年 SeRANN 通过梯度下降学习图像分类与复制任务。
- 评估: 成年 SeRANN 接受测试。分类准确性决定繁殖能力,复制保真度影响突变与后代存活。
- 选择与漂变: 根据亲本的繁殖能力比例抽样后代,模拟自然选择与遗传漂变。
- 基因表达: 后代基因型经 RiboAE 解码。无效代码导致“死亡”,仅保留可行个体。
适应度因此等于繁殖能力 × 存活率——形成完整的演化反馈循环。
结果: 演化现象的涌现
运行该系统 6000 代后,呈现出与微生物种群中类似的自发演化动力学。
适应性演化与突变率下降
随着突变率急剧下降,种群的平均适应度稳步提升。
图 2. SeRANN 的适应性演化。适应度上升而突变率急剧下降,突变鲁棒性同步提高。颜色表示 6000 个演化周期中的代数。
起初,由于较高的 loss_weight
偏向分类任务,祖先突变率较高 (每次复制 2–7 次突变) 。选择迅速偏爱抗突变等位基因——即降低 loss_weight
、提高复制准确性的基因型。最终突变率下降了 175 倍,展示了真实存在于复制机制上的“二阶选择”。
等位基因动态与克隆干扰
当有利突变扩散或固定时,演化呈现突进式推进。
图 3. 等位基因频率动态。一些突变体迅速固定,另一些停滞。高优势等位基因固定更快,符合真实演化的规律。
出现了复杂现象,如克隆干扰——多个有利突变同步竞争——以及软清除,即不同谱系携带相同突变共同上升。
一个显著案例涉及位点 62 的突变等位基因。
图 4. 位点 62 等位基因动态。该等位基因在多种基因型中普遍存在 (黑线) ,但无单一变体达到固定。这是大型无性种群中克隆干扰的典型标志。
此等位基因在不同遗传背景中反复出现,每个变体都升至高频但未占主导——直接对应高突变压力下的微生物演化。
谱系权衡: 繁殖能力 vs. 保真度
论文描述了一个跨三代的生动案例,揭示复制保真度与繁殖成功之间的张力。
图 5. 一次突变提升了繁殖能力,却导致突变率灾难性上升。存活后代恢复并稳定架构,显示演化如何平衡短期收益与长期稳定性。
一个突变将网络层从复制任务切换为分类任务——提升繁殖能力但降低存活率。后续突变修复架构,降低突变率并恢复演化可行性。这种平衡再现了自然界中突变谱系的权衡。
塑造景观: 适应度效应分布
*适应度效应分布 *(DFE) 描述突变对适应度的影响。SeRANN 的 DFE 呈双峰分布,包含致命突变与近中性突变群——与酵母和病毒观测结果一致。
图 6. DFE 随时间演化: 致命突变减少,中性突变增加,这是“最平坦者生存”的标志。随着突变率下降,SeRANN 占据适应度景观中更平坦、更鲁棒的区域。
随代数增加,致命突变比例下降而中性突变比例上升。这体现了最平坦者生存: 在高突变负荷下,鲁棒性比极限适应度更有优势。选择偏好于位于景观“平坦区”的基因型——突变造成的危害更小。
基因相互作用: 上位性
突变很少独立起作用。在位点 37 与 83,两种单独有利的突变结合时却灾难性地削弱了存活率,并使突变率急剧增加。
这种现象称为符号上位性,与生物体中影响演化轨迹的限制相似。这类正负上位性广泛分布于基因组,呼应病毒与细菌中观察到的规律。
表现型变异与学习噪声
即便基因型完全相同,由于训练中的随机初始化,也可能产生不同的表现型——类似生物发育噪声。繁殖能力的差异与适应度呈正相关,而高存活率的差异则限制演化。因此,SeRANN 展现出纯由随机学习过程引起的有意义的表现型变异。
SeRANN 的重要性
传统计算演化依赖固定规则生成变异。SeRANN 打破这一界限: 复制错误、突变率、乃至学习权衡都可自行演化。这带来了与生物种群中几乎无法区分的自组织现象——适应性演化、克隆干扰、上位性、基因搭便车、突变鲁棒性。
由于复制与选择均被系统内化,SeRANN 成为一个真正开放式的演化系统。其基因型–表现型映射复杂且具随机性,结果不可预测,却惊人地有机。
展望未来
作者提出了丰富的未来方向:
- 劳动分工的演化: 网络分化为专注复制的“生殖细胞”和执行任务的“体细胞”,类比多细胞生物。
- 社会学习与个体学习: 演化出能影响同伴的强化学习器。
- 替代任务与架构: 探索不同学习任务是否会引发不同的演化模式。
通过将突变生成直接嵌入学习过程,SeRANN 模糊了人工智能与人工生命的界限。它暗示了驱动生物演化的核心原则——可遗传的变异与差异化成功——可能适用于所有能学习并自我复制的系统,即使它们仅由 Python 代码与像素构成。