近日,一项视频生成研究收获了大量赞誉,甚至被一位 X 网友评价为「好莱坞的终结」。
真的有这么好吗?我们先看下效果:
很明显,这些视频不仅几乎看不到伪影,而且还非常连贯、细节满满,甚至似乎就算真的在电影大片中加上几帧,也不会明显违和。
这些视频的作者是来自斯坦福大学、谷歌、佐治亚理工学院的研究者提出的 Window Attention Latent Transformer,即窗口注意力隐 Transformer,简称 W.A.L.T。该方法成功地将 Transformer 架构整合到了隐视频扩散模型中。斯坦福大学的李飞飞教授也是该论文的作者之一。
- 项目网站:https://walt-video-diffusion.github.io/
- 论文地址:https://walt-video-diffusion.github.io/assets/W.A.L.T.pdf
在此之前,Transformer 架构已经在许多不同领域取得了巨大成功,但图像和视频生成式建模领域却是一个例外,目前该领域的主导范式是扩散模型。
在图像、视频生成领域,扩散模型已经成为主要范式。但是,在所有视频扩散方法中,主导的骨干网络是由一系列卷积和自注意力层构成的 U-Net 架构。人们之所以偏好 U-Net,是因为 Transformer 中全注意力机制的内存需求会随输入序列长度而二次方增长。在处理视频这样的高维信号时,这样的增长模式会让计算成本变得非常高。
而隐扩散模型(LDM)可在源自自动编码器的更低维隐空间中运行,从而降低计算需求。在这种情况下,一大关键的设计选择是隐空间的类型:空间压缩与时空压缩。
人们往往更喜欢空间压缩,因为这样就能使用预训练的图像自动编码器和 LDM,而它们使用了大量配对的图像 - 文本数据集进行训练。但是,如果选择空间压缩,则会提升网络复杂度并会让 Transformer 难以用作网络骨干(由于内存限制),尤其是在生成高分辨率视频时。另一方面,虽然时空压缩可以缓解这些问题,但它却不适合使用配对的图像 - 文本数据集,而这些数据集往往比视频 - 文本数据集更大更多样化。
W.A.L.T 是一种用于隐视频扩散模型(LVDM)的 Transformer 方法。
该方法由两阶段构成。
第一阶段,用一个自动编码器将视频和图像映射到一个统一的低维隐空间。这样一来,就可以在图像和视频数据集上联合训练单个生成模型,并显著降低生成高分辨率视频的计算成本。
对于第二阶段,该团队设计了一种用于隐视频扩散模型的新 Transformer 块,其由自注意力层构成,这些自注意力层在非重叠、窗口限制的空间和时空注意力之间交替。这一设计的好处主要有两个:首先,它使用了局部窗口注意力,这能显著降低计算需求。其次,它有助于联合训练,其中空间层可以独立地处理图像和视频帧,而时空层则用于建模视频中的时间关系。
尽管概念上很简单,但这项研究首次在公共基准上通过实验证明 Transformer 在隐视频扩散中具有卓越的生成质量和参数效率。
最后,为了展示新方法的可扩展性和效率,该团队还实验了高难度的照片级图像到视频生成任务。他们训练了三个级联在一起的模型。其中包括一个基础隐视频扩散模型和两个视频超分辨率扩散模型。最终能以每秒 8 帧的速度生成分辨率为 512×896 的视频。在 UCF-101 基准上,这种方法取得了当前最佳的零样本 FVD 分数。
此外,这个模型还可以用于生成具有一致的 3D 摄像机运动的视频。
W.A.L.T
学习视觉 token
在视频的生成式建模领域,一个关键的设计决策是隐空间表征的选择。理想情况下,我们希望得到一种共享和统一的压缩视觉表征,并且其可同时用于图像和视频的生成式建模。
具体来说,给定一个视频序列 x,目标是学习一个低维表征 z,其以一定的时间和空间比例执行了时空压缩。为了得到视频和静态图像的统一表征,总是需要将视频的第一帧与其余帧分开编码。这样一来,就可以将静态图像当作只有一帧的视频来处理。
基于这种思路,该团队的实际设计使用了 MAGVIT-v2 token 化器的因果 3D CNN 编码器 - 解码器架构。
这一阶段之后,模型的输入就成了一批隐张量,它们表示单个视频或堆叠的分立图像(图 2)。并且这里的隐表征是实值的且无量化的。
学习生成图像和视频
Patchify(图块化)。按照原始 ViT 的设计,该团队对每个隐含帧分别进行图块化,做法是将其转换成一个不重叠图块的序列。他们也使用了可学习的位置嵌入,即空间和时间位置嵌入的和。位置嵌入会被添加到图块的线性投影中。注意,对于图像而言,只需简单地添加对应第一隐含帧的时间位置嵌入。
窗口注意力。完全由全局自注意力模块组成的 Transformer 模型的计算和内存成本很高,尤其是对于视频任务。为了效率以及联合处理图像和视频,该团队是以窗口方式计算自注意力,这基于两种类型的非重叠配置:空间(S)和时空(ST),参见图 2。
空间窗口(SW)注意力关注的是一个隐含帧内的所有 token。SW 建模的是图像和视频中的空间关系。时空窗口(STW)注意力的范围是一个 3D 窗口,建模的是视频隐含帧之间的时间关系。最后,除了绝对位置嵌入,他们还使用了相对位置嵌入。
据介绍,这个设计虽然简单,但却有很高的计算效率,并且能在图像和视频数据集上联合训练。不同于基于帧级自动编码器的方法,新方法不会产生闪动的伪影,而这是分开编码和解码视频帧方法的常见问题。
条件式生成
为了实现可控的视频生成,除了以时间步骤 t 为条件,扩散模型还往往会使用额外的条件信息 c,比如类别标签、自然语言、过去帧或低分辨率视频。在新提出的 Transformer 骨干网络中,该团队整合了三种类型的条件机制,如下所述:
交叉注意力。除了在窗口 Transformer 块中使用自注意力层,他们还为文本条件式生成添加了交叉注意力层。当只用视频训练模型时,交叉注意力层使用同样窗口限制的注意力作为自注意力层,这意味着 S/ST 将具有 SW/STW 交叉注意力层(图 2)。然而,对于联合训练,则只使用 SW 交叉注意力层。对于交叉注意力,该团队的做法是将输入信号(查询)和条件信号 (key, value) 连接起来。
AdaLN-LoRA。在许多生成式和视觉合成模型中,自适应归一化层都是重要组件。为了整合自适应归一化层,一种简单方法是为每一层 i 包含一个 MLP 层,以对条件参数的向量进行回归处理。这些附加 MLP 层的参数数量会随层的数量而线性增长,并会随模型维度的变化二次增长。受 LoRA 启发,研究者提出了一种减少模型参数的简单方案:AdaLN-LoRA。
以自我为条件(Self-conditioning)。除了以外部输入为条件,迭代式生成算法还能以自己在推理期间生成的样本为条件。具体来说,Chen et al. 在论文《Analog bits: Generating discrete data using diffusion models with self-conditioning》中修改了扩散模型的训练过程,使得模型有一定概率 p_sc 生成一个样本,然后再基于这个初始样本,使用另一次前向通过来优化这个估计。另有一定概率 1-p_sc 仅完成一次前向通过。该团队沿通道维度将该模型估计与输入连接到一起,然后发现这种简单技术与 v-prediction 结合起来效果很好。
自回归生成
为了通过自回归预测生成长视频,该团队还在帧预测任务上对模型进行了联合训练。其实现方式是在训练过程中让模型有一定概率 p_fp 以过去帧为条件。条件要么是 1 个隐含帧(图像到视频生成),要么是 2 个隐含帧(视频预测)。这种条件是通过沿有噪声隐含输入的通道维度整合进模型中。推理过程中使用的是标准的无分类器引导,并以 c_fp 作为条件信号。
视频超分辨率
使用单个模型生成高分辨率视频的计算成本非常高,基本难以实现。而研究者则参考论文《Cascaded diffusion models for high fidelity image generation》使用一种级联式方法将三个模型级联起来,它们操作的分辨率越来越高。
其中基础模型以 128×128 的分辨率生成视频,然后再经过两个超分辨率阶段被上采样两次。首先使用一种深度到空间卷积运算在空间上对低分辨率输入(视频或图像)进行上采样。请注意,不同于训练(提供了基本真值低分辨率输入),推理依靠的是之前阶段生成的隐含表征。
为了减少这种差异并能在超分辨率阶段更稳健地处理在低分辨率阶段产生的伪影,该团队还使用了噪声条件式增强。
纵横比微调。为了简化训练和利用具有不同纵横比的更多数据源,他们在基础阶段使用的是方形纵横比。然后他们又在一个数据子集上对模型进行了微调,通过位置嵌入插值来生成纵横比为 9:16 的视频。
实验
研究者在多种任务上评估了新提出的方法:以类别为条件的图像和视频生成、帧预测、基于文本的视频生成。他们也通过消融研究探索了不同设计选择的效果。
视觉生成
视频生成:在 UCF-101 和 Kinetics-600 两个数据集上,W.A.L.T 在 FVD 指标上优于之前的所有方法,参见表 1。
图像生成:表 2 比较了 W.A.L.T 与其它当前最佳方法生成 256×256 分辨率图像的结果。新提出的模型的表现优于之前的方法,并且不需要专门的调度、卷积归纳偏差、改进的扩散损失和无分类器指导。虽然 VDM++ 的 FID 分数略高一些,但它的模型参数却多很多(2B)。
消融研究
为了理解不同设计决策的贡献,该团队也进行了消融研究。表 3 给出了在图块大小、窗口注意力、自我条件、AdaLN-LoRA 和自动编码器方面的消融研究结果。
文本到视频生成
该团队在文本 - 图像和文本 - 视频对上联合训练了 W.A.L.T 的文本到视频生成能力。他们使用了一个来自公共互联网和内部资源的数据集,其中包含约 970M 对文本 - 图像和约 89M 对文本 - 视频。
基础模型(3B)的分辨率为 17×128×128,两个级联的超分辨率模型则分别为 17×128×224 → 17×256×448 (L, 1.3B, p = 2) 和 17× 256×448→ 17×512×896 (L, 419M, p = 2)。他们也在基础阶段对纵横比进行了微调,以便以 128×224 的分辨率生成视频。所有的文本到视频生成结果都使用了无分类器引导方法。
下面是一些生成的视频示例,更多请访问项目网站:
文本:A squirrel eating a burger.
文本:A cat riding a ghost rider bike through the desert.
定量评估
以科学方式评估基于文本的视频生成还依然是一大难题,部分原因是缺乏标准化的训练数据集和基准。到目前为止,研究者的实验和分析都集中于标准的学术基准,它们使用了同样的训练数据,以确保比较是公平的对照。
尽管如此,为了与之前的文本到视频生成研究比较,该团队还是报告了在零样本评估设置下在 UCF-101 数据集上的结果。
可以看到,W.A.L.T 的优势很明显。
更多细节请参考原论文。