視頻也可以用擴(kuò)散模型來生成了,效果很能打:新SOTA已達(dá)成
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
?擴(kuò)散模型最近是真的有點(diǎn)火。
前有OpenAI用它打敗霸榜多年的GAN,現(xiàn)在谷歌又緊隨其后,提出了一個(gè)視頻擴(kuò)散模型。
和圖像生成一樣,初次嘗試,它居然就表現(xiàn)出了不俗的性能。
比如輸入“fireworks”,就能生成這樣的效果:
滿屏煙花盛放,肉眼看上去簡(jiǎn)直可以說是以假亂真了。
為了讓生成視頻更長、分辨率更高,作者還在這個(gè)擴(kuò)散模型中引入了一種全新的采樣方法。
最終,該模型在無條件視頻生成任務(wù)中達(dá)到全新SOTA。
一起來看。
由圖像擴(kuò)散模型擴(kuò)展而成
這個(gè)擴(kuò)散視頻模型,由標(biāo)準(zhǔn)的圖像擴(kuò)散模型UNet擴(kuò)展而成。
UNet是一種神經(jīng)網(wǎng)絡(luò)架構(gòu),分為空間下采樣通道和上采樣通道,通過殘差連接。
該網(wǎng)絡(luò)由多層2D卷積殘差塊構(gòu)建而成,每個(gè)卷積塊后面跟著一個(gè)空間注意塊。
通過固定幀數(shù)的塊,以及在空間和時(shí)間上分解的3D U-Net,就可以將它擴(kuò)展為視頻模型。
具體來說:
先將每個(gè)二維卷積更改為三維卷積(space-only),比如將3x3卷積更改為1x3x3卷積(第一軸(axis)索引視頻幀,第二軸和第三軸索引空間高度和寬度)。
每個(gè)空間注意塊中的注意力仍然專注于空間維度。
然后,在每個(gè)空間注意塊之后,插入一個(gè)時(shí)間注意塊;該時(shí)間注意塊在第一個(gè)軸上執(zhí)行注意力,并將空間軸視為批處理軸(batch axes)。
眾所周知,像這樣在視頻Transformer中分對(duì)時(shí)空注意力進(jìn)行分解,會(huì)讓計(jì)算效率更高。
由此一來,也就能在視頻和圖像上對(duì)模型進(jìn)行聯(lián)合訓(xùn)練,而這種聯(lián)合訓(xùn)練對(duì)提高樣本質(zhì)量很有幫助。
此外,為了生成更長和更高分辨率的視頻,作者還引入了一種新的調(diào)整技術(shù):梯度法。
它主要修改模型的采樣過程,使用基于梯度的優(yōu)化來改善去噪數(shù)據(jù)的條件損失,將模型自回歸擴(kuò)展到更多的時(shí)間步(timestep)和更高的分辨率。
評(píng)估無條件和文本條件下的生成效果
對(duì)于無條件視頻生成,訓(xùn)練和評(píng)估在現(xiàn)有基準(zhǔn)上進(jìn)行。
該模型最終獲得了最高的FID分?jǐn)?shù)和IS分?jǐn)?shù),大大超越了此前的SOTA模型。
對(duì)于文本條件下的視頻生成,作者在1000萬個(gè)字幕視頻的數(shù)據(jù)集上進(jìn)行了訓(xùn)練,空間分辨率為64x64px;
在此之前,視頻生成模型采用的都是各種GAN、VAE,以及基于流的模型以及自回歸模型。
所以這也是他們首次報(bào)告擴(kuò)散模型根據(jù)文本生成視頻的結(jié)果。
下圖則顯示了無分類器引導(dǎo)對(duì)該模型生成質(zhì)量的影響:與其他非擴(kuò)散模型一致,添加引導(dǎo)會(huì)增加每個(gè)單獨(dú)圖像的保真度(右為該視頻擴(kuò)散模型,可以看到它的圖片更加真實(shí)和清晰)。
△ 圖片為隨機(jī)截取的視頻幀
最后,作者也驗(yàn)證發(fā)現(xiàn),他們所提出的梯度法在生成長視頻時(shí),確實(shí)比此前的方法更具多樣性,也就更能保證生成的樣本與文本達(dá)成一致。
△ 右為梯度法
論文地址:https://arxiv.org/abs/2204.03458
項(xiàng)目主頁:https://video-diffusion.github.io/