Sora之后,OpenAI Lilian Weng撰文教你从头设计视频生成扩散模型

发布时间:2024-05-18 12:34:15 浏览量:220次

选自Lil’Log

作者:Lilian Weng

机器之心编译

编辑:Panda

过去几年来,扩散模型强大的图像合成能力已经得到充分证明。研究社区现在正在攻克一个更困难的任务:视频生成。近日,安全系统(Safety Systems)负责人 Lilian Weng 写了一篇关于视频生成的扩散模型的博客。

视频生成任务本身是图像合成的超集,因为图像就是单帧视频。视频合成的难度要大得多。

如果你想了解扩散模型在图像生成方面的应用,可参读本文作者 Lilian Weng 之前发布的博文《What are Diffusion Models?》

从头建模视频生成

首先,我们先来看看如何从头设计和训练扩散视频模型,也就是说不使用已经预训练好的图像生成器。

模型架构:3D U-Net 和 DiT

类似于图扩散模型,U-Net 和 Transformer 依然是常用的架构选择。VDM 采用了标准的扩散模型设置。

  • 处理空间:原本和 2D U-net 中一样的 2D 卷积层会被扩展成仅针对空间的 3D 卷积。
  • 处理时间:每个空间注意力模块之后会添加一个时间注意力模块。

图 2:3D U-net 架构。

基础去噪模型使用共享的参数同时在所有帧上执行空间操作,时间层将各帧的激活混合起来,以更好地实现时间一致性。

图 4:Imagen Video 扩散模型中一个空间 - 时间可分离模块的架构。

VDM 还应用了渐进式蒸馏来加速采样,每次蒸馏迭代都可以将所需的采样步骤减少一半。

调整图像模型来生成视频

在扩散视频建模方面,另一种重要方法是通过插入时间层来「扩增」预训练的图扩散模型。

图 6:Make-A-Video 工作流程示意图。

最终的视频推理方案的数学形式

无训练适应

也有可能不使用任何训练就让预训练的图模型输出视频,这多少有点让人惊讶。

如果我们直接简单地随机采样一个隐含代码的序列,然后用解码出来的对应图像构建一段视频,那么无法保证物体和语义在时间上的一致性。

热门课程推荐

热门资讯

请绑定手机号

x
确定