©作者|谢国斌
来源|神州问学
OpenAI近期发布的Sora是一个文本到视频的生成模型。这项技术可以根据用户输入的描述性提示生成视频,延伸现有视频的时间,以及从静态图像生成视频。Sora可以创建长达一分钟的高质量视频,展示出对用户提示的精准理解和视觉质量的高度保持。这标志着在生成模型领域向视频生成的重要步骤,扩展了先前主要集中在文本和图像上的AI应用范围。
本文将深入探讨OpenAI新推出的Sora模型的涉及到的主要算法技术。分为两个部分:首先,我们将介绍Sora的模型架构;随后,详细解读所涉及的核心算法(扩散模型、视觉Transformer、其他的创新)。
一、Sora模型架构
Sora报告原文并未详解模型所涉及的架构。但根据OpenAI32篇参考论文和技术路线图,我们可以猜想或模拟出Sora的模型架构。
图1 Sora的模型架构
Sora模型架构应该是在DiT(Diffusion Transformer)基础上演进而来,分成三个部分:
●左边红色部分是视频数据像素空间,上面是encoder,模型使用VAE将视频encoder到隐空间降维表示,并对表示分解为spacetime latent patches时空块方法编码,生成结果同样也是通过VAE解码成原始大小的图片。SORA从头训练了一套能直接压缩视频的自编码器模型。与之前的其他工作相比,通过巧妙的引入结合时空块的方法,SORA 的自编码器不仅能在空间上压缩图像,还能在时间上压缩视频长度,同时对于视频的长宽比、分辨率、时长还保持了一定的灵活性。
● 中间绿色部分是低维潜空间,是经典latent diffusion model架构的核心,其中的U-Net网络替换成transformer。视频在前面经过自编码器和隐式时空块之后,进行加噪过程,以及去噪过程。
● 右边灰色部分是条件输入,也就是文生视频里面的文本输入,即prompt。让模型支持带约束图像生成,其实就是想办法把额外的约束信息输入进扩散模型中。除了直接拼接,在LDM中还使用了另一种融合约束信息的方法。具体实现是把DDPM的自注意力层换成交叉注意力层,把k、v换成来自约束的信息,以实现带约束图像生成。如本文后面图3所示,通过把用编码器 编码过的约束信息输入进扩散模型交叉注意力层的k、v,以实现了带约束图像生成。条件约束输入首先是用户的文本作为prompt喂给GPT4,GPT4进行详尽的文字说明和扩充,然后使用DALL.E3及CLIP技术,对给定视频生成对应的标题。
二、Sora核心技术
Sora主要依靠三条技术路径的结合使用:1.扩散模型diffusion model;2.transformer应用于视觉大模型;3.在数据和算法方向上对已有论文成果的大胆创新应用。
1.扩散模型:文生图领域的王者方法
扩散模型(Diffusion Models,DM)是深度学习中用于生成模型的一种方法,近年来在图像、音频、文本等多个领域取得了显著的进展。该方法始于2015年(论文21),最初用于学习复杂概率分布的抽样,这些模型利用了非平衡热力学中的技术,尤其是扩散过程。2020年,伯克利学者提出了去噪扩散概率模型(DDPM,论文22),后续通过对该方法的持续迭代改进(论文23/24/25),逐步取代了GAN,已成为生成领域的主流方法。2021年末,Robin Rombach等提出了一种基于潜在扩散模型(LDM,论文19)方法,用于高分辨率图像合成。这种方法通过在压缩的空间上对图像进行重建,生成比之前的方法更加可靠与详细的结果。基于该方法或略微修改优化的版本Stable Diffusion Model,近年来被用于创造出Stable Diffusion、Runway和Midjourney等流行AI类产品。
1.1.扩散模型(DM,DDPM是DM的一个主要发展分支)
去噪扩散概率模型(DDPM)是一种基于扩散过程的生成模型,该模型在自然语言处理、图像生成、音频合成等领域展示了其优越的生成能力。它主要分为扩散过程和生成过程:
(1).扩散过程:去噪扩散概率模型通过模拟一个渐进的噪声添加过程(正向过程)和一个噪声移除过程(逆向过程)来生成数据。正向过程从数据分布中逐步引入噪声,直至达到一个与预设噪声分布接近的状态;逆向过程则尝试逆转这一过程,从噪声状态恢复出原始数据。
(2).生成模型:通过学习逆向过程,模型能够从高斯噪声中生成与真实数据分布相似的样本。
图2 去噪扩散概率模型(DDPM)
1.2.潜扩散模型(LDM,SD产品应用的奠基之作)
潜在扩散模型(LDM)是一种结合了扩散模型和变分自编码器VAE的生成模型。它们在处理高维数据(如图像和视频)生成任务中特别有效,主要是通过在一个较低维度的潜在空间中进行扩散过程来实现的。
图3 LDM模型
图4 U-Net网络结构
2.DiT:将transformer融入扩散模型
在2017年,Vaswani等人引入了Transformers模型(论文13),这是一个革命性的架构,基于注意力机制专为序列到序列的任务设计。它的核心特点是自注意力机制,这使得模型在处理序列中的每个元素时,能够考虑到序列中所有其他元素,捕捉它们之间的依赖性。这种方法极大地提高了自然语言处理和其他序列任务的处理效率和效果,为AI模型的发展开辟了新的道路。
随后,ViT模型(论文15)将Transformers技术扩展到了图像领域,成为这一领域的一种主流方法。基于ViT架构,DiT模型(论文26)进一步融合了Transformers到潜在扩散模型(LDM),在图像生成方面取得了显著进步。DiT模型是William Peebles在Meta实习时,和Saining Xie合作产出的作品。William Peebles现在是SORA项目的主创之一,所以DiT目前在SORA模型架构中应该是起着非常重要的作用。
2021年,谷歌提出了ViViT(论文16)方法,这是一种专门用于视频分析任务的创新方法,它结合了纯Transformers架构和时空潜在块的概念。Sora项目借鉴了ViViT的思路,首次将时空块引入到DiT模型的输入中,实现了扩散模型、Transformers和时空潜在块三者的完美融合。这一算法创新实践是在视频生成领域的一大进步。
2.1.ViT:transformer用于图像识别的主流方法
ViT 将transformer结构应用于图像,图片被划分为多个 patch 后,将二维 patch 转换为一维向量作为transformer encoder的输入。
图5 ViT模型架构
2.2.DiT:diffusion+transformer
在潜在扩散模型(图3)中,DiT用transformer替换U-Net主干(如图6所示),可达到很好的图像生成效果。
图6 DiT模型架构
图7 用DiT模型架构替换LDM模型中的U-Net部分
2.3.隐式时空块(Spacetime Latent Patches)
时空块方法是谷歌在ViViT论文(论文16)中首次提出。Sora在训练和生成时参考借鉴了此方法,对使用的视频可以是任何分辨率、任何长宽比、任何时长的,而不需要对视频做缩放、裁剪等预处理,这种方法的灵活性是一个较大的创新。transformer 的计算与输入顺序无关,但要用位置编码来指明每个数据的位置。Sora在DiT架构中可能使用了类似于(x,y,t) 这种组合的位置编码来表示一个时空块的位置,以实现不管输入的视频大小如何、长度如何,只要给每个图块都分配一个位置编码,就能分清图块间的相对先后关系。
图8 ViViT模型架构
图9 ViviT中对视频数据的Tubelet embedding编码方法
3.数据和算法:多种技巧的创新应用
3.1.NaViT:抽样多样化和性能提升
谷歌在去年发表了Patch n’ Pack(论文19),其中的 NaViT可以在训练过程中使用序列打包(Patch n’ Pack)的方法,可以处理任意分辨率和宽高比的输入。相比ViT,NaViT计算性能大幅提升。同时,NaViT可在训练和微调过程中处理各种分辨率的图像或视频,表现出优秀的性能,并显著降低推理成本。
前述隐式时空块和NaViT两种技术的结合使用,Sora达到的效果:视频无需任何裁剪和预处理,先用时空块打patch,对不同分辨率、持续时间和长宽比的视频进行训练,既最好的利用高质量视频的原始信息,又显著提升模型性能,节约了训练与推理成本。
图10 NaViT数据处理和打包方法
3.2.DALL.E3:视频字幕生成re-caption
DALL·E3是一款最新的文本到图像生成模型,旨在根据用户提供的文本描述生成相应的图像。通过DALL.E3的re-caption方法,在高度描述性的字幕模型,使用这个模型可以显著提高给视频生成标题的能力。具体实现过程是使用GPT把用户的提示转换成详尽说明,再把这些说明送给上述字幕模型,可以生成高质量的视频。
图11 使用DALL-E 3生成的肖像和正方形样本
3.3.SDEdit:对视频的编辑与合成
SDEdit提出了一种新的图像合成框架,该框架结合了随机微分方程和引导扩散技术,实现了高质量的图像生成和编辑。SDEdit通过在潜在空间中定义一个随机微分方程来模拟图像的生成过程,可以被用来生成新的图像或者对现有图像进行编辑。它使用了一种称为“引导扩散”的技术,通过在SDE的漂移项中引入文本描述或图像编辑指令,来控制生成图像的内容和风格。这种方法允许在保持图像质量的同时,实现对图像内容的精确控制。
图12 SDEdit 从笔画合成图像
Sora是文本生成视频领域一个里程碑式的技术,它的很多潜在信息和用途还有待挖掘,有人评价它是图像视觉领域的“GPT3时刻”,也有人说它是“物理世界模拟器”。OpenAI的Sora项目的成功,首先需依托海量的视频数据和强大的算力(这一点在报告中未做太多的披露),同时Sora博取众家之长,率先将扩散模型、transformer、隐式时空块三者结合应用于视频生成领域,并在此基础上依托自身积累的GPT4、DALL.E等领先技术的加持,大胆创新,才有了呈现在世人面前的这份惊艳的报告。
期待在Sora之后,有更多的图像或视频领域革命性技术的涌现,推动多模态大模型向前发展,AGI加速、尽早到来。
附、Sora报告地址、论文列表和主要术语
原文地址
https://openai.com/research/video-generation-models-as-world-simulators
论文列表
视频数据的广义模型
1.Srivastava, Nitish, Elman Mansimov, and Ruslan Salakhudinov. "Unsupervised learning of video representations using lstms." International conference on machine learning. PMLR, 2015.
2.Chiappa, Silvia, et al. "Recurrent environment simulators." arXiv preprint arXiv:1704.02254 (2017).
3.Ha, David, and Jürgen Schmidhuber. "World models." arXiv preprint arXiv:1803.10122 (2018).
4.Vondrick, Carl, Hamed Pirsiavash, and Antonio Torralba. "Generating videos with scene dynamics." Advances in neural information processing systems 29 (2016).
5.Tulyakov, Sergey, et al. "Mocogan: Decomposing motion and content for video generation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.
6.Clark, Aidan, Jeff Donahue, and Karen Simonyan. "Adversarial video generation on complex datasets." arXiv preprint arXiv:1907.06571 (2019).
7.Brooks, Tim, et al. "Generating long videos of dynamic scenes." Advances in Neural Information Processing Systems 35 (2022): 31769-31781.
8.Yan, Wilson, et al. "Videogpt: Video generation using vq-vae and transformers." arXiv preprint arXiv:2104.10157 (2021).
9.Wu, Chenfei, et al. "Nüwa: Visual synthesis pre-training for neural visual world creation." European conference on computer vision. Cham: Springer Nature Switzerland, 2022.
10.Ho, Jonathan, et al. "Imagen video: High definition video generation with diffusion models." arXiv preprint arXiv:2210.02303 (2022).
11.Blattmann, Andreas, et al. "Align your latents: High-resolution video synthesis with latent diffusion models." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023.
12.Gupta, Agrim, et al. "Photorealistic video generation with diffusion models." arXiv preprint arXiv:2312.06662 (2023).
transformer视觉模型架构
13.transformers:Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017).
14.GPT3:Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.
15.ViT:Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2010.11929 (2020).
16.ViViT:Arnab, Anurag, et al. "Vivit: A video vision transformer." Proceedings of the IEEE/CVF international conference on computer vision. 2021.
17.He, Kaiming, et al. "Masked autoencoders are scalable vision learners." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022.
18.NaViT:Dehghani, Mostafa, et al. "Patch n'Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution." arXiv preprint arXiv:2307.06304 (2023).
19.LDM:Rombach, Robin, et al. "High-resolution image synthesis with latent diffusion models." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022.
20.Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013).
视频生成的扩展transformer
21.Sohl-Dickstein, Jascha, et al. "Deep unsupervised learning using nonequilibrium thermodynamics." International conference on machine learning. PMLR, 2015.
22.DDPM:Ho, Jonathan, Ajay Jain, and Pieter Abbeel. "Denoising diffusion probabilistic models." Advances in neural information processing systems 33 (2020): 6840-6851.
23.Nichol, Alexander Quinn, and Prafulla Dhariwal. "Improved denoising diffusion probabilistic models." International Conference on Machine Learning. PMLR, 2021.
24.Dhariwal, Prafulla, and Alexander Quinn Nichol. "Diffusion Models Beat GANs on Image Synthesis." Advances in Neural Information Processing Systems. 2021.
25.Karras, Tero, et al. "Elucidating the design space of diffusion-based generative models." Advances in Neural Information Processing Systems 35 (2022): 26565-26577.
26.DiT:Peebles, William, and Saining Xie. "Scalable diffusion models with transformers." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023.
27.Chen, Mark, et al. "Generative pretraining from pixels." International conference on machine learning. PMLR, 2020.
28.Ramesh, Aditya, et al. "Zero-shot text-to-image generation." International Conference on Machine Learning. PMLR, 2021.
29.Yu, Jiahui, et al. "Scaling autoregressive models for content-rich text-to-image generation." arXiv preprint arXiv:2206.10789 2.3 (2022): 5.
图像和视频的提示工程方法
30.Betker, James, et al. "Improving image generation with better captions." Computer Science. https://cdn.openai.com/papers/dall-e-3. pdf 2.3 (2023): 8
31.Ramesh, Aditya, et al. "Hierarchical text-conditional image generation with clip latents." arXiv preprint arXiv:2204.06125 1.2 (2022): 3.
32.Meng, Chenlin, et al. "Sdedit: Guided image synthesis and editing with stochastic differential equations." arXiv preprint arXiv:2108.01073 (2021).
主要术语
transformer(s): 变压器架构
Diffusion Model(DM): 扩散模型
Denoising Diffusion Probabilistic Model (DDPM):去噪扩散概率模型
Latent Diffusion Model(LDM):潜在扩散模型
Stable Diffusion Model(SD):稳定扩散模型
Variational Autoencoder(VAE):变分自编码器
Vision Transformer (ViT)
Diffusion Transformer(DiT)
Video Vision Transformer(ViViT)
Spacetime Latent Patches:隐式时空块
Native Resolution ViT(NaViT):原生分辨率的视觉变压器