OpenAI视频生成模型Sora的全面解析:从ViViT、扩散Transformer到NaViT、VideoPoet

本文主要是介绍OpenAI视频生成模型Sora的全面解析:从ViViT、扩散Transformer到NaViT、VideoPoet,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

真没想到,距离视频生成上一轮的集中爆发(详见《Sora之前的视频生成发展史:从Gen2、Emu Video到PixelDance、SVD、Pika 1.0》)才过去三个月,没想OpenAI一出手,该领域又直接变天了

  1. 自打2.16日OpenAI发布sora以来(其开发团队包括DALLE 3的4作Tim Brooks、DiT一作Bill Peebles、三代DALLE的核心作者之一Aditya Ramesh等13人),不但把同时段Google发布的Gemmi 1.5干没了声音,而且网上各个渠道,大量新闻媒体、自媒体(含公号、微博、博客、视频)做了大量的解读,也引发了圈内外的大量关注
    很多人因此认为,视频生成领域自此进入了大规模应用前夕,好比NLP领域中GPT3的发布
  2. 一开始,我还自以为视频生成这玩意对于有场景的人,是重大利好,比如在影视行业的
    对于没场景的人,只能当热闹看看,而且我司去年年底还考虑过是否做视频生成的应用,但当时想了好久,没找到场景,做别的应用去了

可当我接连扒出sora相关的10多篇论文之后,觉得sora和此前发布的视频生成模型有了质的飞跃(不只是一个60s),而是再次印证了大力出奇迹,大模型似乎可以在力大砖飞的情况下开始理解物理世界了,使得我司大模型项目组也愿意重新考虑开发视频生成的相关应用

本文主要分为三个部分

  • 第一部分,侧重sora的核心技术解读
    方便大家把握重点,且会比一切新闻稿都更准确,此外
    \rightarrow  如果之前没有了解过DPPM、ViT的,建议先阅读下此文《从VAE、扩散模型DDPM、DETR到ViT、Swin transformer》
    \rightarrow  如果之前没有了解过图像生成的,建议先阅读下此文《从CLIP到DALLE1/2、DALLE 3、Stable Diffusion、SDXL Turbo、LCM》
    当然,如果个别朋友实在不想点开看上面的两篇文章,我也尽可能在本文中把相关重点交代清楚
  • 第二部分,侧重sora相关技术的发展演变
    把sora涉及到的关键技术在本文中全部全面、深入、细致的阐述清楚,毕竟如果人云亦云就不用我来写了
    且看完这部分你会发现,从来没有任何一个火爆全球的产品是一蹴而就的,且基本都是各种创新技术的集大成者
  • 第三部分,根据sora的32个reference以窥探其背后的更多细节
    由于sora实在了太火了,网上各种解读非常多,有的很专业,有的看上去一本正经 实则是胡说八道(即便他的title看起来有一定的水平),为方便大家辨别什么样的解读是不对的,特把一些更深入的细节也介绍下

第一部分 OpenAI Sora的关键技术点

1.1 Sora的三大Transformer组件

1.1.1 从前置工作(DALLE 2、NLP中token的预测、ViT)起步,逐步理解sora的视频生成思路

为方便大家更好的理解sora背后的原理,我们先来快速回顾下AI绘画的原理

以DALLE 2为例,如下图所示(以下内容来自此文:从CLIP到DALLE1/2、DALLE 3、Stable Diffusion、SDXL Turbo、LCM)

  1. CLIP训练过程:学习文字与图片的对应关系
    如上图所示,CLIP的输入是一对对配对好的的图片-文本对(根据对应文本一条狗,去匹配一条狗的图片),这些文本和图片分别通过Text Encoder和Image Encoder输出对应的特征,然后在这些输出的文字特征和图片特征上进行对比学习
  2. DALL·E2:prior + decoder
    上面的CLIP训练好之后,就将其冻住了,不再参与任何训练和微调,DALL·E2训练时,输入也是文本-图像对,下面就是DALL·E2的两阶段训练:
    \rightarrow  阶段一 prior的训练:根据文本特征(即CLIP text encoder编码后得到的文本特征),预测图像特征(CLIP image encoder编码后得到的图片特征)
    换言之,prior模型的输入就是上面CLIP编码的文本特征,然后利用文本特征预测图片特征(说明白点,即图中右侧下半部分预测的图片特征的ground truth,就是图中右侧上半部分经过CLIP编码的图片特征),就完成了prior的训练
    推理时,文本还是通过CLIP text encoder得到文本特征,然后根据训练好的prior得到类似CLIP生成的图片特征,此时图片特征应该训练的非常好,不仅可以用来生成图像,而且和文本联系的非常紧(包含丰富的语义信息)

    \rightarrow  阶段二 decoder生成图:常规的扩散模型解码器,解码生成图像
    这里的decoder就是升级版的GLIDE(GLIDE基于扩散模型),所以说DALL·E2 = CLIP + GLIDE

