OpenAl 视频生成模型 —— Sora技术报告解读

2024-02-18 17:36

本文主要是介绍OpenAl 视频生成模型 —— Sora技术报告解读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里是陌小北,一个正在研究硅基生命的碳基生命。正在努力成为写代码的里面背诗最多的,背诗的里面最会写段子的,写段子的里面代码写得最好的…厨子。

写在前面

早上醒来,就看到OpenAl推出的视频模型Sora炸锅了,感觉所有人都不淡定了… 这种时候我一般是先不看,让子弹先飞一会儿的,正当我看会儿闲书修身养性的时候,技术报告又出来了,这下我也来神儿了,盘他盘他…

其实我老早就想研究一下当前的文生视频模型都有哪些技术,做个调研和总结了,今天就当个起点吧。因为2024年很可能迎来视频的“ChatGPT 时刻”,a16z发布了文章《为什么2023是AI视频的突破年,以及2024年的展望》,总结了2023年的AI视频产品以及相应的时间点。

再加上年初,谷歌推出了Lumiere模型,字节跳动和腾讯也分别公布了MagicVideo V2与VideoCrafter2,今天OpenAl的Sora一出,只能说硝烟已至,未来已来。

通过这份总结可以看出,大多数产品只能生成 3 到 4 秒钟的视频,并且存在视频质量参差不齐,人物风格难以统一等问题,但是今天Sora直接将时长打到60秒,并且支持多角度镜头,还有最重要的,Sora似乎已经涌现出了模拟能力,有了“世界模型”的雏形…

技术报告解读

首先贴上技术报告地址:https://openai.com/research/video-generation-models-as-world-simulators

报告标题是“Video generation models as world simulators” —— “作为世界模拟器的视频生成模型”,并且在报告开始就说了,视频生成模型是构建物理世界通用模拟器的一个值得研究的方向,悬念感拉满。

接下来是回顾之前视频领域的研究进展,主要包括 recurrent networks,generative adversarial networks(GAN),autoregressive transformers,diffusion models,这些方法通常应用与小范围的视觉数据、短视频或固定大小的视频。Sora是一个通用的视觉数据模型,它可以生成不同时长、长宽比和分辨率的视频和图像,而且最多可以输出长达一分钟的高清视频。

关于报告公示的具体细节,先泼个冷水,CloseAI 的报告不包含模型和训练的细节,报告重点阐述的有两点:第一,Sora将所有类型的视觉数据转换为统一表示形式(patches),从而用于大规模训练生成模型;第二,对 Sora 的能力和局限性进行定性评估。

技术点一:视觉数据转为 Patches

Patches是类似于LLM中token的概念。LLM过使用互联网上大规模的数据进行训练从而获得了通用能力,这也给了Sora灵感。

LLM中正是通过token这一新的范式,将文本的多种模态 (代码、数学和各种自然语言)统一了起来。所以视觉模型Sora参考了这一创新,OpenAI 发现 patches 是训练生成各种类型视频和图像的模型的可扩展且有效的表示。

如下图,首先将视频压缩到较低维的潜在空间,然后将表示分解为spacetime patches,从而将视频转换为 patches。

技术点二:视频压缩网络

OpenAI 训练了一个降低视觉数据维度的网络和相应的解码器模型。看起来还是类似于transformer 的编码器和解码器,编码器将原始视频作为输入,并输出在时间和空间上压缩的latent representation,解码器将生成的潜在表示映射回像素空间。Sora 在这个压缩的潜在空间中接受训练,而后生成视频。OpenAI 还训练了,将生成的潜在表示映射回像素空间。

技术点三:Spacetime Latent Patches

给定一个压缩的输入视频,OpenAI 提取一系列时空 patches,充当 Transformer 的 tokens。该方案也适用于图像,因为图像可视为单帧视频。OpenAI 基于 patches 的表示使 Sora 能够对不同分辨率、持续时间和长宽比的视频和图像进行训练。在推理时,OpenAI 可以通过在适当大小的网格中排列随机初始化的 patches 来控制生成视频的大小。

