研究ALife提供了一个很好的数学化视角,用于直观分析生命与智能的涌现过程。
韩司阳、彭晨
| 作者
张江
| 审核
“电子宠物”是20世纪90年代兴起的一种便携式电子设备,用户可以在其中饲养、照顾虚拟宠物,并与它们互动。这些设备通常以小型液晶屏幕显示宠物的状态,用户通过按键进行操作。用户需要定期喂食、清洁、娱乐和照顾电子宠物,否则宠物可能会生病甚至死亡。
这是一款由Vanguard公司研发的AI宠物机器人Moflin。
在AI的驱动下,Moflin就像一个有情感的“生物”,可以在与人互动的过程中不断学习和进化,表达和回应情感,就像在与一只活生生的宠物互动。
人工生命
(Artificial Life,简称ALife)
是一个跨学科的研究领域,旨在通过模拟和创造生命系统的行为、特征和过程来理解生命的本质。人工生命不仅仅关注生物学上已知的生命形式,而是尝试创建能够模仿或实现生命过程的人工系统。最早先由计算机科学家克里斯托弗·兰顿于1987年在洛斯阿拉莫斯国家实验室召开的“生成以及模拟生命系统的国际会议”上提出[1]。
注:人工生命(Artificial life)中的“Artificial”一词在中文语境里有“人工”之意,但笔者认为不能准确地表达出Artificial中的“Art”,所以后文统一简称为ALife。
目前,国内外上有几个研究机构在Alife领域比较活跃:
国际人工生命学会(International Society for Artificial Life, ISAL)
ISAL 是人工生命领域的国际性学术组织,定期举办国际人工生命会议
(International Conference on Artificial Life, ALIFE)
等,并有官方期刊
Artificial Life
发布相关的研究成果和资源。详见官方网站https://www.alife.org。
圣塔菲研究所(Santa Fe Institute, SFI)
圣塔菲研究所是一个位于美国新墨西哥州圣塔菲的独立学术研究机构,也是复杂系统研究的先驱,研究领域涉及人工生命、复杂适应系统、网络科学等。研究所网站是 https://www.santafe.edu,有大量Alife相关的研究论文、课程和研讨会信息可供阅览。
集智俱乐部
集智俱乐部
(https://swarma.org/)
作为国内最早的研究人工智能、复杂系统的科学社区,也非常关注人工生命领域的进展。最近,正在进行中的
《一种新科学》读书会
(https://pattern.swarma.org/study_group/49)
,围绕Wolfram的经典巨作
A New Kind of Science
深入探讨复杂性如何从简单规则中涌现,包括对多种人工生命的解读。
集智俱乐部《一种新科学》读书会框架,内含人工生命主题
所以在ALife.org等科研领域的语境下,“电子宠物”和装载AI的毛绒玩具的都不能算是ALife。
笔者梳理了一下核心的几种ALife形式,在某些文章中也把这种形式称之为基质
(Substrates)
。由于每种形式/基质背后都有很复杂的衍生和体系,文章篇幅有限这里只做简介。
Boids 是一种模拟鸟群、鱼群等群体行为的计算机模型,由 Craig Reynolds 在1986年提出。Boids 模型通过简单的规则模拟个体之间的相互作用,从而展现出复杂的群体行为。Boids 不仅用于计算机图形学和游戏开发,还在生物学、机器人学和复杂系统研究中得到广泛应用。
多主体模拟软件Netlogo内置模型就可以进行鸟群模拟。值得注意的是Netlogo的logo就是Boids的图标。
Boids 模型基于三个基本规则,每个个体
(称为 Boid)
根据这些规则调整其运动方向和速度:
聚集
(Cohesion)
:向邻近个体的平均位置移动,保持群体紧密。
分离
(Separation)
:避免与邻近个体碰撞,保持一定距离。
对齐
(Alignment)
:调整运动方向,使其与邻近个体的平均方向一致。
在线模拟网站:https://eater.net/boids,可以修改下方的聚集、分离、对齐等参数,观察鸟群不同行为的模拟。
2. 粒子生命(Particle Life,简称:Plife)
Particle Life 是一种基于粒子相互作用的模拟系统,用于研究复杂行为和自组织现象。与传统的元胞自动机
(如生命游戏)
不同,Particle Life 通过模拟粒子之间的吸引和排斥力,展示出类似生命的行为,如集群、运动和结构形成。
Particle Life 的核心是设定粒子之间的相互作用规则。每个粒子根据其与其他粒子的距离和周围粒子类型,受到不同大小的吸引或排斥力。这些力的组合决定了粒子的运动轨迹和系统的整体行为。
如下图所示,左侧的颜色矩阵代表粒子运动规则,可以看到一共有6种颜色的粒子。矩阵表示的是这些粒子之间的引力与排斥力关系,其中,绿色深浅代表吸引力大小,红色深浅代表排斥力大小。粒子下一时刻的位置就是由周边粒子所决定的。
粒子生命模拟程序,来源:https://particle-life.com/
3. 生命游戏(Game of Life,简称:GOL)
生命游戏是由英国数学家约翰·康威
(John Conway)
在1970年提出的一种元胞自动机
(Cellular Automaton)
。生命游戏通过简单的规则模拟了生命的诞生、生存和死亡,展示了复杂系统如何从简单规则中涌现出复杂行为。其规则非常简单:
细胞只有两种状态,“生”
(显示具有颜色)
,“死”
(显示为白色)
;而细胞下一刻的“生”与“死”是由细胞周围细胞的状态来决定的,如下图:
生命游戏的生死规则,图片来源:https://zhuanlan.zhihu.com/p/413827037
基于该简单规则,通过初始值的设定就能展现非常复杂的图案。
Lenia 是一种基于连续空间和时间的元胞自动机,由 Bert Wang-Chak Chan 在2018年提出。Lenia 通过扩展传统的元胞自动机
(如康威的生命游戏)
,引入了连续的状态和空间,从而能够模拟出更加复杂和逼真的生命形态。
Lenia 的核心思想是将传统的离散元胞自动机扩展到连续空间和时间。每个细胞的状态不再局限于离散的“存活”或“死亡”,而是可以在一个连续的范围内变化。Lenia 的演化规则基于局部相互作用和全局更新,通过卷积核
(Kernel)
和生长函数
(Growth Function)
来描述细胞之间的相互作用。
Lenia模拟界面,来源:https://chakazul.github.io/Lenia/JavaScript/Lenia.html
5. 粒子Lenia(Particle Lenia,简称:Plenia)
Particle Lenia 是 Lenia 的一种变体,将 Lenia 的连续元胞自动机模型扩展到粒子系统。与传统的 Lenia 不同,Particle Lenia 使用粒子来表示状态,并通过粒子之间的相互作用来模拟复杂的行为和自组织现象。Particle Lenia 结合了粒子系统和 Lenia 的优点,能够生成更加动态和多样化的模式。
Particle Lenia 的核心思想是将 Lenia 的连续状态和空间扩展到粒子系统。每个粒子具有连续的状态值,并通过局部相互作用规则进行更新。粒子之间的相互作用通过卷积核和生长函数来描述,规则类似于 Lenia 。
粒子Lenia的不同形式,可参考:https://znah.net/lenia/
6. 神经元胞自动机(Neural Cellular Automata, 简称:NCA)
神经元胞自动机是一种结合了元胞自动机和神经网络
(Neural Networks)
的模型。它通过将神经网络的表达能力引入元胞自动机的局部更新规则,能够生成复杂的、自适应的模式和行为。NCA在计算机图形学、人工生命、生物学模拟和机器学习等领域具有广泛的应用潜力。
NCA 的核心思想是使用神经网络来定义元胞自动机中每个细胞的更新规则。与传统元胞自动机不同,NCA 的规则不是固定的,而是通过神经网络动态学习得到的。这使得 NCA 能够生成更加复杂和多样化的模式,并且具有更强的适应性和泛化能力。
值得一提的是,NCA的延伸版GNCA
(Growing Neural Cellular Automata)
可以通过局部规则实现全局模式的生成和修复,目前广泛用于生物再生能力,癌细胞扩散预测等领域。
GNCA 架构,可参考:https://distill.pub/2020/growing-ca/
https://google-research.github.io/self-organising-systems/
通过ALife的形式可以看到,ALife存在一个核心概念,就是
自组织(Self Organising)
。自组织指系统内部通过局部的交互作用和简单的规则,自动生成复杂、结构化的整体行为,而无需外部的中央控制。也就是说,ALife这些类生命现象,都由更小的“主体”自组织组成。
就像很多粒子组成了“细胞”,很多蜜蜂组成了蜂群一样,多个主体
(Agent)
组成更高形态的“类生命”。这些主体并不听命于某个中央控制的主体,而是基于一定的规则
(如核函数)
来决定自己的状态。
比如,在生命游戏中,某个点的下一时刻状态就是由“邻居”状态组成,如图:
生命游戏的核函数作用范围:大小为3x3(红色部分),来源:https://www.youtube.com/watch?v=6kiBYjvyojQ
使用A来表示当前状态,使用K来表示核函数,那么生命游戏中,世界的变化就可以用以下的公式来表达:
生命游戏的范式,来源:https://www.youtube.com/watch?v=7-97RhAZhXI&t
对于Lenia,世界变化的范式与生命游戏相同,也由当前状态A和核函数K决定,区别就在于使用的具体函数不同。例如,Lenia的核函数范围就不只是3*3范围,而是更大的范围,如图:
笔者基于自己的理解整理了一个表格,来描述不同ALife形式/基质的不同。
ALife常见形式/基质一览(如有错误,请留言拍砖)
从上表可以看出,主流的ALife的底层结构都是相同的,都表现为基于一定的规则进行主体状态/行为模拟,允许灵活配置属性或规则环境参数,通过自组织的互动最终产生复杂的全局行为。从一定意义上来讲,ALife就是某种ABMS
(Agent Base Modeling Simulation)
——
多主体建模模拟
。这也符合我们对生命的发现:
生命是一种涌现
,即微观个体通过自组织组成宏观的“生命”。
最近,Sakana AI联合来自MIT、OpenAI、瑞士AI实验室IDSIA等机构的研究人员,公开了
“自动搜索人工生命”
的新算法[2]。许多公众号对该论文进行了解读,并纷纷采用“震惊体”作为标题,发表了大量文章。这些文章似乎在暗示AI已经揭开了生命起源的秘密,引发了广泛关注。但笔者仔细阅读该论文后,发现其核心逻辑并不复杂。
笔者用之前提到的AI宠物机器人Moflin做个例子,将图片提供给AI,得到的回答是:这不是生命。
笔者再将兔子的照片提供给AI,得到的回答是:这是生命。从AI的完整回答可以看出,目前AI对图片是否具有生命的判断和人基本一致,且有一定定的逻辑。
从AI给出的回答可以看出,AI是有一定能力从视觉角度来区分“生命”的,会将图片内容与大模型已知生命形式和特征进行相似性比较,进而判断图中对象是否具有“生命”。同样,这也是“自动搜索人工生命”算法的底层逻辑。
具体而言,“自动搜索”算法解决的问题就是“如何判断一个或多个物体是不是生命”。目前ALife的形式/基质只能通过视觉表达,所以这里的“自动搜索”就是让AI学会通过“视觉”来判断哪个图像更像生命。由于生命是“活”的,在时间尺度上是会呈现一定的动态变化,所以
自动搜索是
搜索
时间序列
的
一系列
图像
,给
这些图像
或视频
与生命特征的相似性程度进行
打分,基于
相似
分数来判定
其
是否是“生命”
。这种评估是基于模型从大规模数据中学习到的统计模式,
而不是真正的“判断”能力
。用一句话总结,“基础模型”是通过视觉-语言基础模型对模拟生成的图像序列进行评估,从而利用人工智能高效地搜索有趣的ALife模拟。
“自动搜索人工生命”算法虽然底层逻辑很简单,但提供了一个很好的框架。框架内包含三种搜索机制:
目标导向搜索
(寻找符合特定描述的生命形式)
,
开放式进化搜索
(寻找能持续有新颖性的ALife模拟)
,以及
多样性照明搜索
(探索整个可能的生命形式空间)
。借助这个框架,有望揭示:
究竟是什么样的规则,对产生“生命”现象起到关键作用。
原文提供了网站可视化自动搜索ALife发现的关键参数等内容[3],以及提供了实现的源代码,涵盖了本文介绍的所有形式/基质,并且还可基于接口继续扩展更多的类型[4]。
可视化网站截图,关键参数对形成“生命”具有关键作用
前阵子有一个爆火的视频,讲述的是一群蚂蚁在搬运工字形物件穿越障碍的速度快于人类水平。这似乎预示着蚂蚁擅长集体解决难题,在某些情况下甚至比人类更聪明!
蚂蚁和人类解决搬运问题的示意图,来源:https://www.pnas.org/doi/10.1073/pnas.2414274121
从某种意义上来讲,ALife和蚂蚁搬运的案例都提示我们,
智能和生命可能都是一种涌现
,都是从简单的局部规则可以涌现出复杂的全局行为模式。这也呼应了Anderson在‘More is Different’一文中提出的观点:复杂系统的行为往往无法仅通过其组成部分的性质来预测。