所以对于DALLE 2来说,正因为经过了大量上面这种训练,所以便可以根据人类给定的prompt画出人类预期的画作,说白了,可以根据text预测画作长什么样(其实,人类画画不也是这样么,先脑海中构思这幅画长什么样,只是描述该画的prompt不说出来,而只是口中默念而已)

  1. 那如果给定一个动态视频的一系列描述,是不可以把该动态视频给预测出来呢?最简单粗暴的做法就是,根据一句句的描述分别预测出来一张张静态图片,最后,把再把所有静态图片串联起来,不就是一个动态视频了么?
  2. 然,其中有个问题是,需要保证每张静态图片之间的一致性,就像NLP中预测token时,根据当前已有的tokens,不只是根据「transformer的自注意力机制」预测出来下一个token就完事了,还得让最终的整句话连起来是一句人话,那怎么样让每张静态图片上的各个元素在时间轴上是一致连贯的呢

  3. 可以根据当前已有的视频运动(一帧帧静态图像组成)去预测接下来的视频运动,相当于根据已有的一帧帧静态图像去预测之后的一帧帧图像
    但其中有个问题是,因为像素的关系,一张图像有着比较大的维度(比如250 x 250),即一张图片上可能有着5万多个元素,如果根据上一张图片的5万多元素去逐一预测下一张图片的5万多个元素,未免工程过于浩大(而且,图片各个像素点之间两两做self-attention时,你会发现计算复杂度瞬间爆炸)
  4. 故为降低处理的复杂度,ViT把一张图像划分为九宫格(如下图的左下角),如此,处理9个图像块总比一次性处理250 x 250个像素维度 要好不少吧

  5. 当我们理解了一张静态图像的patch表示之后(比如是九宫格,还是16 x 9个格),再来理解所谓的时空Patches就简单多了,无非就是在纵向上加上时间的维度,比如t1 t2 t3 t4 t5 t6,其实际处理时,可以每三个时间点聚合下,当然 也可以每五个时间点聚合下,如下图所示

    那我们的任务就变成了:对于上图一系列视频帧的左上角而言,便是已知当前“时空batch” :推测下一个“时空batch”(说白了,从根据一帧整图预测下一帧整图变成了根据一系列小范围的多帧batch预测对应各自小范围内的多帧batch),组合视频画面中各个位置的推测结果,便得到了整个视频画面的持续运动

最终,sora由三大Transformer组件组成:Visual Encoder(即Video transformer,类似下文将介绍的ViViT)、Diffusion Transformer、Transformer Decoder

  1. 具体而言,给定一个原始视频,Visual Encoder将视频压缩到较低维的潜在空间(潜在空间这个概念在stable diffusion中用的可谓炉火纯青了,详见此文的第三部分),然后把视频分解为在时间和空间上压缩的潜在表示,即所谓的一系列时空Patches
  2. Sora 在这个压缩的潜在空间中接受训练
  3. OpenAI 还训练了相应的Transformer解码器模型,将生成的潜在表示映射回像素空间,从而生成视频

1.1.2 时空编码SpaceTime latent patch的好处

“时空patch” 最大的好处, 是可以兼容所有的数据素材:一个静态图像不过是时间=0的一系列时空patch,不同的像素尺寸、不同的时间长短,都可以通过组合一系列 “时空patch” 得到

