分形生成模型
Tianhong Li1 Qinyi Sun1 Lijie Fan2 Kaiming He1
摘要
模塊化是計算機科學的基石,它將復雜函數抽象為原子構建塊。在本文中,我們通過將生成模型抽象為原子生成模塊,引入了新的模塊化層次。類似于數學中的分形,我們的方法通過遞歸調用原子生成模塊來構建一種新型生成模型,形成了自相似的分形架構,我們稱之為分形生成模型。作為實例,我們使用自回歸模型作為原子生成模塊來實例化分形框架,并在逐像素圖像生成這一具有挑戰性的任務上進行了檢驗,結果表明其在似然估計和生成質量方面均表現出色。我們希望這項工作能夠開啟生成建模的新范式,并為未來的研究提供沃土。代碼可在https://github.com/LTH14/fractalgen獲取。
引言
計算機科學的核心在于模塊化概念。例如,深度神經網絡由作為模塊化單元的原子 “層” 構建而成(Szegedy 等人,2015)。同樣,現代生成模型,如擴散模型(Song 等人,2020)和自回歸模型(Radford 等人,2018),由原子 “生成步驟” 構建,每個步驟由深度神經網絡實現。通過將復雜函數抽象為這些原子構建塊,模塊化使我們能夠通過組合這些模塊來創建更復雜的系統。
基于這一概念,我們提出將生成模型本身抽象為一個模塊,以開發更高級的生成模型。具體而言,我們引入了一種通過在自身內部遞歸調用同類生成模型來構建的生成模型。這種遞歸策略產生了一個生成框架,該框架展現出復雜的架構,在不同層次的模塊間具有自相似性,如圖 1 所示。
圖 1:分形生成模型。本圖展示了四個層次,放大后觀看效果更佳。在此實例中,我們將自回歸模型用于分形生成器。通過在自回歸模型中遞歸調用自回歸模型,我們構建了一個在不同層次間具有自相似性的類分形框架。
我們的提議類似于數學中分形的概念(Mandelbrot,1983)。分形是使用稱為生成器的遞歸規則構建的自相似模式。同樣,我們的框架也是通過在生成模型中遞歸調用生成模型的過程構建的,在不同層次間表現出自相似性。因此,我們將我們的框架命名為 “分形生成模型”。
分形或類分形是生物神經網絡中常見的模式。多項研究為大腦及其功能網絡中分形或尺度不變的小世界網絡組織提供了證據(Bassett 等人,2006;Sporns,2006;Bullmore & Sporns,2009)。這些發現表明,大腦的發育在很大程度上采用了模塊化的概念,從較小的神經網絡遞歸構建較大的神經網絡。
除了生物神經網絡,自然數據通常也表現出分形或類分形模式。常見的分形模式從宏觀結構如云層、樹枝和雪花,到微觀結構如晶體(Cannon 等人,2000)、染色質(Mirny,2011)和蛋白質(Enright & Leitner,2005)不等。更一般地說,自然圖像也可以類比為分形。例如,一幅圖像由本身也是圖像的子圖像組成(盡管它們可能遵循不同的分布)。因此,圖像生成模型可以由本身也是圖像生成模型的模塊組成。
所提出的分形生成模型的靈感來自于在生物神經網絡和自然數據中觀察到的分形特性。與自然分形結構類似,我們設計的關鍵組件是定義遞歸生成規則的生成器。例如,這樣的生成器可以是自回歸模型,如圖 1 所示。在此實例中,每個自回歸模型由本身也是自回歸模型的模塊組成。具體而言,每個父自回歸塊生成多個子自回歸塊,每個子塊進一步生成更多的自回歸塊。由此產生的架構在不同層次間表現出類分形的自相似模式。
圖 2:我們的分形框架可以逐像素生成高質量圖像。我們展示了通過在自回歸模型中遞歸調用自回歸模型來生成 256×256 圖像的過程。我們還在 GitHub 存儲庫中提供了示例視頻來展示生成過程。
我們在一個具有挑戰性的測試平臺上檢驗了這個分形實例:逐像素圖像生成。直接對像素序列進行建模的現有方法在似然估計和生成質量方面都沒有取得令人滿意的結果(Hawthorne 等人,2022;Yu 等人,2023),因為圖像不體現清晰的順序。盡管困難,但逐像素生成代表了一類更廣泛的重要生成問題:對具有內在結構的非順序數據進行建模,這對于圖像之外的許多數據類型尤其重要,如分子結構、蛋白質和生物神經網絡。
我們提出的分形框架在這個具有挑戰性但重要的任務上表現出強大的性能。它可以逐像素生成原始圖像(圖 2),同時實現準確的似然估計和高質量的生成。我們希望我們的有希望的結果將鼓勵對分形生成模型的設計和應用的進一步研究,最終在生成建模中建立新的范式。
相關工作
2.1 分形
分形是一種幾何結構,其特征是在不同尺度上的自相似性,通常由稱為生成器的遞歸生成規則構建(Mandelbrot,1983)。分形在自然界中廣泛存在,經典例子從宏觀結構如云層、樹枝和雪花,到微觀結構如晶體(Cannon 等人,2000)、染色質(Mirny,2011)和蛋白質(Enright & Leitner,2005)不等。
除了這些更容易識別的分形,許多自然數據也表現出類分形特征。盡管它們不具有嚴格的自相似性,但它們仍然體現出類似的多尺度表示或模式,如圖像(Freeman 等人,1991;Lowe,1999)和生物神經網絡(Bassett 等人,2006;Sporns,2006;Bullmore & Sporns,2009)。從概念上講,我們的分形生成模型自然適用于所有這些具有內在結構和不同尺度自相似性的非順序數據;在本文中,我們通過基于圖像的實例來展示其能力。
由于其遞歸生成規則,分形本質上表現出層次結構,這在概念上與計算機視覺中的層次設計原則相關。然而,計算機視覺中的大多數層次方法并不包含分形構建的基本遞歸或分治范式,也不在其設計中顯示自相似性。層次結構、自相似性和遞歸的獨特組合使我們的分形框架有別于接下來討論的層次方法。
2.2 層次表示
從視覺數據中提取層次金字塔表示長期以來一直是計算機視覺中的重要主題。許多早期的手工設計特征,如可控濾波器、拉普拉斯金字塔和 SIFT,采用尺度空間分析來構建特征金字塔(Burt & Adelson,1987;Freeman 等人,1991;Lowe,1999;2004;Dalal & Triggs,2005)。在神經網絡的背景下,層次設計對于捕獲多尺度信息仍然很重要。例如,SPPNet(He 等人,2015)和 FPN(Lin 等人,2017)使用金字塔特征圖構建多尺度特征層次結構。我們的分形框架也與 Swin Transformer(Liu 等人,2021)相關,它通過關注不同尺度的局部窗口來構建層次特征圖。這些層次表示已被證明在各種圖像理解任務中有效,包括圖像分類、目標檢測和語義分割。
2.3 層次生成模型
層次設計在生成建模中也被廣泛使用。許多最近的方法采用兩階段范式,其中預訓練的標記器將圖像映射到緊湊的潛在空間,然后是對這些潛在代碼的生成模型(van den Oord 等人,2017;Razavi 等人,2019;Esser 等人,2021;Ramesh 等人,2021)。另一個例子,MegaByte(Yu 等人,2023),實現了一個兩尺度模型,具有全局和局部模塊,用于更高效地對長像素序列進行自回歸建模,盡管其性能仍然有限。
另一類研究側重于尺度空間圖像生成。級聯擴散模型(Ramesh 等人,2022;Saharia 等人,2022;Pernias 等人,2023)訓練多個擴散模型,從低分辨率到高分辨率逐步生成圖像。最近,尺度空間自回歸方法(Tian 等人,2024;Tang 等人,2024;Han 等人,2024)使用自回歸 Transformer 一次生成一個尺度的標記。然而,對于這些自回歸方法,在沒有標記器的情況下生成圖像通常成本過高,因為每個尺度的大量標記或像素導致每個尺度內注意力的二次計算成本。
2.4 模塊化神經架構設計
模塊化是計算機科學和深度學習中的基本概念,它將以前復雜的函數分解為簡單的模塊化單元。最早的模塊化神經架構之一是 GoogleNet(Szegedy 等人,2015),它引入了 “inception 模塊” 作為新的組織層次。后來的研究擴展了這一原則,設計了廣泛使用的單元,如殘差塊(He 等人,2016)和 Transformer 塊(Vaswani,2017)。最近,在生成建模領域,MAR(Li 等人,2024)將擴散模型模塊化作為原子構建塊,以對每個連續標記的分布進行建模,從而實現對連續數據的自回歸建模。通過提供更高層次的抽象,模塊化使我們能夠使用現有方法作為構建塊來構建更復雜和高級的神經架構。
在神經架構設計中遞歸應用模塊化單元并整合分形概念的先驅方法是 FractalNet(Larsson 等人,2016),它通過遞歸調用簡單的擴展規則來構建非常深的神經網絡。雖然 FractalNet 與我們遞歸調用模塊化單元以形成分形結構的核心思想相同,但它在兩個關鍵方面與我們的方法不同。首先,FractalNet 使用一小段卷積層作為其模塊化單元,而我們使用整個生成模型,代表不同的模塊化層次。其次,FractalNet 主要設計用于分類任務,因此僅輸出低維對數。相比之下,我們的方法利用分形模式的指數縮放行為來生成大量輸出(例如,數百萬圖像像素),展示了分形啟發設計在分類之外更復雜任務中的潛力。
分形生成模型
分形生成模型的核心思想是從現有的原子生成模塊遞歸構建更高級的生成模型。在本節中,我們首先介紹分形生成模型的高層次動機和直覺。然后,我們使用自回歸模型作為說明性原子模塊,演示如何實例化分形生成模型并將其用于對非常高維的數據分布進行建模。
3.1 動機和直覺
分形是從簡單遞歸規則中產生的復雜模式。在分形幾何中,這些規則通常稱為 “生成器”(Mandelbrot,1983)。使用不同的生成器,分形方法可以構建許多自然模式,如云層、山脈、雪花和樹枝,甚至與更復雜的系統相關,如生物神經網絡的結構(Bassett 等人,2006;Sporns,2006;Bullmore & Sporns,2009)、非線性動力學(Aguirre 等人,2009)和混沌系統(Mandelbrot 等人,2004)。
形式上,分形生成器 g 1 g_1 g1?指定了如何基于前一級生成器的一個輸出 x i x_i xi?為下一級生成器生成一組新數據 x i + 1 {x_{i+1}} xi+1?: x i + 1 = g i ( x i ) {x_{i+1}}=g_i(x_i) xi+1?=gi?(xi?)。例如,如圖 1 所示,生成器可以通過在每個灰色框內遞歸調用類似的生成器來構建分形。
由于每個生成器級別可以從單個輸入產生多個輸出,分形框架可以實現生成輸出的指數增長,而只需要線性數量的遞歸級別。這一特性使其特別適合使用相對較少的生成器級別對高維數據進行建模。
具體而言,我們引入了一種分形生成模型,它使用原子生成模塊作為參數化的分形生成器。通過這種方式,神經網絡直接從數據中 “學習” 遞歸規則。通過將分形輸出的指數增長與神經生成模塊相結合,我們的分形框架實現了對高維非順序數據的建模。接下來,我們演示如何使用自回歸模型作為分形生成器來實例化這個想法。
3.2 作為分形生成器的自回歸模型
在本節中,我們說明如何使用自回歸模型作為分形生成器來構建分形生成模型。我們的目標是對一大組隨機變量 x 1 , ? , x N x_1,\cdots,x_N x1?,?,xN?的聯合分布進行建模,但使用單個自回歸模型直接建模在計算上是不可行的。為了解決這個問題,我們采用分治策略。關鍵的模塊化是將自回歸模型抽象為對概率分布 p ( x ∣ c ) p(x|c) p(x∣c)進行建模的模塊化單元。通過這種模塊化,我們可以在多個下一級自回歸模型的基礎上構建更強大的自回歸模型。
假設每個自回歸模型中的序列長度是一個可管理的常數 k,并且隨機變量的總數 N = k n N=k^n N=kn,其中 n = l o g k ( N ) n=log_k(N) n=logk?(N)表示我們分形框架中的遞歸級別數。然后,分形框架的第一個自回歸級別將聯合分布劃分為 k 個子集,每個子集包含 k n ? 1 k^{n-1} kn?1個變量。形式上,我們將 p ( x 1 , ? , x k n ) p(x_1,\cdots,x_{k^n}) p(x1?,?,xkn?)分解為:
∏ i = 1 k p ( x ( i ? 1 ) ? k n ? 1 + 1 , ? , x i ? k n ? 1 ∣ x 1 , ? , x ( i ? 1 ) ? k n ? 1 ) \prod_{i=1}^{k} p(x_{(i-1)·k^{n-1}+1},\cdots,x_{i·k^{n-1}} | x_1,\cdots,x_{(i-1)·k^{n-1}}) ∏i=1k?p(x(i?1)?kn?1+1?,?,xi?kn?1?∣x1?,?,x(i?1)?kn?1?)
然后,每個具有 k n ? 1 k^{n-1} kn?1個變量的條件分布 p ( ? ∣ ? ) p(\cdots | \cdots) p(?∣?)由第二個遞歸級別的自回歸模型建模,依此類推。通過遞歸調用這種分治過程,我們的分形框架可以使用 n 級自回歸模型有效地處理 k n k^n kn個變量的聯合分布,每個級別處理可管理的序列長度k。
這個遞歸過程代表了一種標準的分治策略。通過遞歸分解聯合分布,我們的分形自回歸架構不僅與單個大型自回歸模型相比顯著降低了計算成本,而且捕獲了數據內部的內在層次結構。
從概念上講,只要數據表現出可以以分治方式組織的結構,就可以在我們的分形框架中自然建模。為了提供更具體的示例,在下一節中,我們實現這種方法來解決逐像素圖像生成這一具有挑戰性的任務。
圖像生成實例
現在,我們介紹分形生成模型的一個具體實現,在逐像素圖像生成這一具有挑戰性的任務上進行實例化。盡管我們在本文中使用圖像生成作為測試平臺,但相同的分治架構可能潛在地適用于其他數據領域。接下來,我們首先討論逐像素圖像生成的挑戰和重要性。
4.1 逐像素圖像生成
逐像素圖像生成在生成建模中仍然是一個重大挑戰,因為原始圖像數據的高維度和復雜性。此任務要求模型能夠高效處理大量像素,同時有效地學習它們之間豐富的結構模式和相互依賴關系。因此,逐像素圖像生成已成為一個具有挑戰性的基準,大多數現有方法在似然估計方面仍然有限,無法生成令人滿意的圖像(Child 等人,2019;Hawthorne 等人,2022;Yu 等人,2023)。
盡管具有挑戰性,但逐像素生成代表了一類更廣泛的重要高維生成問題。這些問題旨在逐個元素生成數據,但與長序列建模的不同之處在于它們通常涉及非順序數據。例如,許多結構,如分子構型、蛋白質和生物神經網絡,不表現出順序架構,但體現非常高維和結構化的數據分布。通過選擇逐像素圖像生成作為我們分形框架的實例,我們的目標不僅是解決計算機視覺中的一個關鍵挑戰,而且是展示我們分形方法在解決更廣泛的對具有內在結構的高維非順序數據進行建模的問題中的潛力。
4.2 架構
如圖 3 所示,每個自回歸模型將前一級生成器的輸出作為輸入,并為下一級生成器產生多個輸出。它還接收一幅圖像(可以是原始圖像的一個補丁),將其分割成補丁,并對它們進行嵌入以形成 Transformer 模型的輸入序列。這些補丁也被饋送到相應的下一級生成器。然后,Transformer 將前一個生成器的輸出作為單獨的標記,放在圖像標記之前。基于這個組合序列,Transformer 為下一級生成器產生多個輸出。
遵循視覺 Transformer 和圖像生成模型的常見實踐(Dosovitskiy 等人,2020;Peebles & Xie,2023),我們將第一個生成器 g 0 g_0 g0?的序列長度設置為 256,將原始圖像分割成 16×16 個補丁。然后,第二級生成器對每個補丁進行建模,并進一步將它們細分為更小的補丁,遞歸地繼續這個過程。為了管理計算成本,我們逐步減少較小補丁的寬度和 Transformer 塊的數量,因為對較小補丁進行建模通常比較大補丁更容易。在最后一級,我們使用非常輕量級的 Transformer 來以自回歸方式對每個像素的 RGB 通道進行建模,并對預測應用 256 路交叉熵損失。不同遞歸級別和分辨率下每個 Transformer 的具體配置和計算成本在表 1 中詳細說明。值得注意的是,通過我們的分形設計,對 256×256 圖像進行建模的計算成本僅為對 64×64 圖像進行建模的兩倍。
表 1:我們的大型模型在不同自回歸級別的模型配置、參數和計算成本。計算成本通過批量大小為 1 的訓練中每次前向傳遞的 GFLOPs 來衡量。值得注意的是,由于分形設計,對 256×256 圖像進行建模的總計算成本僅為對 64×64 圖像進行建模的兩倍。
圖像分辨率 | 64×64×3 | 256×256×3 |
---|---|---|
g1 序列長度 | 256 | 256 |
g2 序列長度 | 16 | 16 |
g3 序列長度 | - | 3 |
g4 序列長度 | - | 3 |
g1 層數 | 32 | 32 |
g2 層數 | 8 | 8 |
g3 層數 | 3 | 4 |
g4 層數 | 1 | - |
g1 隱藏維度 | 1024 | 1024 |
g2 隱藏維度 | 512 | 512 |
g3 隱藏維度 | 128 | 256 |
g4 隱藏維度 | 64 | - |
g1 參數(M) | 403 | 403 |
g2 參數(M) | 25 | 25 |
g3 參數(M) | 0.6 | 3 |
g4 參數(M) | 0.1 | - |
g1 計算量(GFLOPs) | 215 | 215 |
g2 計算量(GFLOPs) | 208 | 208 |
g3 計算量(GFLOPs) | 15 | 419 |
g4 計算量(GFLOPs) | 22 | - |
遵循 Li 等人(2024)的研究,我們的方法支持不同的自回歸設計。在這項工作中,我們主要考慮兩種變體:光柵順序、類似 GPT 的因果 Transformer(AR)和隨機順序、類似 BERT 的雙向 Transformer(MAR)(圖 6)。這兩種設計都遵循下一標記預測的自回歸原則,各有優缺點,我們將在附錄 B 中詳細討論。我們將使用 AR 變體的分形框架命名為 FractalAR,使用 MAR 變體的命名為 FractalMAR。
圖 3:我們的分形方法在逐像素圖像生成上的實例化。在每個分形層級中,自回歸模型接收前一個生成器的輸出,將其與相應的圖像補丁連接,并使用多個 Transformer 塊為下一個生成器生成一組輸出。
4.3 與尺度空間自回歸模型的關系
最近,已經引入了幾種模型,用于自回歸圖像生成中的下一尺度預測(Tian 等人,2024;Tang 等人,2024;Han 等人,2024)。這些尺度空間自回歸模型與我們提出的方法之間的一個主要區別是,它們使用單個自回歸模型按尺度預測標記。相比之下,我們的分形框架采用分治策略,使用生成子模塊遞歸地對原始像素進行建模。另一個關鍵區別在于計算復雜度:尺度空間自回歸模型在生成下一尺度標記時需要對整個下一尺度標記序列進行全注意力,這導致計算復雜度顯著更高。
例如,當生成分辨率為 256×256 的圖像時,在最后一個尺度,尺度空間自回歸模型的每個注意力塊中的注意力矩陣大小為 (256×256)2=4,294,967,296。相比之下,我們的方法在對像素的相互依賴關系進行建模時,對非常小的補丁(4×4)進行注意力,每個補丁的注意力矩陣僅為 (4×4)2=256,從而導致總注意力矩陣大小為 (64×64)×(4×4)2=1,048,576 次操作。這種減少使我們的方法在最高分辨率下的計算效率提高了 4000 倍,從而首次實現了對高分辨率圖像的逐像素建模。
4.4 與長序列建模的關系
大多數以前關于逐像素生成的工作將問題表述為長序列建模,并利用語言建模的方法來解決它(Child 等人,2019;Roy 等人,2021;Ren 等人,2021;Hawthorne 等人,2022;Yu 等人,2023)。然而,許多數據類型的內在結構,包括但不限于圖像,超出了一維序列。與這些方法不同,我們將此類數據視為由多個元素組成的集合(而不是序列),并采用分治策略,用元素更少的較小子集進行遞歸建模。這種方法的動機是觀察到許多此類數據表現出類分形結構:圖像由子圖像組成,分子由子分子組成,生物神經網絡由子網絡組成。因此,設計用于處理此類數據的生成模型應該由本身也是生成模型的子模塊組成。
4.5 實現
我們簡要描述分形圖像生成框架的訓練和生成過程。更多細節和超參數可以在附錄 A 中找到。
訓練:我們通過以廣度優先的方式遍歷分形架構,對原始圖像像素進行端到端的分形模型訓練。在訓練期間,每個自回歸模型接收來自前一個自回歸模型的輸入,并為下一級自回歸模型生成一組輸出作為輸入。這個過程一直持續到最后一級,在那里圖像被表示為像素序列。最后一個自回歸模型使用每個像素的輸出來以自回歸方式預測 RGB 通道。我們對預測的對數幾率計算交叉熵損失(將 RGB 值視為 0 到 255 之間的離散整數),并將此損失反向傳播通過所有級別的自回歸模型,從而對整個分形框架進行端到端的訓練。
生成:我們的分形模型以逐像素的方式生成圖像,遵循深度優先的順序遍歷分形架構,如圖 2 所示。這里我們以 MAR(Li 等人,2024)的隨機順序生成方案為例。第一級自回歸模型捕獲 16×16 圖像補丁之間的相互依賴關系,在每個步驟中,它基于已知的補丁為下一級生成輸出。然后,第二級模型利用這些輸出來對每個 16×16 補丁內的 4×4 補丁之間的相互依賴關系進行建模。同樣,第三級自回歸模型對每個 4×4 補丁內的單個像素之間的相互依賴關系進行建模。最后,最后一級自回歸模型從自回歸預測的 RGB 對數幾率中采樣實際的 RGB 值。
表 2:更多的分形層級以更低的計算成本實現更好的似然估計性能,在無條件 ImageNet 64×64 測試集上測量。NLL 以比特 / 維度報告。g1、g2 和 g3 的網絡配置見表 1。
模型 | g1 序列長度 | g2 序列長度 | g3 序列長度 | 計算量(GFLOPs) | NLL(越低越好) |
---|---|---|---|---|---|
AR,全長 | 12288 | - | - | 29845 | 未提供 |
MAR,全長 | 12288 | - | - | 29845 | 未提供 |
AR,2 層級 | 4096 | 3 | - | 5516 | 3.34 |
MAR,2 層級 | 4096 | 3 | - | 5516 | 3.36 |
FractalAR(3 層級) | 256 | 16 | 3 | 438 | 3.14 |
FractalMAR(3 層級) | 256 | 16 | 3 | 438 | 3.15 |
表 3:與其他基于似然的模型在無條件 ImageNet 64×64 測試集上的比較。NLL 以比特 / 維度報告。FractalAR 和 FractalMAR 均取得了有競爭力的性能。?我們將流匹配視為擴散模型的廣義形式。
模型 | 類型 | NLL(越低越好) |
---|---|---|
iDDPM(Nichol & Dhariwal,2021) | 擴散模型 | 3.53 |
VDM(Kingma 等人,2021) | 擴散模型 | 3.40 |
FM(Lipman 等人,2022) | 擴散模型? | 3.31 |
NFDM(Bartosh 等人,2024) | 擴散模型 | 3.20 |
PixelRNN(van den Oord 等人,2016b) | 自回歸模型 | 3.63 |
PixelCNN(van den Oord 等人,2016a) | 自回歸模型 | 3.57 |
稀疏 Transformer(Child 等人,2019) | 自回歸模型 | 3.44 |
路由 Transformer(Roy 等人,2021) | 自回歸模型 | 3.43 |
Combiner AR(Ren 等人,2021) | 自回歸模型 | 3.42 |
Perceiver AR(Hawthorne 等人,2022) | 自回歸模型 | 3.40 |
MegaByte(Yu 等人,2023) | 自回歸模型 | 3.40 |
FractalAR | 分形模型 | 3.14 |
FractalMAR | 分形模型 | 3.15 |
實驗
我們在 ImageNet 數據集(Deng 等人,2009)上進行了廣泛的實驗,分辨率為 64×64 和 256×256。我們的評估包括無條件和類條件圖像生成,涵蓋了模型的各個方面,如似然估計、保真度、多樣性和生成質量。因此,我們報告了負對數似然(NLL)、弗雷歇初始距離(FID)(Heusel 等人,2017)、初始分數(IS)(Salimans 等人,2016)、精度和召回率(Dhariwal & Nichol,2021)以及可視化結果,以全面評估我們的分形框架。
5.1 似然估計
我們首先在無條件 ImageNet 64×64 生成上評估我們的方法,以評估其似然估計能力。為了檢驗我們分形框架的有效性,我們比較了不同分形層級的似然估計性能,如表 2 所示。使用單個自回歸模型對整個 64×64×3=12,288 像素序列進行建模會導致計算成本過高,使訓練不可行。此外,先對整個像素序列進行建模,然后對 RGB 通道進行建模的兩層分形框架,其計算量是我們三層分形模型的十倍以上。采用更多的分形層級不僅計算效率更高,而且提高了似然估計性能,這可能是因為它更好地捕獲了圖像的內在層次結構。這些結果證明了我們分形框架的效率和有效性。
我們在表 5 中進一步將我們的方法與其他基于似然的模型進行了比較。我們的分形生成模型,使用因果和掩碼自回歸分形生成器進行實例化,均取得了強大的似然性能。特別是,它實現了 3.14 比特 / 維度的負對數似然,顯著優于之前最好的自回歸模型(3.40 比特 / 維度),并與先進的基于擴散的方法保持競爭力。這些發現證明了我們分形框架在逐像素圖像生成這一具有挑戰性的任務上的有效性,突出了其在建模高維非順序數據分布方面的有希望的潛力。
5.2 生成質量
我們還在分辨率為 256×256 的類條件圖像生成這一具有挑戰性的任務上評估了 FractalMAR,使用四個分形層級。我們按照標準實踐報告了包括 FID、初始分數、精度和召回率在內的標準指標,以評估其生成質量,如表 4 所示。具體而言,FractalMAR-H 實現了 6.15 的 FID 和 348.9 的初始分數,平均吞吐量為每圖像 1.29 秒(在單個 Nvidia H100 PCIe GPU 上以批量大小 1,024 評估)。值得注意的是,我們的方法取得了強大的初始分數和精度,表明其能夠生成具有高保真度和細粒度細節的圖像,如圖 4 所示。然而,其 FID 和召回率相對較弱,表明生成的樣本與其他方法相比多樣性較低。我們假設這是由于以逐像素方式對近 200,000 個像素進行建模的重大挑戰。盡管如此,這些結果突出了我們的方法不僅在準確的似然估計方面,而且在生成高質量圖像方面的有效性。
我們進一步觀察到一個有希望的縮放趨勢:將模型大小從 186M 參數增加到 848M 參數,FID 從 11.80 顯著提高到 6.15,召回率從 0.29 提高到 0.46。我們預計參數的進一步縮放可以進一步縮小 FID 和召回率的差距。與依賴標記器的模型不同,我們的方法沒有標記化引入的重建誤差,這表明隨著模型容量的增加,性能可能會無限制地提高。
表 4:ImageNet 256×256 生成的樣本質量評估。FractalMAR 是此表中唯一的逐像素框架。我們還提供了其他像素級生成方法的性能作為參考。
模型類型 | 參數數量 | FID(越低越好) | IS(越高越好) | 精度(越高越好) | 召回率(越高越好) | |
---|---|---|---|---|---|---|
BigGAN-deep | GAN | 160M | 6.95 | 198.2 | 0.87 | 0.28 |
GigaGAN | GAN | 569M | 3.45 | 225.5 | 0.84 | 0.61 |
StyleGAN-XL | GAN | 166M | 2.30 | 265.1 | 0.78 | 0.53 |
ADM | 擴散模型 | 554M | 3.54 | 205.3 | 0.82 | 0.52 |
VDM++ | 擴散模型 | 2B | 4.59 | 186.7 | 0.82 | 0.52 |
Simple 擴散模型 | 擴散模型 | 2B | 2.12 | 267.7 | 0.52 | |
SiD2 | 擴散模型 | - | 1.38 | - | - | |
JetFormer | AR + 流模型 | 2.8B | 6.64 | 0.69 | 0.56 | |
FractalMAR-B | 分形模型 | 186M | 11.80 | 274.3 | 0.78 | 0.29 |
FractalMAR-L | 分形模型 | 438M | 7.30 | 334.9 | 0.79 | 0.44 |
FractalMAR-H | 分形模型 | 848M | 6.15 | 348.9 | 0.81 | 0.46 |
5.3 條件逐像素預測
我們進一步使用圖像編輯中的常規任務來檢驗我們方法的條件逐像素預測性能。圖 5 提供了幾個示例,包括圖像修復、圖像外畫、去裁剪和類條件編輯。如圖所示,我們的方法可以基于未掩碼區域準確預測掩碼像素。此外,它可以有效地從類標簽中捕獲高級語義,并將其反映在預測像素中。類條件編輯示例說明了這一點,其中模型通過以狗的類標簽為條件,將貓的臉替換為狗的臉。這些結果證明了我們的方法在給定已知條件下預測未知數據的有效性。
更廣泛地說,通過逐個元素生成數據,我們的方法提供了一種比擴散模型或在潛在空間中操作的生成模型更易于人類解釋的生成過程。這種可解釋的生成過程不僅使我們能夠更好地理解數據是如何生成的,而且還提供了一種控制和與生成交互的方式。這些能力在視覺內容創建、建筑設計和藥物發現等應用中尤為重要。我們的有希望的結果突出了我們的方法在可控和交互式生成方面的潛力,為這一方向的未來探索鋪平了道路。
討論和結論
我們提出的分形生成模型在逐像素生成這一具有挑戰性的任務上的有效性,為生成模型的設計提供了新的機會。它強調了將復雜數據分布分解為可管理的子問題,并通過將現有生成模型抽象為模塊化單元來解決這些子問題的潛力。我們相信,分形生成模型特別適合對超出一維順序的具有內在結構的數據進行建模。我們希望我們方法的簡單性和有效性將激勵研究社區探索分形生成模型的新穎設計和應用。
更廣泛的影響。我們的主要目標是推進生成模型的基礎研究。與所有生成模型類似,如果我們的方法被濫用以產生虛假信息或放大偏見,可能會有潛在的負面社會后果。然而,這些考慮超出了本文的范圍,因此沒有詳細討論。
A. 實現細節
在這里,我們提供分形生成模型的訓練和生成過程的更多實現細節。
訓練。當使用多個級別的自回歸模型對高分辨率圖像進行建模時,我們發現在自回歸序列中包含一個 “引導像素” 略有幫助。具體而言,模型首先使用前一個生成器的輸出來預測當前輸入圖像的平均像素值。然后,這個平均像素值作為 Transformer 的額外條件。通過這種方式,每個生成器在預測細粒度細節之前以全局上下文開始。我們僅在 ImageNet 256×256 的實驗中應用此 “引導像素”。
由于我們的自回歸模型將圖像分割成補丁,在生成過程中可能導致補丁邊界不一致。為了解決這個問題,我們不僅將當前補丁的輸出提供給下一級生成器,還將周圍四個補丁的輸出提供給它。盡管合并這些額外輸入會略微增加序列長度,但它顯著減少了補丁邊界偽影。
默認情況下,模型使用 AdamW 優化器(Loshchilov & Hutter,2019)訓練 800 個 epoch(FractalMAR-H 模型訓練 600 個 epoch)。AdamW 的權重衰減和動量分別為 0.05 和 (0.9, 0.95)。我們對 ImageNet 64×64 使用批量大小 2048,對 ImageNet 256×256 使用批量大小 1024,基礎學習率 (lr) 為 5e-5(按批量大小除以 256 進行縮放)。模型采用 40 個 epoch 的線性 lr 預熱 (Goyal 等人,2017),隨后是余弦 lr 調度。
生成。遵循文獻中的常見做法 (Chang 等人,2022; 2023; Li 等人,2023),我們為類條件生成實現了無分類器引導 (CFG) 和溫度縮放。為了便于 CFG (Ho & Salimans,2022),在訓練期間,10% 的樣本中類條件被替換為虛擬類標記。在推理時,模型同時使用給定的類標記和虛擬標記運行,為每個像素通道生成兩組對數幾率 l c l_c lc?和 l u l_u lu?。然后根據以下公式調整預測的對數幾率: l = l u + ω ? ( l c ? l u ) l = l_u + \omega \cdot (l_c - l_u) l=lu?+ω?(lc??lu?),其中 ω \omega ω是引導尺度。我們在推理期間對第一級自回歸模型采用線性 CFG 調度,如 (Chang 等人,2023) 中所述。我們對引導尺度和溫度的不同組合進行掃描,以確定每個條件生成模型的最佳設置。
我們還觀察到,當像素值的預測概率非常小時,CFG 可能會遭受數值不穩定性。為了緩解這個問題,我們在應用 CFG 之前對條件對數幾率應用閾值為 0.0001 的頂部 - P 采樣。
B. 附加結果
B.1 類條件 ImageNet 64×64
我們在 ImageNet 64×64 上評估類條件圖像生成,按照標準實踐報告 FID。與 PixelCNN (van den Oord 等人,2016a) 一致,我們發現類條件對 NLL 的影響可以忽略不計,但顯著提高了視覺質量和 FID。結果表明,我們的分形生成模型可以實現與經典生成模型相當的性能。
B.2 AR 和 MAR 變體比較
我們還比較了 AR 和 MAR 變體的性能,其結構如圖 6 所示。AR 變體利用鍵值緩存來加速生成,而 MAR 變體采用雙向注意力,更自然地與圖像建模保持一致,并支持多個補丁的并行預測,從而提高計算效率。如表所示,我們的兩個模型都取得了良好的性能,總體而言 FractalMAR 優于 FractalAR,如 (Li 等人,2024) 中所示。因此,我們選擇在 ImageNet 256×256 的條件圖像合成中使用 MAR 變體。
表 5:與經典生成模型在條件 ImageNet 64×64 上的比較
模型 | 類型 | FID(越低越好) |
---|---|---|
iDDPM(Nichol & Dhariwal,2021) | 擴散模型 | 2.92 |
StyleGAN-XL (Sauer 等人,2022) | GAN | 1.51 |
一致性模型 (Song 等人,2023) | 一致性模型 | 4.70 |
MAR (Li 等人,2024) | AR + 擴散模型 | 2.93 |
FractalAR | 分形模型 | 5.30 |
FractalMAR | 分形模型 | 2.72 |
B.3 像素建模
我們還研究了不同的像素建模順序如何影響性能。我們實驗了三種自回歸順序:RGB、GRB 和 BGR,以及將 RGB 通道轉換為 YCbCr 顏色空間。結果總結在表 6 中。我們發現,雖然所有順序都取得了相似的負對數似然值,但 FID 在自回歸順序之間略有不同(請注意,YCbCr 空間中的 NLL 與 RGB 空間中的不可比)。這種變化可能是因為,類似于人類視覺,用于計算 FID 的 Inception 模型比藍色通道更重視紅色和綠色通道 (Mustafi 等人,2009)。盡管如此,自回歸順序的選擇不會導致顯著的性能差異,證明了我們方法的魯棒性。
表 6:每個像素內通道建模的不同順序會略微影響生成性能。所有模型在 ImageNet 64×64 上訓練 400 個 epoch。
順序 | NLL(越低越好) | FID(越低越好) |
---|---|---|
Y→Cb→Cr | 未提供 | 3.55 |
B→R→G | 3.17 | 3.32 |
G→R→B | 3.17 | 3.14 |
R→G→B | 3.17 | 3.15 |
B.4 附加定性結果
我們在圖 7 中進一步提供了 ImageNet 256×256 上的附加條件生成結果,在圖 8 中提供了附加的條件逐像素預測結果。
圖 7:FractalMAR-H 在 ImageNet 256×256 上的附加逐像素生成結果
圖 8:附加的條件逐像素預測結果,包括圖像修復、圖像外畫和去裁剪。