在现实世界中,创造性的产物往往源自演化,随机变异加上自然选择,产生丰富多样的物种。而在计算世界中,创造性常常来自生成模型,其中以扩散模型为主流。演化与降噪在直觉上具有很多相似性——都在逐步优化,都能产生丰富的内容,都同时蕴含着确定与随机。而两个领域的交叉让很多问题变得简单。塔夫茨大学博士后、集智科学家章彦博等人在最近的工作中发现:扩散模型在数学上就是一个演化算法,天然地蕴涵了自然选择、随机变异,以及生殖隔离,并基于这个发现提出了「扩散演化算法」(Diffusion Evolution Algorithm)。本周日(10月20日)的AI+Science读书会加餐活动,将由塔夫茨大学博士后章彦博与大家分享关于「扩散演化算法」的最新工作,欢迎感兴趣的朋友加入读书会一起讨论交流。详情见文末。研究领域:扩散模型,演化算法,神经网络,机器学习,统计物理论文题目:Diffusion Models are Evolutionary Algorithms
论文地址:https://arxiv.org/abs/2410.02543
连接两个领域,总会带来一些美妙的体验。一方面,原本看似不同的理论得以统一,两边的发展也可以互相促进。另一方面,你也可以把一个问题转换成另一种形式,使得它更容易解决。就比如「小球光滑运动」的问题,在哈密顿力学体系下可能更容易解决。优化与生成就是这样一对关系,两者之间蕴含着深刻的联系。物理学家早就发现了能量与概率的关系,还顺便联系上了温度——能量越高,概率越低;采样、生成类问题也可以转化成能量的形式:最近的诺贝尔奖得主Hopfield设计的Hopfield网络就是一个例子——通过学习数据的分布,得到一个能量函数,进而可以生成新的数据,或是进行推理。对于近年来大火的扩散模型,也已经有了一些工作用它们做优化任务。例如利用预训练扩散模型直接优化神经网络权重、用预训练扩散模型进行多目标演化等。然而,这些工作都多少带着点「人为」的痕迹——靠着训练、设计,让扩散模型变成了优化算法。考虑到神经网络之灵活,这些工作中「扩散模型」的权重其实没有那么大——换成别的生成模型也不是不行。但话又说回来,扩散模型确实和演化、优化有着千丝万缕的联系,特别是和演化的联系。我们一个个来说:首先,演化包含两个部分。一个是有向的自然选择,一个是随机的变异。而扩散模型也正如此,包含了有向的降噪,和随机的噪声。在DDPM(Denoising Diffusion Probabilistic Models)的框架中,每一次迭代都是两者的组合:前两个是确定、有向的降噪过程,而后者则是随机的变异。不光如此,扩散模型的理念也和演化非常相似:逐步优化,反复迭代,最终得到丰富、有意义的内容。如此看来,扩散模型的降噪过程似乎就是演化,而逆向的演化,正是扩散模型加噪的过程:
这种联系真的存在吗?它具有坚实的数学基础,还是只有直觉上的相似呢?要真正链接这两个领域,我们需要两把钥匙。
第一把钥匙需要链接概率与适应度。我们知道,扩散模型会学习训练数据的概率分布,然后采样出符合概率分布的数据。而演化的过程会选择适应度(fitness)更高的个体,使得它们更容易产生后代。类比概率与能量,我们可以假设存在一个映射函数g,将个体x的适应度f(x)映射为概率,即p(x0=x)=g[f(x)]。这一步的难度不大,可选的映射函数也很多,例如exp(-f(x)/T),等等。第二把钥匙则需要链接降噪与自然选择,这一步稍微困难一点。在扩散模型中,训练数据 x0 会加入噪声,变成 。而神经网络则需要根据 xt 来预测加入的噪声 ϵ。另一方面,在演化之中,每个个体 x(i) 都有它对应的适应度 f(x(i))。而演化的逻辑则是根据当前个体的适应度,让最适应的个体产生后代。换句话说,演化似乎在「预测」最优的个体。这个「最优」,对应到扩散模型中,就是原点 x0。恰巧,在 DDIM、Consistency Model 等工作中都提出了一个新视角:扩散模型也在预测原点。回到扩散模型的加噪过程,只要知道了噪声,我们就可以直接算出原点:如此,第二把钥匙也打通了,降噪与自然选择也能联系起来了。最后的问题就是如何把这些东西组合起来。
问题的关键仍然在第二把钥匙上。说到底,不论是扩散模型,还是演化算法,我们需要的都是一个预测模型——给定xt,预测x0,写成概率的形式就是 p(x0=x|xt)。前面我们假设扩散等于逆向演化,演化,等于逆向扩散。这种「逆向思维」很容易让人想到贝叶斯公式:巧的是,分子里的两个概率都很容易计算。p(x0=x)在前面已经给出,而 p(xt|x0=x) 也非常直接——既然 ,那它就是一个高斯项,也不难得到。再回到扩散模型的训练上来,他们用的都是 MSE loss:既然如此,我们最终对于x0的预测就是简单的加权平均:如此,就有了「扩散演化算法」(Diffusion Evolution)。这里用一个简单的例子来展现其演化过程。假设有一个二维空间,其中有两个点附近的适应度最高(用加号+表示)。在一开始(t=80),每个个体都随机初始化,散布在空间之中:我们随机选中一个点,它会考虑两个问题:第一,哪个邻居的适应度更高?第二,哪个邻居离我更近?结合两个问题的答案,它就会估算自身的原点 x0,并向这个方向前进一小步,然后再加上一点噪声。如此反复,随着演化不断进行,αt 也越来越大——每个个体也越来越关注自己身边的领居:这里的 αt 恰好就对应了生殖隔离——个体只会「借鉴」和自己相似的邻居。至于差异很大、适应度又很高的「陌生人」,这个个体也不会考虑。从扩散模型的角度来看,生殖隔离恰恰带来了多样性,这在生物学中还对应了「生态位」。一个种群不会和所有生物发生竞争,而只会和自己息息相关的种群交互,扩散模型为生物多样性给出了新的视角,也和「搜索新颖性」(novelty search / quality diversity search)联系了起来。
就如开头所提到的,链接了两个领域之后,很多问题会变得简单——你可以把一个问题转换成另一种形式,使得它更容易解决。在这里也一样,我们可以站在扩散模型的肩膀上,利用扩散模型的工具,优化演化算法。第一个例子是加速采样。演化模型最为耗时的就是计算适应度,因此我们总是希望减少迭代次数。恰巧,加速采样也是扩散模型的重要话题。这里,我们为了方便,使用了一个简单的技巧:将αt变成cosine的形式,而不是DDPM默认的形式。仅此一个改变,就得到了加速演化算法——只需要10~20步,就可以得到之前需要100步的结果。我们在一些二维问题上测试了这个方法,效果非常显著:第二个例子则是隐空间演化算法。我们当然不会满足于二维问题,因此尝试用扩散演化算法训练神经网络,用于控制小车,让车上的木杆保持垂直。这个神经网络需要四个输入,对应车子的状态;同时也要两个输出,用于控制小车左右移动。假设其中有一个维度为8的隐藏层,就需要58个参数。然而原始的扩散演化算法表现不佳,很难找到不错的结果。我们猜测这是维度引发的问题。而扩散模型也有类似的问题,很多人都发现DDPM在64x64以下的图片上表现很好,再大画质就会下降。因此,Stable Diffusion引入了隐空间扩散模型——将图片编码到低维,然后扩散模型只采样这个低维度的隐空间,最后再用解码器恢复成图片:我们利用类似的方法,将演化任务映射到隐空间,从而可以解决高维度的问题。这里的难点在于编码器与解码器——很明显,我们预先并不知道 x0 的分布,训练编码器也就无从谈起。然而,我们发现随机的线性编码就已经足够好了,无需提前训练。而解码器甚至可以直接跳过。这样,就得到了「隐空间扩散演化算法」:其中 z=Ex,Eij~ N(d,D)(0,1/D)。
相比于传统的CMA-ES,我们可以在10步之内解决小车的平衡问题:而这个算法甚至可以直接拓展到上万的维度,也一样可以工作。
如果要总结一下的话,我觉得可以列出一个表来,将扩散模型与演化算法对应起来:可以看到,每一个关键的部分都一一对应。这也引出了我们最后的问题:扩散模型已经是一个家族了,扩散演化算法也会有很多类型。其他的扩散模型能带来有趣的演化算法吗?与此同时,演化算法也有长久的历史,也存在很多简洁优美的工具。演化算法反过来可以优化扩散模型吗?回到最开始的问题上,连接两个领域还有一个隐藏的好处,那就是我们可以「解方程」。列出了 x2=-1,人们便创造了虚数。如此类比,扩散模型与演化算法的方程能解出什么呢?- 直播预告 -
AI+Science 是近年兴起的将人工智能和科学相结合的一种趋势。一方面是 AI for Science,机器学习和其他 AI 技术可以用来解决科学研究中的问题,从预测天气和蛋白质结构,到模拟星系碰撞、设计优化核聚变反应堆,甚至像科学家一样进行科学发现,被称为科学发现的“第五范式”。另一方面是 Science for AI,科学尤其是物理学中的规律和思想启发机器学习理论,为人工智能的发展提供全新的视角和方法。集智俱乐部联合斯坦福大学计算机科学系博士后研究员吴泰霖(Jure Leskovec 教授指导)、哈佛量子计划研究员扈鸿业、麻省理工学院物理系博士生刘子鸣(Max Tegmark 教授指导),共同发起以“AI+Science”为主题的读书会,探讨该领域的重要问题,共学共研相关文献。读书会从2023年3月26日开始,每周日早上 10:00-12:00 线上举行,持续时间预计10周。欢迎对探索这个激动人心的前沿领域有兴趣的朋友报名参与。统计物理学不仅能解释热学现象,还能帮助我们理解从微观粒子到宏观宇宙的各个层级如何联系起来,复杂现象如何涌现。它通过研究大量粒子的集体行为,成功地将微观世界的随机性与宏观世界的确定性联系起来,为我们理解自然界提供了强大的工具,也为机器学习和人工智能领域的发展提供了重要推动力。
集智俱乐部联合纽约州立大学石溪分校教授汪劲、德累斯顿系统生物学中心博士后研究员梁师翎、香港浸会大学助理教授唐乾元,共同发起「非平衡统计物理」读书会,关注非平衡统计物理的前沿理论进展、生命和热力学、统计物理与机器学习交叉三个大的主题方向,涵盖热机优化问题、涨落相关的热力学、反常热力学现象、信息视角下的热力学、生命系统的景观和流理论、活性物质、生命系统、种群动力学、机器学习和人工智能等前沿话题。读书会计划从11月19日开始,每周二晚19:00-21:00进行。我们诚挚邀请相关领域的研究者分享的工作,也欢迎大家一起参与讨论交流!(扫描下方二维码报名加入读书会)
报名链接:https://pattern.swarma.org/study_group/547. 加入集智,一起复杂!
点击“阅读原文”,报名读书会