Normalizing Flows with Iterative Denoising

Tianrong Chen, Jiatao Gu, David Berthelot, Joshua Susskind, Shuangfei Zhai

View Original ↗
AI 導讀 technology AI 重要性 4/5

iTARFlow 透過多尺度噪音訓練,ImageNet-64 FID 達 1.68,正規化流縮近擴散模型

  • 多尺度噪音訓練解決 NF 噪音困境,ImageNet-64 FID 達 1.68(770M 參數)
  • 取樣兩階段:自迴歸生成高噪聲圖,再以 5–10 步 ODE 並行去噪到最終影像
  • 600 epoch 收斂僅 DiT 1400 的 43%,且可無縫結合預訓練 DiT 去噪器

把訓練噪音從「單一障礙」變成「多尺度訓練素材」,正是 iTARFlow 的破局點。正規化流(Normalizing Flow,NF,一種可精確計算最大似然值的生成模型)長期受「噪音困境」所苦:訓練時噪音量太少,生成的圖像出現過度精細的假紋理;噪音量太大,去噪後一片模糊。Apple Research 在這篇投稿 ICML 的論文中,透過跨噪音尺度攤銷訓練加迭代去噪,讓 NF 在 ImageNet-64 以 770M 參數達 FID 1.68,顯著縮短與主流擴散模型的性能差距。

正規化流的噪音困境:偽紋理對決模糊

正規化流透過可逆映射(invertible mapping)將資料分佈轉換為標準高斯分佈,核心優勢是可做精確最大似然訓練,不需要像擴散模型那樣估算 ELBO,也不需要像離散自迴歸模型那樣把連續像素量化(quantization)成 token——每次量化都會引入資訊瓶頸,可能損失圖像細節。

TARFlow(Transformer Autoregressive Flow,Transformer 自迴歸流)是近年讓 NF 表現大幅躍升的關鍵架構,做法是在訓練輸入中加入可調幅度的高斯噪音,遠大於先前的「去量化噪音(dequantization noise)」,可顯著改善取樣能力。但這帶來一個新的設計問題:噪音量該設多少?