总之,基于 patches 的表示,使 Sora 能够对不同分辨率、持续时间和长宽比的视频和图像进行训练。在推理时,也可以可以通过在适当大小的网格中排列随机初始化的 patches 来控制生成视频的大小

而过去的图像和视频生成方法通常需要调整大小、进行裁剪或者是将视频剪切到标准尺寸,例如 4 秒的视频分辨率为 256x256。相反,该研究发现在原始大小的数据上进行训练,最终提供以下好处:

  1. 首先是采样的灵活性:Sora 可以采样宽屏视频 1920x1080p,垂直视频 1920x1080p 以及两者之间的视频。这使 Sora 可以直接以其天然纵横比为不同设备创建内容。Sora 还允许在生成全分辨率的内容之前,以较小的尺寸快速创建内容原型 —— 所有内容都使用相同的模型

    图片

  2. 其次使用视频的原始长宽比进行训练可以提升内容组成和帧的质量
    其他模型一般将所有训练视频裁剪成正方形,而经过正方形裁剪训练的模型生成的视频(如下图左侧),其中的视频主题只是部分可见;相比之下,Sora 生成的视频具有改进的帧内容(如下图右侧)

    图片

1.1.3 Diffusion Transformer(DiT):扩散过程中以Transformer为骨干网络

sora不是第一个把扩散模型和transformer结合起来用的模型,但是第一个取得巨大成功的,为何说它是结合体呢

  1. 一方面,它类似扩散模型那一套流程,给定输入噪声patches(以及文本提示等调节信息),训练出的模型来预测原始的「干净」patches
    类似把一张图片打上各种马赛克,然后训练一个模型,让它学会去除各种马赛克,且一开始各种失败没关系,反正有原图作为ground truth,不断缩小与原图之间的差异即可
    而当把图片打上全部马赛克之后,还可以训练该模型根据prompt直接创作的能力,让它画啥就画啥
    更多细节的理解请参看此文《从VAE、扩散模型DDPM、DETR到ViT、Swin transformer》
  2. 二方面,它把图像打散成块后,计算块与块之间的注意力,从而基于已有的「块」去预测接下来的「块」,而这套计算模式便是transformer的流程

图片

总之,总的来说,Sora是一个在不同时长、分辨率和宽高比的视频及图像上训练而成的扩散模型,同时采用了Transformer架构,是一种扩散型Transformer,简称DiT

对于 DiT 在 Sora 中的应用,DiT 作者之一 Saining Xie 在推文中提到:

  • 由 batch size 大小相关的计算推导,Sora 可能有大约 30 亿个参数。 “训练 Sora 模型可能不需要像人们预期的那样多的 GPU;我预计未来会有非常快的迭代。”
  • Sora“可能还使用了谷歌的 Patch n’ Pack (NaViT) 论文成果,使其能够适应可变的分辨率/持续时间/长宽比”

更多细节详见下文第二部分介绍的DiT、NaViT

1.2 其他关键点:DALLE 3的重字幕技术和对真实环境的模拟能力

1.2.1 DALLE 3的重字幕技术:为文本-视频数据集打上详细字幕

首先,训练文本到视频生成系统需要大量带有相应文本字幕的视频,研究团队将 DALL・E 3 中的重字幕(re-captioning)技术应用于视频

  1. 具体来说,研究团队首先训练一个高度描述性的字幕生成器模型,然后使用它为训练集中所有视频生成文本字幕
  2. 与DALLE 3类似,研究团队还利用 GPT 将简短的用户 prompt 转换为较长的详细字幕,然后发送到视频模型,这使得 Sora 能够生成准确遵循用户 prompt 的高质量视频

关于DALLE 3的重字幕技术更具体的细节请见此文2.3节《AI绘画与多模态原理解析:从CLIP到DALLE1/2、DALLE 3、Stable Diffusion、SDXL Turbo、LCM》

2.3 DALLE 3:Improving Image Generation with Better Captions

2.3.1 为提高文本图像配对数据集的质量:基于谷歌的CoCa​微调出图像字幕生成器

2.3.1.1 什么是谷歌的CoCa

2.1.1.2 分别通过短caption、长caption微调预训练好的image captioner

