5.3 Introduction to Video Generation Model-Sora
Last updated
Last updated
Sora是一种扩散模型(Diffusion Model),它从一个静态的噪声序列开始,通过多次迭代逐渐去除噪声来生成视频。扩散的概念来自于非平衡态热力学,指的是物质从高浓度区域向低浓度区域自然扩散的过程。受到这一现象的启发,在图像和视频生成领域,该名词被被借用和抽象化,用于指代逐渐为图像添加噪声(正向扩散过程,如图1从左至右)或逐渐从噪声中恢复图像(逆向扩散过程,如图1从右至左)的过程。
图1 (从左至右) 正向扩散过程:通过多次为图像加入噪声,使图像逐渐转变为纯噪声信号,记录每一步添加的噪声作为网络训练的监督信息;(从右至左) 逆向扩散过程:模型通过迭代估计第k步至第k-1步所包含的噪声,逐渐将噪声从图像中剔除,以获得清晰的图像。
逆扩散过程是扩散模型中的核心步骤,它模拟了这种从无序到有序的转变。具体来说,逆扩散过程开始于一张充满随机噪声的图像(图1右侧),该图像由一张清晰图像和预先生成的噪声模板(与图像尺寸相同)多次叠加产生(实际上,DDPM 提出的重参数化方法简化了这一过程,其将多步迭代加噪的马尔可夫过程等效为在原始图像和目标白噪声之间连续插值采样的过程,是目前的主流方法),这张图像可以看作是数据分布的一个高熵状态。
随后,模型通过一系列迭代步骤逐渐去除噪声,每一步都是在有监督的学习框架下进行的,通过对比模型估计的噪声参数和预先记录的噪声模板之间的差异来产生监督信号,从而使模型学习到如何根据当前图像的状态预测噪声,并将其从图像中去除。
这个过程可以想象成一个逐渐减少图像模糊度的过程,就像是慢慢调整相机镜头的焦距,直到画面变得清晰。每一步都是基于前一步的结果进行的,逐渐减少噪声,增加细节,直到最终得到一个高质量的图像。这种方法的优势在于它可以生成非常逼真的图像,因为它在整个生成过程中都紧密地遵循了真实图像的统计特性。
事实上,图像和视频生成领域在过去的十年中有着巨大的发展,涌现出了多种不同架构的生成方法。为什么扩散模型可以脱颖而出,取得如此惊艳的效果,还需要横向对比多种生成式方法,分析它们的优势和不足。
图2 生成对抗网络 - 生成器负责从随机采样生成数据,判别器则负责从大量真假混合的样本中找出被生成器构造的样本,二者协同训练和进步。
GAN(生成对抗网络):GAN由两部分组成——生成器和判别器。生成器的目标是创造出看起来像真实图片的图像,而判别器的目标是区分真实图片和生成器产生的图片。这两者相互竞争,最终生成器会学会产生越来越逼真的图片。虽然GAN生成图像的拟真性很强,但是其生成结果的丰富性略有不足,即对于给定的条件和先验,它生成的内容通常十分相似。
图3 变分自编码器 - 编码器将图像编码为概率空间中的后验分布,再通过解码器对采样后的分布进行重建以获得原始图像。
VAE(变分自编码器):VAE是自编码器的一种变体,它不仅学习数据的编码,还建模了编码的分布。模型首先将图像映射到一个多维高斯分布特征(后验概率),然后在特征附近加以扰动来采样一个新的特征(先验分布),要求模型基于被扰动后的特征重建出原始图像(似然估计)。这种方法使编码的各维度特征具有了统计特性,从而能够进行连续的插值和采样。这使得VAE能够生成新的、多样化的图像。然而,VAE具有两个显著缺陷:
第一,不同语义的图像在分布编码上的重叠会导致生成图像的语义平均化,可能脱离约束;
第二,VAE采用了像素级监督,对不确定性较高的高频信号(例如毛发)而言,像素级的监督会造成学习效果下降,从而在图像生成时无法很好地处理这些细节。
图4 扩散模型 - 模型通过逆向扩散过程逐步去除图像中的噪声,重建原始图像。
DDPM(去噪扩散概率模型):DDPM是一种新型的生成模型,它通过前述的逆向扩散过程来工作。它从一个噪声信号开始,逐步去除噪声,从而生成清晰的图像。它在隐层空间中对样本的表征同样分布特性,也能很好地进行采样和插值操作,以产生丰富的图像内容,并适应图像编辑等需求。与VAE不同的是,扩散模型以噪声估计模型的变分下界作为损失函数,监督的是模型的去噪能力,从而避免了比较生成图像与原始图像间的像素级差异,使该模型具有更好的拟真度和细节表达能力。另外,扩散模型通过将图像生成拆解为多步马尔可夫过程(最早的扩散模型 使用了1000步来恢复原始图像,后来通过优化模型目标 、优化采样方式 等手段降低至数十步),大幅降低了模型估计噪声的困难程度,使训练变得稳定。然而这也引入了巨大的计算量,相比于GAN和VAE能够一步生成图像,扩散模型需要的时间增加了数倍。
图5 对抗生成模型、变分自编码器和扩散模型的特性对比。
如图5所示,对抗生成模型、变分自编码器和扩散模型在生成拟真度、样本丰富度和生成速度上各有优势。近年来,随着扩散模型加速的研究和GPU算力的提升,扩散模型的算力瓶颈正在被逐渐解决,其已成为图像和视频生成领域的主流方法。
上文提到扩散模型的逆向扩散过程,都是以高斯噪声为起点生成随机样本。然而,有意义的样本生成需要遵从用户的指示,扩散模型是如何做到的呢?这就需要条件生成(Conditional Generation)技术,即向逆向扩散的起点加入条件特征引导,这些条件特征可以来自用户的文本描述,另一个图像或视频的嵌入特征(Embedding Features)等。
图7 DALL·E 2图像生成模型框架。
图7展示了DALL·E 2 图像生成模型的架构,在Sora的技术报告中指出,Sora采用了与DALL·E 2/3相似的架构来实现条件生成(注:DALL·E、Sora及后文提到的CLIP均为OpenAI的工作或产品)。以文本控制图像生成为例,模型以图像-文本对(image-text pairs)作为输入,引入了图像-文本多模态匹配模型CLIP 作为沟通两个模态的桥梁。 CLIP模型具有文本编码器(text encoder,图7左侧)和图像编码器(image encoder,图7右侧)结构,可以在同一个空间中表征和度量图像-文本多模态特征(典型的CLIP特征是一个512维的向量)。文本编码器首先将用户提供的文本描述(例如,“a corgi playing a flame throwing trumpet”)转换成一个高维特征向量。这个特征向量包含了文本描述的语义信息,可以被用作生成过程中的条件。
图8 CLIP模型的工作方式:图像-文本特征相似度度量。
值得注意的是,虽然CLIP模型可以将图像和文本映射到同一个表征空间,但是具有匹配关系的图像-文本对却处于不同的微分流形中 (这一现象也可以从CLIP模型的图像-文本匹配得分中观察到,具有匹配关系的图像-文本特征的余弦相似度通常只有0.35左右)。造成这一现象的原因,除了图像和文本固有的模态差异和数据噪声之外,还有部分标记(partial labeling)问题,即文本只描述了图像中的一部分内容,而图像中则包含了更多未被文字描述的信息。
直觉上,我们可以直接使用文本特征或图像特征作为先验分布,来生成目标图像或视频。但由于上述的图像-文本特征差异,让网络同时理解来自图像和文本的先验条件就变得困难(想象用户输入一张包含狗的照片,并输入文字提示,要求网络为图中的狗戴上帽子,这就需要文本特征和图像特征完全等价,才能够良好地融合和插值)。为了解决这个问题,OpenAI引入了先验网络(prior network)来预测文本特征对应的图像特征。文本特征被送入模型的先验网络,先验网络会基于这些文本特征来预测其对应的图像特征分布。这个先验分布随后被用作逆向扩散过程的起点,而不是输入简单的高斯噪声。这样,生成的图像就会更加符合文本描述的内容。
解码器(decoder)部分是一个先前介绍的扩散模型,负责将包含条件的先验分布转换回图像空间,生成最终的图像。整个过程是迭代的,逐步减少噪声并逐渐增强图像的细节和质量,直到得到一个清晰、符合条件的图像。
总的来说,条件生成技术通过结合文本和图像的特征,以及优化与条件相匹配的目标函数,使得扩散模型能够生成用户指定内容的图像。Sora的技术路线与DALL·E 2相似,将用于连接图像-文本模态的CLIP模型换为理解视频-文本关系的多模态大模型,再对扩散模型加以改造(将在接下来介绍),就可以实现视频的生成。
到现在为止,我们已经掌握了使用文本生成图像的技术路线,而如何进一步生成连续且自洽的视频序列呢?Sora给出的答案是:把图像视为单帧的视频,而视频就是多个连续图像的组合。Sora用于训练文生视频的素材是海量的视频-文本匹配对,其中文本详细描述了视频中的内容。如图9所示,Sora使用一个视觉编码器(visual encoder)来压缩和表征视频,在空间维度(单帧图像),编码器将其分解为多个小块(patch)来提取各自的特征,在时间维度(多帧之间),将多帧的特征块进行组装(这是一种比较容易理解的说法,实际上,Sora的视觉编码器应该是一个变分自编码器,同时具备表征和压缩的功能)。
图9 Sora对视频序列的编码方式。
图10 两种典型的视频序列构建模式:(a) 均匀抽取视频帧,再对抽样帧编码后拼接构建序列;(b) 多个相邻帧为一组,联合提取特征并构建序列。
在完成编码之后,Sora将具有时空关系的3维特征展平为一个1维序列(具体细节未公布,图10展示了先前工作 [7]提出的两种典型方式),序列中每个元素叠加了频域位置编码,用于指示该元素位于原始视频中的时空位置(x, y, t)。视频的时长、分辨率、宽高比都是可变的,进而转换得到的1维序列的长度也是不固定的。相比在计算机视觉领域中常见的卷积结构,Transformer结构更擅长处理这种变长序列。因此,在扩散模型的结构选型上,Sora选取了DiT [8](Diffusion Transformers)作为扩散解码架构。如图11所示,DiT解码模块以噪声(灰色)和条件(蓝色)作为输入,控制条件(如用户输入的文本)以线性变换参数作用于噪声特征,进而影响噪声解码过程,最终生成符合要求的视频序列。
图11 DiT网络结构示意。
特别地,Sora的技术报告中提到,在处理视频样本时,OpenAI的研究者尝试对视频进行裁切、缩放和宽高比变换,以获得尺寸一致的视频序列来降低训练的资源消耗和任务难度。但这一做法产生的效果不佳,会使视频生成的质量变差,或生成的视频只包含局部的场景。因此,Sora提倡使用原始的视频宽高比和分辨率来训练模型,这也是他们能生成高质量的高分辨率长视频的关键之一。
Sora的成功离不开海量的数据支持。在训练多模态图像-文本匹配模型CLIP时,OpenAI就展示出了他们在数据工程领域的独到之处。CLIP模型基于4亿个来自互联网收集、清洗、整理的图像-文本对(未开源),取得了非常优秀的跨模态匹配效果。由于其数据未开源,一些社区工作(例如LAION-400M )试图通过相似的方式构建同等规模的开源数据集,但训练出的模型效果远不如OpenAI的CLIP模型。OpenAI的这些高质量图像-文本数据后来又支撑了文生图模型DALL·E,乃至视频生成模型Sora的训练,取得了令人惊叹的效果。
除此之外,受益于OpenAI的大模型产品矩阵(特别是GPT-4 Vision,即多模态GPT模型),其研究人员在文生图模型DALL·E 3 中提出了一个重要的技术:标题重生成(re-captioning)。这项技术利用了多模态GPT模型强大的图像描述能力,为来自网络的图像生成了更细粒度的描述(如图12所示)。这些详细的描述很大程度上解决了前文提到的部分标注问题,填补了图像和文本模态间的信息差异,使模型能根据先验条件生成更真实、更具体的图像。直到现在,当ChatGPT的付费用户体验DALL·E 3的文生图能力时,也是先由ChatGPT对用户的文字描述进行进一步加工,将其转换为更细节的文字描述,再送入DALL·E模型中实现图像生成。
图12 DALL·E 3利用GPT模型生成更详细的文本描述(DSC),几乎覆盖了图像中的所有细节。
Sora同样使用了标题重生成技术,开发人员将图像-文字的细节描述能力扩展到了视频-文字模态。通过为海量来自互联网的视频生成更详细的描述,来使视频的生成过程更可控。此外,前文提到了Sora在表征层面统一了图像和视频的规格,将图像视为单帧视频。这一设计也使得OpenAI在开发DALL·E 3时准备的大量图文数据能够直接用于Sora的训练,为其提供了优质的数据基础。
纵览OpenAI的每一次技术突破,可以发现数据规模和数据质量都起到了重要的作用。此外,OpenAI使用已有产品能力和开放数据源来实现数据持续迭代和积累,值得所有工业界的AI算法研究人员借鉴和思考。