(2024,时空 trasnformer,时空视频分词器,自回归动力学模型,潜在行动模型)Genie:生成式交互环境

news2025/2/24 14:59:20

Genie: Generative Interactive Environments

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

2. 方法

2.1. 模型组件

2.2. 推理:可控行动视频生成

3. 实验


0. 摘要

我们介绍 Genie,这是第一个通过无监督方式从未标记的互联网视频中训练出来的生成式交互环境。通过文本、合成图像、照片,甚至素描,该模型可以被提示生成各种可控行动的虚拟世界。拥有 11B 参数,Genie 可以被视为基础世界模型(foundation world model)。它包括一个时空视频分词器(spatiotemporal video tokenizer)、一个自回归动力学模型(autoregressive dynamics model),以及一个简单而可扩展的潜在行动模型(latent action model)。尽管在训练中没有任何地面真实行动标签或其他通常在世界模型文献中找到的领域特定要求,Genie 使用户能够在生成的环境中逐帧执行操作。此外,所得到的学习潜在行动空间有助于训练代理程序模仿来自未见过视频的行为,为未来训练通用代理程序打开了道路。

项目页面:https://sites.google.com/view/genie-2024/home

2. 方法

Genie 是一个从仅视频数据中训练出来的生成式交互环境。在这一部分,我们从开始讲解模型的主要组成部分之前,先介绍一些基本概念。

Genie 架构中的几个组件基于 Vision Transformer(ViT)(Dosovitskiy等,2021;Vaswani等,2017)。值得注意的是,Transformer 的二次存储成本对于可能包含多达 O(10^4) 个 token 的视频提出了挑战。因此,我们在所有模型组件上采用了一种内存高效的 ST-transformer 架构(受Xu等人(2020)启发,见图 4),在模型容量和计算约束之间取得平衡。

与传统的 Transformer 不同,其中每个标记都与其他所有标记有关,ST-transformer 包含 L 个时空块,其中交错使用空间和时间注意层,然后是标准的前馈层(FFW)作为注意块。空间层中的自注意力关注每个时间步内的 1 × H × W token,而时间层中的自注意力关注跨越 T 个时间步的 T × 1 × 1 token。与序列 Transformer  类似,时间层假设具有因果结构和因果掩码。至关重要的是,在我们的架构中,计算复杂性的主导因素(即空间注意力层)与帧数成线性关系而不是二次关系,使其在具有持续动态交互的视频生成中更加高效。此外,请注意在 ST 块中,我们在空间和时间组件之后只包含一个 FFW,省略了后空间(post-spatial) FFW,以便提高模型的其他组件,我们观察到这显著改善了结果。

2.1. 模型组件

如图3所示,我们的模型包含三个关键组件:1)一个潜在行动模型,推断每一对帧之间的潜在行动𝒂,2)一个视频分词器,将原始视频帧转换为离散 token 𝒛,以及 3)一个动力学模型,给定潜在行动和过去的帧标记,预测视频的下一帧。该模型按照标准自回归视频生成流程进行两个阶段的训练:首先训练视频分词器,然后用于动力学模型。然后,我们同时训练潜在行动模型(直接从像素中获得)和动力学模型(在视频标记上)。

潜在行动模型(Latent Action Model,LAM)。为实现可控制的视频生成,我们使每个未来帧的预测依赖于前一帧的行动。然而,在互联网视频中很少有此类行动标签,并且获得行动注释可能成本高昂。相反,我们以完全无监督的方式学习潜在行动(见图 5)。

首先,一个编码器将所有先前的帧 𝒙_(1:𝑡) = (𝑥1, · · · 𝑥𝑡) 以及下一帧 𝑥_(𝑡+1) 作为输入,并输出相应的一组连续的潜在行动 ˜𝒂_(1:𝑡) = (˜𝑎1, · · · ˜𝑎𝑡)。然后,一个解码器将所有先前的帧和潜在行动作为输入,并预测下一帧 ˆ𝑥_(𝑡+1)。

