No date
DDIM | Denoising Diffusion Implicit Models
PaperDiffusion
快速解釋
DDIM 不是重新訓練一種 diffusion model,而是重新解讀 DDPM 已經學到的去噪器。論文證明,只要保持每個 timestep 的邊際分布不變,就可以把 forward process 從 Markov chain 擴展到 non-Markovian family,並共享 DDPM 的訓練目標。因此同一個已訓練的 DDPM 網路可以在推論時切換成更快的 generative process;當 sigma_t = 0 時,整個 reverse process 變成 deterministic implicit model,能在少很多步數下維持不錯品質。
問題設定
- DDPM 透過很多步的 reverse Markov chain 逐步去噪,品質高但 sampling 很慢。
- 原因不是網路太大,而是 probabilistic construction 本身要求沿著長 chain 反推;例如訓練常用 T = 1000,推論通常也得跑接近 1000 steps。
- 論文真正要解的問題是:能不能不改訓練目標、不重訓模型,只改 inference / sampling process,就把 reverse chain 變短,甚至變成 deterministic?
核心想法
- DDPM 的 surrogate objective L_gamma 只依賴每個時間點的邊際分布 q(x_t | x_0),而不直接依賴整個 joint q(x_{1:T} | x_0)。
- 所以只要保住相同的 marginals,就可以重新設計另一族 non-Markovian forward processes q_sigma。這些新 forward process 雖然 joint 結構不同,但對應的 variational objective 仍可化成和 DDPM 相同型態的 denoising objective。
- 對每個 noisy sample x_t,網路先預測噪聲,再換算出乾淨樣本的估計 hat{x}_0;接著把這個估計代回 q_sigma(x_{t-1} | x_t, x_0),就能得到新的 reverse update。
- sigma_t 控制生成過程的隨機性:取到 DDPM 的那組值時,得到的是原本的 stochastic reverse chain;取 sigma_t = 0 時,隨機噪聲項消失,便得到 deterministic 的 DDIM。
- 進一步地,只取一個時間子序列 tau = [tau_1, ..., tau_S] 來採樣,就能把 1000-step sampler 壓成 100、50 甚至 20 steps,而因為訓練目標沒變,不需要重新訓練網路。
- deterministic 版本還帶來 consistency:固定同一個 x_T,即使使用不同步數採樣,也會保留相近的高層語意,因此 DDIM 可以做 latent interpolation 與近似 reconstruction,這是標準 DDPM 很難做到的。
關鍵公式
DDPM 的邊際分布與加噪表示為
對應的去噪訓練目標可以寫成
DDIM 關鍵在於把 inference family 推廣成
其中非 Markovian 條件分布可寫成
論文的理論核心是:對任意合法的 sigma,其 variational objective 都可以對應到同一類 denoising surrogate objective:
這代表同一個已訓練好的去噪網路,不必重訓就能搭配不同的生成過程。
對於每一步 reverse update,先由噪聲預測器還原乾淨樣本估計:
再利用 hat{x}_0 寫出統一的 sampling update:
- 當 sigma_t 取 DDPM 對應值時,這就是原本的 stochastic diffusion sampling。
- 當 sigma_t = 0 時,最後一項噪聲消失,整個映射變成 deterministic,這就是 DDIM。
論文還用單一參數 eta 控制 stochasticity:
- eta = 0 對應 deterministic DDIM。
- eta = 1 會更接近 DDPM 式的隨機採樣。
最後,DDIM update 還可以改寫成一條 ODE 的 Euler discretization。若定義
則有
這個觀點解釋了為什麼 DDIM 可以做近似的 encode / decode、latent interpolation,以及和 probability flow ODE 的關聯。
模型結構
- 訓練網路:DDIM 沒有發明新的 backbone,直接沿用 DDPM 的噪聲預測網路。論文實驗使用的是和 DDPM 相同的 U-Net / Wide ResNet 風格架構。
- 訓練方式:完全沿用 DDPM 的 denoising objective,也就是在不同 noise levels 上預測加到資料上的 Gaussian 噪聲。
- 推論入口:先選一條 sampling trajectory tau,也就是從原本 1 ... T 中挑出少量 timesteps;再選 stochasticity 參數 eta,決定更像 DDPM 還是 DDIM。
- 每一步生成:從目前的 x_t 先用網路預測噪聲,再還原 hat{x}_0,最後用上面的閉式更新公式求出 x_{t-1}。
- 速度與品質 trade-off:S = |tau| 越小,採樣越快;但步數太少時品質會下降。DDIM 的重點是:在小 S 的 regime 下,它通常比 DDPM 保持更好的品質。
- 隱式模型特性:當 eta = 0 時,從 x_T 到 x_0 的映射是固定的,所以同一個 latent 會對應到穩定的高層語意。這讓 DDIM 額外具備 latent interpolation、近似 reconstruction,以及與 Neural ODE 類似的結構性。