2.1.1.3 为提高合成caption对文生图模型的性能:采用描述详细的长caption,训练的混合比例高达95%..

其次为了保证视频的一致性,模型层应该不是通过多个stage方式来进行视频预测,而是整体预测了整个视频的latent,同时在训练过程中应该引入了auto regressive的task来去帮助模型更好的进行视频特征和帧间关系的学习

更多可以参考Google的W.A.L.T工作,下文将详述

1.2.2 对真实环境的模拟能力

OpenAI 发现,视频模型在经过大规模训练后,会表现出许多有趣的新能力。这些能力使 Sora 能够模拟物理世界中的人、动物和环境的某些方面。这些特性的出现没有任何明确的三维、物体等归纳偏差 — 它们纯粹是规模现象

  1. 三维一致性(下图左侧)
    Sora 可以生成动态摄像机运动的视频。随着摄像机的移动和旋转,人物和场景元素在三维空间中的移动是一致的
    针对这点,sora一作Tim Brooks说道,sora学习了大量关于3D几何的知识,但是我们并没有事先设定这些,它完全是从大量数据中学习到的
    图片图片
    长序列连贯性和目标持久性(上图右侧)
    视频生成系统面临的一个重大挑战是在对长视频进行采样时保持时间一致性
    例如,即使人、动物和物体被遮挡或离开画面,Sora 模型也能保持它们的存在。同样,它还能在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观
  2. 与世界互动(下图左侧)
    Sora 有时可以模拟以简单方式影响世界状态的动作。例如,画家可以在画布上留下新的笔触,这些笔触会随着时间的推移而持续

    图片图片

    模拟数字世界(上图右侧)
    视频游戏就是一个例子。Sora 可以通过基本策略同时控制 Minecraft 中的玩家,同时高保真地呈现世界及其动态。只需在 Sora 的提示字幕中提及 「Minecraft」,就能零样本激发这些功能

第二部分 Sora相关技术的发展史:ViViT、DiT、MAGVIT v2、VideoPoet

注意,和sora相关的技术其实有非常多,但有些技术在本博客之前的文章中写过了(详见本文开头),则本部分不再重复,比如DDPM、ViT、DALLE三代、Stable Diffusion(包括潜在空间LDM)等等

2.1 ViT在视频上的应用:ViViT

Transformer在NLP领域大获成功,ViT(Vision Transformer)将Transformer架构应用到视觉领域,它将图片按给定大小分为不重叠的patches,再将每个patch线性映射为一个token,随位置编码和cls token(可选)一起输入到Transformer的编码器中

  1. 而Google于2021年提出的「ViViT: A Video Vision Transformer」便要尝试在视频中使用ViT模型,探究Video Vision Transformer的优化方式
  2. 视频作为输入会产生大量的时空token,处理时必须考虑这些长范围token序列的上下文关系,同时要兼顾模型效率问题,作者在空间和时间维度上分别对Transformer编码器各组件进行分解,在ViT模型的基础上提出了三种用于视频分类的纯Transformer模型(ViViT)

如下图所示,把输入的视频划分成若干个tuplet,每个tuplet会变成一个token,经过spatial temperal attention进行空间和时间建模获得有效的视频表征token

// 待更

2.2 DiT:将 U-Net 架构换成 Transformer

2.2.1 DiT = VAE encoder + ViT + DDPM + VAE decoder

对于基于 transformer 的工作,不管是 latent diffusion 还是 language model,它们之间的区别很小,都是 token-based,最大的区别在于:

基于 diffusion 的生成是连续的 token,language model 处理的是离散的 token

2022年年底,William Peebles(当时在UC Berkeley,Peebles在𝕏上用昵称Bill,在Linkedin上及论文署名时用大名William)、Saining Xie(当时在约大学)的两人通过论文《Scalable Diffusion Models with Transformers》提出了一种叫 DiT 的神经网络结构

其结合了视觉 transformer 和 diffusion 模型的优点,即DiT = VAE encoder + ViT + DDPM + VAE decoder

把DPPM中的卷积U-Net架构换成了transformer(We train latent diffusion models of images, replacing the commonly-used U-Net backbone with a transformer that operates on latent patche)

