擴散模型
深度学习算法 来自维基百科,自由的百科全书
機器學習中,擴散模型或擴散概率模型是一類潛變量模型,是用變分估計訓練的馬爾可夫鏈。[1]擴散模型的目標是通過對數據點在潛空間中的擴散方式進行建模,來學習數據集的潛結構。計算機視覺中,這意味著通過學習逆擴散過程訓練神經網絡,使其能對疊加了高斯噪聲的圖像進行去噪。[2][3]計算機視覺中使用通用擴散模型框架的3個例子是去噪擴散概率模型、噪聲條件得分網絡和隨機微分方程。[4]
擴散模型是在2015年提出的,其動機來自非平衡態熱力學。[5]
擴散模型可以應用於各種任務,如圖像去噪、圖像修復、超解析度成像、圖像生成等等。例如,一個圖像生成模型,經過對自然圖像的擴散過程的反轉訓練之後,可從一張完全隨機的噪聲圖像開始逐步生成新的自然圖像。比較近的例子有2022年4月13日OpenAI公布的文生圖模型DALL-E。它將擴散模型用於模型的先驗解釋器和產生最終圖像的解碼器。[6]
數學原理
考慮圖像生成問題。令代表一張圖,令為在所有可能圖像上的機率分布。若有本身,便可以肯定地說給定的一張圖的機率有多大。但這在一般情況下是難以解決的。
大多數時候,我們並不想知道某個圖像的絕對機率,相反,我們通常只想知道某個圖像與它的周圍相比,機率有多大:一張貓的圖像與它的小變體相比,機率哪個大?如果圖像里有一根、兩根或三根鬍鬚,或者加入了一些高斯噪聲,機率會更大嗎?
因此,我們實際上對本身不感興趣,而對感興趣。這有兩個效果:
- 其一,我們不再需要標準化,而是可以用任何,其中是任意常數,我們不需要去關心它。
- 其二,我們正在比較的鄰居,通過
令分數函數為,然後考慮我們能對做什麼。
分數函數可通過加噪-去噪學習。[1]
主要變體
假設我們希望不是從整個圖像的分布中取樣,而是以圖像描述為條件取樣。我們不想從一般的圖像中取樣,而是從符合描述「紅眼睛的黑貓」的圖片中取樣。一般來說,我們想從分布中取樣,其中的範圍是圖像,的範圍是圖像的類別(對y而言,「紅眼黑貓」的描述過於精細,「貓」又過於模糊)。
從噪聲信道模型的角度來看,我們可以將這一過程理解如下:為生成可描述為的圖像,我們設想請求者腦海中真有一張圖像,但它經過多次加噪,出來的是毫無意義可言的亂碼,也就是。這樣一來圖像生成只不過是推斷出請求者心中的是什麼。
換句話說,有條件的圖像生成只是「從文本語言翻譯成圖像語言」。之後,像在噪聲信道模型中一樣,我們可以用貝葉斯定理得到也就是說,如果我們有一個包含所有圖像空間的好模型,以及一個圖像到類別的好翻譯器,我們就能「免費」得到一個類別到圖像的翻譯器,也就是文本到圖像生成模型。
SGLD使用其中是分數函數,如上所述進行訓練,用可微圖像分類器便可以找到。
分類器引導的擴散模型會從中取樣,它集中在最大後驗概率周圍。如果我們想迫使模型向最大似然估計 的方向移動,可以用其中可解釋為逆溫度,在擴散模型研究中常稱其為制導尺度(guidance scale)。較高的會迫使模型在更靠近的分布中採樣。這通常會提高生成圖像的品質。[7]
這可以簡單地通過SGLD實現,即
如果我們沒有分類器,我們仍可以從圖像模型本身提取一個:[8]這樣的模型通常要在訓練時提供和,這樣才能讓它同時為和建模。
另見
閱讀更多
- Guidance: a cheat code for diffusion models (頁面存檔備份,存於網際網路檔案館). Good overview up to 2022.
參考文獻
Wikiwand - on
Seamless Wikipedia browsing. On steroids.