Sora:视频生成模型作为世界模拟器

我们探索了视频数据上生成模型的大规模训练。具体来说,我们在可变持续时间、分辨率和长宽比的视频和图像上联合训练文本条件扩散模型。我们利用了一个在视频和图像潜在码的时空块上操作的变压器架构。我们规模最大的模型 Sora 能够生成一分钟的高保真视频。我们的结果表明,扩大视频生成模型的规模,是建立通用物理世界模拟器的一条有前景的途径。

Sora:一镜到底,惊艳了整个世界

本技术报告重点介绍(1)我们将各类视觉数据转化为统一表示的方法,使生成模型能够进行大规模训练,以及(2)对 Sora 的能力和局限性的定性评估。本报告未包含模型和实现的详细信息。

许多先前的研究工作已经使用各种方法研究了视频数据的生成建模,包括循环网络、1、2、3 生成对抗网络、4、5、6、7 自回归转换器、8、9 和扩散模型。10、11、12 这些工作通常专注于狭窄的视觉数据类别、较短的视频或固定大小的视频。 Sora 是视觉数据的通用模型——它可以生成跨越不同持续时间、长宽比和分辨率的视频和图像,最长可达一分钟的高清视频。

在这里插入图片描述

将视觉数据转化为块

我们从大型语言模型(LLM)中获取灵感,这些模型通过训练互联网规模的数据获得通用能力。13、14 LLM 范式部分成功的原因在于使用了令牌,这些令牌可以优雅地统一文本的多种模态——代码、数学和各种自然语言。在这项工作中,我们考虑视觉数据的生成模型如何继承此类好处。 LLM 有文本令牌,而 Sora 有视觉块。以前的研究已经表明,块是视觉数据模型的有效表示。15、16、17、18 我们发现,块是训练各种类型和图像生成模型的可扩展且有效的表示。

在高级别上,我们首先将视频压缩到较低维度的潜在空间,19 然后将表示分解为时空块,从而将视频转化为块。

视频压缩网络

我们训练了一个降低视觉数据维度的网络。20 这个网络以原始视频为输入,并输出一个同时在时间和空间上被压缩的潜在表示。 Sora 在这个压缩的潜在空间内进行训练,并随后生成视频。我们还训练了一个相应的解码器模型,将生成的潜在值映射回像素空间。

时空潜在块

给定压缩的输入视频,我们提取一系列时空块,这些块充当转换器的令牌。这种方案也适用于图像,因为图像只是具有单个帧的视频。我们基于块的表示使 Sora 能够训练可变分辨率、持续时间和长宽比的视频和图像。在推断时,我们可以通过在适当大小的网格中排列随机初始化的块来控制生成视频的大小。

用于视频生成的变换器扩展

Sora 是一个扩散模型21、22、23、24、25;给定输入噪声块(以及条件信息,如文本提示),它被训练来预测原始“干净”块。重要的是, Sora 是一个扩散转换器。26 转换器在各种领域中展示了出色的扩展性,包括语言建模13、14、计算机视觉15、16、17、18 和图像生成27、28、29。
在这里插入图片描述
在这项工作中,我们发现扩散转换器作为视频模型也能有效地扩展。下面,我们展示了随着训练的进行,具有固定种子和输入的视频样本的比较。随着训练计算量的增加,样本质量明显提高。

可变持续时间、分辨率、长宽比

过去的图像和视频生成方法通常会将视频调整大小、裁剪或修剪为标准大小,例如分辨率为 256x256 的 4 秒视频。我们发现,相反,在数据的原始大小上进行训练可以提供几个好处。

采样灵活性

Sora 可以采样宽屏 1920x1080p 视频、垂直 1080x1920 视频以及它们之间的所有内容。这让 Sora 能够直接以设备的原始长宽比创建内容。它还允许我们在以全分辨率生成之前,使用相同的模型快速生成较低大小的内容原型。

改进构图和构图

我们经验地发现,在视频的原始长宽比上进行训练可以改进构图和构图。我们将 Sora 与我们模型的一个版本进行了比较,该版本将所有训练视频裁剪为正方形,这是在训练生成模型时的常见做法。在正方形裁剪上训练的模型(左)有时会生成仅部分显示主体的视频。相比之下,来自 Sora(右)的视频具有改进的构图。

语言理解

训练文本到视频的生成系统需要大量的带有相应文本字幕的视频。我们将 DALL·E 330 中引入的重新标注技术应用于视频。我们首先训练一个高度描述性的字幕模型,然后使用它为训练集中的所有视频生成文本字幕。我们发现,在高度描述性的视频字幕上进行训练可以提高文本的保真度和视频的整体质量。

与 DALL·E 3 类似,我们还利用 GPT 将简短的用户提示转换为更长的详细字幕,然后将其发送到视频模型。这使 Sora 能够生成高质量的视频,准确遵循用户提示。

使用图像和视频进行提示

上面和我们的着陆页上的所有结果都展示了文本到视频的样本。但 Sora 也可以用其他输入进行提示,例如预先存在的图像或视频。这种能力使 Sora 能够执行广泛的图像和视频编辑任务——创建完美循环的视频、使静态图像动起来、在时间上前向或后向扩展视频等。