2.2.2 Diffusion Transformer(DiT)的架构

如下图所示,便是扩散transformer(DiT)的架构

  • 左侧:我们训练条件潜在DiT模型(conditional latent DiT models), 潜在输入被分解成patch并通过几个DiT blocks处理(The input latent is decomposed into patches and processed by several DiT blocks)
    比如当输入是一张256x256x3的图片,对图片做切patch后经过投影得到每个patch的token,得到32x32x4的Noised Latent(在推理时输入直接是32x32x4的噪声),结合当前的Timestep tLabel y作为输入
    经过N个Dit Block通过mlp进行输出,得到输出的噪声Noise以及对应的协方差矩阵\Sigma,经过T个step采样,得到32x32x4的降噪后的latent
  • 右侧:我们的DiT blocks细节。 我们试验了标准transformer块的变体,这些变体通过自适应层归一化、交叉注意和额外输入token来加入条件(incorporate conditioning via adaptive layer norm, cross-attention and extra input tokens),其中自适应层归一化效果最好

2.3 NaViT:多个patches打包成一个单一序列以实现可变分辨率

2023年7月,Google DeepMind通过此篇论文《Patch n' Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution》提出了NaViT(Native Resolution ViT)

  • 该模型在训练过程中采用序列封装的方式处理任意分辨率和纵横比的输入(uses sequence packing during training to process inputs of arbitrary resolutions and aspect ratios)
  • 除了具备灵活性的模型应用外,还展示了通过大规模监督和对比图像-文本预训练来提高训练效率

具体而言

  • 视觉Transformer(ViT)输入图像会被调整为固定的平方纵横比,并分割成固定数量的patch(input images are resized to a fixed square aspect ratio and then split into a fixed number of patches)
    这是通过在每个训练步骤中对patch大小进行随机采样和调整算法来实现的,以支持多种初始卷积嵌入尺寸(This is achieved via random sampling of a patch size at each training step and a resizing algorithm to allow the initial convolutional embedding to support multiple patch sizes)
  • Pix2Struct引入了一种替代方法来保留纵横比(introduced an alternative patching approach which preserves the aspect ratio),在图表和文档理解等任务中尤其有用

Google从而提出了一种替代方法NaViT,将来自不同图像的多个patches打包成一个单一序列——称为Patch n’ Pack——从而实现可变分辨率并保持长宽比(Multiple patches from different images are packed in a single sequence— termed Patch n’ Pack—which enables variable resolution while preserving the aspect ratio)

但是不同的分辨率输入在训练时候带来的是大量的计算负载不均衡,一个最简单的做法就是直接padding到固定大小,然此举势必会引入大量不必要的计算量, 因此用下述技术降低计算量,支持动态输入:

图片

// 待更

2.4 MAGVIT v2:用好tokenizer可以超越diffusion

Google和CMU于2023年10月份联合发布的MAGVIT v2(这是其论文Language Model Beats Diffusion -- Tokenizer is Key to Visual Generation),首次证明了LLM不仅擅长文本方面的任务,而且在视觉任务上也能取得比扩散模型更好的效果

而其中的关键在于一个好的 tokenizer 接入到语言模型后,能够立即可以获得比当时最好的 diffusion 还要好的效果

2.5 W.A.L.T:将Transformer用于扩散模型

23年12月中旬,来自斯坦福大学、谷歌、佐治亚理工学院的研究者提出了 Window Attention
Latent Transformer, 即窗口注意力隐 Transformer, 简称 W.A.L.T,其对应的论文为《Photorealistic Video Generation with Diffusion Models》

该方法成功地将 Transformer 架构整合到了隐视频扩散模型中,斯坦福大学的李飞飞教授也是该论
文的作者之一

// 待更

2.6 Google VideoPoet:基于MAGVIT V2和Transformer而来

2023年年底,Google推出了VideoPoet(这是其论文:VideoPoet: A Large Language Model for Zero-Shot Video Generation),包含两个阶段:预训练和微调(pretraining and task-specific adaptation)

