OpenAI 推出的人工智能功能曾经只存在于科幻小说中。
2022年,Openai 发布了 ChatGPT,展示了先进的语言模型如何实现自然对话。
随后,DALL-E 问世,它利用文字提示生成令人惊叹的合成图像。
现在,他们又推出了 Text-to-Video 模型 Sora,将技术向前推进了一步。这种全新的扩散模式可直接通过文字描述创建逼真的视频。
Sora 可以实现文生视频,图生视频,图+文生视频,视频修改,视频补全等。
从Openai发布的技术报告来看,有以下几点需要关注:
- Sora 架构为扩散模型 + transformer。
- 训练时先用预训练模型把各种类型(大小不一)的视觉数据转换为统一的表示(patch),把提取的时空要素充当 transformer 的 token 进行训练。
虽然 Sora 能根据文字提示制作出无比逼真的视频。人工智能对人物情绪和表情的处理也非常出色。一个视频中的不同镜头也能保持一致。但也存在一些弱点。
- 复杂场景的物理处理,例如饼干吃完后没有咬痕,吹气后蜡烛不会熄灭,玻璃掉落不会碎等。
- 左右方向混淆。
- 不能总是准确地按照相机提示操作。
下面来看下技术报告(中文译文):
视频生成模型作为世界模拟器
我们探索了在视频数据上进行大规模生成模型的训练。具体来说,我们联合在可变持续时间、分辨率和宽高比的视频和图像上训练了文本条件扩散模型。我们利用了一个在视频和图像潜在编码的时空块上操作的 transformer 架构。我们最大的模型 Sora 能够生成一分钟的高保真视频。我们的结果表明,扩展视频生成模型是朝着构建物理世界通用模拟器的有希望的路径。
本技术报告关注以下两个方面:(1) 我们将各
种类型的视觉数据转换为统一表示的方法,以实现大规模生成模型的训练,以及 (2) 对 Sora 的能力和局限性进行定性评估。模型和实现细节未包含在本报告中。 之前的研究已经探讨了使用各种方法对视频数据进行生成建模,包括循环网络、生成对抗网络、自回归变压器和扩散模型。这些工作通常侧重于某一类视觉数据、较短的视频或固定大小的视频。Sora 是一种视觉数据的通用模型------它能够生成持续时间、宽高比和分辨率多样化的视频和图像,最长可达一分钟的高清视频。
将视觉数据转换成 patch
我们受到大型语言模型的启发,这些模型通过在互联网规模的数据上进行训练而获得了通用能力。LLM 范式的成功部分得益于优雅地统一了文本的多种模态------代码、数学和各种自然语言的标记。在这项工作中,我们考虑了生成视觉数据模型如何继承这些好处。而 LLMs具有文本标记,Sora 具有视觉 patch。patch 已被证明是视觉数据模型的有效表示。我们发现,patch 是一种高度可扩展且有效的表示方法,适用于训练不同类型的视频和图像的生成模型。
在高层次上,我们首先将视频压缩成低维潜在空间,然后将表示分解成时空补丁,从而将视频转换为补丁。
视频压缩网络
我们训练了一个降低视觉数据维度的网络。这个网络以原始视频为输入,输出一个在时间和空间上都被压缩的潜在表示。Sora 在这个压缩的潜在空间内进行训练,随后也在其中生成视频。我们还训练了一个相应的解码器模型,将生成的潜变量映射回像素空间。
时空潜在补丁
给定一个压缩的输入视频,我们提取一系列时空补丁,这些补丁充当 transformer 的token。这个方案也适用于图像,因为图像只是单帧的视频。我们基于补丁的表示使得 Sora 能够在不同分辨率、持续时间和宽高比的视频和图像上进行训练。在推理时,我们可以通过在大小适当的网格中排列随机初始化的补丁来控制生成视频的大小。
将 transformer 扩展到视频生成
Sora 是一个扩散模型;给定输入的初始噪声(以及文本提示等条件信息),它被训练为预测原始的"干净"补丁。重要的是,Sora 是一个扩散 transformer。transformer 在多个领域展示了显著的扩展性能,包括语言建模、计算机视觉以及图像生成。
在这项工作中,我们发现扩散变压器在视频模型中也能有效地扩展。在下面,下面,我们展示了在训练过程中,使用固定种子和输入的视频样本的比较。随着训练计算量的增加,样本质量显著提高。
可变持续时间、分辨率、宽高比
过去的图像和视频生成方法通常将视频调整为标准大小,例如,4秒钟的视频,分辨率为256x256。我们发现,与其这样处理,训练原始大小的数据提供了几个好处。
采样灵活性
Sora 可以采样宽屏 1920x1080p 视频、竖屏 1080x1920 视频以及介于两者之间的所有内容。这使得 Sora 可以直接以原生宽高比为不同设备创建内容。它还使我们能够在生成全分辨率之前,快速原型化低分辨率的内容------而且只需使用同一个模型。
改进的构图和组合
我们通过实验发现,在其原始宽高比的视频上进行训练可以提高构图和画面设计的质量。我们将 Sora 与我们的模型的一个版本进行了比较,这个版本模型将所有训练视频裁剪为正方形,这在训练生成模型时是常见做法。在正方形裁剪上训练的模型(左侧)有时会生成主体仅部分可见的视频。相比之下,来自 Sora 的视频(右侧)有了改进的画面设计。
语言理解
训练文本到视频的生成系统需要大量带有相应文本标题的视频。我们将在 DALL·E 3 中引入的重新标题技术应用到视频上。我们首先训练一个高度描述性的标题生成模型,然后使用它为我们训练集中的所有视频产生文本标题。我们发现,在高度描述性的视频标题上进行训练可以提高文本的准确性以及视频的整体质量。与 DALL·E 3 类似,我们还利用 GPT 将简短的用户提示转化为更长的详细标题,然后发送给视频模型。这使得 Sora 能够生成高质量的视频,这些视频能够准确地遵循用户的提示。
使用图像和视频作为 Prompt
我们在上述所有结果和我们的登陆页面上展示的都是文本到视频的样本。但是 Sora 也可以使用其他输入来提示,例如预先存在的图像或视频。这种能力使得 Sora 能够执行各种图像和视频编辑任务------创建完美循环的视频,给静态图像添加动画,将视频向前或向后延伸等等。
把 DALL·E 图像变成动画
Sora 能够生成基于 DALL·E 2 和 DALL·E 3 图像的视频,只需提供图像和提示作为输入。下面我们展示了基于这些图像生成的示例视频。
延长生成的视频
Sora 还能够延长视频,无论是向前还是向后延长。下面是四个视频,它们都是从一个生成的视频片段开始向时间的后方延长。因此,这四个视频的开头各不相同,但最终都会导向相同的结尾。
我们也可以用这个方法扩展一个视频的头和尾让它首尾相连成一个无限循环的视频。
视频到视频编辑
扩散模型已经为从文本提示编辑图像和视频提供了大量方法。下面我们将其中一种方法 SDEdit,应用到 Sora 上。这种技术使得 Sora 能够在零样本情况下转换输入视频的风格和环境。
连接视频
我们还可以使用 Sora 逐渐插值两个输入视频之间,从而在完全不同的主题和场景构图的视频之间创建无缝的过渡。在下面的示例中,中间的视频在左侧和右侧对应视频之间进行插值。
图像生成能力
Sora 也能够生成图像。我们通过将高斯噪声的补丁以一个帧的时间范围排列成空间网格来实现这一点。该模型可以生成不同尺寸的图像,分辨 率高达 2048x2048。
涌现出模拟的能力
我们发现,在大规模训练时,视频模型表现出许多有趣的新兴能力。这些能力使得 Sora 能够模拟来自物理世界的一些人、动物和环境的方面。这些属性是在没有任何明确的归纳偏见的情况下出现的,比如对 3D、物体等------它们纯粹是规模现象。
3D 一致性。Sora 可以生成具有动态摄像机运动的视频。随着摄像机的移动和旋转,人物和场景元素在三维空间中保持一致的移动。
长程连贯性和物体持久性
对于视频生成系统来说,一个重要挑战是在采样长视频时保持时间一致性。我们发现,Sora 通常能够有效地模拟短期和长期依赖关系,尽管并非总是如此。例如,我们的模型可以在人、动物和物体被遮挡或离开画面时仍然保持其持久性。同样地,它可以在一个样本中生成同一个角色的多个镜头,并在整个视频中保持其外观。
与世界进行交互。有时 Sora 可以模拟一些简单方式影响世界状态的动作。例如,一个画家可以在画布上留下持续一段时间的新笔触,或者一个人可以吃掉一个汉堡并留下咬痕。
模拟数字世界
Sora 还能模拟人工过程---一个例子是视频游戏。Sora 可以同时使用基本策略控制 Minecraft中的玩家,同时以高保真度渲染世界及其动态。这些能力可以通过提示 Sora 提到"Minecraft"的标题来零样本激发。
这些能力表明,持续扩展视频模型是发展高能力的物理世界和数字世界模拟器,以及模拟其中的物体、动物和人的有前景的途径。
讨论
目前,Sora 作为模拟器表现出了许多限制。例如,它并不能准确地模拟许多基本交互的物理特性,比如玻璃破碎。其他交互,比如吃食物,并不总是产生正确的物体状态变化。我们在我们的登陆页面上列举了模型的其他常见失败模式------例如,在长时间样本中发展的不一致性或对象的突然出现。
我们相信,Sora 目前的能力证明了持续扩展视频模型是发展能力强大的物理世界和数字世界模拟器,以及模拟其中的物体、动物和人的有前景的途径。