偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

什么是diffusion model? 它為什么好用?

人工智能 智能汽車
這篇工作提出了基于“score”的生成式模型,和DDPM擴散模型有著千絲萬縷的聯(lián)系,后面宋飏博士發(fā)表中 ICLR2021 上的另一篇工作將 NCSN 和 DDPM 在 SDE 視角下進行了很好的統(tǒng)一。

本文經(jīng)自動駕駛之心公眾號授權轉載,轉載請聯(lián)系出處。

簡介

NCSN (Noise Conditional Score Networks)來自于宋飏博士發(fā)表在 NeurIPS2019 上面的文章“Generative Modeling by Estimating Gradients of the Data Distribution”,也是推動擴散模型領域興起的重要工作之一,比 DDPM 發(fā)表的還要早。這篇工作提出了基于“score”的生成式模型,和DDPM擴散模型有著千絲萬縷的聯(lián)系,后面宋飏博士發(fā)表中 ICLR2021 上的另一篇工作將 NCSN 和 DDPM 在 SDE 視角下進行了很好的統(tǒng)一。

宋飏博士在博客中提到,score-based generative model 的主要優(yōu)點是:

  • 有媲美 GAN 的生成質量,但是不需要對抗訓練
  • 靈活的模型架構、精確的對數(shù)似然計算
  • 可以用于解決逆問題,并且不需要重新訓練網(wǎng)絡

從生成模型到 score-based model

生成模型

首先回顧一下,生成模型是什么?

假設我們從一個未知的數(shù)據(jù)分布p(x)中,獨立的采樣出了一系列的樣本{,,...,},也就是我們常說的“數(shù)據(jù)集”。生成模型的目的就是,從這些含有有限樣本的“數(shù)據(jù)集”出發(fā),去擬合原來的數(shù)據(jù)分布p(x),從而讓我們能夠繼續(xù)合成更多類似的樣本。

為了實現(xiàn)這個目標,我們首先需要想辦法去建模并估計數(shù)據(jù)的概率分布p(x)。一種方式是,類似于似然模型(likelihood-based models)那樣,直接定義出來一個概率密度函數(shù)(probability density function, p.d.f.)或者概率分布函數(shù)(probability mass function, p.m.f.)。以概率密度函數(shù)為例:

圖片圖片

為了實現(xiàn)對原數(shù)據(jù)分布的擬合,可以通過最大似然估計來訓練這個公式要求

這個公式要求是一個歸一化的概率密度函數(shù)——這一點其實會給我們帶來很多麻煩。因為如果要求是歸一化的,就必須知道歸一化常數(shù),但是對于任意的來說往往是一個難以求解的量。因此,為了讓上述基于最大似然估計的訓練能夠進行,似然模型往往只能采用特定的網(wǎng)絡結構(比如在自回歸模型中采用常規(guī)卷積結構,在 normalizing flow models 中采用 invertible networks 結構)讓可解,或者通過其他方式去近似(比如 VAE 中的變分推理,contrastive divergence 中的 MCMC),但是往往計算復雜度很高。

為了解決上述問題,宋飏博士等人提出了 score-based model,基本思想是通過對概率密度函數(shù)的梯度進行建模,而不是直接對概率密度本身進行建模,來間接表征數(shù)據(jù)的分布,并規(guī)避難以求解的問題。

score-based model

“score function”,或者簡單的稱為“score”,其實就是論文題目中提到的“Gradients of the Data Distribution”,更具體來說其實是概率密度函數(shù)的對數(shù)的梯度,即:圖片用來對其進行建模/擬合的模型就叫做——score-based model,記作。和上面直接建模概率密度函數(shù)p(x)時不同,score-based model 的優(yōu)勢是不會受到歸一化常數(shù)的制約,可以直接用上面提到的可學習的實值函數(shù)(energy-based model)來建模,不用考慮歸一化常數(shù)的問題(因為求導時相關項變?yōu)榱?0):圖片這樣我們就可以靈活的選擇不同類型的網(wǎng)絡架構,不受歸一化常數(shù)是否易求解的制約。

我們也可以給 score 的物理意義一個直觀的解釋——它是數(shù)據(jù)的對數(shù)概率密度增長最快的方向。

一個數(shù)據(jù)分布的梯度場

觀察上面一個數(shù)據(jù)分布的對數(shù)概率密度梯度場可以發(fā)現(xiàn),梯度方向匯聚到了兩個中心區(qū)域,這代表了這兩個區(qū)域是對數(shù)概率密度最大的地方——也就是此數(shù)據(jù)域的分布的核心、最能代表這個數(shù)據(jù)域先驗的區(qū)域。