与通常使用外部交叉注意力网络或潜在混合进行风格化基于扩散的方法相比(In contrast to the diffusion-based approaches that usually use external cross-attention networks or latent blending for styliza-tion),Google的这个方法更加类似于利用大型语言模型进行机器翻译,因为只需将结构和文本作为语言模型的前缀

2.6.1 通过自然语言随心所欲的编辑视频,且其zero-shot能力强悍

如下图所示,其可以将输入图像动画化以生成一段视频,并且可以编辑视频或扩展视频

在风格化方面,该模型接收表征深度和光流的视频,以文本指导的风格绘制内容

2.6.2 视频生成器:借鉴LLM离散化token的处理思路

LLM在过去一年已经取得了巨大成功,那可否用于视频生成领域呢

  1. 然而,LLM 是在离散 token 上运行的,好在一些「视频和音频 tokenizer(比如用于视频和图像的 MAGVIT V2 和用于音频的 SoundStream)」,可以将视频和音频剪辑编码为离散 token 序列,并且也可以转换回原始表征形式
  2. 如此,通过使用多个 tokenizer,VideoPoet 便可以训练自回归语言模型来学习跨视频、图像、音频和文本的多个模态
    一旦模型生成以某些上下文为条件的 token,就可以使用 tokenizer 解码器将它们转换回可视化的表征形式

如下图所示,VideoPoet将所有模态编码映射到离散的标记空间中,以便能够直接利用大型语言模型架构进行视频生成,特定标记使用<>表示,其中

  • 深红色代表模态不可知部分
    蓝色代表文本相关组件,即text tokens (embeddings): the pre-extracted T5 embed-dings for any text.
    黄色代表视觉相关组件,即visual tokens: the MAGVIT-v2 tokens representing the images, video subsection, or COMMIT encoded video-to-video task.
    绿色代表音频相关组件,即audio tokens: the SoundStream tokens representing au-dio
  • 上图左侧的浅黄色区域表示双向前缀输入
    而上午右侧的深红色区域则表示带有因果注意机制的自回归生成输出

2.6.3 Tokenization:图像视频标记MAGVIT-v2与音频标记SoundStream

图像和视频分词器(Image and video tokenizer)是生成高质量视频内容的关键

具体而言,它将图像和视频编码为一串整数,并通过解码器将其映射回像素空间,作为标记和像素空间之间的桥梁

  • 视觉分词器的性能决定了视频生成质量的上限。同时,为了实现有效且高效的任务设置,压缩比决定了LLM序列长度
  • MAGVIT-v2对8 fps采样率下17帧、2.125秒、128×128分辨率的视频进行分词,产生(5, 16, 16)形状,并扁平化为1280个标记,词汇表大小为2-18
    MAGVIT-v2tokenizes17-frame2.125-second128×128 resolution videos sampled at 8 fps to pro-duce a latent shape of (5, 16, 16), which is then flattenedinto 1280 tokens, with a vocabulary size of 2-18
  • 此外,在移动端生成短形式内容时,我们还将视频按纵横比分割成128×224分辨率,并产生(5, 28, 16)形状或2240个标记。在评估协议中使用16帧时,我们会舍弃最后一帧以制作16帧视频

第三部分 根据sora的32个reference以窥其背后更多技术细节

对于这32篇reference,我根据大家可能的熟悉程度归个类

  1. 13是transformer论文,14是GPT3论文,15是ViT论文,17是MAE论文,19是SD奠基论文,30是DALLE 3,31是DALLE 2
  2. 上文第二部分介绍过的:16是ViViT、18是NaViT,26是DiT
  3. 22-24是DDPM发展相关的:22是DDPM,23是improved DDPM,24是Diffusion Model Beat GANs
  4. 三篇text-to-image相关的文章27、28、29,下文会介绍
  5. 8是UC Berkeley的Videogpt、10是Google的imagen video,11是Nvidia的VideoLDM(该项目主页)
  6. 最前面的6篇是一些比较早期的研究(15-19年),下文会介绍

3.1 早期对视频的研究——使用LSTM的视频表示的无监督学习

