鍵.png)
使用這些基本 REST API 最佳實(shí)踐構(gòu)建出色的 API
圖2 一個(gè)經(jīng)典DAE和現(xiàn)代DDM的對(duì)比。(a)一個(gè)在圖像空間上添加和預(yù)測噪聲的經(jīng)典DAE。(b)在潛在空間上操作的最新技術(shù)DDM(例如,LDM[33],DIT[32]),其中噪聲也是在該空間上被添加和預(yù)測的。
我們的解構(gòu)研究從去噪擴(kuò)散模型(DDM)出發(fā),對(duì)其進(jìn)行深入淺出的介紹。我們參照[11,32]對(duì)所使用的DDM進(jìn)行詳細(xì)的闡述。擴(kuò)散過程從一個(gè)干凈的數(shù)據(jù)點(diǎn)(z0)開始,并逐步向其添加噪聲。在指定的時(shí)間步長t,經(jīng)過噪聲處理后的數(shù)據(jù)點(diǎn)zt由以下公式給出:
其中?~N (0, I)是從高斯分布采樣的噪聲圖,γt和σt分別定義了信號(hào)和噪聲的縮放因子。默認(rèn)情況下,γt2+σt2=1[29, 11]。學(xué)習(xí)一個(gè)去噪擴(kuò)散模型,基于時(shí)間步長t,用于去除噪聲。與原始DAE不同,現(xiàn)代DDM通常預(yù)測噪聲。我們最小化一個(gè)損失函數(shù),其形式如下:
其中,net(zt)為網(wǎng)絡(luò)輸出,網(wǎng)絡(luò)針對(duì)給定的噪聲級(jí)別進(jìn)行訓(xùn)練,訓(xùn)練條件為時(shí)間步長t,在生成過程中,訓(xùn)練后的模型迭代應(yīng)用直到達(dá)到清潔信號(hào)z0。DDMs有兩種類型的輸入空間:原始像素空間和由分隔器產(chǎn)生的潛在空間,如圖2。在原始像素空間中,原始圖像x0直接用作z0。而在潛在空間上構(gòu)建的DDMs,則使用預(yù)訓(xùn)練的分隔器f將圖像x0映射到其潛在空間z0=f(x0)。
擴(kuò)散變換(DiT)。我們的研究基于擴(kuò)散變換(DiT),選擇基于Transformer的DDM的原因包括:(i)可與其他自監(jiān)督學(xué)習(xí)基準(zhǔn)公平比較;(ii)DiT的編碼器和解碼器有明確區(qū)分,無需額外評(píng)估編碼器;(iii)DiT訓(xùn)練速度更快,生成質(zhì)量更好。我們使用DiT-Large(DiT-L)變體作為DDM基準(zhǔn),其中編碼器和解碼器的大小與ViT-L相同(24個(gè)塊)。我們評(píng)估編碼器的表示質(zhì)量(線性探針精度),包含12個(gè)塊,稱為“1/2 L”(一半大)。
分詞器。分詞器DiT是一種隱式擴(kuò)散模型(LDM),使用VQGAN分詞器。VQGAN分詞器將輸入圖像的256×256×3轉(zhuǎn)換為32×32×4的隱式映射,步長為8。
開始基準(zhǔn)線。默認(rèn)情況下,我們在ImageNet上使用分辨率為256×256像素的圖像進(jìn)行模型訓(xùn)練,訓(xùn)練周期為400輪。具體實(shí)現(xiàn)細(xì)節(jié)詳見第A節(jié)。我們的DiT基準(zhǔn)結(jié)果在表1中有所報(bào)告。使用DiT-L,我們發(fā)現(xiàn)其12L編碼器的線性探針精度為57.5%。該模型的生成質(zhì)量(FID-50K)為11.6,這是我們研究的起點(diǎn)。盡管實(shí)現(xiàn)細(xì)節(jié)有所不同,但我們的起點(diǎn)與最近的研究(更具體地說,DDAE)在概念上是相符的,該研究評(píng)估了在線性探針協(xié)議下的現(xiàn)成DDMs。
表1 用于自監(jiān)督學(xué)習(xí)的重新定向DDM。我們從DiT[32]基準(zhǔn)開始,并評(píng)估其在ImageNet上的線性探針準(zhǔn)確性。每行基于緊接的前一行的修改。在灰色條目中使用類標(biāo)簽的條目對(duì)于自監(jiān)督學(xué)習(xí)來說不是合法的結(jié)果。請參閱第4.1節(jié)以獲取說明。
我們的解構(gòu)軌跡分為三個(gè)階段。首先,調(diào)整DiT的代際中心設(shè)置,強(qiáng)化自我監(jiān)督學(xué)習(xí)(第4.1節(jié))。其次,分解和簡化分詞器步驟(第4.2節(jié))。最后,逆轉(zhuǎn)DDM驅(qū)動(dòng)設(shè)計(jì),向經(jīng)典DAE靠近(第4.3節(jié))。在4.4節(jié)總結(jié)了解構(gòu)過程的關(guān)鍵經(jīng)驗(yàn)。
雖然DDM在概念上屬于DAE的一種,但其最初是為了圖像生成而開發(fā)的。DDM中的設(shè)計(jì)大多針對(duì)生成任務(wù),部分設(shè)計(jì)不適合自監(jiān)督學(xué)習(xí)(如涉及類別標(biāo)簽的情況)。若不考慮視覺質(zhì)量,其他一些設(shè)計(jì)也不再必要。因此,本節(jié)將調(diào)整DDM基準(zhǔn)以適應(yīng)自監(jiān)督學(xué)習(xí)的目的,總結(jié)在表1中。
去除類別條件。在自監(jiān)督學(xué)習(xí)研究中,高質(zhì)量的DDM通常在類別標(biāo)簽上進(jìn)行訓(xùn)練,以提高生成質(zhì)量。然而,在我們的研究中,使用類別標(biāo)簽是非法的。因此,我們首先在我們的基準(zhǔn)中去除類別條件。研究發(fā)現(xiàn),去除類條件化后,線性探針精度從57.5%提高到62.1%,盡管生成質(zhì)量受到很大影響(FID從11.6到34.2)。這可能是因?yàn)橹苯訉?duì)模型進(jìn)行類標(biāo)簽條件化會(huì)減少模型對(duì)編碼類標(biāo)簽相關(guān)信息的需求。去除類條件化可以迫使模型學(xué)習(xí)更多的語義。
解構(gòu)VQGAN。我們的基準(zhǔn)中使用的VQGAN tokenizer是由LDM提出的,并由DiT繼承。它使用多種損失項(xiàng)進(jìn)行訓(xùn)練,包括自動(dòng)編碼重構(gòu)損失、KL散度正則化損失、基于ImageNet分類訓(xùn)練的監(jiān)督VGG網(wǎng)絡(luò)的感知損失以及帶有判別器的對(duì)抗性損失。我們通過刪除感知損失訓(xùn)練了另一個(gè)標(biāo)記器,該標(biāo)記器的線性探測精度從62.5%顯著降低到58.4%。這一比較表明,使用感知損失訓(xùn)練的標(biāo)記器本身提供了語義表示。我們還注意到,去除任何一種損失都會(huì)對(duì)生成質(zhì)量造成損害。因此,我們進(jìn)一步訓(xùn)練下一代VQGAN tokenizer以進(jìn)一步消除對(duì)抗損失,并略微提高了線性探測準(zhǔn)確率。總的來說,我們的tokenizer基本上是一個(gè)VAE。
替換噪聲圖譜。在生成任務(wù)中,我們希望將噪聲圖譜轉(zhuǎn)化為圖像。原始的噪聲圖譜在嘈雜圖像上花費(fèi)大量時(shí)間(圖3),但若模型非生成導(dǎo)向則此為不必要。為自我監(jiān)督學(xué)習(xí)目的,我們研究了簡化噪聲時(shí)間表,使γt2在1>γt2≥0的范圍內(nèi)線性下降(圖3)。這使模型能更多地在清晰圖像上投入能力。此改動(dòng)顯著提升線性探測準(zhǔn)確性,從59.0%提高至63.4%(表1),顯示原始時(shí)間表過于關(guān)注嘈雜區(qū)。然而,此改變也損害生成能力,導(dǎo)致FID為93.2。
圖3 噪聲調(diào)度。原始調(diào)度[23, 32],它通過線性調(diào)度β來設(shè)置γt 2=Πt s=1(1?βs),在非常嘈雜的圖像(小γ)上花費(fèi)很多時(shí)間步驟。相反,我們使用一個(gè)簡單的調(diào)度,它在γ 2上是線性的,這提供了不太嘈雜的圖像。
總的來說,表1中的結(jié)果揭示了自監(jiān)督學(xué)習(xí)性能與生成質(zhì)量之間沒有相關(guān)性。DDM的表示能力不一定是其生成能力的結(jié)果。
接下來,我們將通過實(shí)質(zhì)性的簡化來解構(gòu)VAE的分詞器。我們將自動(dòng)編碼器作為分詞器,比較以下四種變體:
x是VAE的輸入圖像。第一項(xiàng)為重構(gòu)損失,第二項(xiàng)為f(x)的潛在分布與單位高斯分布之間的Kullback-Leibler散度。
這里x表示一個(gè)被展平為D維向量的補(bǔ)丁。U和V是d×D的矩陣,其中d是潛在空間的維度。補(bǔ)丁大小設(shè)置為16×16像素。
這個(gè)分詞器本質(zhì)上是補(bǔ)丁的自動(dòng)編碼器(AE),其編碼器和解碼器都是線性投影。
其中V滿足VVT=I(d×d單位矩陣)。PCA基可以通過特征分解大量隨機(jī)采樣的補(bǔ)丁來簡單計(jì)算,無需基于梯度的訓(xùn)練。由于補(bǔ)丁的使用非常簡單,對(duì)于這三個(gè)補(bǔ)丁式分詞器,我們可以可視化它們在補(bǔ)丁空間中的濾波器(圖4)。
圖4 補(bǔ)丁式分詞器的可視化。每個(gè)濾波器對(duì)應(yīng)線性投影矩陣V的一行(d×D),為了可視化將其重塑為16×16×3。這里的d=16。
表2總結(jié)了使用這四種分詞器變體對(duì)DiT的線性探測精度。我們展示了與“每個(gè)標(biāo)記”的潛在維度相關(guān)的結(jié)果。我們得出以下觀察結(jié)果。表2 線性探針精度與潛在維度。使用DiT模型,我們研究了四種變體的令牌化器來計(jì)算潛在空間。我們改變潛在空間的維度d(每個(gè)令牌)。該表通過上面的圖表可視化。四種變體令牌化器的趨勢相似,盡管它們在架構(gòu)和損失函數(shù)方面存在差異。“conv.VAE”的63.4%條目與表1最后一行的條目相同。
標(biāo)記器的隱含維度對(duì)于DDM在自監(jiān)督學(xué)習(xí)中發(fā)揮良好的作用至關(guān)重要。
如表2所示,四種分詞器變體雖有架構(gòu)和損失函數(shù)的差異,但表現(xiàn)趨勢相似。有趣的是,最優(yōu)維度較低(d=16或32),而每個(gè)補(bǔ)丁的全維度要高得多(768)。令人驚訝的是,卷積變分自編碼器(ConvVAE)既非必要也不利;所有基于補(bǔ)丁的轉(zhuǎn)換器表現(xiàn)相似且優(yōu)于ConvVAE。此外,KL正則化項(xiàng)不必要,因?yàn)锳E和PCA變體表現(xiàn)良好。更令人驚訝的是,PCA tokenizer也表現(xiàn)良好,它不需要基于梯度的訓(xùn)練。使用預(yù)計(jì)算的PCA基,PCA tokenizer類似于圖像預(yù)處理而非網(wǎng)絡(luò)架構(gòu)。其有效性有助于將現(xiàn)代DDM推向經(jīng)典的DAE,我們將在下一節(jié)展示。
高分辨率、基于像素的DDMs對(duì)于自監(jiān)督學(xué)習(xí)來說是不好的。我們考慮了一個(gè)“樸素的分詞器”,它在縮放圖像中提取的補(bǔ)丁上進(jìn)行身份映射,提取的標(biāo)記是扁平向量,由補(bǔ)丁中的所有像素組成。如圖5,在不同圖像大小下,基于像素的標(biāo)記器呈現(xiàn)出類似的趨勢,最優(yōu)維度為d=48,這相當(dāng)于圖像大小為64,補(bǔ)丁大小為4時(shí)的圖像大小。在自監(jiān)督學(xué)習(xí)場景中,分詞器和潛在空間對(duì)于DDM/DAE具有競爭力。傳統(tǒng)DAE在像素空間上應(yīng)用帶有加性高斯噪聲會(huì)導(dǎo)致結(jié)果不佳。
我們將繼續(xù)解構(gòu)軌跡,以更接近經(jīng)典的DAE問題為目標(biāo)。我們將努力消除PCA基礎(chǔ)上的DDM和經(jīng)典DAE之間的差異,并討論現(xiàn)代設(shè)計(jì)如何影響經(jīng)典DAE。表3將總結(jié)我們的討論結(jié)果。
表3 從補(bǔ)丁式的PCA分詞器開始,逐步轉(zhuǎn)向經(jīng)典的有向無環(huán)圖(DAE)。每行基于緊接的前一行的修改。請參閱第4.3節(jié)以獲取描述。
預(yù)測干凈數(shù)據(jù)(而不是噪聲)。雖然現(xiàn)代DDM通常預(yù)測噪聲ε(參見式(2)),但經(jīng)典DAE預(yù)測的是干凈數(shù)據(jù)。我們通過最小化以下?lián)p失函數(shù)來考察這種差異:
z0是干凈數(shù)據(jù)(在潛在空間中),net(zt)是網(wǎng)絡(luò)預(yù)測。λt是隨時(shí)間變化的損失權(quán)重,用于平衡不同噪聲水平的影響[34]。建議根據(jù)[34]設(shè)置λt = γt2/σt2。我們發(fā)現(xiàn)設(shè)置λt = γt2在我們的場景中效果更好。直觀地說,它只是給清潔數(shù)據(jù)(γt更大)的損失項(xiàng)賦予更多的權(quán)重。修改對(duì)干凈數(shù)據(jù)的預(yù)測(而不是噪聲)導(dǎo)致線性探針精度從65.1%降至62.4%(表3)。這顯示預(yù)測目標(biāo)的選取對(duì)表示質(zhì)量有影響。盡管精度有所下降,我們?nèi)詧?jiān)持這一修改,因?yàn)槲覀兊哪繕?biāo)是邁向經(jīng)典 DAE。
移除輸入縮放。在DDMs中,輸入通常被γt因子縮放,但在經(jīng)典DAE中并不常見。研究移除輸入縮放,即令γt≡1,需要在σt上直接定義一個(gè)噪聲調(diào)度。簡單地設(shè)定σt為從0到√2的線性調(diào)度,并經(jīng)驗(yàn)性地設(shè)定式(3)中的權(quán)重λt。在確定γt≡1之后,達(dá)到了63.6%的精度,這表明按γt縮放數(shù)據(jù)在我們的場景中是不必要的。在圖像空間上執(zhí)行逆主成分分析(PCA),通過PCA基將輸入圖像投影到潛在空間,在潛在空間中添加噪聲,并通過逆PCA基將帶噪聲的潛在空間圖像投影回圖像空間。在輸入側(cè)應(yīng)用這種修改具有63.6%的準(zhǔn)確性,進(jìn)一步將其應(yīng)用于輸出側(cè)具有63.9%的準(zhǔn)確性。兩種結(jié)果都表明,使用反PCA在圖像空間中進(jìn)行操作可以獲得與在潛在空間中進(jìn)行操作類似的結(jié)果。
預(yù)測原始圖像。雖然反PCA可以在圖像空間中產(chǎn)生一個(gè)預(yù)測目標(biāo),但這個(gè)目標(biāo)并不是原始圖像,這是因?yàn)镻CA對(duì)于任何降低的維度d來說是一個(gè)有損編碼器。直接預(yù)測原始圖像是一個(gè)更自然的解決方案。引入的“噪聲”包括兩部分:高斯噪聲和PCA重建誤差。我們對(duì)這兩部分的損失賦予不同的權(quán)重。形式上,我們使用原始圖像x0和網(wǎng)絡(luò)預(yù)測net(xt)來計(jì)算投影到主成分分析(PCA)空間的殘差r:r =V(x0?net(xt)),其中V是一個(gè)D×D的矩陣,表示PCA基的完整表示。然后我們最小化以下?lián)p失函數(shù):
i表示向量r的第i維。對(duì)于前d維,權(quán)重wi設(shè)為1;對(duì)于d到D維,權(quán)重wi設(shè)為0.1。這意味著PCA重建誤差的損失在wi中的權(quán)重較低。采用這種方法,線性探查預(yù)測原始圖像的準(zhǔn)確率達(dá)到了64.5%(表3)。該變體在概念上非常簡單:其輸入是在PCA隱空間中添加噪聲的圖像,其預(yù)測是原始清潔圖像(圖1)。
單噪聲水平。我們研究了單噪聲水平變體,發(fā)現(xiàn)噪聲調(diào)度是DDM中擴(kuò)散過程驅(qū)動(dòng)力的一種屬性,但在經(jīng)典DAE中并不必要。我們將噪聲水平設(shè)定為常數(shù),使用單級(jí)噪聲達(dá)到了61.5%的準(zhǔn)確度,相對(duì)于多級(jí)噪聲的對(duì)等物下降了3%。這表明DDM的表示能力主要通過去噪驅(qū)動(dòng)的過程獲得,而不是擴(kuò)散驅(qū)動(dòng)的過程。由于多級(jí)噪聲既有用且概念上簡單,我們將其保留在參賽作品中。
我們對(duì)現(xiàn)代DDM進(jìn)行了分析,提煉出經(jīng)典DAE。在DDM中,我們保留了兩個(gè)核心設(shè)計(jì)概念:一是低維潛在空間中的噪聲添加;二是多級(jí)噪聲。我們基于表3中的信息,創(chuàng)建了名為“潛在去噪自編碼器”的DAE實(shí)例,簡稱l-DAE。
可視化潛在噪聲。l-DAE是另一種形式的DAE,它的目標(biāo)是學(xué)習(xí)消除潛在空間中的噪聲。由于PCA的簡單性,我們能夠輕松地通過逆PCA可視化潛在的噪聲。圖7比較了添加到像素中的噪聲與潛在的噪聲。與像素噪聲不同,潛在噪聲與圖像分辨率的關(guān)系不大。使用PCA作為標(biāo)記器,潛在噪聲的模式主要由補(bǔ)丁大小決定。這可以理解為使用補(bǔ)丁而不是像素來解析圖像,類似于MAE中的做法,其中掩蔽的是補(bǔ)丁而不是單個(gè)像素。
圖7 可視化:像素噪聲 vs. 潛在噪聲。左圖:清潔圖像,256×256像素。中間圖:向像素空間中添加高斯噪聲。右圖:通過使用逆PCA將PCA分詞器生成的潛在噪聲添加到圖像空間中,以可視化潛在噪聲。兩種情況下的σ=√1/3。
去噪結(jié)果。圖8展示了基于l-DAE的去噪結(jié)果示例。我們的方法在噪聲大量存在的情況下也能得出合理預(yù)測,這是由于圖像恢復(fù)的神經(jīng)網(wǎng)絡(luò)研究已深入進(jìn)行。可視化可能幫助我們更好地理解L-DAE如何學(xué)習(xí)良好表示。在潛在空間添加的大量噪聲為模型設(shè)定了高挑戰(zhàn)任務(wù);基于一或幾個(gè)局部噪聲補(bǔ)丁來預(yù)測內(nèi)容不易(甚至對(duì)人類也難);模型被迫學(xué)習(xí)更高層次、更整體的語義以理解底層物體和場景。
圖8 對(duì)ImageNet驗(yàn)證圖像進(jìn)行評(píng)估的l-DAE去噪結(jié)果。這個(gè)去噪問題作為一個(gè)偽任務(wù),鼓勵(lì)網(wǎng)絡(luò)以自我監(jiān)督的方式學(xué)習(xí)有意義的表示。對(duì)于每個(gè)案例,我們展示:(左)清潔圖像;(中)網(wǎng)絡(luò)輸入的噪聲圖像,其中噪聲添加到潛在空間;(右)去噪輸出。
數(shù)據(jù)擴(kuò)充。我們目前所提出的所有模型都沒有進(jìn)行數(shù)據(jù)擴(kuò)充,只使用了圖像的中心裁剪,遵循[11, 32]。我們進(jìn)一步探索了針對(duì)我們的最終l-DAE模型的溫和數(shù)據(jù)擴(kuò)充(隨機(jī)調(diào)整大小的裁剪)。該擴(kuò)充方法有助于提高模型的泛化能力。
這表明,l-DAE的表示學(xué)習(xí)能力與其對(duì)數(shù)據(jù)增強(qiáng)的依賴關(guān)系不大,這與MAE的行為相似,但與對(duì)比學(xué)習(xí)方法的行為完全不同。
訓(xùn)練周期。我們目前所有的實(shí)驗(yàn)都是基于400周期的訓(xùn)練。我們也研究了800周期和1600周期的訓(xùn)練,參考了MAE的研究
MAE在400到800個(gè)epochs之間有顯著增益(4%),而MoCo v3在300到600個(gè)epochs之間增益很?。?.2%)。
模型大小。我們目前所有的模型都是基于DiT-L變體,編碼器和解碼器都是“ViT-1/2 L”(ViT-L的一半深度)。我們訓(xùn)練了不同大小的模型,其中編碼器是ViT-B或ViT-L,解碼器大小與編碼器相同。我們目前的模型都是基于DiT-L變體,其編碼器和解碼器都是“ViT-1/2 L”。在此基礎(chǔ)上,我們還訓(xùn)練了不同大小的模型,其中編碼器是ViT-B或ViT-L,解碼器始終與編碼器大小相同。
我們觀察到模型規(guī)模與良好的縮放行為:從ViT-B到ViT-L的縮放具有10.6%的巨大收益。在MAE中也觀察到了類似的縮放行為[21],從ViT-B到ViT-L的縮放具有7.8%的收益。
與之前的基線進(jìn)行比較。為了對(duì)比MoCo v3和MAE的性能,我們在表4中對(duì)比了這兩種自監(jiān)督學(xué)習(xí)算法。MoCo v3是對(duì)比學(xué)習(xí)算法,MAE則是基于掩碼的算法。實(shí)驗(yàn)結(jié)果顯示,l-DAE相比MAE表現(xiàn)良好,僅出現(xiàn)1.4%(ViT-B)或0.8%(ViT-L)的退化。訓(xùn)練設(shè)置公平,兩者都訓(xùn)練1600個(gè)周期,并使用隨機(jī)裁剪作為數(shù)據(jù)增強(qiáng)。MAE訓(xùn)練效率更高,僅對(duì)未遮罩的補(bǔ)丁操作。盡管我們已經(jīng)大幅縮小MAE與DAE驅(qū)動(dòng)的方法間的準(zhǔn)確性差距,但基于自編碼器的方法(MAE和l-DAE)在這種協(xié)議下仍然無法與對(duì)比學(xué)習(xí)方法相媲美,特別是在模型規(guī)模較小的情況下。我們希望我們的研究能夠引起更多對(duì)基于自編碼器自監(jiān)督學(xué)習(xí)方法的研究的關(guān)注。
本文章轉(zhuǎn)載微信公眾號(hào)@算法進(jìn)階
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)