回想一下,對于生成模型來說,我們期望生成的圖像采樣于哪些概率分布區(qū)域呢?當然就是概率密度最大的區(qū)域!因為這些區(qū)域是最符合數(shù)據(jù)域先驗的,有助于生成“最真”的圖像。所以如果我們能夠通過 score-based model 估計出來數(shù)據(jù)分布的 score,并實現(xiàn)在其指示的概率密度大的地方進行采樣生成,就可以得到理想的生成結果。

如何用 score-based model 生成樣本——朗之萬采樣

假設我們已經(jīng)獲得了 score-based model,我們要如何實現(xiàn)采樣生成的步驟呢?

1 朗之萬采樣示意圖

朗之萬動力學方程是描述物理學中布朗運動的微分方程,相關推導涉及到伊藤積分等一系列隨機過程相關的數(shù)學,還是比較復雜的。

如何獲得 score-based model——score matching

上面我們已經(jīng)解決了從訓練好的 score-based model 進行采樣生成樣本的問題,但是如何設計和訓練 score-based model 則是這一切的基礎和關鍵。

首先寫出目標函數(shù)(損失函數(shù)),和似然模型類似,score-based model 也可以把最小化模型和數(shù)據(jù)分布之間的 Fisher divergence 作為訓練目標:

由于這個目標函數(shù)里面存在未知的先驗分布p(x),所以沒法直接計算。不過有一類叫做“score matching”的方法可以解決這個問題。和訓練似然模型類似(知道歸一化常數(shù)的前提下),score matching 方法可以在訓練集上通過隨機梯度下降(stochastic gradient descent, SGD),而不需要對抗訓練,就可以估計出它的目標函數(shù)(score matching objective):

這個公式里面的是比較麻煩的地方,因為我們雖然有訓練集的所有數(shù)據(jù),但是很難直接算出來它的解析的概率分布,所以需要想辦法避開它 ,經(jīng)過一系列推導,我們可以把 score matching 目標函數(shù)簡化為:

上式中,我們需要計算向量函數(shù)的偏導,即計算雅克比(Jocabian)矩陣,對的每一維輸出都要計算一次導數(shù)(如下圖,一般是個神經(jīng)網(wǎng)絡,可以用自動微分功能計算),運算量比較大,限制了 score matching 對深度網(wǎng)絡和高維數(shù)據(jù)的處理能力。

論文中介紹了兩個能夠用于大尺度場景的 score matching 方法,一個是同年(2019)宋飏博士提出并發(fā)表的 Sliced Score Matching——使用一個隨機向量v把雅克比矩陣降到一維變成向量:圖片

還有一種不用計算導數(shù)的 score matching 方法——Denoising Score Matching (DSM),這種方法是作者對 NCSN 采取的默認方法。詳細推導見 DSM 原論文的 Sec4 和 Appendix,這里簡述下基本思路:

在這個分布中,原來的x相當于均值,相當于方差。我們能夠直接寫出這個分布的解析形式(高斯分布的概率密度函數(shù)),并求出:

從這里我們可以看出,SDE/NCSN 中用網(wǎng)絡去擬合的 score,和 DDPM 中用網(wǎng)絡去擬合的噪聲,其實本質是一樣的。score 所對應的梯度方向,正是的方向,即從加噪圖像還原回清晰圖像的方向,也就是 Denoising Score Matching 和 DDPM 中“Denoise”的含義。

到目前為止,我們從概率分布的表示、估計到采樣的過程基本已經(jīng)完成了,整個“Score-based generative modeling”的過程可以總結如下圖:

Score-based generative modeling: score matching + Langevin dynamics

解決實現(xiàn)中的存在的問題——Annealed Langevin dynamics

雖然經(jīng)過上面的設計與推導,score-based model 的基本方案已經(jīng)有了,但是在具體實現(xiàn)中還有一些問題需要解決。這些問題的根源主要在于“流形假設”(manifold hypothesis)。

流形假設指出,現(xiàn)實世界的數(shù)據(jù)分布傾向于聚集在內(nèi)嵌于一個高維空間(也叫 ambinet space)的低維流形上。這個假設對于大部分數(shù)據(jù)集(自然也包括這里用來訓練 score-based model 的數(shù)據(jù)集)都是成立的,它也是流形學習的理論基礎。