为了训练模型,我们利用基于 VQ-VAE 的目标(van den Oord等,2017),这使我们能够将预测的动作数量限制在一个小的离散代码集中。我们将 VQ 码书的词汇大小 |𝐴|(即可能的潜在行动的最大数量)限制为一个小的值,以允许人类可玩性,并进一步强制可控性(在我们的实验中使用 |𝐴| = 8)。由于解码器只能访问历史和潜在行动,˜𝑎𝑡 应编码过去和未来之间对解码器成功重构未来帧最有意义的变化。请注意,这个解码器仅在 LAM 训练信号中存在。实际上,除了 VQ 码书之外,整个 LAM 在推断时被丢弃,并用用户的行动替换。

我们利用我们的 ST-transformer 架构来构建潜在行动模型。在时间层中的因果掩码允许我们将整个视频 𝒙_1:𝑇 作为输入,并生成每一帧之间的所有潜在行动 ˜𝒂_1:𝑇−1。

视频分词器(Video Tokenizer)。借鉴之前的工作(Gupta等,2023;Villegas等,2023;Yan等,2023),我们将视频压缩为离散标记,以降低维度并实现更高质量的视频生成(见图 6)。我们再次使用 VQ-VAE,它以视频的T帧 𝒙_1:𝑇 = (𝑥1, 𝑥2, · · · , 𝑥𝑇 ) ∈ ℝ^(𝑇×𝐻×𝑊×𝐶) 作为输入,在整个视频序列上生成每个帧的离散表示 𝒛_1:𝑇 = (𝑧1, 𝑧2, · · · , 𝑧𝑇 ) ∈ 𝕀^(𝑇×𝐷),其中 𝐷 是离散潜在空间的大小。使用标准的 VQ-VAE 目标训练分词器,覆盖整个视频序列。

与先前专注于仅在分词阶段进行空间压缩的工作不同(Gupta等,2023;Hong等,2022;Wu等,2022),我们在编码器和解码器中都使用 ST-transformer 来合并编码中的时间动态,从而提高了视频生成的质量。由于 ST-transformer 的因果性质,每个离散编码 𝑧𝑡 包含来自视频 𝒙_1:𝑡 中所有先前看到的帧的信息。Phenaki(Villegas等,2023)也使用了一个具有时间感知的分词器,C-ViViT,但这种架构的计算密集性较高,因为其成本随着帧数的增加呈二次增长。相比之下,我们基于 ST-transformer 的分词器(STViViT)在成本上更加高效,其成本的主导因素与帧数成线性关系。

动力学模型(Dynamics Model)。动力学模型是一个仅解码的 MaskGIT(Chang等,2022)transformer(见图7)。在每个时间步 𝑡 ∈ [1, 𝑇],它接收标记化视频 𝒛_1:𝑡−1 和 stopgrad 潜在行动 ˜𝒂_1:𝑡−1,并预测下一帧标记 ˆ𝑧𝑡。我们再次使用 ST-transformer,其因果结构使我们能够使用来自所有 (𝑇 − 1) 帧的标记 𝒛_1:𝑇−1 和潜在行动 ˜𝒂1:𝑇−1 作为输入,并生成所有下一帧的预测 ˆ𝒛2:𝑇。该模型通过预测标记 ˆ𝒛_2:𝑇 和地面实况标记 𝒛_2:𝑇 之间的交叉熵损失进行训练。在训练时,我们根据在 0.5 和 1 之间均匀采样的伯努利分布掩蔽率随机掩蔽输入标记 𝒛_2:𝑇−1。请注意,训练世界模型的常见做法,包括基于 transformer 的模型,是将时间 𝑡 的行动连接到相应的帧上(Micheli等,2023;Robine等,2023)。然而,我们发现将潜在行动视为对潜在行动和动力学模型的加法嵌入有助于提高生成的可控性。

2.2. 推理:可控行动视频生成

我们现在描述如何在推理时使用Genie进行可控制的视频生成(见图8)。玩家首先用一幅图像 𝑥1提示模型,作为初始帧。该图像通过视频编码器进行分词,得到 𝑧1。然后,玩家通过在 [0,|𝐴|) 范围内选择任何整数值来指定离散的潜在行动 𝑎1。动力学模型获取帧标记 𝑧1 和相应的潜在行动˜𝑎1,通过使用离散输入 𝑎1 在 VQ 码书中索引得到,然后预测下一帧标记 𝑧2。这个过程在自回归的方式下重复进行,因为行动继续传递给模型,同时标记被解码成视频帧 ˆ𝒙2:𝑇,使用分词器的解码器。请注意,我们可以通过将模型传递给起始帧和从视频中推断出的行动,重新生成数据集中的实况视频,或者通过改变行动生成完全新的视频(或轨迹)。

