Michael Levin 等人发表了一篇有趣的论文。Michael Levin 长期致力于生物电、人工生命和许多其他生物学相关主题的研究。
这篇论文声称扩散模型是进化算法。为什么这么说呢?让我们来分析一下。
在生物圈中,至少有两个过程能够概括和创造新颖性:
- 进化(通过自然选择,跨代生物适应环境的缓慢过程)
- 和学习(允许个体在其一生中获取知识并概括主观经验的快速过程)。
- Hinton 的经典著作《学习如何引导进化》(1987 年)到
- Vanchurin、Wolf、Katsnelson、Koonin 的《迈向多层次学习的进化理论》(2022 年)
- 以及 Watson(不是那个)和 Levin(那个)的《进化和发展的集体智慧》(2023 年)。
让我们回顾一下这两个概念:
1、扩散模型
正向扩散过程以图像作为输入(可以是图像以外的任何其他信号),并逐步添加噪声,直到完全变成噪声。
正向扩散过程并不十分有趣;有趣的是反向过程:
- 它将噪声作为输入并逐步消除噪声,“揭示”(创建)隐藏在其背后的图像(就像进行去噪一样)。
2、进化算法:
假设我们有一个复杂的任务(例如,找到飞机机翼的最佳形状),我们创建一组随机解决方案——就像自然界中的“生物种群”:
- 我们根据特定标准(飞行效果如何)评估每个解决方案,
- “杂交”最佳解决方案(从一个解决方案中获取一些参数,从另一个解决方案中获取一些参数),
- 偶尔随机“变异”它们(稍微改变一些参数),并得到新一代解决方案。
最终,我们得到一个可能不完美但足以用于实际应用的解决方案。
通常,参数空间的结构事先是未知的,因此初始种群通常从标准正态分布开始。
这种方法的主要优点是它不需要精确理解任务的工作原理——能够评估解决方案的质量就足够了。
流行的方法包括 CMA-ES 和 PEPG(顺便说一下,后者来自 Schmidhuber 等人,他也积极参与了这些工作https://people.idsia.ch/~juergen/evolution.html ),但还有许多其他方法。有些使用离散参数集,有些使用连续参数集;这里我们研究的是后者。
共同点
如您所见,这两种方法都涉及:
- 迭代数据更新
- 从复杂分布中采样新对象。
- 两者都结合了定向更新和随机扰动。
这引发了一个问题:这两个过程的机制是否从根本上相互联系,生物进化和生成建模之间是否存在深刻的数学二元性?还是这一切都只是类比和虚荣?
首先,作者从生成模型的角度分析了进化:
从生物圈中的物种种群来看,变异进化过程可以理解为分布的变换(dist2dist 类似于 seq2seq 吗?)、基因型和表型的分布。突变和选择共同改变了这些分布的形状。
许多受生物启发的进化算法也可以类似地理解:它们通过维持和迭代改变大量种群的分布来优化目标函数。
而这个相同的概念——分布变换——是许多生成模型的核心:VAE、GAN 和扩散模型学习将简单分布(通常是标准高斯分布)转换为更复杂的分布,其中样本代表有意义的图像、声音和文本。
另一方面,扩散也可以从进化的角度来看待:
- 在训练过程中,数据点会产生噪声,模型会学习预测这种增加的噪声以逆转该过程(顺便问一句,有人研究过扩散时间机器吗?)。
- 在采样阶段,模型从高斯分布中的点开始,并通过去噪逐步更新它们,其中无噪声样本是理想的。
在这种情况下,定向去噪可以解释为定向选择,每一步都会增加一个类似于突变的小噪声(带有负号?)。
这类似于进化过程,与将基因组解释为多尺度生成形态发生过程的潜在空间参数化而不仅仅是生物体蓝图的想法一致。如果进化过程被逆转,高度相关和高度适应的个体的进化种群将逐渐消失,类似于正向扩散过程。
类似于统计物理学中的能量和概率,通过将适应度映射到概率密度,可以将进化任务与生成任务联系起来:
- 高适应度对应高概率密度。
作者最终从数学上推导出一种名为扩散进化的新算法——一种基于迭代误差校正的进化优化程序,类似于扩散模型,但不依赖于神经网络。
它的主要特点如下:
- 从一组随机解决方案开始(如扩散模型中的噪声)
- 每一步:
- 每个解决方案都通过适应度函数进行评估
- 对于每个解决方案,其“去噪”版本是通过与邻近解决方案进行加权平均来估计的(邻近解决方案越成功,权重就越高)
- 该解决方案向其“去噪版本”迈出了一小步,并获得了一个小的随机突变
- 邻居搜索半径逐渐减小(如扩散模型中的降噪)
- 这样可以首先全局探索解决方案空间,然后进行局部优化
该算法的关键优势在于它可以同时找到并维护多个好的解决方案,而不像许多通常收敛到单一解决方案的经典进化算法。
使用新算法进行了几次实验。总体而言,是成功的。
这些都是非常令人兴奋的算法,表明学习和进化本质上是做同样的事情。
回想一下将通过 SGD 进行的神经网络训练与扩散过程进行比较的工作(神经网络扩散),那么我们可以从传递性的角度说梯度下降也是进化算法吗?进化和学习又统一了吗?在这种情况下,热力学计算机是所有未来人工智能的通用硬件吗?有很多值得思考的地方。
还有一些未解决的问题,例如,
- 一个非常大的问题是关于扩散模型如何在有限时间内发挥作用,而真正的进化可能是无限的和开放的。扩散进化如何适应开放的环境?
- 扩散模型的其他变体能否产生新的进化算法?(为什么不能?)
- 扩散模型的归纳偏差是否可以引入进化算法?
- 潜在扩散模型如何与中性基因相关?
- 进化的思想能否推动扩散模型的发展?