新智元报道
新智元报道
【新智元导读】扩散模型的本质竟是进化算法!生物学大佬从数学的角度证实了这个结论,并结合扩散模型创建了全新的进化算法。
扩散模型居然就是生物的进化算法!
这个结论来自「新常春藤」塔夫茨大学(Tufts University)于近日发表的一项研究:
论文地址:https://arxiv.org/pdf/2410.02543
论文的压轴大佬是美国发育和合成生物学家Michael Levin,博士毕业于哈佛大学,目前担任塔夫茨大学Allen Discovery Center主任。
Michael Levin长期从事生物电、人工生命和许多其他生物学相关主题的研究,曾在NeurIPS 2018上发表了题为「What Bodies Think About:Bioelectric Computation Outside the Nervous System」的精彩演讲:
视频地址:https://youtu.be/RjD1aLm4Thg
在ALife 2020上,Michael Levin还阐述了有关「机器人癌症」的话题:「what the bioelectrics of embryogenesis and regeneration can teach us about unconventional computing, cognition, and the software of life」。
这位懂计算机的生物学专家是如何理解「扩散模型就是进化算法」的?
答案是数学。
扩散模型的本质
进化:生物通过自然选择适应环境的缓慢过程(需要多代);
学习:生物个体获取知识并概括主观经验的快速过程(自己这一代)。
目前的工作认为,在扩散模型的框架中,生成模型执行顺序随机去噪,可以通过执行自然选择、突变和生殖隔离的进化过程来理解。
前向扩散过程将图像作为输入(也可以是任何其他信号),并逐步按顺序添加噪声,直到它变成一坨完完全全的噪声。
与之相对,扩散模型的反向是一个去噪的过程,以噪声作为输入并依次去除,最终发掘出隐藏在噪声背后的图像。
原始扩散模型:https://arxiv.org/abs/2006.11239
想象一个复杂的任务(例如,找到飞机机翼的最佳形状),我们可以先创建一组随机解决方案——就像自然界中的生物种群。然后根据特定标准(比如飞行情况)评估每个解决方案。
过程中可以「杂交」不同解决方案的优势(从一个方案中获取一些参数,从另一个方案中获取另一些参数),偶尔还可以随机改变这些方案(的参数),由此获得新一版解决方案。
将这个过程重复多次,就像在自然选择中一样,通过遗传和变异,更成功的版本存活下来并继续发展。
通常,参数空间的结构事先是未知的,因此初始总体通常以标准正态分布开始。这种方法的主要优点是它不需要精确理解任务的工作原理——只需能够评估解决方案的质量就足够了。
扩散模型在每个时间步长直接从样本的噪声中预测原始数据样本:
样本x的估计可以表示为条件概率,结合贝叶斯公式可得:
基于深度学习的扩散模型是使用均方误差损失进行训练的,所以估计函数变为:
其中的高斯项仅对局部邻居敏感,将上式简化:
由此可知,扩散模型和进化算法都涉及迭代数据更新和从复杂分布中对新对象进行采样,两者都是定向更新和随机扰动的组合。
在进化的情况下,是选择+突变,而在扩散的情况下,是随机噪声+学习去噪。
这就提出了一个问题:这两个过程的机制是否从根本上相互关联?生物进化和生成建模之间是否存在深刻的数学二元性?
扩散与进化
首先,作者从生成模型的角度分析了进化。
观察生物圈中的物种种群,变异进化过程可以理解为基因型和表型分布的转变。突变和选择共同改变了这些分布的形状。
许多受生物启发的进化算法都是通过维护和迭代大量种群的分布,来优化目标函数。
同样的概念(分布变换)是许多生成模型的核心:VAE、GAN和扩散模型学习将简单的分布(如标准的高斯分布)转换为更复杂的分布(分布中的样本代表有意义的图像、声音和文本)。
另一方面,也可以从进化的角度来看待扩散。
在训练过程中,向数据点逐步加入干扰,模型会学习预测这种干扰以逆转该过程。在采样阶段,模型从高斯分布开始,通过降噪逐步更新数据点。
在这种情况下,定向降噪可以解释为有向选择,并且每个步骤都会增加一个类似于突变的小噪声,与生物的进化过程一致。
而如果把进化过程反过来,那么高度适应自然的进化种群将逐渐溶解,类似于正向扩散过程。
考虑统计物理学中的能量和概率,进化任务可以将适应度映射到概率密度,从而来与生成任务联系起来(高适应度对应于高概率密度)。
作者最终从数学上推导出了一种称为Diffusion Evolution的新算法,基于迭代误差校正来进行优化,类似于扩散模型,但不依赖于神经网络:
1)从一组随机解开始(如扩散模型中的噪声);
2)在每个步骤中,每个解决方案都由一个适应度函数评估,对每个解决方案进行「去噪」(与相邻解决方案加权平均来估计),并向前迈出一小步,同时加入一个小的随机突变;
3)逐渐减小相邻搜索半径(首先全局探索解决方案空间,然后在本地进行优化)
实验
研究人员在多个二维优化场景中进行了实验(Rosenbrock和Beale有一个最优值,Himmelblau、Ackley和Rastrigin有多个最优值),并与其他进化算法(CMA-ES、OpenES和PEPG)做出比较。
每种方法运行进化算法100次,每个实验的群体规模为512,使用25次迭代(OpenES需要1000步才能收敛)。
结果表明,Diffusion Evolution找到了高质量和多样化的解决方案,尤其是在最后三种情况下,其他方法都遇到了困难,并且往往收敛到单一解决方案。
在进化算法中,适应度评估通常是计算成本最高的操作,作者通过从扩散模型的工作中借用余弦调度来减少迭代次数。
在另一项实验中,研究人员提出了 Latent Space Diffusion Evolution,灵感来自潜在空间扩散模型 (通过探索低维潜在空间来解决高维参数空间的问题)。
学习和进化,本质上是在做同样的事情,顺着这条路,我们可以继续思考:
模型推理是有限的,而真正的进化可能是无限且开放式的,如何使Diffusion Evolution适应开放式环境?
其他版本的扩散模型会衍生出新的进化算法吗?扩散模型中的归纳偏差可以被引入进化算法吗?扩散模型可以通过进化的思想来改进吗?