使 DALL·E 图像动起来

Sora 能够根据图像和提示作为输入生成视频。下面,我们展示了基于 DALL·E 231 和 DALL·E 330 图像生成的示例视频。

扩展生成的视频

Sora 还能够向前或向后扩展视频。以下是四个从生成的视频片段开始向后扩展的视频。因此,这四个视频的开头各不相同,但最终都以相同的结尾结束。

我们可以使用这种方法向前和向后扩展视频,以产生无缝的无限循环。

视频到视频的编辑

扩散模型使得从文本提示中编辑图像和视频的方法变得丰富多样。下面,我们将其中一种方法 SDEdit32 应用到 Sora 上。这种技术使 Sora 能够零镜头地转换输入视频的风格和环境。

连接视频

我们还可以使用 Sora 逐渐在两个输入视频之间进行插值,从而创建具有完全不同主题和场景组成的视频之间的无缝过渡。在下面的示例中,中间的视频在左侧和右侧对应的视频之间进行插值。

图像生成能力

Sora 也能够生成图像。我们通过在空间网格中排列一个时间长度为一帧的高斯噪声块来做到这一点。该模型可以生成可变大小的图像,最高分辨率为 2048x2048。

新兴的模拟能力

我们发现,当在大规模上进行训练时,视频模型会表现出许多有趣的新兴能力。这些能力使 Sora 能够模拟物理世界中的人、动物和环境的一些方面。这些属性是在没有任何明确的 3D、对象等归纳偏见的情况下出现的——它们完全是规模的现象。

3D 一致性。Sora 可以生成具有动态相机运动的视频。当相机移动和旋转时,人和场景元素会在三维空间中一致地移动。

长程一致性和物体恒存性。对于视频生成系统来说,在采样长视频时保持时间一致性一直是一个重大挑战。我们发现,尽管并非总是如此,但 Sora 通常能够有效地建模短期和长期依赖关系。例如,我们的模型可以在人们、动物和物体被遮挡或离开画面时保持它们的存在。同样,它可以在单个样本中生成同一角色的多个镜头,并在整个视频中保持其外观。

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

模拟数字世界。Sora 还能够模拟人工过程——一个例子是视频游戏。Sora 可以在高保真度的同时,用基本策略同时控制 Minecraft 中的玩家并渲染世界及其动态。通过用提到“Minecraft”的标题提示 Sora,可以零镜头地激发这些能力。

这些能力表明,继续扩大视频模型的规模是实现高度能力的物理和数字世界模拟器,以及其中生活的物体、动物和人的发展的有前途的途径。

讨论

目前,Sora 作为模拟器存在许多限制。例如,它不能准确地模拟许多基本交互的物理性质,如玻璃破碎。其他交互,如吃食物,并不总是会导致对象状态的正确变化。我们在我们的着陆页面上列举了模型的其他常见故障模式,例如在长时间样本中发展的不一致性或对象的自发出现。

我们认为 Sora 目前所具备的能力表明,继续扩大视频模型的规模是实现高度能力的物理和数字世界模拟器,以及其中生活的物体、动物和人的发展的有前途的途径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/403181.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024-02-22(Spark)

1.Spark Application程序入口为:SparkContext,任何一个应用首先需要构建SparkContext对象,两个步骤构建: 第一步,创建SparkConf对象。设置Spark Application基本信息,比如应用的名称AppName和应用运行Mast…

模拟电路设计必读:模电四大名著(可下载)

在模拟电路设计领域,有一些经典著作被誉为模拟电路设计的四大名著。这些书籍不仅深入浅出地介绍了模拟电路设计的基本原理,而且涵盖了广泛的应用场景和实践技巧。若你想在模拟电路设计领域取得更进一步的成就,以下这几本书是不可或缺的&#…

Deeplink深度链接打破屏障,实现App营销推广的无限可能

在移动互联网时代,App作为连接用户与服务的桥梁,其重要性不言而喻。然而,App的营销推广却面临着诸多挑战:如何实现站外任意触点快速跳转至App关键页?如何全链路跟踪并精准挖掘用户安装来源?如何促进App裂变…

存储密码时为什么要加盐?

存储密码时为什么要加盐? 本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除 今天来聊聊存储密码时为什么要加盐。 存储密码应注意 不要用纯文本存储密码,因为任何有内部访问权限的人都可以看到它们。直接存储密码…

猫咪不喝水是什么原因?猫不喝水的完美解决方法!

养过很多只猫的人都知道,猫似乎普遍不太喜欢喝水。只看到一只或两只猫不喝水,那可能是个别现象。但似乎绝大部分的猫都不太爱喝水,这是为什么呢? 一、猫咪不喝水是什么原因? 如果你已经尝试了各种方法来让猫咪多喝水…

【析】考虑同时取送和时间窗的车辆路径及求解算法

