擴散模型:AI畫圖不是「畫」出來的,是「雕」出來的
擴散模型深度科普:從DDPM到Stable Diffusion到FLUX,一文講透AI圖像生成的底層原理。
專屬插圖

擴散模型:AI畫圖不是「畫」出來的,是「雕」出來的
很多人以為AI生成圖片的過程,是從空白畫布上一筆一筆畫出來的。錯了。完全錯了。
真相遠比這個有意思——擴散模型生成圖片的方式,更接近一個雕塑家在鑿石頭。它不是從零開始創作,而是從一團純粹的雜訊裡,慢慢「鑿」出有意義的畫面。
說實話,我第一次搞懂這個原理的時候,起了雞皮疙瘩。不是因為多複雜,而是因為它實在太優雅了。
核心思路就兩步:搞亂,再還原
擴散模型的訓練分兩個階段,邏輯簡單到可以用一句話概括:先往好照片裡加雜訊,再教AI把雜訊去掉。
第一階段叫「前向擴散」。拿一張清晰的貓的照片,第一帧加一點點隨機雜訊,第二幀再加一點,第三幀繼續……重複幾百步之後,這張照片就變成了一團純粹的隨機雜訊。
第二階段叫「反向擴散」,這才是魔法所在。我們訓練一個神經網路,讓它學會每一步「猜」出剛才加了什麼雜訊,然後減掉。
# 前向:好圖 → 雜訊
for t in range(T):
x_t = add_noise(x_{t-1}, noise_we_know)
# 反向:雜訊 → 好圖
for t in reversed(range(T)):
predicted_noise = model(x_t, t)
x_{t-1} = remove_noise(x_t, predicted_noise)
從DDPM到Stable Diffusion到FLUX
2020年DDPM證明可行但太慢。2022年Stable Diffusion在潛空間做擴散,計算量砍掉64倍。FLUX用DiT架構+整流訓練,壓縮到20步左右。
我們實驗室每天用的就是FLUX。MS01上跑,20步出圖大概15秒。
為什麼提示詞這麼重要?
答案是條件引導。模型在每一步去噪時都會參考你的文字描述。prompt越精確,畫面越貼近預期。
擴散模型 vs GAN:誰贏了?
GAN訓練不穩定,有「GAN collapse」問題。擴散模型訓練穩定如鐘錶,多樣性天然就好。回頭看,擴散模型擊敗GAN幾乎是必然的。
實戰:用FLUX的時候,背後發生了什麼?
1. 提交prompt → 創建job
2. FLUX接收:純隨機雜訊 + prompt編碼 + 步數(20)
3. 第1步:預測雜訊,去掉一部分 → 畫面隱約有結構
4. 第2-10步:結構越來越清晰
5. 第11-20步:細節打磨
6. 輸出PNG → 轉WebP → 上傳OSS → 回傳URL
20步。15秒。從一團雜訊到一張封面圖。技術的加速度,是真的恐怖。
SFD編者註:我們每天用FLUX生成封面圖,但真正理解它在幹什麼之後,每次看20步去噪的過程,感覺完全不一樣了。