Sora 技术参考文献
-- Generating long videos of dynamic scenes
计划根据openai关于Sora介绍的参考文献,做一系列的技术介绍。
openai 关于Sora的介绍网址。 对于该文章的翻译和简介见文章
Videogpt: Video generation using vq-vae and transformers
文章主要内容
作者提出了VideoGPT:一个概念上简单,用于将基于似然的生成模型扩展到自然视频的架构。VideoGPT使用VQ-VAE,通过采用3D卷积和轴向自注意力学习原始视频的降采样离散潜在表示。然后使用一个简单的类似GPT的架构,使用时空位置编码自回归地对离散潜在变量进行建模。尽管在公式制定上的简单性和训练的便捷性,文章提出的架构能够生成与BAIR机器人数据集上最先进的GAN模型相媲美的样本,并从UCF-101和Tumbler GIF数据集(TGIF)生成高保真自然视频。
笔者总结
作者的贡献主要在于
-
提出了一种基于似然的视频生成模型 VideoGPT,它使用了VQ-VAE和Transformer两种技术来生成高质量自然视频。
-
VideoGPT使用了VQ-VAE来学习原始视频的下采样离散潜在表示,这种表示可以被看作是对原始视频进行了压缩和抽象化。这种方法可以有效地降低模型的复杂度,并提高模型的泛化能力。
-
VideoGPT使用了轴向自注意力来处理3D卷积产生的长距离依赖关系,这种方法可以有效地捕捉视频中的时空信息,并提高模型的生成效果。
笔者认为基于GPT来进行视频生成,并处理长距离依赖关系是十分正确的。因为循环神经网络,仅用一个隐向量记录所有的历史信息是不够的,而且多个视频桢的信息经过循环神经网络被无差别压缩到了一个隐向量中,在视频生成的过程中,很难对其进行无损的恢复。
SORA的成功也代表了作者使用GPT进行生成的正确性。
作者这里使用Codebook,即一个通过查表的方式进行信息压缩,个人认为不是一个很好的选择。因为很难定义一个很好的基准集合。
另外,编解码器和视频生成模型进行分开训练,可能导致视频生成过程的误差累积。
模型
VQ-VAE:
VQ-VAE是一种用于生成模型的神经网络架构,它可以将高维数据点压缩到一个离散的潜在空间中,并从中重构原始数据。
VQ-VAE的全称是Vector Quantized Variational Autoencoder,它结合了自编码器和变分自编码器的思想,并使用了向量量化技术来实现离散化。
具体来说,VQ-VAE包含两个主要部分:编码器和解码器。编码器将输入数据映射到一个连续的潜在空间中,然后通过向量量化将这个连续空间转换为一个离散的潜在空间。解码器则将这个离散潜在空间映射回原始数据空间,并重构原始数据。
VQ-VAE使用了一种叫做"代码本"的技术来实现向量量化。代码本是由一组固定大小的向量组成的集合,每个向量都代表着潜在空间中的一个离散点。当输入数据被映射到连续潜在空间时,VQ-VAE会找到最接近该点的代码本向量,并用该向量来代替该点。
这样就可以将连续潜在空间转换为离散潜在空间。它使用了向量量化技术来实现离散化,并在图像、音频等领域取得了很好的效果。
说白了,VQ-VAE就是一种向量量化变分自编码器,通过使用最近邻查找将数据离散化为嵌入码本中的向量,以获得高效的数据压缩和图像重构。
最近邻查找就是"代码本"
VideoGPT:
首先,VideoGPT的输入是原始视频数据,它通过3D卷积进行下采样,并被转换为离散潜在表示。这些离散潜在表示被送入Transformer模型进行自回归建模。
其次,在VQ-VAE阶段,原始视频数据通过3D卷积进行下采样,并被转换为离散潜在表示。这些离散潜在表示被送入Transformer模型进行自回归建模。
然后,在Transformer模型中,每个时间步的输入是前一个时间步生成的离散潜在表示和位置编码。Transformer模型会根据这些输入预测下一个时间步的离散潜在表示。
最后,最终输出是由VQ-VAE解码器将离散潜在表示转换为连续像素值序列得到的自然视频。
整个过程可以看作是将离散潜在变量转换为连续像素值序列的过程。最终,VideoGPT可以生成高质量、多样化、连续时间的自然视频,并且在各种数据集上都表现出色。