深度學(xué)習(xí)模型——Diffusion | 擴散模型
在訓(xùn)練Diffusion模型時,我們可以遵循怎樣的階段?這篇文章里,作者圍繞訓(xùn)練Diffusion的過程、應(yīng)用Diffusion模型階段等內(nèi)容做了梳理和講解,不妨來看一下。
高斯噪聲:是一種符合正態(tài)分布的隨機噪聲。
一、訓(xùn)練Diffusion全過程
1. 數(shù)據(jù)準(zhǔn)備
我們準(zhǔn)備若干張真實圖片作為模型訓(xùn)練和測試的基礎(chǔ)數(shù)據(jù)。這些圖片可以是各種類型的圖像,如:風(fēng)景、人物、動物、藝術(shù)品等,他們代表了模型需要學(xué)習(xí)和生成的圖像類型。
2. 正向擴散過程
接下來就是對每張真實圖片進(jìn)行“數(shù)據(jù)擴散處理”,也就是逐漸添加高斯噪聲。我們通過一些列連續(xù)的時間步(t=1,2,3….T),在每個時間步上向上一步得到的圖片添加不同強度的高斯噪聲。隨著t的增加,噪聲強度逐漸增大,圖像的細(xì)節(jié)逐漸被噪聲掩蓋,知道最終在時間步T時,圖像幾乎完全被隨機噪聲覆蓋,但仍保留了極其微弱的真實圖像痕跡。
時間步具體多少怎么確定?
這個數(shù)值一般是一個迭代實驗過程得出的,且可能因模型類型、應(yīng)用場景、可用計算資源等因素有所不同。實踐中Diffusion模型可能會使用如:100步、200步、500步等。具體數(shù)值會在相關(guān)論文、開源代碼或?qū)嵺`經(jīng)驗分享中明確給出,實際應(yīng)用中,我們可以參考這些值在結(jié)合自身需求進(jìn)行適當(dāng)?shù)恼{(diào)整。
3. 逆向擴散過程 | 學(xué)習(xí)階段
在訓(xùn)練過程中,給定一張帶有噪聲的圖像,輸入到UNet網(wǎng)絡(luò),會生成一個預(yù)測噪聲圖(UNet這塊看不太懂可以看下面UNet的介紹),然后用原始噪聲圖減去預(yù)測噪聲圖,得出減噪后的圖像,然后將減噪后的圖像在輸入到UNet網(wǎng)絡(luò),繼續(xù)做相同的步驟,使其逐步逼近原始圖像數(shù)據(jù)。
總結(jié):
訓(xùn)練Diffusion模型時,首先使用正向擴散過程生成大量帶有不同噪聲級別的樣本對(真實圖片與對應(yīng)時間步的噪聲圖片),然后使用這些樣本對 來訓(xùn)練UNet去噪網(wǎng)絡(luò)。通過反向傳播算法更新網(wǎng)絡(luò)權(quán)重,使網(wǎng)絡(luò)在給定任何時間步t的圖像時,能夠準(zhǔn)確的預(yù)測并去除噪聲,逐步逼近真實的圖像數(shù)據(jù)。
二、應(yīng)用Diffusion模型階段
逆向擴散過程 | 推理階段
當(dāng)模型訓(xùn)練完成后,就可以用來生成新的圖像。此時,面對一張模糊的圖片,可以直接應(yīng)用已訓(xùn)練好的逆向擴散過程,即使用模型來預(yù)測并逐步去除其上的噪聲,以達(dá)到增強清晰度的目的。
三、UNet
1. 定義
UNet是一種專門為圖像分割任務(wù)設(shè)計的卷積神經(jīng)網(wǎng)絡(luò),以其U行結(jié)構(gòu)而得名。它包含一個編碼器(左半部分),用于特征提取和下采樣(縮小圖像尺寸),以及一個解碼路徑(右半部分),用于特征上采樣(放大圖像尺寸)和重建。在去噪任務(wù)中,UNet被用來學(xué)習(xí)從帶有噪聲的圖像中恢復(fù)出原始圖像。
2. 作用
在Diffusion模型中,UNet承擔(dān)著一個特定的任務(wù)-預(yù)測隨機噪聲。
UNet被用來逆向估計在給定當(dāng)前帶有噪聲的圖像的狀態(tài)下,應(yīng)該添加或減去什么樣的噪聲才能更接近原始、無噪聲的目標(biāo)圖像。
3. 如何預(yù)測噪聲?
1)輸入有哪些
當(dāng)前帶有噪聲的圖像:不同階段可能有所不同,如在Diffusion模型訓(xùn)練階段,當(dāng)前帶有噪聲的圖像則是正向擴散后生成的噪聲圖像;在Diffusion模型使用階段(圖生圖情況),當(dāng)前帶有噪聲的圖像則是用戶輸入的圖片。
時間步信息(可能):可能會接收一個表示當(dāng)前處于整個去噪過程哪個階段的額外輸入,幫助它勒戒應(yīng)該去除多少噪聲。
2)預(yù)測噪聲過程
UNet會應(yīng)用強大的特征提取和重建能力,對輸入的帶有噪聲的圖像進(jìn)行分析。它會通過編碼器部分提取圖像的多層次特征,這些特征包含了圖像的全局結(jié)構(gòu)、局部細(xì)節(jié)以及噪聲分布的線索。接著在解碼器部分,UNet會逐步放大特征圖,并結(jié)合跳躍連接傳來的底層細(xì)節(jié)信息,來預(yù)測應(yīng)該去除的噪聲。
3)最終輸出什么
UNet的輸出是一個與輸入圖像同樣大小的新圖,但它不是一張普通的圖像,而是一張噪聲圖,每個像素位置上的值代表了對該位置應(yīng)該添加或減去的噪聲強度(通常為某個范圍內(nèi)的連續(xù)數(shù)值)。這個噪聲圖指示了如何調(diào)整輸入的帶噪圖像,使其更接近目標(biāo)的清晰圖像。
四、作用/優(yōu)缺點
1. 作用
- 圖像修復(fù)與增強:模型可以用來去除圖像噪聲、修復(fù)破損部分、甚至提升圖像質(zhì)量。
- 圖生圖
2. 優(yōu)點
- 可以高質(zhì)量生成:甚至達(dá)到難以區(qū)分真假的程度。
- 靈活性與多樣性:可以根據(jù)提示詞生成各種主題、風(fēng)格、構(gòu)圖的圖像。
- 適應(yīng)多種數(shù)據(jù)類型:盡管已圖像生成而知名,但是也可以應(yīng)用于音頻、視頻等其他類型數(shù)據(jù)的生成
3. 缺點
- 計算成本高:去噪過程需要大量的計算資源(CPU、GPU)和內(nèi)存,對硬件要求高。
- 參數(shù)調(diào)整復(fù)雜:模型包含總舵參數(shù),需要精細(xì)調(diào)整已達(dá)到最佳性能,使用者需要有一定的專業(yè)知識。
- 依賴高質(zhì)量數(shù)據(jù)與預(yù)處理:模型生成效果的好壞很大程度上取決于訓(xùn)練數(shù)據(jù)的質(zhì)量以及預(yù)處理方法是否恰當(dāng)。
本文由 @Luna 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
Diffusion模型就像是給圖片做“降噪SPA”,讓模糊變清晰,還能“捏臉”出新圖,不過得小心別“整形失敗”哦!