擴散模型=流匹配?谷歌DeepMind博客深度詳解這種驚人的等價性
機器之心報道
機器之心編輯部
擴散模型和流匹配實際上是同一個概念的兩種不同表達方式嗎?
從表面上看,這兩種方法似乎各有側重:擴散模型專注於通過迭代的方式逐步去除噪聲,將數據還原成清晰的樣本。
而流匹配則側重於構建可逆變換系統,目標是學習如何將簡單的基礎分佈精確地映射到真實數據分佈。
因爲流匹配的公式很簡單,並且生成樣本的路徑很直接,最近越來越受研究者們的歡迎,於是很多人都在問:
「到底是擴散模型好呢?還是流匹配好?」
現在,這個困擾已得到解答。Google DeepMind 的研究團隊發現,原來擴散模型和流匹配就像一枚硬幣的兩面,本質上是等價的(尤其是在流匹配採用高斯分佈作爲基礎分佈時),只是不同的模型設定會導致不同的網絡輸出和採樣方案。
這無疑是個好消息,意味着這兩種框架下的方法可以靈活搭配,發揮組合技了。比如在訓練完一個流匹配模型後,不必再侷限於傳統的確定性採樣方法,完全可以引入隨機採樣策略。
鏈接:https://diffusionflow.github.io
在這篇博客的開頭,作者們寫道:「我們的目標是幫助大家能夠自如地交替使用這兩種方法,同時在調整算法時擁有真正的自由度 —— 方法的名稱並不重要,重要的是理解其本質。」
看到這裡,需要思考一下。人們常說流匹配會產生直線路徑,但在上圖中,其採樣軌跡看起來是彎曲的。
在下面的交互式圖表中,我們可以通過滑塊更改右側數據分佈的方差。
不過,在像圖像這樣的真實數據集上找到這樣的直線路徑要複雜得多。但結論仍然是相同的:最優的積分方法取決於數據分佈。
我們可以從確定性採樣中得到的兩個重要結論:
如何選擇加權函數
加權函數是損失函數中最重要的部分,它平衡了圖像、視頻和音頻等數據中高頻和低頻分量的重要性。這一點至關重要,因爲這些信號中的某些高頻分量是人類無法感知的。如果通過加權情況來查看損失函數,可以得出以下結果:
即公式 (7) 中的條件流匹配目標與擴散模型中常用的設置相同。下面繪製了文獻中常用的幾個加權函數。
流匹配加權(也稱爲 v-MSE + 餘弦調度加權)會隨着 λ 的增加而呈指數下降。該團隊在實驗中發現了另一個有趣的聯繫:Stable Diffusion 3 加權 [9](這是流匹配的一種重新加權版本)與擴散模型中流行的 EDM 加權 [10] 非常相似。
如何選擇訓練噪聲調度?
最後討論訓練噪聲調度,因爲在以下意義上,它對訓練的重要程度最低:
更深入地理解採樣器
這一節將更詳細地介紹各種不同的採樣器。
迴流算子
流匹配中的迴流(Reflow)運算是使用直線將噪聲與數據點連接起來。通過基於噪聲運行一個確定性的採樣器,可以得到這些 (數據,噪聲) 對。然後,可以訓練模型,使之可以根據給定噪聲直接預測數據,而無需採樣。在擴散技術的相關文獻中,這同樣的方法是最早的蒸餾技術之一。
確定性採樣器與隨機採樣器
此前已經討論了擴散模型或流匹配的確定性採樣器。另一種方法是使用隨機採樣器,例如 DDPM 採樣器。
執行一個從 λ_t 到 λ_t+Δλ 的 DDPM 採樣步驟完全等價於執行一個到 λ_t+2Δλ 的 DDIM 採樣步驟,然後通過執行前向擴散重新噪聲化到 λ_t+Δλ。也就是說,通過前向擴散重新噪聲化恰好逆轉了 DDIM 所取得的一半進展。爲了理解這一點,讓我們看一個 2D 示例。從相同的高斯分佈混合開始,我們可以執行一個小的 DDIM 採樣步驟,左圖帶有更新反轉的符號,右圖則是一個小的前向擴散步驟:
對於單個樣本而言,這些更新的行爲完全不同:反轉的 DDIM 更新始終將每個樣本推離分佈模式,而擴散更新完全是隨機的。但是,在彙總所有樣本時,更新後得到的分佈是相同的。因此,如果執行 DDIM 採樣步驟(不反轉符號),然後執行前向擴散步驟,則整體分佈與更新之前的分佈保持不變。
通過重新加噪來撤消的 DDIM 步驟的比例是一個超參數,並且可以自由選擇(即不必一定是 DDIM 步驟的一半)。這個超參數在《Elucidating the design space of diffusion-based generative models》中被稱爲 level of churn,可譯爲「攪動水平」。有趣的是,將攪動添加到採樣器的效果是:減少採樣過程早期做出的模型預測對最終樣本的影響,並增加對後續預測的權重。如下圖所示:
結語
讀到這裡,想必你已經理解了擴散模型和高斯流匹配的等價性。不過,文中重點介紹的是流匹配爲該領域帶來的兩個新模型規範:
該團隊最後表示:「如果能通過實證方式研究這兩個模型規範在不同的真實應用中的重要性,那一定會很有趣。我們將此留給了未來的工作。」
參考文獻