訓練噪音太低,模型傾向生成過度精細的高頻假紋理,優化過程也容易不穩定(負對數似然在資料流形附近趨向無界)。訓練噪音太高,雖然模型更能捕捉全局結構,但根據 Tweedie 引理(Tweedie's lemma,連結分數函數與最佳去噪器的數學定理),後續去噪結果必然因過度平滑而模糊。這個矛盾就是論文定義的「噪音困境(noise dilemma)」。

多尺度噪音訓練與兩階段取樣的架構設計

針對這個困境,iTARFlow 的解法不是挑選一個「折中」的固定噪音水準,而是在連續範圍 t ∈ [t_min, t_max] 上做攤銷訓練,讓模型同時學會所有噪音強度下的似然分佈 log p_θ(x_t, t)。

三個關鍵超參數需要謹慎設定。t_min 固定為 0.01:太小會因優化不穩定而無法訓練,太大則讓最後去噪步驟距乾淨資料太遠。t_max 依解析度遞增:ImageNet-64 設 0.3、ImageNet-128 設 0.5、ImageNet-256 像素空間設 0.7(潛在空間設 0.5)——更高解析度需要更大 t_max 才能捕捉更複雜的全局結構。加權係數 γ_t 採 γ_t = t,實驗顯示不同選擇效果差異不大。

取樣分為兩個完全獨立的階段,共享同一個已訓練的 iTARFlow 模型。第一階段(自迴歸生成):從高斯先驗出發,逐 patch 自迴歸生成一張在 t_max 噪音水準下「全域連貫但雜訊極多」的圖像,此階段套用 Classifier-Free Guidance(CFG,無分類器引導),且 patch 越大通常需要更強引導。第二階段(平行去噪):用似然梯度(score function)驅動一條 ODE(常微分方程),從 t_max 迭代去噪至 t_min;此階段完全平行(無 token 間順序依賴),不使用 CFG,是純前向評估,可高效利用 GPU 並行計算。

FID 1.68:770M 參數縮近擴散模型水準

在 ImageNet-64 上,770M 參數的 Big 模型達到 FID 1.68(FID,Fréchet Inception Distance,弗雷歇初始距離,越低越好),在參數量不到先前 TARFlow 一半的情況下,接近擴散模型的水準。ImageNet-128 上,iTARFlow 同樣超越 TARFlow 並達到具競爭力的 FID。ImageNet-256 像素空間上達到 FID 3.32,超越 TARFlow、STARFlow 以及其他近期的自迴歸正規化流方法。論文指出,FID 3.32 仍有一部分是被兩類失敗案例拖累——修正後預計還有提升空間。

在分數估計的對比實驗中,iTARFlow 的分數函數品質與獨立訓練的 DiT(Diffusion Transformer,擴散 Transformer)相當。更關鍵的是訓練效率:iTARFlow 在 600 個 epoch 收斂,而 DiT 需要 1,400 個 epoch,速度快約 2.3 倍。先前 STARFlow 嘗試整合 DiT 去噪器往往損失性能,但 iTARFlow 可以無縫結合預訓練 DiT 而不降效。論文認為這正是攤銷多噪音尺度訓練恢復了 NF 彈性的體現,也為 NF + 擴散的混合自迴歸架構(hybrid AR-diffusion)指出了一個有前景的整合方向。

iTARFlow 關鍵量化結果
指標數值
ImageNet-64 FID(Big 模型,770M 參數)1.68
ImageNet-256 FID(像素空間)3.32
最低 ODE 去噪步數(視覺品質達標)5 步
達到最佳 FID 所需 ODE 步數10 步
iTARFlow 訓練收斂 epoch600
DiT 訓練收斂 epoch(對比組)1,400

5 步去噪視覺達標,兩類失敗案例的根因

在 ODE 去噪步數的消融實驗中,5 個步驟已足以生成視覺上高品質的樣本,10 個步驟可達到最佳 FID。相較於擴散模型動輒數十至數百步的推論成本,iTARFlow 的步數需求顯著更低;不過,自動微分(autograd)在迭代去噪時需要對整個網路執行,導致 GPU 記憶體佔用偏高,是目前方法的主要計算瓶頸。

論文正面分析了在 50k 生成樣本中反覆出現的兩類失敗案例。第一類:背景塌陷(collapsed background),整個背景變為純黑。推測原因是大 patch 實驗中 CFG 強度過大;更精準的引導策略設計或許能解決。第二類:右下角失真模糊,幾乎所有模糊樣本都在右下角(即第一個被自迴歸生成的 patch)出現特徵性失真,並向後續 token 傳播誤差。根本原因是第一個 token 缺乏前文條件(no conditioning context),容易落在訓練分佈外;當 patch 尺寸增大到 patch size 8(ImageNet-256 設定)時,問題更加顯著。超參數 t_min 和 t_max 目前沒有理論最優解,需要依賴實驗調整,這是方法尚待完善之處。解決上述失敗案例與超參數理論化,是論文明確點出的下一步改進方向。

iTARFlow 以攤銷多噪音尺度訓練解決 NF 噪音困境,ImageNet-64 FID 達 1.685–10 步去噪即達高品質,並首次讓正規化流與預訓練 DiT 無縫整合。

Abstract

Normalizing Flows (NFs) are a classical family of likelihood-based methods that have received revived attention. Recent efforts such as TARFlow have shown that NFs are capable of achieving promising performance on image modeling tasks, making them viable alternatives to other methods such as diffusion models. In this work, we further advance the state of Normalizing Flow generative models by introducing iterative TARFlow (iTARFlow). Unlike diffusion models, iTARFlow maintains a fully end-to-end, likelihood-based objective during training. During sampling, it performs autoregressive generation followed by an iterative denoising procedure inspired by diffusion-style methods. Through extensive experiments, we show that iTARFlow achieves competitive performance across ImageNet resolutions of 64, 128, and 256 pixels, demonstrating its potential as a strong generative model and advancing the frontier of Normalizing Flows. In addition, we analyze the characteristic artifacts produced by iTARFlow, offering insights that may shed light on future improvements. Code is available at https://github.com/apple/ml-itarflow.