技术点四:用于视频生成的Scaling Transformer

Sora 是一个扩散 Transformer。关于为什么采用Transformer,报告中提到,Transformer 在各个领域都表现出了卓越的缩放特性,包括语言建模、计算机视觉、和图像生成。同时,OpenAI 发现扩散 Transformers在视频模型上同样有效。

Sora的具体实现方式是:通过给定的输出的noisy patches(噪声 patches,以及像是问题提示一类的训练信息),训练出模型,用来预测原始的“clean” patches。

下面,OpenAI 展示了训练过程中具有固定种子和输入的视频样本的比较。随着训练计算的增加,样本质量显着提高。

技术点五:语言理解

由于训练文本到视频生成系统需要大量带有相应文本字幕的视频。OpenAI将 DALLE 3 中的重字幕(re-captioning)技术应用于视频。具体来说,首先训练一个高度描述性的字幕生成器模型,然后使用它为训练集中所有视频生成文本字幕。研究团队发现,对高度描述性视频字幕进行训练可以提高文本保真度以及视频的整体质量。

与 DALLE 3 类似,研究团队还利用 GPT 将简短的用户 prompt 转换为较长的详细字幕,然后发送到视频模型。这使得 Sora 能够生成准确遵循用户 prompt 的高质量视频。

亮点一:可变的持续时间,分辨率,宽高比

以往,图像和视频生成方法通过需要调整大小、进行裁剪或者是将视频剪切到标准尺寸。Sora采用在原始大小的数据上进行训练,OpenAI 发现在原始大小的数据上进行训练,可以提供以下好处:

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

其次是改进帧和内容组成:研究者通过实证发现,使用视频的原始长宽比进行训练可以提升内容组成和帧的质量。(原文的例子我就不贴了,反正就是证明他们的方法好)

亮点二:可以以图像和视频作为提示

这里,报告中列举了通过DALL-E的图像制作动画视频、基于一段视频拓展新视频、SDEdit(根据文本 prompt 编辑视频的方法,能够在零样本条件下改变输入视频的风格和环境)、连接视频、生成图像(单帧视频)。

亮点三:涌现模拟能力

OpenAI 发现,视频模型在经过大规模训练后,涌现出模拟能力。这些能力使 Sora 能够模拟物理世界中的人、动物和环境的某些方面。这表明,视频模型的持续扩展是开发物理和数字世界模拟器的一条有前景的道路。

Sora表现出的涌现模拟具体能力如下:

(1)三维一致性。Sora 可以生成动态摄像机运动的视频。随着摄像机的移动和旋转,人物和场景元素在三维空间中的移动是一致的。

(2)长序列连贯性和目标持久性。视频生成系统面临的一个重大挑战是在对长视频进行采样时保持时间一致性。OpenAI 发现,虽然 Sora 并不总是能有效地模拟短距离和长距离的依赖关系,但它在很多时候仍然能做到这一点。例如,即使人、动物和物体被遮挡或离开画面,Sora 模型也能保持它们的存在。同样,它还能在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。

(3)与世界交互。Sora 有时可以模拟以简单方式影响世界状态的动作。例如,画家可以在画布上留下新的笔触,这些笔触会随着时间的推移而持续,或者一个人可以吃汉堡并留下咬痕。

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

局限性讨论

Sora 目前还存在许多局限性。例如,它不能准确模拟许多基本交互的物理现象,如玻璃碎裂。也并不是总能产生正确的物体状态变化,官方主页列举了该模型的其他常见失效模式,例如长时间样本中出现的不一致性或物体的自发出现等。总结来讲,也就是难以准确模拟复杂场景的物理原理,并且可能无法理解因果关系。

写在最后

关于视频模型的研究总结,之后应该还会继续,2024的开年,很精彩…

这篇关于OpenAl 视频生成模型 —— Sora技术报告解读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结