Video generation models as world simulators-视频生成模型作为世界模拟器
原文地址:Video generation models as world simulators
我们探索在视频数据上进行大规模生成模型的训练。具体来说,我们联合训练文本条件扩散模型,同时处理不同持续时间、分辨率和长宽比的视频和图像。我们利用一个在视频和图像潜在编码的时空块上运行的转换器结构。我们最大的模型Sora能够生成一分钟高保真度视频。我们的结果表明,扩展视频生成模型是建立物理世界通用目的模拟器的一个有前途的途径。
这份技术报告着重介绍了两个方面:(1) 我们将各种类型的视觉数据转化为统一表示形式的方法,从而实现生成模型的大规模训练;和 (2) 对Sora的能力和局限性进行定性评估。报告中不包括模型和实施细节。
许多先前的研究都使用各种方法对视频数据进行生成建模,包括循环网络、生成对抗网络、自回归变换器和扩散模型。这些工作通常聚焦于狭窄类别的视觉数据、较短的视频或固定大小的视频。Sora是一种视觉数据的通用模型,它能够生成跨越不同持续时间、长宽比和分辨率的视频和图像,达到高清晰度视频长达一分钟。
将视觉数据转化为块
我们受到大型语言模型的启发,这些模型通过在互联网规模的数据上进行训练获得了通用能力。语言模型的成功在一定程度上归功于优雅地统一了文本、代码、数学和各种自然语言等多种形式的令牌。在这项工作中,我们考虑如何将视觉数据的生成模型继承这些好处。而语言模型使用文本令牌,Sora使用视觉块。之前已经证明,块对于视觉数据的模型是一种有效的表示形式。我们发现,块是一种高度可扩展且有效的表示形式,适用于训练各种类型的视频和图像的生成模型。
在高层次上,我们首先将视频压缩成较低维的潜在空间,然后将表示分解为时空块。
视频压缩网络
我们训练了一个网络来降低视觉数据的维度。该网络接收原始视频作为输入,并输出一个在时间和空间上都进行了压缩的潜在表示。Sora在这个压缩的潜在空间上进行训练,并生成视频。我们还训练了一个相应的解码器模型,将生成的潜在表示映射回像素空间。
时空潜在块
给定一个压缩的输入视频,我们提取一系列时空块作为变换器的令牌。这个方案也适用于图像,因为图像只是具有单帧的视频。我们基于块的表示形式使得Sora能够在分辨率、持续时间和长宽比可变的视频和图像上进行训练。在推理时,我们可以通过将随机初始化的块按适当大小的网格排列来控制生成的视频的大小。
扩展变换器用于视频生成
Sora是一个扩散模型;在给定噪声块输入(以及像文本提示这样的条件信息)的情况下,它被训练来预测原始的“清晰”块。重要的是,Sora是一个扩散变换器。变换器在各种领域展示了显著的扩展性能,包括语言建模、计算机视觉和图像生成。
在这项工作中,我们发现扩散变换器同样可以有效地扩展为视频模型。下面,我们展示了在训练进行中使用固定种子和输入的视频样本比较。随着训练计算力的增加,样本质量显著提高。
可变的持续时间、分辨率和长宽比
先前的图像和视频生成方法通常将视频调整大小、裁剪或修剪为标准尺寸,例如256x256分辨率的4秒视频。我们发现,相反,以原始大小训练数据具有几个优势。
采样灵活性
Sora可以对宽屏1920x1080p视频、竖屏1080x1920视频以及介于两者之间的视频进行采样。这使Sora能够直接以各种设备的原生长宽比创建内容。它还使我们能够在较低尺寸快速原型化内容,然后再使用相同的模型生成全分辨率内容。
改善构图和组成
我们在实践中发现,以视频的原生长宽比进行训练可以改善构图和组成。我们将Sora与将所有训练视频裁剪为正方形的模型版本进行了比较,这是训练生成模型时常见的做法。在正方形裁剪训练的模型(左侧)有时会生成主体仅部分在视野中的视频。相比之下,Sora生成的视频(右侧)具有改进的构图。
语言理解
训练文本到视频生成系统需要大量带有相应文本标题的视频。我们将引入 DALL·E 3 中的重新标注技术应用到视频中。我们首先训练一个高度描述性的标题模型,然后使用它为我们训练集中的所有视频生成文本标题。我们发现,使用高度描述性的视频标题进行训练不仅提高了文本的准确性,还改善了视频的整体质量。
类似于DALL·E 3,我们还利用GPT将用户的简短提示转化为更加详细的长篇说明,并将其发送给视频模型。这使得Sora能够生成高质量的视频,准确地遵循用户的提示。
通过图像和视频发出提示
以上所有结果以及我们的主页展示的都是文本到视频的样本。但是Sora也可以通过其他输入进行提示,例如预先存在的图像或视频。这种能力使得Sora能够执行各种图像和视频编辑任务,比如创建完美循环的视频、为静态图像添加动画效果、向后或向前延伸视频等。
为DALL·E图像添加动画效果
Sora能够根据提供的图像和提示生成视频。以下是基于DALL·E 2和DALL·E 3图像生成的示例视频。
延长生成的视频
Sora还可以延长视频的时间,可以向前或向后延长。以下是四个视频,它们都是从一个生成的视频片段开始向时间倒退延伸。因此,这四个视频的开头各不相同,但最终都导向同样的结尾。
我们可以使用这种方法向前和向后延伸视频,以生成一个无缝的无限循环。
视频到视频的编辑
扩散模型为从文本提示编辑图像和视频提供了众多方法。下面我们将其中一种方法,SDEdit,应用到Sora上。这种技术使得Sora能够零-shot转换输入视频的风格和环境。
连接视频
我们还可以使用Sora逐渐插值两个输入视频之间,创建在完全不同主题和场景组合之间无缝过渡的视频。在下面的示例中,中间的视频是左侧和右侧对应视频之间插值产生的结果。
图像生成能力
Sora还具备生成图像的能力。我们通过在时间轴上以一帧的时间跨度将高斯噪声块排列在空间网格中来实现这一点。该模型可以生成不同大小的图像,分辨率高达2048x2048。
新兴的仿真能力
我们发现,当视频模型在大规模训练时,它们表现出一些有趣的新兴能力。这些能力使得Sora能够从物理世界中模拟出人、动物和环境的某些方面。这些特性的出现并没有任何针对3D、物体等显式归纳偏好,它们纯粹是规模现象所产生的。
3D一致性 Sora可以生成具有动态摄像机运动的视频。随着摄像机的移动和旋转,人物和场景元素在三维空间中以一致的方式移动。
长程连贯性和物体持久性 对视频生成系统的一个重要挑战是在采样长视频时保持时间一致性。我们发现,尽管不总是如此,Sora通常能够有效地模拟短期和长期依赖关系。例如,我们的模型可以在人们、动物和物体被遮挡或离开画面时仍然保持它们的存在。同样地,它可以在单个样本中生成同一角色的多个镜头,并在整个视频中保持他们的外观。
与世界互动 Sora有时可以模拟一些影响世界状态的简单动作。例如,一位画家可以在画布上留下新的笔触,并随着时间推移而保留下来,或者一个人可以吃掉一个汉堡并留下咬痕。
模拟数字世界 Sora还能够模拟人工过程,一个例子是视频游戏。Sora可以同时使用基本策略控制《Minecraft》中的玩家,并以高保真度呈现世界及其动态。通过提供包含“Minecraft”关键词的描述性标题,这些能力可以从零开始引出。
这些能力表明,继续扩展视频模型是发展高能力物理世界和数字世界模拟器的有前途的道路,并模拟其中生活的物体、动物和人类。
讨论
目前,Sora作为一个模拟器还存在许多限制。例如,它无法准确地模拟许多基本交互的物理性质,比如玻璃破碎。其他交互,比如吃东西,也不总是产生正确的物体状态变化。我们在我们的首页上列举了模型出现的其他常见故障模式,比如长时间样本中出现的不连贯性或物体的突然出现。
我们相信,Sora如今所展现的能力表明,继续扩展视频模型是发展具有能力的物理世界和数字世界模拟器,并模拟其中生活的物体、动物和人类的有前途的道路。
相关文章:
Video generation models as world simulators-视频生成模型作为世界模拟器
原文地址:Video generation models as world simulators 我们探索在视频数据上进行大规模生成模型的训练。具体来说,我们联合训练文本条件扩散模型,同时处理不同持续时间、分辨率和长宽比的视频和图像。我们利用一个在视频和图像潜在编码的时…...
高刷电竞显示器 - HKC VG253KM
今天给大家分享一款高刷电竞显示器 - HKC VG253KM。 高刷电竞显示器 - HKC VG253KM源于雄鹰展翅翱翔的设计灵感,严格遵循黄金分割比例的蓝色点晴线条,加上雾面工艺及高低起伏错落有致的线条处理,在VG253KM的背部勾勒出宛若大鹏展翅的鹰翼图腾…...
nginx-------- 高性能的 Web服务端 (三) 验证模块 页面配置
一、http设置 1.1 验证模块 需要输入用户名和密码 htpasswd 此命令来自于 httpd-tools 包,如果没有安装 安装一下即可 也可以安装httpd 直接yum install httpd -y 也一样 第一次生成文件htpasswd -c 文件路径 姓名 交互式生成密码 htpasswd -bc 文…...
Kafka是如何防止消息丢失的
Kafka通过一系列机制来防止消息丢失,主要包括以下几个方面: 生产者端(Producer)保证: 同步发送:生产者默认是异步发送消息的,但如果希望保证消息不丢失,可以选择将异步发送改为同步…...
[工具探索]VSCode介绍和进阶使用
相比较GoLand、PhpStorm、PyCharm、WebStorm的重量级内存占用,从Windows系统来,各种卡死,换到MacOS倒不会卡死,但是内存占用太多,影响体验,决定换到VSCode。当然这个过程需要适应过渡期,旧伙计都…...
Oracle迁移到mysql-表结构的坑
1.mysql中id自增字段必须是整数类型 id BIGINT AUTO_INCREMENT not null, 2.VARCHAR2改为VARCHAR 3.NUMBER(16)改为decimal(16,0) 4.date改为datetime 5.mysql范围分区必须int格式,不能list类型 ERROR 1697 (HY000): VALUES value for partition …...
【SpringCloudAlibaba系列--nacos配置中心】
Nacos做注册中心以及使用docker部署nacos集群的博客在这: 容器化部署Nacos:从环境准备到启动 容器化nacos部署并实现服务发现(gradle) 使用docker部署nacos分布式集群 下面介绍如何使用nacos做配置中心 首先要进行nacos-config的引入,引入…...
使用LinkedList实现堆栈及Set集合特点、遍历方式、常见实现类
目录 一、使用LinkedList实现堆栈 堆栈 LinkedList实现堆栈 二、集合框架 三、Set集合 1.特点 2.遍历方式 3.常见实现类 HashSet LinkedHashSet TreeSet 一、使用LinkedList实现堆栈 堆栈 堆栈(stack)是一种常见的数据结构,一端…...
springboot-cache+redis 为指定名称缓存设置独立超时时间
版本 spring-boot: 3.2.2 方案 注册 RedisCacheManagerBuilderCustomizer Bean对指定名称缓存进行定制 Bean RedisCacheManagerBuilderCustomizer redisCacheManagerBuilderCustomizer() {return builder -> builder.withCacheConfiguration(// Cacheable 注解使用的cac…...
Flutter 数据持久化存储之Hive
Flutter 数据持久化存储之Hive 前言正文一、配置项目二、UI① 增加UI② 显示和删除UI 三、使用Hive① 初始化Hive② TypeAdapter自定义对象③ 注册TypeAdapter③ CURD 四、源码 前言 在Flutter中,有多种方式可以进行数据持久化存储。以下是一些常见的方式࿱…...
Java中继承静态属性,方法,和非静态属性和方法的继承区别
结论: Java中静态属性和静态方法是可以被继承的,但是不可以被重写,而是被隐藏。 Java中非静态属性,可以被继承,但是不可以被重写,而是被隐藏。 Java中非静态方法,可以被继承,可以…...
C# If与Switch的区别
在 switch 语句中使用表达式比较时,编译器会生成一个查找表,其中包含所有表达式的值和对应的 case 标签。因此,与使用常量或字面量比较相比,使用表达式比较可能会略微降低性能。 只有当 switch 语句中的所有 case 标签都使用常量或…...
实验室预约|实验室预约小程序|基于微信小程序的实验室预约管理系统设计与实现(源码+数据库+文档)
实验室预约小程序目录 目录 基于微信小程序的实验室预约管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 (1)管理员登录 (2)实验室管理 (3)公告信息…...
蓝桥杯DP算法——区间DP(C++)
根据题意要求的是将石子合并的最小权值,我们可以根据DP思想使用二维数组f[i,j]来存放所有从第i堆石子到第j堆石子合并成一堆石子的合并方式。 然后由第二个图所示,我们可以将i到j区间分成两个区间,因为将i到j合并成一个区间的前一步一定是合…...
pytest结合Allure生成测试报告
文章目录 1.Allure配置安装2.使用基本命令报告美化1.**前置条件**2.**用例步骤****3.标题和描述****4.用例优先级**3.进阶用法allure+parametrize参数化parametrize+idsparametrize+@allure.title()4.动态化参数5.环境信息**方式一****方式二**6.用例失败截图1.Allure配置安装 …...
Linux--ACL权限管理
一.ACL权限管理简介 ACL(Access Control List,访问控制列表)是一种文件权限管理机制,它提供了比传统的UGO(用户、组、其他)权限更灵活的权限设置方式。以下是ACL的一些主要功能: 针对特定用户或…...
Xcode中App图标和APP名称的修改
修改图标 选择Assets文件 ——> 点击Applcon 换App图标 修改名称 点击项目名 ——> General ——> Display Name...
Spring 手动实现Spring底层机制
目录 一、前言 二、Spring底层整体架构 1.准备工作 : 2.架构分析 : (重要) 3.环境搭建 : 三、手动实现Spring容器结构 1.自定义注解 : 1.1 Component注解 1.2 Scope注解 2.自定义组件 : 3.自定义用于封装Bean信息的BeanDefinition类&a…...
CSV数据导入到ClickHouse数据库
问题描述:手头上有一个数据量较大的CSV文件,希望导入到指定的ClickHouse数据中,ClickHouse部署在服务器中。 解决方案:通常来说,数据量较少的CSV文件可以直接通过DBeaver软件的可视化界面导入数据。 若数据量较大&…...
第十二天-ppt的操作
目录 创建ppt文档 安装 使用 段落的使用 段落添加数据 段落中定义多个段落 自定义段落 ppt插入表表格 PPT插入图片 读取ppt 读取ppt整体对象 编辑 获取ppt文本 获取表格内容 创建ppt文档 安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
