新智元報(bào)道 【新智元導(dǎo)讀】就在剛剛,號稱是「開源版Midjourney」的Stable Diffusion XL 0.9的技術(shù)報(bào)告,新鮮出爐。「加強(qiáng)版」Stable Diffusion最新技術(shù)報(bào)告出爐了! 報(bào)告地址: 在4月開啟公測后,Stable Diffusion XL受到不少人的青睞,號稱「開源版的Midjourney」。 在畫手、寫字等細(xì)節(jié)上,SDXL能夠全局把控,最重要的是不用超長prompt就可實(shí)現(xiàn)。 不僅如此,比起需要氪金的Midjourney,SDXL 0.9可以免費(fèi)體驗(yàn)! 有趣的是,研究團(tuán)隊(duì)在最后的附錄中,竟然感謝了「ChatGPT提供的寫作幫助」。 「小勝」Midjourney 那么,與Midjourney相比,SDXL究竟有多能打? 報(bào)告中,研究人員從每個(gè)類別中隨機(jī)選擇了5個(gè)提示,并針對每個(gè)提示使用Midjourney(v5.1,種子設(shè)定為2)和SDXL生成了四張1024×1024的圖像。 然后將這些圖像提交給AWS GroundTruth任務(wù)組,該任務(wù)組根據(jù)遵循提示進(jìn)行投票。 總體而言,在遵循提示方面,SDXL略優(yōu)于Midjourney。 來自17,153個(gè)用戶的反饋 對比涵蓋了PartiPrompts(P2)基準(zhǔn)測試中的所有「類別」和「挑戰(zhàn)」。 值得注意的是,SDXL在54.9%的情況下優(yōu)于Midjourney V5.1。 初步測試表明,最近發(fā)布的Midjourney V5.2在理解提示方面反而有所降低。不過,生成多個(gè)提示的繁瑣過程妨礙了進(jìn)行更廣泛測試的速度。 P2基準(zhǔn)中的每個(gè)提示都按照類別和挑戰(zhàn)進(jìn)行了組織,每個(gè)類別和挑戰(zhàn)都專注于生成過程的不同難點(diǎn)。 如下展示了P2基準(zhǔn)中每個(gè)類別(圖10)和挑戰(zhàn)(圖11)的比較結(jié)果。 在6個(gè)類別中的4個(gè),SDXL表現(xiàn)優(yōu)于Midjourney,在10個(gè)挑戰(zhàn)中的7個(gè),兩個(gè)模型之間沒有顯著差異,或者SDXL表現(xiàn)優(yōu)于Midjourney。 大家也可以來猜猜看,下面這組圖中,哪些是SDXL生成的,哪些是Midjourney生成的。 (答案會在下文中揭曉) SDXL:開源最強(qiáng)文生圖 去年,號稱最強(qiáng)文生圖模型Stable Diffusion開源,點(diǎn)燃了全球生成式AI的火把。 比起OpenAI的DALL-E,Stable Diffusion讓人們能夠在消費(fèi)級顯卡上實(shí)現(xiàn)文生圖效果。 Stable Diffusion是一種潛在的文本到圖像的擴(kuò)散模型(DM) ,應(yīng)用非常廣泛。 近來基于功能磁共振成像fMRI重建大腦圖像的研究,以及音樂生成的研究都是基于DM展開的。 而這個(gè)爆火工具背后的初創(chuàng)公司Stability AI,在今年4月再次推出, Stable Diffusion改進(jìn)版本——SDXL。 根據(jù)用戶研究,SDXL的性能始終超過Stable Diffusion以前所有的版本,比如SD 1.5 、SD2.1。 報(bào)告中,研究人員提出了導(dǎo)致這種性能提升的設(shè)計(jì)選擇,包括: 1)與以前的Stable Diffusion模型相比,UNet主干架構(gòu)增加了3倍; 2)兩種簡單而有效的附加調(diào)節(jié)技術(shù),不需要任何形式的額外監(jiān)督; 3)一個(gè)單獨(dú)的基于擴(kuò)散的細(xì)化模型,該模型對SDXL產(chǎn)生的潛在信號采用去噪處理 ,以提高樣本的視覺質(zhì)量。 改善Stable Diffusion 研究人員對Stable Diffusion架構(gòu)進(jìn)行了改進(jìn)。這些都是模塊化的,可以單獨(dú)使用,或一起使用來擴(kuò)展任何模型。 報(bào)告稱,盡管以下策略是作為潛在擴(kuò)散模型的擴(kuò)展開展的 ,但其中大多數(shù)也適用于像素空間的對應(yīng)物。 當(dāng)前,DM已被證明是圖像合成的強(qiáng)大生成模型,卷積UNet架構(gòu)成為基于擴(kuò)散的圖像合成的主導(dǎo)架構(gòu)。 隨著DM發(fā)展,底層架構(gòu)也在不斷演進(jìn):從增加自注意力和改進(jìn)升級層,到文本圖像合成的交叉注意力,再到純粹基于Transformer架構(gòu)。 在Stable Diffusion不斷改進(jìn)中,研究人員也在遵循這一趨勢,將大部分Transformer計(jì)算轉(zhuǎn)移到UNet中較低級的特征中。 特別是,與原來的SD架構(gòu)相比,研究人員在UNet中使用了不同的Transformer塊異構(gòu)分布。 為了提高效率,并在最高特征級別中省略了Transformer塊,在較低級別中使用2個(gè)和10個(gè)塊,還在UNet 中完全刪除了最低級別(8倍下采樣),如下圖所示。 SDXL與Stable Diffusion不同版本模型的比較 研究人員選擇了一個(gè)更強(qiáng)大的預(yù)訓(xùn)練文本編碼器,用于文本調(diào)節(jié)。 具體來說,將OpenCLIP ViT-bigG與CLIP ViT-L結(jié)合使用,這里沿著通道軸連接倒數(shù)第二個(gè)文本編碼器輸出。 除了使用交叉注意層來約束模型的文本輸入之外,研究人員還遵循 ,并且OpenCLIP模型的混合嵌入文本上附加約束模型。 由此,這些因素導(dǎo)致了UNet中的模型參數(shù)大小為2.6B,文本編碼器總參數(shù)為817M。 微調(diào) 潛在擴(kuò)散模型(LDM)最大的缺點(diǎn)是,由于它是兩階段架構(gòu),訓(xùn)練一個(gè)模型需要最小的圖像大小。 解決這個(gè)問題主要有2個(gè)方法,要么丟棄低于某個(gè)最小分辨率的訓(xùn)練圖像,(SD 1.4/1.5丟棄所有低于512像素的圖像)要么選擇超小的高級圖像。 然而,第一種方法會導(dǎo)致可能導(dǎo)致大量的訓(xùn)練數(shù)據(jù)被丟棄,圖像性能會損失。研究人員為SDXL預(yù)先訓(xùn)練數(shù)據(jù)集做了一個(gè)可視化效果。 對于特殊的數(shù)據(jù)選擇,丟棄低于256×256像素預(yù)訓(xùn)練分辨率的所有樣本,將導(dǎo)致39%數(shù)據(jù)丟失。 而第二種方法,通常會帶來升級的偽影,這些偽影可能會泄露到最終的模型輸出中,導(dǎo)致樣本模糊。 對此,研究人員建議將UNet模型以原始分辨率為條件。這在訓(xùn)練期間非常容易獲得。 特別是,提供了原始圖像的高度和寬度作為模型的附加條件。 每個(gè)組件都使用傅里葉特征編碼獨(dú)立嵌入,并連接成一個(gè)向量,研究團(tuán)隊(duì)通過添加到時(shí)間步長嵌入中來反饋到模型中。 在推斷時(shí),用戶可以通過這種尺寸調(diào)節(jié)來設(shè)置圖像所需的直觀分辨率。顯然 ,模型已經(jīng)學(xué)會將條件與分辨率相關(guān)的圖像特性。 如圖,研究人員顯示了從SDXL中用相同的隨機(jī)種子抽取4個(gè)樣本,并改變大小調(diào)節(jié)。當(dāng)調(diào)節(jié)較大的圖像尺寸時(shí),圖像質(zhì)量明顯提高。 如下是SDXL的輸出,與SD以前版本的比較。對于每個(gè)prompt,研究人員在DDIM采樣器和cfg-scale 8.0的50步的3個(gè)隨機(jī)樣本。 在先前的SD模型中,合成的圖象可能會被不正確地裁剪,比如左邊例子中SD 1.5和SD 2.1生成的貓頭。 而從以下這些對比中不難看出,SDXL基本上已經(jīng)把這個(gè)問題給解決了。 能夠?qū)崿F(xiàn)如此顯著的改善,是因?yàn)檠芯咳藛T提出了一種簡單而有效的條件化方法: 在數(shù)據(jù)加載過程中,統(tǒng)一采樣裁剪坐標(biāo)和(分別指定從左上角沿高度和寬度軸裁剪的像素?cái)?shù)量的整數(shù)),并通過傅里葉特征嵌入將它們作為條件化參數(shù)輸入模型,類似于上述尺寸條件化方法。 然后使用連接嵌入作為附加條件參數(shù)。 在此,研究團(tuán)隊(duì)特別強(qiáng)調(diào),這并不是唯一適用于LDMs的技術(shù),裁剪和尺寸調(diào)節(jié)可以很容易地結(jié)合起來。 在這種情況下,沿著通道維度連接嵌入的特征,然后將其添加到嵌入U(xiǎn)Net的時(shí)間步長中。 如圖,通過調(diào)優(yōu),可以成功地模擬推理過程中的裁剪量。 全面訓(xùn)練 受到以上技術(shù)啟發(fā),研究人員還對模型進(jìn)行微調(diào),以同時(shí)處理多個(gè)縱橫比:將數(shù)據(jù)分割成不同縱橫比的桶形,在這里盡可能保持像素計(jì)數(shù)接近1024×1024,相應(yīng)地以64的倍數(shù)改變高度和寬度。 改進(jìn)的自編碼器 雖然大部分的語義構(gòu)成是由LDM完成的,但研究人員可以通過改進(jìn)自編碼器來改善生成圖像中的局部、高頻細(xì)節(jié)。 為此,研究人員以更大的批處理規(guī)模(256 vs 9)來訓(xùn)練用于原始SD相同的自編碼器結(jié)構(gòu),并以指數(shù)移動平均數(shù)來跟蹤權(quán)重。 由此產(chǎn)生的自編碼器在所有評估的重建指標(biāo)中,都優(yōu)于原始模型。 SDXL誕生了 研究人員在一個(gè)多階段的過程來訓(xùn)練最終的模型SDXL。SDXL使用了自編碼器,和1000步的離散時(shí)間擴(kuò)散計(jì)劃。 首先,在一個(gè)內(nèi)部數(shù)據(jù)集上預(yù)訓(xùn)練一個(gè)基礎(chǔ)模型,其高度和寬度分布顯示為60萬個(gè)優(yōu)化步驟,分辨率為256 × 256,批大小為2048,使用如上所述的尺寸和裁剪調(diào)節(jié)。 然后,研究人員繼續(xù)對512×512的圖像進(jìn)行訓(xùn)練,再進(jìn)行20萬個(gè)優(yōu)化步驟,最后利用全面訓(xùn)練,結(jié)合0.05的偏移噪聲水平,在約1024×1024像素區(qū)域不同縱橫比訓(xùn)練模型。 在細(xì)化階段上,研究人員發(fā)現(xiàn)得到的模型有時(shí)會產(chǎn)生局部質(zhì)量低的樣本,如下圖所示。 為了提高樣本質(zhì)量,他們在相同的潛在空間中訓(xùn)練了一個(gè)獨(dú)立的LDM,專門處理高質(zhì)量、高分辨率的數(shù)據(jù),并采用SDEdit在基本模型樣本上引入去噪處理。 在推理過程中,研究人員使用相同的文本輸入,從基本SDXL渲染潛在信息,并使用細(xì)化模型在潛在空間中直接擴(kuò)散和去噪。 來自SDXL的1024×1024樣本放大,沒有(左)和有(右)細(xì)化模型 值得一提的是,這一步能夠提高背景和人臉的樣本質(zhì)量,并且可選。 局限性 雖然SDXL在性能上已經(jīng)有了不小的提升,但模型依然存在著明顯的局限性。 首先,SDXL還是不能很好地處理比如人手這類的復(fù)雜結(jié)構(gòu)。 研究人員推測,產(chǎn)生這種問題的原因是,由于不同圖像中人手以及其他結(jié)構(gòu)復(fù)雜的物體,存在著很大的差異性,因此模型很難提取出真實(shí)的3D形狀。 其次,SDXL生成的圖像還遠(yuǎn)不及照片那樣逼真。 在一些微妙的細(xì)節(jié)上,比如弱光效果或紋理變化,AI生成的圖像可能會出現(xiàn)缺失或表現(xiàn)得不夠準(zhǔn)確。 此外,當(dāng)圖像中包含有多個(gè)物體或主體時(shí),模型可能會出現(xiàn)所謂的「概念溢出」現(xiàn)象。這個(gè)問題表現(xiàn)為,不同視覺元素的意外合并或重疊。 例如,下圖中的橙色太陽鏡,就是因?yàn)椤赋壬隆钩霈F(xiàn)了概念溢出。 而在圖8中,本應(yīng)該戴著「藍(lán)色帽子」和「紅色手套」的企鵝,在生成的圖像中卻是戴著「藍(lán)色手套」和「紅色帽子」。 與此同時(shí),一直困擾著文生圖模型的「文字生成」部分,依然是個(gè)大問題。 如圖8所示,模型生成的文本有時(shí)可能包含隨機(jī)字符,或者與給定的提示并不一致。 未來的工作 對此,研究人員表示,對于模型的進(jìn)一步改進(jìn),主要會集中在以下幾個(gè)方面: · 單階段生成 目前,團(tuán)隊(duì)使用的是一個(gè)額外的細(xì)化(refinement)模型以兩階段的方式,來生成SDXL的最佳樣本。這樣就需要將兩個(gè)龐大的模型加載到內(nèi)存中,從而降低了可訪問性和采樣速度。 · 文本合成 規(guī)模和更大的文本編碼器(OpenCLIP ViT-bigG)有助于改善文本渲染能力,而引入字節(jié)級tokenizer或?qū)⒛P蛿U(kuò)展到更大規(guī)模,可能會進(jìn)一步提高文本合成的質(zhì)量。 · 架構(gòu) 在探索階段,團(tuán)隊(duì)嘗試了基于Transformer的架構(gòu),如UViT和DiT,但沒有顯著改善。然而,團(tuán)隊(duì)仍然認(rèn)為,通過更仔細(xì)的超參數(shù)研究,最終能夠?qū)崿F(xiàn)更大的基于Transformer的架構(gòu)的擴(kuò)展。 · 蒸餾 雖然原始的Stable Diffusion模型已經(jīng)得到了顯著的改進(jìn),但代價(jià)是增加了推斷的成本(包括顯存和采樣速度)。因此,未來的工作將集中于減少推斷所需的計(jì)算量,并提高采樣速度上。比如通過引導(dǎo)蒸餾、知識蒸餾和漸進(jìn)蒸餾等方法。 目前,最新報(bào)告還只在GitHub上可以查看。Stability AI的CEO稱,馬上會上傳到arxiv上。 |
|