擴(kuò)散模型=進(jìn)化算法!生物學(xué)大佬用數(shù)學(xué)揭示本質(zhì)
擴(kuò)散模型居然就是生物的進(jìn)化算法!
這個(gè)結(jié)論來(lái)自「新常春藤」塔夫茨大學(xué)(Tufts University)于近日發(fā)表的一項(xiàng)研究:
論文地址:https://arxiv.org/pdf/2410.02543
論文的壓軸大佬是美國(guó)發(fā)育和合成生物學(xué)家Michael Levin,博士畢業(yè)于哈佛大學(xué),目前擔(dān)任塔夫茨大學(xué)Allen Discovery Center主任。
Michael Levin長(zhǎng)期從事生物電、人工生命和許多其他生物學(xué)相關(guān)主題的研究,曾在NeurIPS 2018上發(fā)表了題為「What Bodies Think About:Bioelectric Computation Outside the Nervous System」的精彩演講:
視頻地址:https://youtu.be/RjD1aLm4Thg
在ALife 2020上,Michael Levin還闡述了有關(guān)「機(jī)器人癌癥」的話(huà)題:「what the bioelectrics of embryogenesis and regeneration can teach us about unconventional computing, cognition, and the software of life」。
這位懂計(jì)算機(jī)的生物學(xué)專(zhuān)家是如何理解「擴(kuò)散模型就是進(jìn)化算法」的?
答案是數(shù)學(xué)。
擴(kuò)散模型的本質(zhì)
在生物圈中,至少有兩個(gè)過(guò)程能夠泛化并創(chuàng)造新事物:
進(jìn)化:生物通過(guò)自然選擇適應(yīng)環(huán)境的緩慢過(guò)程(需要多代);
學(xué)習(xí):生物個(gè)體獲取知識(shí)并概括主觀經(jīng)驗(yàn)的快速過(guò)程(自己這一代)。
研究者不斷探索進(jìn)化與學(xué)習(xí)之間的聯(lián)系,從Hinton的經(jīng)典著作《How Learning Can Guide Evolution》(1987年),到Vanchurin、Wolf、Katsnelson、Koonin的《Toward a theory of evolution as multilevel learning》(2022年),以及Watson和Levin的《The collective intelligence of evolution and development》(2023年)。
目前的工作認(rèn)為,在擴(kuò)散模型的框架中,生成模型執(zhí)行順序隨機(jī)去噪,可以通過(guò)執(zhí)行自然選擇、突變和生殖隔離的進(jìn)化過(guò)程來(lái)理解。
前向擴(kuò)散過(guò)程將圖像作為輸入(也可以是任何其他信號(hào)),并逐步按順序添加噪聲,直到它變成一坨完完全全的噪聲。
與之相對(duì),擴(kuò)散模型的反向是一個(gè)去噪的過(guò)程,以噪聲作為輸入并依次去除,最終發(fā)掘出隱藏在噪聲背后的圖像。
原始擴(kuò)散模型:https://arxiv.org/abs/2006.11239
想象一個(gè)復(fù)雜的任務(wù)(例如,找到飛機(jī)機(jī)翼的最佳形狀),我們可以先創(chuàng)建一組隨機(jī)解決方案——就像自然界中的生物種群。然后根據(jù)特定標(biāo)準(zhǔn)(比如飛行情況)評(píng)估每個(gè)解決方案。
過(guò)程中可以「雜交」不同解決方案的優(yōu)勢(shì)(從一個(gè)方案中獲取一些參數(shù),從另一個(gè)方案中獲取另一些參數(shù)),偶爾還可以隨機(jī)改變這些方案(的參數(shù)),由此獲得新一版解決方案。
將這個(gè)過(guò)程重復(fù)多次,就像在自然選擇中一樣,通過(guò)遺傳和變異,更成功的版本存活下來(lái)并繼續(xù)發(fā)展。
通常,參數(shù)空間的結(jié)構(gòu)事先是未知的,因此初始總體通常以標(biāo)準(zhǔn)正態(tài)分布開(kāi)始。這種方法的主要優(yōu)點(diǎn)是它不需要精確理解任務(wù)的工作原理——只需能夠評(píng)估解決方案的質(zhì)量就足夠了。
擴(kuò)散模型在每個(gè)時(shí)間步長(zhǎng)直接從樣本的噪聲中預(yù)測(cè)原始數(shù)據(jù)樣本:
樣本x的估計(jì)可以表示為條件概率,結(jié)合貝葉斯公式可得:
基于深度學(xué)習(xí)的擴(kuò)散模型是使用均方誤差損失進(jìn)行訓(xùn)練的,所以估計(jì)函數(shù)變?yōu)椋?/span>
其中的高斯項(xiàng)僅對(duì)局部鄰居敏感,將上式簡(jiǎn)化:
由此可知,擴(kuò)散模型和進(jìn)化算法都涉及迭代數(shù)據(jù)更新和從復(fù)雜分布中對(duì)新對(duì)象進(jìn)行采樣,兩者都是定向更新和隨機(jī)擾動(dòng)的組合。
在進(jìn)化的情況下,是選擇+突變,而在擴(kuò)散的情況下,是隨機(jī)噪聲+學(xué)習(xí)去噪。
這就提出了一個(gè)問(wèn)題:這兩個(gè)過(guò)程的機(jī)制是否從根本上相互關(guān)聯(lián)?生物進(jìn)化和生成建模之間是否存在深刻的數(shù)學(xué)二元性?
擴(kuò)散與進(jìn)化
首先,作者從生成模型的角度分析了進(jìn)化。
觀察生物圈中的物種種群,變異進(jìn)化過(guò)程可以理解為基因型和表型分布的轉(zhuǎn)變。突變和選擇共同改變了這些分布的形狀。
許多受生物啟發(fā)的進(jìn)化算法都是通過(guò)維護(hù)和迭代大量種群的分布,來(lái)優(yōu)化目標(biāo)函數(shù)。
同樣的概念(分布變換)是許多生成模型的核心:VAE、GAN和擴(kuò)散模型學(xué)習(xí)將簡(jiǎn)單的分布(如標(biāo)準(zhǔn)的高斯分布)轉(zhuǎn)換為更復(fù)雜的分布(分布中的樣本代表有意義的圖像、聲音和文本)。
另一方面,也可以從進(jìn)化的角度來(lái)看待擴(kuò)散。
在訓(xùn)練過(guò)程中,向數(shù)據(jù)點(diǎn)逐步加入干擾,模型會(huì)學(xué)習(xí)預(yù)測(cè)這種干擾以逆轉(zhuǎn)該過(guò)程。在采樣階段,模型從高斯分布開(kāi)始,通過(guò)降噪逐步更新數(shù)據(jù)點(diǎn)。
在這種情況下,定向降噪可以解釋為有向選擇,并且每個(gè)步驟都會(huì)增加一個(gè)類(lèi)似于突變的小噪聲,與生物的進(jìn)化過(guò)程一致。
而如果把進(jìn)化過(guò)程反過(guò)來(lái),那么高度適應(yīng)自然的進(jìn)化種群將逐漸溶解,類(lèi)似于正向擴(kuò)散過(guò)程。
考慮統(tǒng)計(jì)物理學(xué)中的能量和概率,進(jìn)化任務(wù)可以將適應(yīng)度映射到概率密度,從而來(lái)與生成任務(wù)聯(lián)系起來(lái)(高適應(yīng)度對(duì)應(yīng)于高概率密度)。
作者最終從數(shù)學(xué)上推導(dǎo)出了一種稱(chēng)為Diffusion Evolution的新算法,基于迭代誤差校正來(lái)進(jìn)行優(yōu)化,類(lèi)似于擴(kuò)散模型,但不依賴(lài)于神經(jīng)網(wǎng)絡(luò):
1)從一組隨機(jī)解開(kāi)始(如擴(kuò)散模型中的噪聲);
2)在每個(gè)步驟中,每個(gè)解決方案都由一個(gè)適應(yīng)度函數(shù)評(píng)估,對(duì)每個(gè)解決方案進(jìn)行「去噪」(與相鄰解決方案加權(quán)平均來(lái)估計(jì)),并向前邁出一小步,同時(shí)加入一個(gè)小的隨機(jī)突變;
3)逐漸減小相鄰搜索半徑(首先全局探索解決方案空間,然后在本地進(jìn)行優(yōu)化)
與許多經(jīng)典進(jìn)化算法通常收斂為單個(gè)解不同,Diffusion Evolution可以同時(shí)發(fā)現(xiàn)并維護(hù)多個(gè)表現(xiàn)良好的解。
實(shí)驗(yàn)
研究人員在多個(gè)二維優(yōu)化場(chǎng)景中進(jìn)行了實(shí)驗(yàn)(Rosenbrock和Beale有一個(gè)最優(yōu)值,Himmelblau、Ackley和Rastrigin有多個(gè)最優(yōu)值),并與其他進(jìn)化算法(CMA-ES、OpenES和PEPG)做出比較。
每種方法運(yùn)行進(jìn)化算法100次,每個(gè)實(shí)驗(yàn)的群體規(guī)模為512,使用25次迭代(OpenES需要1000步才能收斂)。
結(jié)果表明,Diffusion Evolution找到了高質(zhì)量和多樣化的解決方案,尤其是在最后三種情況下,其他方法都遇到了困難,并且往往收斂到單一解決方案。
在進(jìn)化算法中,適應(yīng)度評(píng)估通常是計(jì)算成本最高的操作,作者通過(guò)從擴(kuò)散模型的工作中借用余弦調(diào)度來(lái)減少迭代次數(shù)。
在另一項(xiàng)實(shí)驗(yàn)中,研究人員提出了 Latent Space Diffusion Evolution,靈感來(lái)自潛在空間擴(kuò)散模型 (通過(guò)探索低維潛在空間來(lái)解決高維參數(shù)空間的問(wèn)題)。
學(xué)習(xí)和進(jìn)化,本質(zhì)上是在做同樣的事情,順著這條路,我們可以繼續(xù)思考:
模型推理是有限的,而真正的進(jìn)化可能是無(wú)限且開(kāi)放式的,如何使Diffusion Evolution適應(yīng)開(kāi)放式環(huán)境?
其他版本的擴(kuò)散模型會(huì)衍生出新的進(jìn)化算法嗎?擴(kuò)散模型中的歸納偏差可以被引入進(jìn)化算法嗎?擴(kuò)散模型可以通過(guò)進(jìn)化的思想來(lái)改進(jìn)嗎?