期刊:computer engineering and applications 计算机工程与应用![c 引言 1. 问题分析 1.1 问题描述 问题描述为: 若干运输车辆从配送中心出发为客户取送货并最终返回配送中心,每位客户仅由一辆车服务一次,车辆在配送过程中任…

WEB-UI自动化测试实践

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

Aloudata StarRocks 直播预告:指标平台的物化加速实践

数据指标的管理、研发和应用一直存在着诸多痛点,这些挑战促使了对指标平台解决方案的需求不断增长。2月29日(星期四)19:00,Aloudata 将与 StarRocks 携手举办线上直播,深入揭秘第三代指标平台物化加速的强大能力&#…

【Python】实现一个类似于Glass2k的Windows窗口透明化软件

一 背景说明 网上看到一款Windows下的窗口透明化工具Glass2k(Glass2k官网),可以简单地通过快捷键实现任意窗口的透明化,还挺方便的,想用Python自己实现一下类似的功能。 软件已经开源到:窗口透明化小工具开…

vue大文件读取部分内容,避免重复加载大文件,造成流量浪费

使用场景:项目点云地图是pcd文件,但是文件可能上百兆,我需要获取到文件中的版本信息,跟本地的缓存文件做比较,如果不一致,才会加载整个文件。从而节省流量。 避免重复加载整个“.pcd文件,以最大…

Linux篇:Shell命令以及运行原理 和 权限

一. Shell命令及原理 Linux操作系统狭义上是Linux内核,广义上是指Linux内核Linux外壳(Shell)和对应的配套程序 Linux外壳:Linux 外壳是用户与内核之间的接口,用户通过外壳与操作系统进行交互和操作。在 Linux 系统中,用户可以选…

软件确认测试流程和作用简析,出确认测试报告的软件测评公司分享

软件确认测试是指对软件产品进行验证和确认,以确保其满足预先设定的需求和规格。它是软件开发过程中的重要一步,旨在发现和解决潜在的问题和错误,以提高软件的质量和可靠性。 一、软件确认测试的流程有哪些?   1、需求分析和测试计划制定…

【Spring】SpringBoot 创建和使用

目 录 一.什么是Spring Boot?为什么要学Spring Boot?二.Spring Boot 优点三.Spring Boot 项目创建3.1 使用 Idea 创建3.2 网页版创建注意事项:包路径错误小结:约定大于配置 一.什么是Spring Boot?为什么要学Spring Boo…

C#串口 Modbus通讯工具类

一、安装Modbus包 二、创建modbushelper类 1、打开串口 public bool IfCOMOpend; //用于实例内的COM口的状态 public SerialPort OpenedCOM;//用于手动输入的COM转成SERIAL PORT /// <summary> /// 打开串口 /// </summary> /// <param name="COMname&quo…

VMware虚拟机文件夹共享失效

问题现象 今天开启虚拟机的时候就看到这个&#xff0c;感觉又要有不好的事情发生了。 果不其然&#xff0c;开机之后弹出这个&#xff0c;我当时还没意识到这个dll文件会对我的正常使用产生什么样的影响。 然后就发现文件根本拷贝不进去虚拟机里面&#xff0c;连虚拟机里面的共…

Transformer 架构—Encoder-Decoder

文章目录 前言 一、Encoder 家族 1. BERT 2. DistilBERT 3. RoBERTa 4. XML 5. XML-RoBERTa 6. ALBERT 7. ELECTRA 8. DeBERTa 二、Decoder 家族 1. GPT 2. GPT-2 3. CTRL 4. GPT-3 5. GPT-Neo / GPT-J-6B 三、Encoder-Decoder 家族 1. T5 2. BART 3. M2M-100 4. BigBird 前言 …

VS Code如何统计代码量

1、插件统计 在 VS Code 中&#xff0c;可以使用插件来统计文件夹里的代码行数。以下是使用插件的步骤&#xff1a; 打开 VS Code&#xff0c;点击左侧的插件图标&#xff08;或者按下 CtrlShiftX 快捷键&#xff09;&#xff0c;搜索并安装 Code Metrics 插件。 安装完成后…

【GStreamer】GstElement详解:GStreamer 中最重要的对象

1、什么是元素GstElement? 每个解码器、编码器、解复用器、视频或音频输出实际上都是一个GstElement。GstElement可以视为一个黑盒子:例如,对于解码器元素,输入为已编码数据,输出为解码后的数据,解码过程已由GstElement封装好。 2、都有哪些元素GstElement? 2.1 源点…

喜报,喜报!MO 荣获六个年度大奖!

我们很高兴地宣布一件事儿&#xff01; 今年&#xff0c;我们荣获了六个年度大奖&#xff0c;分别是&#xff1a; 中国信通院 “星河” 案例 InfoQ 2023 年度技术内容贡献奖 2023 大数据产业年度国产化优秀代表厂商 ITPUB 2023年度技术卓越奖 CSDN 中国开发者影响力年度榜单—…

用结构减法比较平面上4点结构的顺序

( A, B )---6*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有6个节点&#xff0c;AB训练集各由6张二值化的图片组成&#xff0c;A有4个点&#xff0c;B全是0.收敛误差7e-4&#xff0c;收敛199次&#xff0c;统计迭代次数平均值并排序。 如果行和列自由变换&#xff0c;迭代次数不…