將Transformer用于擴(kuò)散模型,AI 生成視頻達(dá)到照片級(jí)真實(shí)感
近日,一項(xiàng)視頻生成研究收獲了大量贊譽(yù),甚至被一位 X 網(wǎng)友評(píng)價(jià)為「好萊塢的終結(jié)」。
真的有這么好嗎?我們先看下效果:
很明顯,這些視頻不僅幾乎看不到偽影,而且還非常連貫、細(xì)節(jié)滿滿,甚至似乎就算真的在電影大片中加上幾幀,也不會(huì)明顯違和。
這些視頻的作者是來(lái)自斯坦福大學(xué)、谷歌、佐治亞理工學(xué)院的研究者提出的 Window Attention Latent Transformer,即窗口注意力隱 Transformer,簡(jiǎn)稱 W.A.L.T。該方法成功地將 Transformer 架構(gòu)整合到了隱視頻擴(kuò)散模型中。斯坦福大學(xué)的李飛飛教授也是該論文的作者之一。
- 項(xiàng)目網(wǎng)站:https://walt-video-diffusion.github.io/
- 論文地址:https://walt-video-diffusion.github.io/assets/W.A.L.T.pdf
在此之前,Transformer 架構(gòu)已經(jīng)在許多不同領(lǐng)域取得了巨大成功,但圖像和視頻生成式建模領(lǐng)域卻是一個(gè)例外,目前該領(lǐng)域的主導(dǎo)范式是擴(kuò)散模型。
在圖像、視頻生成領(lǐng)域,擴(kuò)散模型已經(jīng)成為主要范式。但是,在所有視頻擴(kuò)散方法中,主導(dǎo)的骨干網(wǎng)絡(luò)是由一系列卷積和自注意力層構(gòu)成的 U-Net 架構(gòu)。人們之所以偏好 U-Net,是因?yàn)?Transformer 中全注意力機(jī)制的內(nèi)存需求會(huì)隨輸入序列長(zhǎng)度而二次方增長(zhǎng)。在處理視頻這樣的高維信號(hào)時(shí),這樣的增長(zhǎng)模式會(huì)讓計(jì)算成本變得非常高。
而隱擴(kuò)散模型(LDM)可在源自自動(dòng)編碼器的更低維隱空間中運(yùn)行,從而降低計(jì)算需求。在這種情況下,一大關(guān)鍵的設(shè)計(jì)選擇是隱空間的類型:空間壓縮與時(shí)空壓縮。
人們往往更喜歡空間壓縮,因?yàn)檫@樣就能使用預(yù)訓(xùn)練的圖像自動(dòng)編碼器和 LDM,而它們使用了大量配對(duì)的圖像 - 文本數(shù)據(jù)集進(jìn)行訓(xùn)練。但是,如果選擇空間壓縮,則會(huì)提升網(wǎng)絡(luò)復(fù)雜度并會(huì)讓 Transformer 難以用作網(wǎng)絡(luò)骨干(由于內(nèi)存限制),尤其是在生成高分辨率視頻時(shí)。另一方面,雖然時(shí)空壓縮可以緩解這些問(wèn)題,但它卻不適合使用配對(duì)的圖像 - 文本數(shù)據(jù)集,而這些數(shù)據(jù)集往往比視頻 - 文本數(shù)據(jù)集更大更多樣化。
W.A.L.T 是一種用于隱視頻擴(kuò)散模型(LVDM)的 Transformer 方法。
該方法由兩階段構(gòu)成。
第一階段,用一個(gè)自動(dòng)編碼器將視頻和圖像映射到一個(gè)統(tǒng)一的低維隱空間。這樣一來(lái),就可以在圖像和視頻數(shù)據(jù)集上聯(lián)合訓(xùn)練單個(gè)生成模型,并顯著降低生成高分辨率視頻的計(jì)算成本。
對(duì)于第二階段,該團(tuán)隊(duì)設(shè)計(jì)了一種用于隱視頻擴(kuò)散模型的新 Transformer 塊,其由自注意力層構(gòu)成,這些自注意力層在非重疊、窗口限制的空間和時(shí)空注意力之間交替。這一設(shè)計(jì)的好處主要有兩個(gè):首先,它使用了局部窗口注意力,這能顯著降低計(jì)算需求。其次,它有助于聯(lián)合訓(xùn)練,其中空間層可以獨(dú)立地處理圖像和視頻幀,而時(shí)空層則用于建模視頻中的時(shí)間關(guān)系。
盡管概念上很簡(jiǎn)單,但這項(xiàng)研究首次在公共基準(zhǔn)上通過(guò)實(shí)驗(yàn)證明 Transformer 在隱視頻擴(kuò)散中具有卓越的生成質(zhì)量和參數(shù)效率。
最后,為了展示新方法的可擴(kuò)展性和效率,該團(tuán)隊(duì)還實(shí)驗(yàn)了高難度的照片級(jí)圖像到視頻生成任務(wù)。他們訓(xùn)練了三個(gè)級(jí)聯(lián)在一起的模型。其中包括一個(gè)基礎(chǔ)隱視頻擴(kuò)散模型和兩個(gè)視頻超分辨率擴(kuò)散模型。最終能以每秒 8 幀的速度生成分辨率為 512×896 的視頻。在 UCF-101 基準(zhǔn)上,這種方法取得了當(dāng)前最佳的零樣本 FVD 分?jǐn)?shù)。
此外,這個(gè)模型還可以用于生成具有一致的 3D 攝像機(jī)運(yùn)動(dòng)的視頻。
W.A.L.T
學(xué)習(xí)視覺(jué) token
在視頻的生成式建模領(lǐng)域,一個(gè)關(guān)鍵的設(shè)計(jì)決策是隱空間表征的選擇。理想情況下,我們希望得到一種共享和統(tǒng)一的壓縮視覺(jué)表征,并且其可同時(shí)用于圖像和視頻的生成式建模。
具體來(lái)說(shuō),給定一個(gè)視頻序列 x,目標(biāo)是學(xué)習(xí)一個(gè)低維表征 z,其以一定的時(shí)間和空間比例執(zhí)行了時(shí)空壓縮。為了得到視頻和靜態(tài)圖像的統(tǒng)一表征,總是需要將視頻的第一幀與其余幀分開編碼。這樣一來(lái),就可以將靜態(tài)圖像當(dāng)作只有一幀的視頻來(lái)處理。
基于這種思路,該團(tuán)隊(duì)的實(shí)際設(shè)計(jì)使用了 MAGVIT-v2 token 化器的因果 3D CNN 編碼器 - 解碼器架構(gòu)。
這一階段之后,模型的輸入就成了一批隱張量,它們表示單個(gè)視頻或堆疊的分立圖像(圖 2)。并且這里的隱表征是實(shí)值的且無(wú)量化的。
學(xué)習(xí)生成圖像和視頻
Patchify(圖塊化)。按照原始 ViT 的設(shè)計(jì),該團(tuán)隊(duì)對(duì)每個(gè)隱含幀分別進(jìn)行圖塊化,做法是將其轉(zhuǎn)換成一個(gè)不重疊圖塊的序列。他們也使用了可學(xué)習(xí)的位置嵌入,即空間和時(shí)間位置嵌入的和。位置嵌入會(huì)被添加到圖塊的線性投影中。注意,對(duì)于圖像而言,只需簡(jiǎn)單地添加對(duì)應(yīng)第一隱含幀的時(shí)間位置嵌入。
窗口注意力。完全由全局自注意力模塊組成的 Transformer 模型的計(jì)算和內(nèi)存成本很高,尤其是對(duì)于視頻任務(wù)。為了效率以及聯(lián)合處理圖像和視頻,該團(tuán)隊(duì)是以窗口方式計(jì)算自注意力,這基于兩種類型的非重疊配置:空間(S)和時(shí)空(ST),參見圖 2。
空間窗口(SW)注意力關(guān)注的是一個(gè)隱含幀內(nèi)的所有 token。SW 建模的是圖像和視頻中的空間關(guān)系。時(shí)空窗口(STW)注意力的范圍是一個(gè) 3D 窗口,建模的是視頻隱含幀之間的時(shí)間關(guān)系。最后,除了絕對(duì)位置嵌入,他們還使用了相對(duì)位置嵌入。
據(jù)介紹,這個(gè)設(shè)計(jì)雖然簡(jiǎn)單,但卻有很高的計(jì)算效率,并且能在圖像和視頻數(shù)據(jù)集上聯(lián)合訓(xùn)練。不同于基于幀級(jí)自動(dòng)編碼器的方法,新方法不會(huì)產(chǎn)生閃動(dòng)的偽影,而這是分開編碼和解碼視頻幀方法的常見問(wèn)題。
條件式生成
為了實(shí)現(xiàn)可控的視頻生成,除了以時(shí)間步驟 t 為條件,擴(kuò)散模型還往往會(huì)使用額外的條件信息 c,比如類別標(biāo)簽、自然語(yǔ)言、過(guò)去幀或低分辨率視頻。在新提出的 Transformer 骨干網(wǎng)絡(luò)中,該團(tuán)隊(duì)整合了三種類型的條件機(jī)制,如下所述:
交叉注意力。除了在窗口 Transformer 塊中使用自注意力層,他們還為文本條件式生成添加了交叉注意力層。當(dāng)只用視頻訓(xùn)練模型時(shí),交叉注意力層使用同樣窗口限制的注意力作為自注意力層,這意味著 S/ST 將具有 SW/STW 交叉注意力層(圖 2)。然而,對(duì)于聯(lián)合訓(xùn)練,則只使用 SW 交叉注意力層。對(duì)于交叉注意力,該團(tuán)隊(duì)的做法是將輸入信號(hào)(查詢)和條件信號(hào) (key, value) 連接起來(lái)。
AdaLN-LoRA。在許多生成式和視覺(jué)合成模型中,自適應(yīng)歸一化層都是重要組件。為了整合自適應(yīng)歸一化層,一種簡(jiǎn)單方法是為每一層 i 包含一個(gè) MLP 層,以對(duì)條件參數(shù)的向量進(jìn)行回歸處理。這些附加 MLP 層的參數(shù)數(shù)量會(huì)隨層的數(shù)量而線性增長(zhǎng),并會(huì)隨模型維度的變化二次增長(zhǎng)。受 LoRA 啟發(fā),研究者提出了一種減少模型參數(shù)的簡(jiǎn)單方案:AdaLN-LoRA。
以自我為條件(Self-conditioning)。除了以外部輸入為條件,迭代式生成算法還能以自己在推理期間生成的樣本為條件。具體來(lái)說(shuō),Chen et al. 在論文《Analog bits: Generating discrete data using diffusion models with self-conditioning》中修改了擴(kuò)散模型的訓(xùn)練過(guò)程,使得模型有一定概率 p_sc 生成一個(gè)樣本,然后再基于這個(gè)初始樣本,使用另一次前向通過(guò)來(lái)優(yōu)化這個(gè)估計(jì)。另有一定概率 1-p_sc 僅完成一次前向通過(guò)。該團(tuán)隊(duì)沿通道維度將該模型估計(jì)與輸入連接到一起,然后發(fā)現(xiàn)這種簡(jiǎn)單技術(shù)與 v-prediction 結(jié)合起來(lái)效果很好。
自回歸生成
為了通過(guò)自回歸預(yù)測(cè)生成長(zhǎng)視頻,該團(tuán)隊(duì)還在幀預(yù)測(cè)任務(wù)上對(duì)模型進(jìn)行了聯(lián)合訓(xùn)練。其實(shí)現(xiàn)方式是在訓(xùn)練過(guò)程中讓模型有一定概率 p_fp 以過(guò)去幀為條件。條件要么是 1 個(gè)隱含幀(圖像到視頻生成),要么是 2 個(gè)隱含幀(視頻預(yù)測(cè))。這種條件是通過(guò)沿有噪聲隱含輸入的通道維度整合進(jìn)模型中。推理過(guò)程中使用的是標(biāo)準(zhǔn)的無(wú)分類器引導(dǎo),并以 c_fp 作為條件信號(hào)。
視頻超分辨率
使用單個(gè)模型生成高分辨率視頻的計(jì)算成本非常高,基本難以實(shí)現(xiàn)。而研究者則參考論文《Cascaded diffusion models for high fidelity image generation》使用一種級(jí)聯(lián)式方法將三個(gè)模型級(jí)聯(lián)起來(lái),它們操作的分辨率越來(lái)越高。
其中基礎(chǔ)模型以 128×128 的分辨率生成視頻,然后再經(jīng)過(guò)兩個(gè)超分辨率階段被上采樣兩次。首先使用一種深度到空間卷積運(yùn)算在空間上對(duì)低分辨率輸入(視頻或圖像)進(jìn)行上采樣。請(qǐng)注意,不同于訓(xùn)練(提供了基本真值低分辨率輸入),推理依靠的是之前階段生成的隱含表征。
為了減少這種差異并能在超分辨率階段更穩(wěn)健地處理在低分辨率階段產(chǎn)生的偽影,該團(tuán)隊(duì)還使用了噪聲條件式增強(qiáng)。
縱橫比微調(diào)。為了簡(jiǎn)化訓(xùn)練和利用具有不同縱橫比的更多數(shù)據(jù)源,他們?cè)诨A(chǔ)階段使用的是方形縱橫比。然后他們又在一個(gè)數(shù)據(jù)子集上對(duì)模型進(jìn)行了微調(diào),通過(guò)位置嵌入插值來(lái)生成縱橫比為 9:16 的視頻。
實(shí)驗(yàn)
研究者在多種任務(wù)上評(píng)估了新提出的方法:以類別為條件的圖像和視頻生成、幀預(yù)測(cè)、基于文本的視頻生成。他們也通過(guò)消融研究探索了不同設(shè)計(jì)選擇的效果。
視覺(jué)生成
視頻生成:在 UCF-101 和 Kinetics-600 兩個(gè)數(shù)據(jù)集上,W.A.L.T 在 FVD 指標(biāo)上優(yōu)于之前的所有方法,參見表 1。
圖像生成:表 2 比較了 W.A.L.T 與其它當(dāng)前最佳方法生成 256×256 分辨率圖像的結(jié)果。新提出的模型的表現(xiàn)優(yōu)于之前的方法,并且不需要專門的調(diào)度、卷積歸納偏差、改進(jìn)的擴(kuò)散損失和無(wú)分類器指導(dǎo)。雖然 VDM++ 的 FID 分?jǐn)?shù)略高一些,但它的模型參數(shù)卻多很多(2B)。
消融研究
為了理解不同設(shè)計(jì)決策的貢獻(xiàn),該團(tuán)隊(duì)也進(jìn)行了消融研究。表 3 給出了在圖塊大小、窗口注意力、自我條件、AdaLN-LoRA 和自動(dòng)編碼器方面的消融研究結(jié)果。
文本到視頻生成
該團(tuán)隊(duì)在文本 - 圖像和文本 - 視頻對(duì)上聯(lián)合訓(xùn)練了 W.A.L.T 的文本到視頻生成能力。他們使用了一個(gè)來(lái)自公共互聯(lián)網(wǎng)和內(nèi)部資源的數(shù)據(jù)集,其中包含約 970M 對(duì)文本 - 圖像和約 89M 對(duì)文本 - 視頻。
基礎(chǔ)模型(3B)的分辨率為 17×128×128,兩個(gè)級(jí)聯(lián)的超分辨率模型則分別為 17×128×224 → 17×256×448 (L, 1.3B, p = 2) 和 17× 256×448→ 17×512×896 (L, 419M, p = 2)。他們也在基礎(chǔ)階段對(duì)縱橫比進(jìn)行了微調(diào),以便以 128×224 的分辨率生成視頻。所有的文本到視頻生成結(jié)果都使用了無(wú)分類器引導(dǎo)方法。
下面是一些生成的視頻示例,更多請(qǐng)?jiān)L問(wèn)項(xiàng)目網(wǎng)站:
文本:A squirrel eating a burger.
文本:A cat riding a ghost rider bike through the desert.
定量評(píng)估
以科學(xué)方式評(píng)估基于文本的視頻生成還依然是一大難題,部分原因是缺乏標(biāo)準(zhǔn)化的訓(xùn)練數(shù)據(jù)集和基準(zhǔn)。到目前為止,研究者的實(shí)驗(yàn)和分析都集中于標(biāo)準(zhǔn)的學(xué)術(shù)基準(zhǔn),它們使用了同樣的訓(xùn)練數(shù)據(jù),以確保比較是公平的對(duì)照。
盡管如此,為了與之前的文本到視頻生成研究比較,該團(tuán)隊(duì)還是報(bào)告了在零樣本評(píng)估設(shè)置下在 UCF-101 數(shù)據(jù)集上的結(jié)果。
可以看到,W.A.L.T 的優(yōu)勢(shì)很明顯。
更多細(xì)節(jié)請(qǐng)參考原論文。