大家好,這里是好評筆記,公主號:Goodnote,專欄文章私信限時Free。本文詳細介紹Meta的視頻生成模型Emu Video,作為Meta發布的第二款視頻生成模型,在視頻生成領域發揮關鍵作用。
🌺優質專欄回顧🌺:
- 機器學習筆記
- 深度學習筆記
- 多模態論文筆記
- AIGC—圖像
文章目錄
- 論文
- 摘要
- 引言
- 相關工作
- 文本到圖像(T2I)擴散模型
- 視頻生成/預測
- 文本到視頻(T2V)生成
- 分解生成
- 方法
- 預備知識
- Emu Video
- 生成步驟
- 圖像條件
- 模型結構
- 零終端信噪比 噪聲調度
- 插值模型
- 實現簡單性
- 穩健的人類評估(JUICE)
- 實現細節
- 架構與初始化
- 高效的多階段多分辨率訓練
- 高質量微調
- 插值模型
- 實驗
- 倫理問題
論文
項目:https://emu-video.metademolab.com/assets/emu_video
論文:https://arxiv.org/pdf/2311.10709
摘要
本文提出Emu Video,這是一種文本到視頻生成模型,將生成過程分解為兩個步驟:
- 先根據文本生成圖像;
- 再基于文本
和
生成的圖像生成視頻。
該模型在性能上超越了RunwayML的Gen2和Pika Labs等商業解決方案。
引言
T2I模型在大規模的圖像文本對上訓練,已經很成功了,可使用視頻文本對進一步拓展文本到視頻(T2V)生成,但視頻生成在質量和多樣性方面仍落后于圖像生成。原因在于:
- 需要對更高維度的時空輸出空間進行建模,且僅以文本提示作為條件;
- 視頻文本數據集通常比圖像文本數據集小一個數量級。
當前視頻生成的主流范式是使用擴散模型一次性生成所有視頻幀。而不是NLP中的自回歸問題不同,自回歸方法在視頻生成中具有挑戰性,因為從擴散模型生成單個幀就需要多次迭代。
Emu Video通過顯式的中間圖像生成步驟,將文本到視頻生成分解為兩個子問題:
- 根據輸入文本提示生成圖像;
- 基于圖像和文本的強條件生成視頻。
直觀地說,給模型一個起始圖像和文本會使視頻生成更容易,因為模型只需要預測圖像未來的演變。
由于視頻文本數據集遠小于圖像文本數據集,使用預訓練的文本到圖像(T2I)模型初始化T2V模型,并凍結其權重。在推理時,這種分解方法能顯式生成圖像,從而保留T2I模型的視覺多樣性、風格和質量。
Emu Video證明了將文本到視頻(T2V)生成過程分解為:先生成圖像,再用生成的圖像和文本生成視頻。可以大幅提高生成質量。
到此,作者確定了他們的關鍵設計決策 —— 改變擴散噪聲調度和采用多階段訓練,從而能夠繞過先前工作中對深度級聯模型的需求,高效生成 512 像素高分辨率的視頻。該模型也可以根據用戶提供的圖像和文本提示生成視頻。
相關工作
文本到圖像(T2I)擴散模型
相比于先前的生成對抗網絡(GAN)或自回歸方法,擴散模型是文本到圖像生成的前沿方法,通過加噪聲和預測加入的噪聲并去除來學習數據分布,生成輸出。
擴散模型去噪可以在像素空間使用,也可以在低維潛在空間使用,本文采用潛在擴散模型進行視頻生成
。
視頻生成/預測
許多先前工作,如掩碼預測、LSTMs、GANs 等通常在有限的領域中進行訓練和評估。它們適用的場景較為狹窄,可能只在特定類型的視頻數據、特定的任務要求或特定的應用場景中表現良好。
本文的研究中,目標是開放集的文本到視頻(T2V)生成
。開放集意味著處理的數據和任務場景更為廣泛和多樣,沒有預先設定的嚴格限制,這與之前這些方法所適用的有限領域形成對比。
文本到視頻(T2V)生成
多數先前工作通過利用T2I模型來解決T2V生成問題:
- 采用無訓練方法,通過在T2I模型中注入運動信息進行零樣本T2V生成;
- 通過微調T2I模型實現單樣本T2V生成。
這些方法生成的視頻質量和多樣性有限。
也有許多工作通過向T2I模型引入時間參數,學習從文本條件到生成視頻的直接映射,來改進T2V生成。如
- Make-A-Video利用預訓練的T2I模型和先驗網絡,在無配對視頻文本數據的情況下訓練T2V生成;
- Imagen Video基于Imagen T2I模型構建級聯擴散模型。
為解決高維時空空間建模的挑戰,部分工作在低維潛在空間訓練T2V擴散模型,但這些方法學習從文本到高維視頻空間的直接映射具有挑戰性。
本文則 采用分解方法來增強條件信號
。
分解生成
與Emu Video在分解方面最相似的工作是CogVideo和Make-A-Video:
- CogVideo基于預訓練的T2I模型,使用自回歸Transformer進行T2V生成,其自回歸性質在訓練和推理階段與Emu Video的顯式圖像條件有根本區別。
- Make-A-Video 利用從共享圖像文本空間中學習到的圖像嵌入作為條件。,
Emu Video直接利用第一幀作為條件,條件更強
。
此外,Make-A-Video從預訓練的T2I模型初始化,但對所有參數進行微調,無法像Emu Video那樣保留T2I模型的視覺質量和多樣性。Stable Video Diffusion是一項與Emu Video同時期的工作,也引入了類似的分解方法進行T2V生成。
Make-A-Video是Meta于2022年發布的模型/論文中:MAKE-A-VIDEO: TEXT-TO-VIDEO GENERATION WITHOUT TEXT-VIDEO DATA
CogVideo是國產的視頻生成模型,之前清華大學和智譜AI一起研發了CogView文本生成圖像模型,CogVideo由清華大學發布的論文:CogVideo: Large-scale Pretraining for Text-to-Video Generation via Transformers
方法
文本到視頻(T2V)生成的目標:構建一個模型,該模型以文本提示 P 作為輸入,生成由 T 個 RGB 幀組成的視頻 V。
近期的一些模型僅使用文本作為條件,一次性直接生成 T 個視頻幀。作者在本論文中認為:
通過文本和圖像共同提供更強的條件能夠提升視頻生成效果
(驗證參見 3.2 節 )。
預備知識
條件擴散模型是一類生成模型,通過迭代對高斯噪聲去噪,根據條件輸入c生成輸出。
在訓練時:
- 將時間步 t ∈ [ 0 , N ] t \in[0, N] t∈[0,N]相關的高斯噪聲 ? t ~ N ( 0 , 1 ) \epsilon_{t} \sim N(0, 1) ?t?~N(0,1)添加到原始輸入信號X上,得到有噪輸入 X t = α t X + 1 ? α t ? t X_{t}=\alpha_{t} X+\sqrt{1-\alpha_{t}} \epsilon_{t} Xt?=αt?X+1?αt???t?,其中 α t \alpha_{t} αt?定義 “噪聲調度”,N是擴散步驟總數。
- 擴散模型通過預測噪聲 ? t \epsilon_{t} ?t?、 x x x或 v t = α t ? t ? 1 ? α t X v_{t}=\alpha_{t} \epsilon_{t}-\sqrt{1-\alpha_{t}} X vt?=αt??t??1?αt??X來對 x t x_{t} xt?進行去噪。時間步t的信噪比(SNR)為 ( α t 1 ? α t ) 2 (\frac{\alpha_{t}}{1-\alpha_{t}})^{2} (1?αt?αt??)2,并隨著 t → N t \to N t→N而降低。
在推理時:
- 從純噪聲/高斯噪聲 X N ~ N ( 0 , 1 ) X_{N} \sim N(0, 1) XN?~N(0,1)開始去噪生成樣本。
對 x t x_{t} xt?去噪的三種預測方式:
- 預測 ? t \epsilon_{t} ?t?(
常用
):- ? t \epsilon_{t} ?t?是在時間步 t t t添加到原始輸入信號 X X X的高斯噪聲 ? t ~ N ( 0 , 1 ) \epsilon_{t}\sim N(0, 1) ?t?~N(0,1)。如果模型能夠準確預測出這個噪聲,那么就可以從含噪輸入 X t = α t X + 1 ? α t ? t X_{t}=\alpha_{t}X +\sqrt{1-\alpha_{t}}\epsilon_{t} Xt?=αt?X+1?αt???t?中減去預測的噪聲,從而達到去噪的目的。
- 預測 x x x:
- 這里的 x x x是指原始輸入信號 X X X。模型直接預測原始信號本身,在得到預測的原始信號 X ^ \hat{X} X^后,就可以將含噪輸入 X t X_{t} Xt?中的噪聲部分去除。在實際操作中,直接預測原始信號可能會比較復雜,因為模型需要學習從含噪信號中還原出原始信號的復雜映射關系。
- 預測 v t v_{t} vt?:
- v t = α t ? t ? 1 ? α t X v_{t}=\alpha_{t}\epsilon_{t}-\sqrt{1 - \alpha_{t}}X vt?=αt??t??1?αt??X是一種組合了噪聲 ? t \epsilon_{t} ?t?和原始信號 X X X的形式。當模型預測出 v t v_{t} vt?為 v ^ t \hat{v}_{t} v^t?時,可以通過一定的數學變換來去除噪聲,恢復原始信號。這種方式綜合考慮了噪聲和原始信號之間的關系,也是一種有效的去噪策略。
Emu Video
圖3描述了分解的文本 - 視頻生成過程。
- 首先根據文本 p p p生成圖像 I I I;
- 然后使用更強的條件,即生成的圖像和文本來生成視頻 V V V。
為了使我們的模型 F \mathcal{F} F以圖像為條件,我們在時間維度上對圖像進行零填充,并將其與一個二進制掩碼連接起來,該掩碼指示哪些幀是零填充的【類似Trandformer的填充遮蔽(Padding Masking)與未來遮蔽(Future Masking)】,以及含噪輸入。
生成步驟
將文本到視頻生成分解為兩個步驟:
- 首先,根據文本提示 p p p 生成第一幀(圖像);
- 然后,利用文本提示 p p p 和圖像條件【下面會介紹圖像條件怎么來的】生成T幀視頻。
這兩個步驟均使用潛在擴散模型 F \mathcal{F} F實現,使用預訓練的文本到圖像模型初始化 F \mathcal{F} F,確保其在初始化時能夠生成圖像。
只需訓練 F \mathcal{F} F解決第二步,即根據文本提示和起始幀/圖像推出視頻。使用視頻文本對訓練 F \mathcal{F} F,通過采樣起始幀/圖像 I I I,讓模型根據文本提示 P P P和圖像 I I I條件預測 T T T幀( T T T幀會被獨立地添加噪聲,以生成含噪輸入 x t x_{t} xt?,而擴散模型的訓練目標就是對這個含噪輸入進行去噪)。
首先通過逐幀應用圖像自動編碼器的編碼器將視頻 v v v轉換到潛在空間 X ∈ R T × C × H × W X \in \mathbb{R}^{T×C×H×W} X∈RT×C×H×W,這會降低空間維度。潛在空間中的數據可以通過自動編碼器的解碼器轉換回像素空間。
圖像條件
通過將起始幀 I I I與噪聲拼接(如上圖的concatenate),為模型提供條件。將 I I I表示為單幀視頻( T = 1 T=1 T=1),并對其進行零填充,得到 T × C × H × W T ×C ×H ×W T×C×H×W張量,同時使用形狀為 T × 1 × H × W T ×1 ×H ×W T×1×H×W的二進制掩碼m,在第一時間位置設置為1表示起始幀位置,其他位置為0。將掩碼m、起始幀I和有噪視頻 x t x_{t} xt?按通道連接作為模型輸入。
與 Make-a-video等模型中基于語義嵌入設定條件的方法不同,Emu Video 的拼接的方式能讓模型利用起始幀 I 的全部信息。基于語義嵌入的方法會在條件設定時丟失部分圖像信息,而 Emu Video 的設計避免了這一問題,為生成高質量視頻提供了更多有效信息。
掩碼 m 用于標記起始幀在序列中的位置,幫助模型識別起始幀,對后續視頻生成過程進行更精準的指導。
模型結構
使用預訓練的T2I模型Emu初始化潛在擴散模型 F \mathcal{F} F,并添加新的可學習時間參數:
- 在每個空間卷積層之后添加一維時間卷積層;
- 在每個空間注意力層之后添加一維時間注意力層 ;
- 原始的空間卷積層和注意力層保持凍結狀態。
在Runway的Gen-1中的時空潛在擴散中也使用了可學習時間參數:
- 在每個殘差塊中的每個 2D 空間卷積之后引入一個1D 時間卷積。
- 在每個空間 2D 空間注意力塊后引入一個時間1D 時間注意力塊。
預訓練的 T2I 模型以文本作為條件,與上一節的圖像條件相結合后,模型 F \mathcal{F} F 同時以文本和圖像作為條件。
Emu是Meta發布的一款T2I模型,論文為:Emu: Enhancing Image Generation Models Using Photogenic Needles in a Haystack
零終端信噪比 噪聲調度
作者發現,先前工作(Emu和SD模型)中使用的擴散噪聲調度存在訓練 - 測試差異,這會阻礙高質量視頻的生成。
在訓練過程中,該噪聲調度會留下一些殘留信號,也就是說,即使在擴散的終端時間步N,信噪比(SNR)仍不為零。當我們從不含真實數據信號的隨機高斯噪聲中采樣時,這會導致擴散模型在測試時無法很好地泛化。由于高分辨率視頻幀在空間和時間上存在冗余像素,其殘留信號更為明顯。
作者通過縮放噪聲調度并將最終的 α N = 0 \alpha_N = 0 αN?=0來解決這個問題,這使得在訓練過程中的時間步為N時(擴散過程的最后一個階段),信噪比也為零。我們發現這個設計決策對于高分辨率視頻的生成至關重要。
這個問題和縮放噪聲調度方法并非本文首創,在之前的:Common diffusion noise schedules and sample steps are flawed也發現了這個問題。【來源于字節跳動】
插值模型
使用與 F \mathcal{F} F結構相同的插值模型 I I I,將低幀率的 T T T幀視頻轉換為高幀率的 T p T_{p} Tp?幀視頻。 輸入的 T T T幀通過零交錯生成 T p T_{p} Tp?幀,并將指示 T T T幀存在的二進制掩碼m連接到有噪輸入。為提高效率,從 F \mathcal{F} F初始化 I I I,并僅針對插值任務訓練 I I I的時間參數。
將低幀率的 T T T幀視頻轉換為高幀率的 T p T_p Tp?幀,能提升視頻流暢度與視覺效果,適應多樣化應用場景,增強模型競爭力,為用戶帶來更好體驗。
實現簡單性
Emu Video在實現方面的簡單且高效:
- 訓練數據與模型結構簡單
- 標準數據集訓練:Emu Video采用標準視頻文本數據集進行訓練,這意味著其訓練數據來源廣泛且具有通用性,不需要特殊定制的數據集,降低了數據準備的難度和成本。
- 無需深度級聯模型:在生成高分辨率視頻時,Emu Video不需要像某些其他方法(如Imagen Video中使用7個模型的深度級聯結構)那樣復雜的模型架構,簡化了模型構建和訓練流程。
- 推理過程
- 圖像與視頻生成:推理時,先運行去除時間層的模型F根據文本提示生成圖像I,再將I和文本提示作為輸入,通過F直接生成高分辨率的T幀視頻,這種推理方式簡潔高效。
- 幀率提升:借助插值模型I可提高視頻幀率,進一步增強視頻的視覺效果,且這一操作融入到了整體的推理流程中。
- 模型初始化與風格保留
- 初始化策略:空間層從預訓練的T2I模型初始化并保持凍結,這樣可以利用T2I模型在大規模圖像文本數據集上學習到的概念和風格多樣性。
- 風格保留優勢:相比Imagen Video需要在圖像和視頻數據上聯合微調以維持風格,Emu Video不需要額外的訓練成本就能保留并運用這些風格來生成圖像I。許多直接的T2V方法,如Make-a-video,雖然也從預訓練T2I模型初始化并凍結空間層,但由于沒有采用基于圖像的分解方法,無法像Emu Video一樣保留T2I模型的質量和多樣性 。
穩健的人類評估(JUICE)
由于自動評估指標不能反映質量的提升,主要使用人類評估來衡量T2V生成性能,從視頻生成質量(Quality,Q)和生成視頻與文本提示的對齊或 “保真度”(Faithfulness,F)兩個正交方面進行評估。提出JUICE評估方案,要求評估者在成對比較視頻生成結果時說明選擇理由,顯著提高了標注者之間的一致性。評估者可選擇像素清晰度、運動平滑度、可識別對象/場景、幀一致性和運動量等理由來評價視頻質量;使用空間文本對齊和時間文本對齊來評價保真度。
實現細節
附錄第 1 節提供完整的實現細節,詳細內容可以參考附錄第 1 節,這里只介紹關鍵細節。
架構與初始化
采用Emu中的文本到圖像 U-Net 架構構建模型,并使用預訓練模型初始化所有空間參數。
預訓練模型使用一個 8 通道、64×64 的潛在向量,經自動編碼器在空間上進行 8 倍下采樣,生成 512px 的方形圖像。
該模型同時使用一個凍結的 T5-XL 和一個凍結的 CLIP 文本編碼器從文本提示中提取特征。
高效的多階段多分辨率訓練
為降低計算復雜度,分兩個階段進行訓練。
- 先在低分辨率下,訓練更簡單的任務,即生成256px、8fps、1s的視頻。
- 然后在期望的高分辨率下訓練,對4fps、2s的視頻進行15K次迭代訓練。
a. 使用同SD一樣的噪聲調度進行256px訓練。
b. 在512px訓練中使用零終端信噪比噪聲調度,擴散訓練步數 N = 1000 N = 1000 N=1000
c. 使用DDIM采樣器進行采樣,采樣步數為250步。
SD中的噪聲調度是:線性調度。
SD 系列文章參考:Stable Diffusion
高質量微調
通過在一小部分高運動和高質量視頻上微調模型,可改善生成視頻的運動效果。從訓練集中自動識別出1600個具有高運動(根據H.264編碼視頻中存儲的運動信號計算)的視頻作為微調子集,并根據美學分數和視頻文本與第一幀的CLIP相似度進行篩選。
插值模型
插值模型I從視頻模型F初始化,輸入8幀,輸出 T p = 37 T_{p} = 37 Tp?=37幀,幀率為16fps。在訓練時使用噪聲增強,在推理時對F的樣本進行噪聲增強。
實驗
參照論文原文
倫理問題
參照論文原文