sora的第一个reference为这篇论文《Unsupervised learning of video representations using lstms》,该论文考虑了目标序列的不同选择

  1. 一种选择是预测与输入相同的序列,动机类似于自动编码器(比如VAE)——我们希望捕获所有重现输入所需的信息,同时克服模型施加的归纳偏差
    The motivation is similar to that of auto encoders –we wish to capture all that is needed to reproducethe input but at the same time go through the inductive bi-ases imposed by the model

  2. 另一种选择是预测未来的帧。这里的动机是学习一种表示,提取所有需要推断的运动和外观,而非仅限于观察到的内容

这两种自然而合理地选择也可以结合起来。在这种情况下,有两个解码器LSTM——一个将表示解码为输入序列,另一个则利用相同表示进行解码以预测未来

在模型输入方面,理论上可以采用任何表示单个视频帧的方式。然而,为了本文目的的考虑,我们将限制注意力在两种输入上

  1. 第一种是图像块,即image patches
  2. 第二种是通过应用在ImageNet上训练过的卷积网络提取出来的高级“感知”。这些感知指代卷积神经网络模型中最后一层和/或倒数第二层校正线性隐状态所得到的结果

3.2 早期对世界的模拟和对环境的学习

3.2.1 把RNN用于对环境的模拟:预测时确保时空上的一致性

在sora的第二个reference中,引入了循环神经网络来提升以前的高维像素观测环境模拟器。这些网络能够对未来数百个时间步进行时间和空间上的一致预测,从而使智能体能够有效地计划和行动

为了解决计算效率低下的问题,我们采用了一个不需要在每个时间步生成高维图像的模型。通过这个方法,可以改善探索并适应多种不同环境,包括10个雅达利游戏、3D赛车环境和复杂的3D迷宫

3.2.2 世界模型World Models

在sora的第三个reference中,研究了构建流行的强化学习环境生成神经网络模型的方法

世界模型可以通过无监督方式快速训练,以学习环境的时空压缩表示(to learn acompressed spatial and temporal representation of the environment)

通过将从世界模型中提取的特征作为Agent的输入,我们能够训练出一种非常紧凑和简洁的策略来解决所需任务。甚至可以完全在由世界模型生成的幻觉梦中(hallucinated dream generated by its world model)对Agent进行训练,并将该策略迁移到实际环境中

3.2.3 Generating Videos with Scene Dynamics

在sora的第四个reference中,利用大量未标记的视频,以学习场景动态模型,应用于视频识别任务(如动作分类)和视频生成任务(如未来预测)

  1. 其提出了一种具备时空卷积架构的视频生成对抗网络,该架构能够将场景中的前景与背景分离
  2. 实验证明,该模型能够以全帧率生成长达一秒的小视频,并且相较于简单基线方法表现更优,在预测静态图像方面也展示出可信度
  3. 此外,实验和可视化结果显示,该模型在最小监督下内部学习到了有益特征来识别动作,证明了场景动态是良好表示学习信号

3.2.4 Generating Long Videos of Dynamic Scenes

在sora的第7个reference中,提出了一个视频生成模型,可以精确地再现物体运动、摄像机视角的变化以及随时间推移而出现的新内容

  • 在它之前,已有的视频生成方法通常无法作为时间函数产生新内容,并同时保持真实环境中所期望的一致性,如可信的动态和对象持久性。一个常见失败案例是过度依赖归纳偏差来提供时间一致性,例如指定整个视频内容的单个潜在代码,导致内容永远不会改变
  • 另一种极端情况下,如果没有长期一致性,则生成的视频可能会在不同场景之间失去真实感并发生形变

为了解决这些限制,我们优先考虑时间轴,并通过重新设计时间潜在表示以及通过在更长视频上进行训练来学习长期一致性

为此,我们采用两阶段训练策略,在低分辨率下使用更长视频进行训练,在高分辨率下使用更短视频进行训练。为了评估模型能力,我们引入了两个新的基准数据集,明确关注长期时间动态

3.3 27/28/29-text-to-image,前面两篇均有Ilya Sutskever的参与