3. 实验

模型扩展。在固定的视频分词器和行动模型架构的情况下,我们训练了一系列参数从 40M 到 2.7B 的动力学模型。图 9 显示我们的架构在模型参数上呈现出良好的扩展性,每次规模增加都对应着最终训练损失的一致减小。这是我们的方法从规模调整中受益的强烈迹象,而我们主要的 Genie 模型也充分利用了这一点。

Batch 扩展。我们还研究了 Batch  大小的调整效果,考虑了一个具有 2.3B 模型的 Batch  大小为128、256 和 448 的情况,相当于 1.9M、3.8M 和 6.6M 个 token。如图 9 所示,增加 Batch  大小导致了类似的效果。

我们在一个程序生成的 2D 平台游戏环境 CoinRun(Cobbe等,2020)的难和易两个设置中进行评估,并与具有专家行动作为上界的 oracle 行为克隆(BC)模型以及具有随机行动作为下界进行比较(见图 15)。基于 LAM 的策略在只有 200 个专家样本用于适应的情况下就实现了与 oracle 相同的得分,尽管几乎可以确定它以前从未见过 CoinRun。这证明了学到的潜在行动在迁移方面是一致且有意义的,因为从潜在到实际的映射不包含关于当前观察的任何信息。 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库orclec;nvl和nvl2的区别

Oracle中nvl()与nvl2()函数详解-CSDN博客 select nvl(null,2) as vb from dual select nvl2(666,2,3) as vb from dual

异常处理(黑马学习笔记)

当前问题 登录功能和登录校验功能我们都实现了,下面我们学习下今天最后一块技术点:异常处理。首先我们先来看一下系统出现异常之后会发生什么现象,再来介绍异常处理的方案。 我们打开浏览器,访问系统中的新增部门操作&#xff0…

如何通过代理IP安全使用Linkedln领英?

LinkedIn是跨境外贸必备的拓客工具,世界各地的许多专业人士都使用领英来作为发布和共享内容的主要工具,这使得它成为跨境出海必备的渠道工具。 但是不少做外贸的朋友都知道,领英账号很容易遭遇限制封禁,但如果善用工具&#xff0…

倾囊相授之性能分析思路

年轻的时候,经常听一些大会或者演讲。有些人说,思路逻辑非常重要。我那时就想,你肯定是瞎忽悠的,因为我怎么就没听懂你说的思路呢? 而现在轮到自己来写或者讲一些东西的时候,才发现他们说得很对&#xff0…

数据分析中生成仪表板制作工具对比,零基础也能实现数据可视化!

#AI生成图表# 仪表板(仪表盘)在企业做任何数据分析的最后都会需要的,它通过图表、数字、图形和表格等视觉效果,将复杂的数据以直观、易懂的方式展示出来,帮助用户更好地理解数据,以及决策支持和作为一个共…

50kw 直流充电桩测试仪的操作和维护

一、操作步骤 1. 连接电源:将充电桩测试仪的电源线连接到符合规定的电源插座上,确保电源稳定。 2. 连接设备:将充电桩测试仪的测试接口与待测充电桩的充电接口连接,注意接口的对应关系,防止接错。 3. 开机检查&…

请查收:2024年腾讯云服务器优惠价格表_租用配置报价

一张表看懂腾讯云服务器租用优惠价格表,一目了然,腾讯云服务器分为轻量应用服务器和云服务器CVM,CPU内存配置从2核2G、2核4G、4核8G、8核16G、4核16G、8核32G、16核32G、16核64等配置可选,公网带宽1M、3M、5M、12M、18M、22M、28M…

二叉搜索树题目:把二叉搜索树转换为累加树

文章目录 题目标题和出处难度题目描述要求示例数据范围 前言解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题:把二叉搜索树转换为累加树 出处:538. 把二叉搜索树转换为累加树 …

Vmware Esxi 部署Mac OS虚拟机

Vmware Esxi在创建虚拟机的时候是有Mac OS选项的,但是实际创建时,选择ISO开机后一直反复引导,是有问题的,原因是需要先解锁,需要在ESXI主机上修改配置并重启。 首先找到管理-服务-TSM-ssh,点击启动&#x…

并查集基础,死去的回忆突然攻击我

