当全球还沉迷在如何用文本生成文本,以及文本生成图片的时候,OpenAI就这么掏出来了一个视频生成模型Sora。有关Sora的具体介绍和效果展示可以看我们昨天的文章《OpenAI Sora问世,通往AGI的又一个ChatGPT时刻!GPT4可能也要被干掉了》。简单来讲,这是一个能够根据文本指令或静态图像生成长达1分钟视频的扩散模型,而且视频中还包含精细复杂的场景、生动的角色表情以及复杂的镜头运动——它做到了目前市面上视频模型做不到的东西。
那么Sora是如何做到的?在昨天的文章中,我们曾第一时间基于仅有的信息给出了一个判断:
简单粗暴的理解,就是语言能力足够强大之后,它带来的泛化能力直接可以学习图像视频数据和它体现出的模式,然后还可以直接用学习来的图像生成模型最能理解的方式,给这些利用了引擎等已有的强大而成熟的视频生成技术的视觉模型模块下指令,最终生成我们看到的逼真而强大的对物理世界体现出“理解”的视频。
而之后OpenAI发布了Sora的技术报告:《Video generation models as world simulators》(视频生成模型作为世界模拟器),其中介绍的技术思路基本印证了我们上面的判断。
接下来我们一起来基于有限但足够信息丰富的技术报告来解读一下Sora背后的技术。
用大语言模型的方法理解视频
Sora的设计灵感来自于大语言模型,最主要的原因是大语言模型有一个核心功能是通过代码将多种文本形式进行了统一。而OpenAI为了训练出Sora,他们的做法也是将各类视觉数据转化为统一表示的方法。
不过在正式了解Sora之前,我们需要先科普一个概念——块(patches)。有点类似于大语言模型中的token,块指的是将图像或视频帧分割成的一系列小块区域。这些块是模型处理和理解原始数据的基本单元。
对于视频生成模型而言,块不仅包含了局部的空间信息,还包含了时间维度上的连续变化信息。模型可以通过学习patches之间的关系来捕捉运动、颜色变化等复杂视觉特征,并基于此重建出新的视频序列。这样的处理方式有助于模型理解和生成视频中的连贯动作和场景变化,从而实现高质量的视频内容生成。
OpenAI又在块的基础上,将其压缩到低维度潜在空间,再将其分解为“时空块”(spacetime patches)。
晕了是不是,别急,一个一个解释。潜在空间是一个3年前出现的概念,是指一个高维数据通过某种数学变换(如编码器或降维技术)后所映射到的低维空间,这个低维空间中的每个点通常对应于原始高维数据的一个潜在表示或抽象特征向量。但是呢,优化强大的扩散模型往往需要消耗数百个GPU日的计算资源,并且由于其序列评估性质,推理成本较高。因此,本质上来讲潜在空间,就是一个能够在复杂性降低和细节保留之间达到近乎最优的平衡点,极大地提升了视觉保真度。
时空块则是指从视频帧序列中提取出的、具有固定大小和形状的空间-时间区域。相较于块而言,时空块强调了连续性,模型可以通过时空块来观察视频内容随时间和空间的变化规律。
为了制造这些时空块,OpenAI训练了一个网络,用于降低视觉数据的维度,叫做视频压缩网络。这个网络接受原始视频作为输入,并输出一个在时间和空间上都进行了压缩的潜在表示。Sora在这个压缩后的潜在空间中进行训练和生成视频。同时,OpenAI还也训练了一个相应的解码器模型,用于将生成的潜在向量映射回像素空间。
刚才咱们也聊了,说这个“块”是非常接近token的,那么这些块的作用也应该和token差不太多。对于给定的压缩输入视频,OpenAi就直接提取一系列块作为Transformer token使用,然后这些时空块会被进一步编码并传递给Transformer网络进行全局自注意力学习。最后利用Transformer的强大能力来处理并生成具有不同属性的视频内容。
这一方案同样适用于图像,因为图像可以看作是仅有一帧的视频。基于块的表示方法使得Sora能够对不同分辨率、时长和宽高比的视频和图像进行训练。在推理阶段,可以通过在一个适当大小的网格中排列随机初始化的块来控制生成视频的尺寸。
此外,在Sora模型的介绍页面虽然提到的都是通过文本来生成视频,但Sora还能够接受其他类型的输入,比如图像或视频,以达到图片生成视频、视频生成视频的效果。这一特性使得Sora能够执行广泛的图像和视频编辑任务——例如制作完美循环播放的视频、为静态图像添加动画效果、向前或向后延展视频时间轴等。
实现对物理世界的“涌现”
在长期的训练中OpenAI发现sora模型逐渐拥有了一项新能力,叫做三维一致性。指的是Sora能够生成动态视角的视频。同时随着视角的移动和旋转,人物及场景元素在三维空间中仍然保持一致的运动状态。
这个可能对咱们人类来说没什么,但是对于人工智能来说,还是相当厉害的。人工智能理解三维物理世界,跟人类理解三维物理世界的方式不一样,它采用了一种拓扑结构上的理解。注意,这里的拓扑结构不是计算机的拓扑结构,而是拓扑学中的拓扑结构。拓扑结构是一个几何或空间的抽象描述,用于描述集合中元素之间的连接方式和空间属性,而不考虑具体的度量或形状。它关注的是空间中点与点之间的连通关系以及空间的整体形状,而不是具体尺寸或角度等细节。
除此之外,既然视频的视角发生变化,那么相应的纹理映射也要改变。Sora的真实感非常强,换句话说,纹理映射在拓扑结构上就得非常准确。三维一致性能力使Sora能够模拟来自现实世界中人物、动物和环境的某些方面。
一个让人兴奋中带着点害怕的消息是,这些属性并非通过为3D、物体等添加明确的归纳偏置而产生——它们纯粹是规模效应的现象。也就是说,是Sora自己根据训练的内容,判断出了现实世界中的一些物理客观规律,某种程度上,人类如果仅仅是通过肉眼观察,也很难达到这样的境界。
还有一点,视频生成系统面临的一项重大挑战是在生成长视频时保持时间上的连贯性。而Sora也能够有效地模拟短程和长程依赖关系。例如,即使人物、动物或物体被遮挡或离开画面,Sora仍能保持这些元素存在于视线外,等到视角转换到能看到他们的时候,再将这些内容展现出来。同样的,它能够在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观的一致性。
事实上这点倒没有什么,因为Sora是从transformer模型中孕育的,而transformer模型本身就能通过全局自注意力机制等技术来实现很高的连续性。Sora只不过是从视频方面阐述了这种连续性而已。
对此,OpenAI得出了一个结论:视频生成模型是构建通用物理世界模拟器的一条有前景的道路。
Sora目前所展现的能力表明,它是能通过观察和学习来了解物理规律。就Sora的这个理解力,说句实在的比我都强,老师在上面讲课,我只能做到眼睛会了,脑子不会。
不过Sora当前作为一个模拟器存在许多局限性。在OpenAI的主页上,他们列举了该模型的一些常见失效模式,比如在长时间采样中可能出现的不连贯现象,以及物体无端出现等异常情况。从现有的结果来看,它还无法准确模拟许多基本交互的物理过程,像是玻璃破碎,以及其他类型的交互,比如吃食物。物体状态的变化并不总是能够得到正确的模拟,这说明很多现实世界的物理规则是没有办法通过现有的训练来推断的。
这些是这篇技术报告里最核心的信息,一如既往的,OpenAI在模型和实现细节方面继续保持Close,不过,在报告中,OpenAI在不停提到“大力出奇迹”的效果:
关于涌现,它写道:我们发现,当大规模地进行训练时,视频模型展现出许多有趣的涌现能力。这些能力使得Sora能够模拟现实世界中人类、动物和环境的某些方面。这些属性并没有任何针对3D、物体等的明确归纳偏见——它们纯粹是规模效应的现象。
OpenAI显然在把Sora描述成它一直坚持的Scaling law的又一次胜利——没有多么纯粹原创的技术,很多技术成分早已存在,但它却比所有人都更笃定的走了下去,并用足够多的资源在巨大的规模上验证了它。
领取专属 10元无门槛券
私享最新 技术干货