論文鏈接:https://arxiv.org/pdf/2502.17437
代碼鏈接:https://github.com/LTH14/fractalgen
亮點直擊
分形生成模型:首次將分形理論引入生成模型,提出了一種具有自相似性的遞歸生成框架。
遞歸模塊化:通過遞歸調用生成模塊,構建了復雜的生成系統,突破了傳統模塊化的限制。
高性能像素級生成:在像素級圖像生成任務中,展示了優異的似然估計和生成質量,解決了現有方法的不足。
廣泛應用潛力:該框架不僅適用于圖像生成,還可應用于分子結構、蛋白質和生物神經網絡等非順序數據的生成,具有廣泛的應用前景。
生成效果
總結速覽
解決的問題
-
復雜生成模型的模塊化:現有的生成模型(如擴散模型和自回歸模型)雖然已經模塊化,但缺乏更高層次的模塊化抽象,難以構建更復雜的生成系統。
-
非順序數據的生成:現有方法在處理像素級圖像生成等非順序數據時表現不佳,尤其是在似然估計和生成質量方面。
-
自然數據的分形特性:自然數據(如圖像、蛋白質結構等)通常具有分形或近分形特性,現有生成模型未能充分利用這一特性。
提出的方案
-
分形生成模型:提出了一種新的生成模型框架,通過遞歸調用相同類型的生成模塊來構建分形生成模型。這種模型具有自相似性,能夠在不同層次上表現出復雜的結構。
-
自回歸模型作為生成器:以自回歸模型為例,展示了如何將分形生成模型應用于像素級圖像生成任務。每個自回歸模塊由多個子自回歸模塊組成,形成分形結構。
應用的技術
-
遞歸模塊化:通過遞歸調用生成模塊,構建具有自相似性的分形生成模型。
-
自回歸模型:使用自回歸模型作為生成器,遞歸生成像素級圖像。
-
分形理論:借鑒數學中的分形概念,設計生成模型的遞歸結構。
達到的效果
-
高性能生成:在像素級圖像生成任務中,分形生成模型在似然估計和生成質量方面表現出色。
-
復雜結構建模:能夠有效建模具有內在結構的非順序數據,如圖像、分子結構和蛋白質。
-
新研究范式:為生成模型的設計和應用提供了新的研究方向,有望推動生成模型領域的進一步發展。
分形生成模型
分形生成模型的核心思想是通過遞歸地從現有的原子生成模塊構建更高級的生成模型。在本節中,首先介紹分形生成模型背后的高層次動機和直覺。然后,以自回歸模型為例,展示如何實例化分形生成模型并將其用于建模非常高維的數據分布。
動機
分形是由簡單的遞歸規則生成的復雜模式。在分形幾何中,這些規則通常被稱為“生成器”。通過不同的生成器,分形方法可以構造許多自然模式,例如云、山脈、雪花和樹枝,并且與更復雜的系統相關聯,例如生物神經網絡的結構、非線性動力學和混沌系統。
形式上,一個分形生成器 指定了如何基于上一級生成器的一個輸出 生成下一級生成器的新數據集 :
例如,如圖1所示,生成器可以通過在每個灰色框內遞歸調用類似的生成器來構造分形。
由于每個生成器級別可以從單個輸入生成多個輸出,分形框架可以在僅需要線性數量的遞歸級別的情況下實現生成輸出的指數級增長。這一特性使其特別適合用相對較少的生成器級別來建模高維數據。
具體來說,引入了一種分形生成模型,該模型使用原子生成模塊作為參數化分形生成器。通過這種方式,神經網絡直接從數據中“學習”遞歸規則。通過將分形輸出的指數增長與神經生成模塊相結合,我們的分形框架能夠建模高維非順序數據。接下來,將展示如何以自回歸模型作為分形生成器來實例化這一思想。
自回歸模型作為分形生成器
在本節中,我們展示了如何使用自回歸模型作為分形生成器來構建分形生成模型。我們的目標是建模一大組隨機變量 的聯合分布,但直接用單一自回歸模型建模在計算上是不可行的。為了解決這個問題,我們采用了一種分而治之的策略。關鍵的模塊化是將自回歸模型抽象為一個模塊化單元,用于建模概率分布 。通過這種模塊化,我們可以在多個下一級自回歸模型的基礎上構建一個更強大的自回歸模型。
假設每個自回歸模型中的序列長度是一個可管理的常數 ,并且隨機變量的總數為 ,其中 表示我們分形框架中的遞歸級別數。分形框架的第一級自回歸模型將聯合分布劃分為 個子集,每個子集包含 個變量。形式上,我們將聯合分布分解為:
每個包含 個變量的條件分布 由第二級遞歸的自回歸模型建模,以此類推。通過遞歸調用這種分而治之的過程,我們的分形框架可以使用 級自回歸模型高效地處理 個變量的聯合分布,每級自回歸模型操作在可管理的序列長度 上。
這種遞歸過程代表了一種標準的分而治之策略。通過遞歸分解聯合分布,我們的分形自回歸架構不僅顯著降低了計算成本(與單一大型自回歸模型相比),還捕捉了數據中的內在層次結構。
從概念上講,只要數據表現出可以以分而治之方式組織的結構,就可以在我們的分形框架中自然建模。為了提供一個更具體的例子,在下一節中,我們將實現這種方法來解決像素級圖像生成這一具有挑戰性的任務。
圖像生成實例
我們現在展示分形生成模型的一個具體實現,并將其應用于像素級圖像生成這一具有挑戰性的任務。盡管本文以圖像生成作為測試平臺,但相同的分而治之架構也可以潛在地適應其他數據領域。接下來,我們首先討論像素級圖像生成的挑戰和重要性。
像素級圖像生成
由于原始圖像數據的高維性和復雜性,像素級圖像生成仍然是生成建模中的一個重要挑戰。該任務要求模型能夠高效處理大量像素,同時有效學習像素之間豐富的結構模式和相互依賴性。因此,像素級圖像生成已成為一個具有挑戰性的基準任務,大多數現有方法仍然局限于似然估計,并且無法生成令人滿意的圖像,比如(Child et al., 2019; Hawthorne et al., 2022; Yu et al., 2023)。
盡管具有挑戰性,像素級生成代表了一類更廣泛的重要高維生成問題。這些問題旨在逐元素生成數據,但與長序列建模不同,它們通常涉及非順序數據。例如,許多結構(如分子構型、蛋白質和生物神經網絡)并不表現出順序架構,但卻包含非常高維和結構化的數據分布。通過選擇像素級圖像生成作為我們分形框架的實例,我們的目標不僅是解決計算機視覺中的一個關鍵挑戰,還展示了分形方法在建模具有內在結構的高維非順序數據方面的潛力。
架構
如圖3所示,每個自回歸模型將上一級生成器的輸出作為其輸入,并為下一級生成器生成多個輸出。它還接收一張圖像(可以是原始圖像的一個 patch),將其分割成多個 patch,并將它們嵌入以形成 transformer 模型的輸入序列。這些 patch 也被饋送到相應的下一級生成器。transformer 將上一級生成器的輸出作為一個單獨的 token,放置在圖像 token 之前。基于這個組合序列,transformer 為下一級生成器生成多個輸出。
遵循視覺transformer和圖像生成模型的常見實踐,將第一級生成器 的序列長度設置為 256,將原始圖像劃分為 16×16 的 patch。第二級生成器隨后對每個 patch 進行建模,并將其進一步細分為更小的 patch,遞歸地繼續這一過程。為了管理計算成本,我們逐步減少較小 patch 的寬度和 transformer 塊的數量,因為建模較小的 patch 通常比建模較大的 patch 更容易。在最后一級,我們使用一個非常輕量級的 transformer 對每個像素的 RGB 通道進行自回歸建模,并在預測上應用 256 路交叉熵損失。表1詳細列出了不同遞歸級別和分辨率下每個 transformer 的配置和計算成本。值得注意的是,通過我們的分形設計,建模 256×256 圖像的計算成本僅為建模 64×64 圖像的兩倍。
根據(Li et al., 2024),本文方法支持不同的自回歸設計。在本工作中,主要考慮兩種變體:一種是以光柵順序、類似 GPT 的因果 transformer(AR),另一種是以隨機順序、類似 BERT 的雙向 transformer(MAR)(圖6)。兩種設計都遵循自回歸的下一個 token 預測原則,各有優缺點,詳見附錄 B。將使用 AR 變體的分形框架命名為 FractalAR,將使用 MAR 變體的分形框架命名為 FractalMAR。
與尺度空間自回歸模型的關系
最近,一些模型被提出用于執行尺度間的自回歸圖像生成。這些尺度空間自回歸模型與我們提出的方法之間的一個主要區別在于,它們使用單一的自回歸模型逐尺度預測 token。相比之下,我們的分形框架采用分而治之的策略,通過生成子模塊遞歸建模原始像素。另一個關鍵區別在于計算復雜度:尺度空間自回歸模型在生成下一尺度的 token 時需要對整個序列執行全注意力機制,這導致計算復雜度顯著增加。
例如,在生成分辨率為 256×256 的圖像時,在最后一個尺度中,尺度空間自回歸模型的每個注意力塊中的注意力矩陣大小為 。相比之下,我們的方法在建模像素的相互依賴性時對非常小的 patch(4×4)執行注意力機制,每個 patch 的注意力矩陣僅為 ,總的注意力矩陣大小為 次操作。這種減少使我們的方法在最精細分辨率下的計算效率提高了 4000 倍,從而首次實現了逐像素建模高分辨率圖像的能力。
與長序列建模的關系
大多數先前關于像素級生成的工作將問題表述為長序列建模,并利用語言建模方法來解決它,比如(Child et al., 2019; Roy et al., 2021; Ren et al., 2021; Hawthorne et al., 2022; Yu et al., 2023)。然而,許多數據類型(包括但不限于圖像)的內在結構超越了一維序列。與這些方法不同,我們將此類數據視為由多個元素組成的集合(而非序列),并采用分而治之的策略遞歸建模具有較少元素的較小子集。這種方法的動機是觀察到許多此類數據表現出近分形結構:圖像由子圖像組成,分子由子分子組成,生物神經網絡由子網絡組成。因此,設計用于處理此類數據的生成模型應由本身就是生成模型的子模塊組成。
實現
我們簡要描述了分形圖像生成框架的訓練和生成過程。更多細節和超參數可以在附錄 A 中找到。
訓練:通過以廣度優先的方式遍歷分形架構,在原始圖像像素上端到端地訓練分形模型。在訓練過程中,每個自回歸模型接收來自前一個自回歸模型的輸入,并為下一級自回歸模型生成一組輸出作為輸入。這一過程一直持續到最后一級,其中圖像被表示為像素序列。最終的自回歸模型使用每個像素的輸出以自回歸方式預測 RGB 通道。在預測的 logits 上計算交叉熵損失(將 RGB 值視為 0 到 255 的離散整數),并通過所有級別的自回歸模型反向傳播此損失,從而端到端地訓練整個分形框架。
生成:我們的分形模型以逐像素的方式生成圖像,按照深度優先順序遍歷分形架構,如圖2所示。這里我們以 MAR(Li et al., 2024)的隨機順序生成方案為例。第一級自回歸模型捕捉 16×16 圖像 patch 之間的相互依賴性,并在每一步基于已知 patch 生成下一級的輸出。第二級模型隨后利用這些輸出來建模每個 16×16 patch 內 4×4 patch 之間的相互依賴性。類似地,第三級自回歸模型建模每個 4×4 patch 內單個像素之間的相互依賴性。最后,最后一級自回歸模型從自回歸預測的 RGB logits 中采樣實際的 RGB 值。
實驗
在 ImageNet 數據集上進行了廣泛的實驗,分辨率為 64×64 和 256×256。評估包括無條件圖像生成和類別條件圖像生成,涵蓋了模型的多個方面,如似然估計、保真度、多樣性和生成質量。因此,報告了負對數似然(NLL)、Frechet Inception Distance(FID)、Inception Score(IS)、Precision 和 Recall以及可視化結果,以全面評估我們的分形框架。
似然估計
首先在無條件 ImageNet 64×64 生成任務上評估我們的方法,以檢驗其似然估計能力。為了檢驗分形框架的有效性,我們比較了不同分形級別下框架的似然估計性能,如表2所示。使用單一自回歸模型建模整個 64×64×3=12,288 像素序列會導致極高的計算成本,使得訓練不可行。此外,兩級分形框架(首先建模整個像素序列,然后建模 RGB 通道)需要的計算量是我們三級分形模型的十倍以上。使用更多分形級別不僅計算效率更高,還提高了似然估計性能,這可能是因為它更好地捕捉了圖像的內在層次結構。這些結果證明了我們分形框架的高效性和有效性。
進一步在表5中將我們的方法與其他基于似然的模型進行了比較。本文的分形生成模型(使用因果和掩碼自回歸分形生成器實例化)在似然性能上表現強勁。特別是,它實現了每維度 3.14 比特的負對數似然,顯著優于之前最好的自回歸模型(每維度 3.40 比特),并與基于擴散的先進方法保持競爭力。這些發現證明了我們的分形框架在像素級圖像生成這一挑戰性任務中的有效性,突顯了其在建模高維非順序數據分布方面的潛力。
生成質量
在類別條件圖像生成任務上評估了 FractalMAR,分辨率為 256×256,使用了四個分形級別。按照標準實踐報告了 FID、Inception Score、Precision 和 Recall 等標準指標,以評估其生成質量,如表4所示。具體而言,FractalMAR-H 實現了 6.15 的 FID 和 348.9 的 Inception Score,平均吞吐量為每張圖像 1.29 秒(在單個 Nvidia H100 PCIe GPU 上以批量大小 1,024 進行評估)。
值得注意的是,本文方法在 Inception Score 和 Precision 上表現強勁,表明其能夠生成具有高保真度和精細細節的圖像,如圖4所示。然而,其 FID 和 Recall 相對較弱,表明生成的樣本多樣性較低。推測這是由于逐像素建模近 200,000 個像素的巨大挑戰所致。盡管如此,這些結果突顯了我們的方法不僅在準確似然估計方面有效,還能生成高質量圖像。
進一步觀察到了一個有希望的擴展趨勢:將模型大小從 186M 參數增加到 848M 參數,顯著改善了 FID(從 11.80 降至 6.15)和 Recall(從 0.29 提升至 0.46)。預計進一步增加參數規模可以進一步縮小 FID 和 Recall 的差距。與依賴分詞器的模型不同,我們的方法不受分詞引入的重建誤差影響,表明在更大模型容量下可能實現無上限的性能提升。
條件逐像素預測
進一步通過圖像編輯中的常規任務檢驗了我們方法在條件逐像素預測方面的性能。圖5提供了幾個示例,包括修復、外推、去裁剪和類別條件編輯。如圖所示,本文方法能夠基于未掩碼區域準確預測被掩碼的像素。此外,它還能有效地從類別標簽中捕捉高級語義,并在預測的像素中反映出來。這在類別條件編輯示例中得到了展示,模型通過以狗的類別標簽為條件,將貓的臉替換為狗的臉。這些結果證明了我們的方法在給定已知條件下預測未知數據方面的有效性。
更廣泛地說,通過逐元素生成數據,本文方法提供了一種比擴散模型或在潛在空間中操作的生成模型更易于人類理解的生成過程。這種可解釋的生成過程不僅使我們能夠更好地理解數據是如何生成的,還提供了一種控制和與生成過程交互的方式。這種能力在視覺內容創作、建筑設計和藥物發現等應用中尤為重要。本文有競爭力的結果突顯了我們方法在可控和交互式生成方面的潛力,為未來在這一方向上的探索鋪平了道路。
討論與結論
本文提出的分形生成模型的有效性通過像素級生成這一挑戰性任務得到了驗證,這為設計生成模型提供了新的機會。它突顯了將復雜數據分布分解為可管理的子問題,并通過將現有生成模型抽象為模塊化單元來解決這些問題的潛力。我們相信,分形生成模型特別適合建模具有超越一維順序的內在結構的數據。希望本方法的簡單性和有效性能夠激發研究社區探索分形生成模型的新設計和應用。
參考文獻
[1] Fractal Generative Models