深度學習模型——Diffusion | 擴散模型

1 評論 1695 瀏覽 10 收藏 8 分鐘

在訓練Diffusion模型時,我們可以遵循怎樣的階段?這篇文章里,作者圍繞訓練Diffusion的過程、應用Diffusion模型階段等內容做了梳理和講解,不妨來看一下。

高斯噪聲:是一種符合正態分布的隨機噪聲。

一、訓練Diffusion全過程

1. 數據準備

我們準備若干張真實圖片作為模型訓練和測試的基礎數據。這些圖片可以是各種類型的圖像,如:風景、人物、動物、藝術品等,他們代表了模型需要學習和生成的圖像類型。

2. 正向擴散過程

接下來就是對每張真實圖片進行“數據擴散處理”,也就是逐漸添加高斯噪聲。我們通過一些列連續的時間步(t=1,2,3….T),在每個時間步上向上一步得到的圖片添加不同強度的高斯噪聲。隨著t的增加,噪聲強度逐漸增大,圖像的細節逐漸被噪聲掩蓋,知道最終在時間步T時,圖像幾乎完全被隨機噪聲覆蓋,但仍保留了極其微弱的真實圖像痕跡。

時間步具體多少怎么確定?

這個數值一般是一個迭代實驗過程得出的,且可能因模型類型、應用場景、可用計算資源等因素有所不同。實踐中Diffusion模型可能會使用如:100步、200步、500步等。具體數值會在相關論文、開源代碼或實踐經驗分享中明確給出,實際應用中,我們可以參考這些值在結合自身需求進行適當的調整。

3. 逆向擴散過程 | 學習階段

在訓練過程中,給定一張帶有噪聲的圖像,輸入到UNet網絡,會生成一個預測噪聲圖(UNet這塊看不太懂可以看下面UNet的介紹),然后用原始噪聲圖減去預測噪聲圖,得出減噪后的圖像,然后將減噪后的圖像在輸入到UNet網絡,繼續做相同的步驟,使其逐步逼近原始圖像數據。

總結:

訓練Diffusion模型時,首先使用正向擴散過程生成大量帶有不同噪聲級別的樣本對(真實圖片與對應時間步的噪聲圖片),然后使用這些樣本對 來訓練UNet去噪網絡。通過反向傳播算法更新網絡權重,使網絡在給定任何時間步t的圖像時,能夠準確的預測并去除噪聲,逐步逼近真實的圖像數據。

二、應用Diffusion模型階段

逆向擴散過程 | 推理階段

當模型訓練完成后,就可以用來生成新的圖像。此時,面對一張模糊的圖片,可以直接應用已訓練好的逆向擴散過程,即使用模型來預測并逐步去除其上的噪聲,以達到增強清晰度的目的。

三、UNet

1. 定義

UNet是一種專門為圖像分割任務設計的卷積神經網絡,以其U行結構而得名。它包含一個編碼器(左半部分),用于特征提取和下采樣(縮小圖像尺寸),以及一個解碼路徑(右半部分),用于特征上采樣(放大圖像尺寸)和重建。在去噪任務中,UNet被用來學習從帶有噪聲的圖像中恢復出原始圖像。

2. 作用

在Diffusion模型中,UNet承擔著一個特定的任務-預測隨機噪聲。

UNet被用來逆向估計在給定當前帶有噪聲的圖像的狀態下,應該添加或減去什么樣的噪聲才能更接近原始、無噪聲的目標圖像。

3. 如何預測噪聲?

1)輸入有哪些

當前帶有噪聲的圖像:不同階段可能有所不同,如在Diffusion模型訓練階段,當前帶有噪聲的圖像則是正向擴散后生成的噪聲圖像;在Diffusion模型使用階段(圖生圖情況),當前帶有噪聲的圖像則是用戶輸入的圖片。

時間步信息(可能):可能會接收一個表示當前處于整個去噪過程哪個階段的額外輸入,幫助它勒戒應該去除多少噪聲。

2)預測噪聲過程

UNet會應用強大的特征提取和重建能力,對輸入的帶有噪聲的圖像進行分析。它會通過編碼器部分提取圖像的多層次特征,這些特征包含了圖像的全局結構、局部細節以及噪聲分布的線索。接著在解碼器部分,UNet會逐步放大特征圖,并結合跳躍連接傳來的底層細節信息,來預測應該去除的噪聲。

3)最終輸出什么

UNet的輸出是一個與輸入圖像同樣大小的新圖,但它不是一張普通的圖像,而是一張噪聲圖,每個像素位置上的值代表了對該位置應該添加或減去的噪聲強度(通常為某個范圍內的連續數值)。這個噪聲圖指示了如何調整輸入的帶噪圖像,使其更接近目標的清晰圖像。

四、作用/優缺點

1. 作用

  1. 圖像修復與增強:模型可以用來去除圖像噪聲、修復破損部分、甚至提升圖像質量。
  2. 圖生圖

2. 優點

  1. 可以高質量生成:甚至達到難以區分真假的程度。
  2. 靈活性與多樣性:可以根據提示詞生成各種主題、風格、構圖的圖像。
  3. 適應多種數據類型:盡管已圖像生成而知名,但是也可以應用于音頻、視頻等其他類型數據的生成

3. 缺點

  1. 計算成本高:去噪過程需要大量的計算資源(CPU、GPU)和內存,對硬件要求高。
  2. 參數調整復雜:模型包含總舵參數,需要精細調整已達到最佳性能,使用者需要有一定的專業知識。
  3. 依賴高質量數據與預處理:模型生成效果的好壞很大程度上取決于訓練數據的質量以及預處理方法是否恰當。

本文由 @Luna 原創發布于人人都是產品經理。未經作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協議。

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. Diffusion模型就像是給圖片做“降噪SPA”,讓模糊變清晰,還能“捏臉”出新圖,不過得小心別“整形失敗”哦!

    來自四川 回復