3.3.1 Generative Pretraining from Pixels:Transformer预测图像像素

  • 摘要: 这篇论文探讨了在图像领域应用无监督表示学习的方法,特别是通过训练一个序列Transformer来自回归地预测像素
    尽管在没有标签的低分辨率ImageNet数据集上进行训练,但模型(GPT-2规模)能够学习到强大的图像表示,这通过线性探测、微调和低数据分类得到了验证

    在CIFAR-10数据集上,使用线性探测达到了96.3%的准确率,超过了监督的Wide ResNet。在ImageNet上,通过VQ-VAE编码替换像素,达到了69.0%的准确率,与自监督基准相当
  • 方法: 研究者们提出了一种预训练阶段,然后进行微调阶段的方法。预训练阶段探索了自回归和BERT目标。Transformer架构被用来预测像素而不是语言token
    通过微调,模型可以适应图像分类任务。此外,还使用了线性探测来评估表示质量
  • 结果: 实验表明,更好的生成模型(以保留数据上的验证损失为衡量标准)也学习到了更好的表示。在CIFAR-10和CIFAR-100数据集上,模型在低数据分类任务上的表现超过了现有的方法。在ImageNet上,模型在微调后达到了66.3%的准确率

3.3.2 Zero-Shot Text-to-Image Generation:展示transformer的零样本能力

  • 摘要: 这篇论文描述了一个基于Transformer的方法,用于零样本文本到图像生成。该方法通过自回归地模拟文本和图像标记作为单一数据流。通过足够的数据和规模,该方法在零样本评估中与特定领域的模型竞争
  • 方法: 研究者们提出了一个两阶段训练过程
    \rightarrow  第一阶段使用离散变分自编码器(dVAE)将图像压缩为图像标记的网格
    \rightarrow  第二阶段,将文本token与图像token连接起来,训练一个自回归Transformer来模拟文本和图像token的联合分布
  • 结果: 该系统在MS-COCO数据集上实现了高质量的图像生成,零样本评估中,人类评估者在90%的情况下更喜欢该模型生成的图像。此外,该模型还能够执行图像到图像的翻译等复杂任务。

3.3.3 Scaling Autoregressive Models for Content-Rich Text-to-Image Generation

  • 摘要: 这篇论文介绍了Pathways Autoregressive Text-to-Image (Parti)模型,该模型能够生成高保真度的逼真图像,并支持内容丰富的合成,涉及复杂的组合和世界知识。Parti将文本到图像生成视为序列到序列的建模问题,使用图像标记序列作为目标输出
  • 方法: Parti模型基于Transformer架构,使用ViT-VQGAN图像分词器将图像编码为离散标记序列。通过扩大模型规模(高达20B参数),实现了一致的质量提升,MS-COCO上的零样本FID得分为7.23,微调后的FID得分为3.22
  • 结果: Parti模型在MS-COCO和Localized Narratives数据集上展示了强大的泛化能力,特别是在处理更长描述时
    此外,研究者们还引入了PartiPrompts (P2),这是一个包含超过1600个(英语)提示的全面基准,用于衡量模型在不同类别和难度方面的性能。

这三篇论文展示了在图像生成和视觉表示学习领域的最新进展,特别是在利用大规模数据集和模型规模来提高生成图像质量和多样性方面

// 待更

参考文献与推荐阅读

  1. OpenAI sora的技术报告:Video generation models as world simulators
  2. 我在模拟世界!OpenAI刚刚公布Sora技术细节:是数据驱动物理引擎
  3. 爆火Sora参数规模仅30亿?谢赛宁等大佬技术分析来了
  4. 请教英伟达小哥哥,解读 Sora 真正的技术突破
  5. Sora 的一些个人思考
  6. ViViT论文阅读
  7. 专访 VideoPoet 作者:视频模型技术会收敛,LLM 将取代diffusion带来真正的视觉智能
  8. sora的32个reference
  9. Sora背后团队:应届博士带队,00后入列,还专门招了艺术生
  10. 揭秘Sora技术路线:核心成员来自伯克利,基础论文曾被CVPR拒稿
  11. sora参考文献整理及AI论文工作流完善
  12. 一文看Sora技术推演
  13. ..

这篇关于OpenAI视频生成模型Sora的全面解析:从ViViT、扩散Transformer到NaViT、VideoPoet的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/726773

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了