這些問題可能導致 score-based model 在訓練時 loss 不收斂,從而無法得到理想的生成效果。下面對這兩個問題產(chǎn)生的具體影響做進一步介紹,并給出作者的解決方案。

低概率密度區(qū)域 score 估計不準確

score在低密度區(qū)域很難估計(圖中以雙高斯混合分布為例)

作者發(fā)現(xiàn)上述的基礎方案在實際測試時,在數(shù)據(jù)密度低的區(qū)域,score 估計會不準確。這是因為數(shù)據(jù)分布的低概率密度區(qū)域意味著對應的數(shù)據(jù)樣本比較少、權重較低,所以在有限的訓練樣本下(往往無法充分覆蓋到概率密度很低的區(qū)域的數(shù)據(jù)樣本),訓練過程往往也很難充分的學習/擬合到相應區(qū)域的準確的 score。

此外,從目標函數(shù)出發(fā),可以看到上面的目標函數(shù)中p(x)其實是作為距離的權重因子的,所以對于數(shù)據(jù)分布的概率密度較小的區(qū)域,p(x)也比較小,也就意味著對應的樣本在目標函數(shù)中的貢獻比較低。

另外,由于朗之萬動力學采樣步驟的初始值是從任意分布中隨機產(chǎn)生的,它大概率會落在真實數(shù)據(jù)分布 p(x)(以及訓練集數(shù)據(jù)分布的低密度區(qū)域甚至是分布之外,這種從一開始就出現(xiàn)的不匹配也會導致朗之萬采樣過程難以生成理想的樣本。

“忽視”數(shù)據(jù)分布的比例

使用朗之萬采樣會忽視掉其實右上方的區(qū)域應該權重更大

作者還發(fā)現(xiàn),直接用朗之萬采樣會導致“忽視”數(shù)據(jù)分布比例的問題,從而讓學到的分布和實際的分布可能不符。如上圖所示,仍以雙高斯混合分布為例,在實際的數(shù)據(jù)分布 (a) 中 ,右上部分的分布對應的樣本比較多,左下部分的比較少;而生成的結果 (b) 確是兩種分布對應的樣本一樣多,并沒有反映出原始各分布之間的關系。這是因為朗之萬采樣過程中,在根據(jù)數(shù)據(jù)梯度“前進”時,選擇向左下的高密度區(qū)域走還是向右上的高密度區(qū)域走,往往可能是隨機的,這也是朗之萬采樣使用貪心思想的問題?。

解決辦法——Noise Conditional Score Networks (NCSN)

設計思路

為了解決上述問題,作者提出了升級版方法 —— Noise Conditional Score Networks (NCSN)& Annealed Langevin dynamics,其核心是用高斯噪聲去擾動訓練數(shù)據(jù),然后估計不同噪聲擾動下的數(shù)據(jù)分布的 score,并用于朗之萬采樣。這么做有什么好處呢?

對于第一個問題——“低數(shù)據(jù)區(qū)域 score 難以計算”:當用高斯噪聲去擾動訓練數(shù)據(jù)時,一方面,因為加的擾動噪聲服從高斯分布,能夠覆蓋整個概率空間的,所以在一定程度上可以“彌補”原始訓練集分布范圍有限的問題,讓其不至于被局限在一個低維流形上;另一方面,如果所加噪聲足夠大,也會讓新產(chǎn)生的加噪數(shù)據(jù)集的分布中,原來低概率密度的區(qū)域被填充,從而能夠提高該區(qū)域 score 估計的準確性。通過使用不同的噪聲強度進行加噪,最終可以獲得一系列噪聲擾動的數(shù)據(jù)分布,它們將收斂到真實的數(shù)據(jù)分布。

被擾動后的數(shù)據(jù)

對于第二個問題——“忽視數(shù)據(jù)分布的比例”,在加噪擾動后,數(shù)據(jù)分布比例高的區(qū)域,被采樣的概率也會增大,這也就意味著采樣的時候更可能向比例高的分布接近,從而能夠讓生成模型的分布和原數(shù)據(jù)分布有相同的比例特性?。

從左往右依次為原始數(shù)據(jù)分布,沒加噪聲擾動的擬合結果和加了噪聲擾動之后的結果

具體實現(xiàn)

具體實現(xiàn)中應該如何控制所加噪聲的程度呢?噪聲加的大,能有效“填充”概率密度低的區(qū)域,緩解 score 估計不準確的問題,但是這樣同時也會導致加噪之后的數(shù)據(jù)分布嚴重偏離原始數(shù)據(jù)分布;反之,噪聲加的小,雖然能夠保持加噪前后數(shù)據(jù)分布的一致性,但是不能很好的“填充”低密度區(qū)域,解決前述存在的問題。

圖片

引入不同程度的噪聲擾動原始數(shù)據(jù)(第一行),然后聯(lián)合估計它們的score(第二行)

得到訓練完成的 noise-conditional score-based model之后,就可以按照 i=L,L?1,…,1的遞減次序,串聯(lián)進行多輪不同噪聲程度下的朗之萬動力學采樣,并最終生成新樣本了。這種采樣方法因為越往后,噪聲越?。ㄍ嘶穑砸步型嘶鹄手f動力學采樣(annealed Langevin dynamics)。

2 利用噪聲尺度逐漸減小的退火朗之萬采樣,生成的樣本逐漸落到目標分布區(qū)域(從右往左)

直觀來看,按照噪聲遞減的順序來采樣是因為,一開始噪聲先大一些,能夠讓數(shù)據(jù)先移動到高密度區(qū)域,之后噪聲再小一些,可以讓數(shù)據(jù)在高密度區(qū)域能更精準地移動到更加符合數(shù)據(jù)分布的位置。

總結一下退火朗之萬動力學采樣(annealed Langevin dynamics)的算法流程:

退火朗之萬動力學采樣(annealed Langevin dynamics)的算法流程

Trick

一些具體實現(xiàn)中的技巧

圖片

效果展示

可以看到,原始的沒有加噪聲擾動的 sliced score matching 實際訓練時容易出現(xiàn) loss 不收斂的問題(下圖左),而加噪聲擾動之后,就能很好的收斂了(下圖右)

對數(shù)據(jù)加噪(右)loss就很穩(wěn)定

基于退火朗之萬采樣,用 NCSN 生成新樣本的示例:

3CelebA數(shù)據(jù)集

4CIFAR-10數(shù)據(jù)集

討論

DDPM 和 NCSN 有什么區(qū)別?

也就是說 score 的方向就是噪聲?的反方向,在采樣生成時沿著 score 的方向走,就是往噪聲的反方向走,這樣就會走回原來數(shù)據(jù)樣本的位置。所以 NCSN 也可以看成是一個去噪的過程。

宋飏在 ICLR 2021 上獲得 Outstanding Paper Award 的論文“Score-based generative modeling through stochastic differential equations”從 SDE 的視角對 NCSN 和 DDPM 給出了更加完善的分析,證明了它們的內(nèi)在統(tǒng)一性。

Appendix

  • naive score-based model 的 score matching objective 的化簡與推導

進行如下變形,先打開括號:

代入原式我們有:

將之前的1/2代入就有我們變形過之后的目標函數(shù):

  • NCSN 的 score matching objective 的化簡與推導

其中就是被加噪之后的數(shù)據(jù)分布,其對應的 score 函數(shù)即為:

圖片圖片圖片

因此,我們可以計算偏導:

代入先前的目標函數(shù)得到:

圖片圖片

具體推導可以參考原論文。

原文鏈接:https://mp.weixin.qq.com/s/LOuqW42Wn900BAwmDFldEQ

責任編輯:張燕妮 來源: 自動駕駛之心
相關推薦

2020-09-15 15:53:31

邊緣計算云計算5G

2021-06-02 10:52:01

HTTP3Linux

2014-07-24 09:50:55

Unix開源系統(tǒng)

2015-10-14 18:08:53

2020-12-02 09:14:47

Apache批處理流式數(shù)據(jù)

2020-07-29 07:05:00

DevSecOps

2023-08-28 08:44:11

NumPyPython

2012-08-01 14:04:46

Surface

2018-01-31 14:50:04

LinuxmacOS .bashrc

2021-10-21 05:30:48

Data Fabric數(shù)據(jù)管理架構邊緣計算

2024-10-18 11:55:47

2018-03-22 14:47:13

容器開發(fā)人員筆記本

2023-11-07 08:00:00

Kubernetes

2025-04-10 08:00:00

服務限流開發(fā)高并發(fā)

2021-08-16 13:44:37

手機電子日本

2013-12-16 17:08:24

2022-08-24 15:03:21

數(shù)據(jù)智能數(shù)據(jù)分析

2020-05-06 16:47:59

ServerlessMVC架構

2021-10-09 22:10:30

Windows 11Windows微軟

2023-07-11 10:33:48

凈零度碳排放
點贊
收藏

51CTO技術棧公眾號