什麼是 去噪擴散機率模型(Denoising Diffusion Probabilistic Model)?

去噪擴散機率模型(DDPM)是一種生成模型,通過逐步添加高斯噪聲破壞資料,然後學習逆向過程,從噪聲中重建資料,實現高品質的資料生成。

核心概念

去噪擴散機率模型(Denoising Diffusion Probabilistic Model, DDPM)的核心概念圍繞著兩個互補的過程:前向擴散過程逆向去噪過程

  • 前向擴散過程(Forward Diffusion Process): 這個過程逐步向原始資料(例如圖像)添加高斯噪聲。每一步都向資料添加少量噪聲,隨著時間的推移,資料逐漸失去其原始結構,最終變成純粹的高斯噪聲。這個過程是馬可夫過程,意味著每一步的狀態只依賴於前一步的狀態。
  • 逆向去噪過程(Reverse Denoising Process): 這個過程是 DDPM 的核心,它學習如何從純噪聲中逐步恢復原始資料。模型通過訓練來預測在給定噪聲資料的情況下,如何去除噪聲並恢復更清晰的資料。這個過程也是馬可夫過程,並且與前向過程具有相同的時間步數。
  • 噪聲排程(Noise Schedule): 噪聲排程定義了在前向過程中添加到資料中的噪聲量。這個排程通常是預先定義好的,並且控制著資料被破壞的速度。一個好的噪聲排程對於 DDPM 的性能至關重要。
  • 模型訓練: DDPM 的訓練目標是學習逆向去噪過程的參數。模型通常是一個神經網路,它接收噪聲資料和時間步作為輸入,並預測需要從噪聲資料中去除的噪聲。模型通過最小化預測噪聲和實際噪聲之間的差異來進行訓練。

運作原理

DDPM 的運作原理可以概括為以下幾個步驟:

  1. 前向擴散: 給定一個原始資料樣本 x₀,通過 T 步的前向擴散過程,逐步向資料添加高斯噪聲。每一步的噪聲量由噪聲排程控制。這個過程可以用以下公式表示:

    q(x₁:T | x₀) = ∏ t=1 T q(xt | xt-1) q(xt | xt-1) = N(xt; √(1 - βt)xt-1, βtI)

    其中,βt 是噪聲排程中的噪聲方差,N 表示高斯分佈,I 是單位矩陣。

  2. 逆向去噪: 從純噪聲 xT 開始,通過 T 步的逆向去噪過程,逐步去除噪聲並恢復原始資料。這個過程由一個神經網路模型 pθ(xt-1 | xt) 參數化,模型學習預測在給定噪聲資料 xt 的情況下,如何生成更清晰的資料 xt-1。這個過程可以用以下公式表示:

    pθ(x₀:T) = p(xT) ∏ t=1 T pθ(xt-1 | xt) pθ(xt-1 | xt) = N(xt-1; μθ(xt, t), Σθ(xt, t))

    其中,μθ(xt, t) 和 Σθ(xt, t) 是由神經網路模型預測的均值和方差。

  3. 模型訓練: 模型的訓練目標是最小化預測噪聲和實際噪聲之間的差異。這通常通過最大化資料的對數似然函數的變分下界來實現。訓練過程可以使用各種優化算法,例如 Adam。

詳細數學推導:

前向擴散過程可以看作是一個馬可夫鏈,其中每一步都向資料添加少量高斯噪聲。根據高斯分佈的性質,我們可以推導出 xt 在給定 x₀ 的情況下的分佈:

q(xt | x₀) = N(xt; √(ᾱt)x₀, (1 - ᾱt)I)

其中,ᾱt = ∏ s=1 t (1 - βs)。

逆向去噪過程的目標是學習 pθ(xt-1 | xt),使其盡可能接近真實的後驗分佈 q(xt-1 | xt, x₀)。可以使用變分推斷來近似這個後驗分佈,並推導出訓練目標:

L = E[DtKL(q(xT | x₀) || pθ(xT)) + ∑ t=1 T E[q(xt | x₀)][DKL(q(xt-1 | xt, x₀) || pθ(xt-1 | xt))]]

這個損失函數可以簡化為一個更容易計算的形式,通常涉及預測噪聲 εt:

Lsimple = E t,x₀,ε [||εt - εθ(xt, t)||^2]

其中,εθ(xt, t) 是神經網路模型預測的噪聲。

實際應用

DDPM 在生成模型領域取得了顯著的成功,並在許多應用中得到了廣泛應用,包括:

  • 圖像生成: DDPM 可以生成高品質的圖像,其質量可以與 GAN 相媲美,甚至在某些情況下超過 GAN。DDPM 在圖像生成方面的一個優勢是其訓練過程更加穩定,並且不容易出現模式崩潰等問題。
  • 圖像編輯: DDPM 可以用於圖像編輯任務,例如圖像修復、圖像著色和圖像風格轉換。通過控制逆向去噪過程,可以對圖像進行各種修改。
  • 音訊生成: DDPM 也可以用於音訊生成任務,例如生成音樂和語音。與圖像生成類似,DDPM 可以生成高品質的音訊樣本。
  • 視訊生成: DDPM 正在被探索用於視訊生成任務,但由於視訊資料的複雜性,這仍然是一個具有挑戰性的領域。
  • 分子生成: DDPM 也可以用於生成新的分子結構,這對於藥物發現和材料科學等領域具有重要意義。

常見誤區

  • DDPM 比 GAN 更好: DDPM 和 GAN 都是生成模型,它們各有優缺點。DDPM 的訓練過程更加穩定,並且不容易出現模式崩潰等問題,但其生成速度通常比 GAN 慢。GAN 的生成速度更快,但其訓練過程更加困難。
  • DDPM 只能生成圖像: DDPM 不僅可以生成圖像,還可以生成音訊、視訊和分子結構等各種資料類型。DDPM 的核心思想是通過學習逆向去噪過程來生成資料,這個思想可以應用於各種不同的資料類型。
  • DDPM 的訓練非常困難: 雖然 DDPM 的數學推導比較複雜,但其訓練過程相對簡單。DDPM 的訓練目標是最小化預測噪聲和實際噪聲之間的差異,這可以使用標準的優化算法來實現。
  • DDPM 需要大量的計算資源: DDPM 的訓練需要大量的計算資源,特別是對於高分辨率圖像的生成。然而,隨著硬體技術的發展和模型優化技術的進步,DDPM 的訓練成本正在逐漸降低。

相關術語

常見問題

← 回到 去噪擴散機率模型 快查頁

延伸學習

想看 去噪擴散機率模型 的完整影片教學?前往 美第奇 AI 學院