并查集普及【模板】并查集 - 洛谷 #include<iostream> #include<cstring> #include<queue> #include<vector> #include<algorithm> using namespace std; #define int long long typedef pair<int,int> PII; #define xx first #define y…

【已解决】c++如何从0配置ffmpeg

本博文源于笔者正在做的任务&#xff0c;将视频mp4每帧转换成jpg格式&#xff0c;前提是需要配置ffmpeg。因此本文从0下载教读者如何配置ffmpeg。 文章目录 1、百度搜索官网2、配置项目3、创建main.cpp测试库与包4、 总结 1、百度搜索官网 官网已经搜索到&#xff0c;我们要找…

ulimit命令

ulimit命令 ulimit 命令用于查看和设置 shell 运行时的资源限制。它可以控制各种资源&#xff0c;如文件打开数量、堆栈大小、CPU 时间等。ulimit 命令通常用于限制 shell 启动的进程的资源使用量&#xff0c;以防止系统资源被耗尽。ulimit命令的主要作用是提高系统的性能和稳…

【C++】类和对象之常引用与运算符重载

个人主页 &#xff1a; zxctscl 文章封面来自&#xff1a;艺术家–贤海林 如有转载请先通知 文章目录 1. 前言2. 常引用3. 运算符重载 1. 前言 在之前的文章中提到了常引用&#xff0c;再来看运算符重载之前&#xff0c;先来看看常引用的使用。 2. 常引用 在使用引用的时候可…

西门子WINCC客户端提示“未找到启动画面”

WinCC客户端提示“未找到启动画面”&#xff1f; 在WinCC客户机服务器架构中&#xff0c;多用户客户机互连服务器项目时&#xff0c;有时会弹出“未找到启动画面”的提示对话框&#xff0c;并且选择画面后继续弹出该对话框&#xff0c;无法正常显示画面。 可能的原因有&#x…

DevEco Studio下载与安装(Windows)

下载地址&#xff1a; HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 安装时直接点击 next 即可。 运⾏已安装的DevEco Studio&#xff0c;⾸次使⽤&#xff0c;请选择Do not import settings&#xff0c;单击OK。 1.安装Node.js 如果本地有下载&#xff0c;可以…

利用观测云实现 Kubernetes 多集群可观测

简介 观测云的工作空间接入多个 Kubernetes 集群时&#xff0c;是如何区分不同集群&#xff0c;达到多集群的可观测性&#xff1f; 增加Tag NAMESPACE&#xff1a;DataKit 选举空间&#xff0c;需要设置 ENV_NAMESPACE 环境变量&#xff0c;值为非空字符&#xff0c;不同集群…

稀疏卷积Sparse Convolution

1. 为什么提出稀疏卷积&#xff1f;它有什么好处&#xff1f; 卷积神经网络已经被证明对于二维图像信号处理是非常有效的。然而&#xff0c;对于三维点云信号&#xff0c;额外的维度显著增加了计算量。 另一方面&#xff0c;与普通图像每个像素都有值不同的是&#xff0c;一般…

从0开始python学习-53.python中flask创建简单接口

目录 1. 创建一个简单的请求,没有写方法时默认为get 2. 创建一个get请求 3. 创建一个post请求&#xff0c;默认可以使用params和表单传参 4. 带有参数的post请求 1. 创建一个简单的请求,没有写方法时默认为get from flask import Flask, request# 初始化一个flask的对象 ap…

细菌,支原体,真菌--细胞培养的最大威胁及解决方法

在科研实验中&#xff0c;微生物污染是细胞培养过程中面临的一项长期的严重威胁。侵入的支原体、细菌、酵母菌和真菌可以直接杀死您宝贵的细胞或者彻底改变培养细胞的特性&#xff0c;导致不准确的实验结果&#xff0c;既耗费时间又浪费资源。InvivoGen/欣博盛生物可以提供多种…

QT Mingw编译ffmpeg源码以及测试

文章目录 前言下载msys2ysamFFmpeg 搭建编译环境安装msys2安装QT Mingw编译器到msys环境中安装ysam测试 编译FFmpeg 前言 FFmpeg不像VLC有支持QT的库文件&#xff0c;它仅提供源码&#xff0c;需要使用者自行编译成对应的库&#xff0c;当使用QTFFmpeg实现播放视频以及视频流时…