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