文生视频只有OpenAI的Sora,其他的()都是动图。
OpenAI发布了可以生成60s视频的Sora模型。刚刚发布的google的Gemini pro 1.5就一下子变得无人问津了,太尴尬了。
在这之前视频生成的天花板是Runway,支持最多18s视频生成,镜头相对固定,与其说是视频,不如说是动图,且效果较差。至于pika,营销大于实质,更不用说了。
Sora算法原理
OpenAI自从GPT3之后,就不发布他们先进模型的论文原理了,目前大家仍然不知道chatGPT的具体参数量。这次发布的文章,依旧对于原理讳莫如深。
简单来说就是用了transformer+diffusion结构,对视频结构做了全面创新。
首先对视频进行进行处理,变成有时序的向量,transformer非常擅长一个向量预测下一个向量,所以无论是语言还是视频,都需要将原本的信息变为一个高维向量组成的序列。对于GPT而言,这个最小单位是token,对于Sora而言,这个最小单位叫做patch。
区别是,语言中比如词或者词组是天然的token,且天然就是有顺序的一维线性排列。而视频除了有时序,还有长和宽,所以patch化之后是一个由高纬向量组成的三维空间,他们又用一个压缩模型处理成了单维向量序列。
将可视化数据转换为补丁
在高层次上,首先将视频压缩到低维的潜在空间中,从而将视频转换为补丁,19并随后将表示分解为时空斑块。
视频压缩网络
训练了一个网络,可以降低视觉数据的维度。20该网络将原始视频作为输入,并输出在时间和空间上都经过压缩的潜在表示。Sora在这个压缩的潜在空间中接受训练并随后生成视频。我们还训练了一个相应的解码器模型,该模型将生成的潜在对象映射回像素空间。
时空潜伏斑块
给定一个压缩的输入视频,提取一系列时空补丁,这些补丁充当转换器令牌。此方案也适用于图像,因为图像只是单帧视频。我们基于补丁的表示使 Sora 能够对可变分辨率、持续时间和纵横比的视频和图像进行训练。在推理时,我们可以通过在适当大小的网格中排列随机初始化的补丁来控制生成的视频的大小。
用于视频生成的缩放转换器
在这项工作中,他们发现扩散变压器也可以有效地扩展为视频模型。下面,展示了随着训练的进行,具有固定种子和输入的视频样本的比较。随着训练计算的增加,样本质量显著提高。
可变持续时间、分辨率、纵横比
过去的图像和视频生成方法通常将视频调整大小、裁剪或修剪为标准大小,例如,分辨率为 256x256 的 4 秒视频。我们发现,相反,以原生大小对数据进行训练有几个好处。
采样灵活性
Sora 可以对宽屏 1920x1080p 视频、垂直 1080x1920 视频以及介于两者之间的所有视频进行采样。这使 Sora 可以直接以原始纵横比为不同设备创建内容。它还使我们能够在以全分辨率生成之前以较小的尺寸快速制作内容原型 - 所有这些都使用相同的模型。
改进的取景和构图
我们根据经验发现,以原始纵横比对视频进行训练可以改善构图和取景。我们将 Sora 与模型的一个版本进行了比较,该模型将所有训练视频裁剪为正方形,这是训练生成模型时的常见做法。在方形裁剪上训练的模型(左)有时会生成视频,其中主体仅部分可见。相比之下,Sora(右)的视频改善了取景。
语言理解
训练文本到视频生成系统需要大量带有相应文本标题的视频。我们应用了DALL·E 330到视频。我们首先训练一个高度描述性的字幕器模型,然后使用它为训练集中的所有视频生成文本字幕。我们发现,对高度描述性视频字幕的培训可以提高文本保真度以及视频的整体质量。
与DALL·相似E 3,我们还利用 GPT 将简短的用户提示转换为更长的详细字幕,然后发送到视频模型。这使 Sora 能够准确遵循用户提示生成高质量的视频。