04 進階
取樣 · DDPM vs DDIM 與去噪軌跡
DDPM 老實走完全部 200 步,慢;DDIM 把取樣變成確定性、可以跳著走,只要 20 步就生出差不多的圖,快十倍。比較兩者,並把「雪花 → 數字」的逐步顯影過程畫出來。
這堂課的完整程式碼在 Jupyter notebook 裡。點下面按鈕在 Colab 開啟,就能直接執行、修改、實驗——你的修改不會動到原檔。
上一課用 ddpm_sample 生成,它老老實實走完全部 T=200 步,慢。這課認識更快的取樣法,並把「雪花 → 數字」的過程逐步畫出來。
兩種取樣
DDPM:標準反向過程,每步都加一點隨機性,要走完全部 T 步。
DDIM:把取樣變成確定性的,而且可以跳著走——只要 20 步就能生出差不多的圖,快約 10 倍。
這堂課你會學到
- 對照 DDPM(200 步)vs DDIM(20 步):速度差一個量級,品質卻接近
- 為什麼真實的 Stable Diffusion 都用 DDIM 這類少步快取樣(否則你要等好幾分鐘)
- 把去噪軌跡畫出來:抓生成過程中的幾個快照,看數字怎麼從雪花裡「顯影」
取樣是擴散的活躍研究前線
「訓練一次,取樣很多次」——所以取樣速度直接決定使用體驗。從原始 DDPM 的上千步,到 DDIM 的數十步,再到今天 sd-turbo 的一步生圖,取樣加速是讓擴散模型從「跑一張圖泡杯咖啡」變成「即時生成」的關鍵突破。理解 DDPM 與 DDIM 的差異,你就懂了這條加速之路的起點。
去噪軌跡:看見生成的過程
把中間步驟畫出來,你會看到生成不是「啪一下出現」,而是逐步顯影:先是模糊的團塊,再慢慢凝結出筆畫結構,最後清晰成形。這個過程和你直覺裡「藝術家從草稿到精修」異曲同工——也是擴散模型可控性(下一課的 img2img 等)的基礎。
💡 sd-turbo 能一步生圖,靠的是「蒸餾」——把多步老師模型的本事壓縮進單步學生模型。但原理仍是你這四課學的去噪。下一課,跨入文字條件:讓一句話導引生成什麼。
#diffusion
#ddpm
#ddim
#sampling
留言 0
留言載入中…