VQ-Diffusion:離散空間中的條件潛在擴散
VQ-Diffusion 是由中國科學技術大學與微軟共同開發的條件潛在擴散模型。與大多數在連續空間中運作的常見擴散模型不同,VQ-Diffusion 在由離散向量集合組成的量化潛在空間上執行加噪與去噪過程。
架構與技術實作
VQ-Diffusion 結合 VQ-VAE 進行維度縮減,並使用編碼器-解碼器 Transformer 來執行擴散過程。
VQ-VAE 潛在空間
影像首先透過 VQ-VAE 編碼器編碼成離散的 token 或嵌入向量。此過程會將影像切割成小塊,並以固定大小詞彙表碼本中最接近的條目取代每個小塊。VQ-Diffusion 特別採用來自 Taming Transformers 的 VQGAN 變體,使用在擴散訓練過程中保持凍結的預訓練 VQ-VAE。
前向擴散過程
在前向過程中,潛在 token 從乾淨狀態轉變為加噪狀態。每個 token 可以:
- 保持不變。
- 以相等機率重新抽樣為不同的潛在向量。
- 被遮蔽。
一旦 token 被遮蔽,就會保持遮蔽狀態。此過程受超參數 $\alpha_{t}$、$\beta_{t}$ 與 $\gamma_{t}$ 控制,其中 $\gamma_{t}$ 為 token 成為遮蔽的機率,$\alpha_{t} + \beta_{t}$ 為其保持不變的機率。轉換到任意非遮蔽的潛在向量的機率為 $\beta_{t}$。
近似反向過程
為了逆轉噪聲並生成影像,使用編碼器-解碼器 Transformer 來近似在提示 ($y$) 條件下的未加噪潛在 ($x_{0}$) 的類別。
- Encoder: 具凍結權重的 CLIP 文字編碼器。
- Decoder: 一個對所有潛在像素提供未遮蔽全域注意力的 Transformer,並輸出向量嵌入上類別分佈的對數機率。
由於解碼器在單次前向傳遞中預測未加噪潛在的完整分佈,它對當前狀態 $x_{t}$ 提供全域自注意力。
VQ-Diffusion 與其他生成模型比較
VQ-Diffusion 為連續擴散模型與自回歸 (AR) 模型提供了一種技術上的替代方案。
與連續擴散的比較
大多數當代擴散模型是連續的,透過迭代加入高斯噪聲,並利用 U-Net 近似反向過程以預測該噪聲。相較之下,VQ-Diffusion 在離散值上運作,直接預測 $x_{0}$ 的分佈比預測噪聲更為明確的目標。
與自回歸 (AR) 模型的比較
VQ-Diffusion 解決了 AR Transformer 基礎影像模型的三大主要痛點:隨解析度提升推論速度線性下降、錯誤累積以及方向性偏差。
- 推論速度: AR 模型將影像機率分解,使每個像素在光柵掃描順序中受先前像素條件限制。只要擴散步驟的數量少於潛在像素的數量,VQ-Diffusion 的推論複雜度就更優。以 ITHQ 資料集(32×32 潛在解析度)為例,VQ-Diffusion 訓練至 100 步,約可達到 10 倍的 Big-O 改善。實際上,其推論速度可比 AR 方法快至 15 倍,同時取得更佳的影像品質。
- 錯誤校正: 與需要教師強制 (teacher‑forcing) 的 AR 模型不同,VQ-Diffusion 透過訓練同時包含遮蔽與以隨機 token 替換潛在像素,學會糾正預測錯誤的 token。
- 全域上下文: VQ-Diffusion 在預測 $x_{t-1}$ 時能利用 $x_{t}$ 的全域上下文,而 AR 模型則受限於遮蔽注意力,無法看到未來的像素。
實作與進一步優化
VQ-Diffusion 透過 VQDiffusionPipeline 整合至 Hugging Face diffusers 套件中。模型已在多個資料集上進行訓練,包括 ITHQ、CUB-200、Oxford-102、MSCOCO、Conceptual Captions、LAION-400M 與 ImageNet。
進一步的優化包括使用時間步幅 $\Delta t$ 以跳過反向擴散步驟的更快推論策略。此外,「Improved Vector Quantized Diffusion Models」提出離散的無分類器指導 (classifier‑free guidance) 以提升樣本品質,並提供另一種推論策略來解決聯合分佈的問題。
Sources
- OriginalVQ-Diffusion