CN117255998A - 使用空间和时间上的注意力对来自视频序列的对象表示的无监督学习 - Google Patents

使用空间和时间上的注意力对来自视频序列的对象表示的无监督学习 Download PDF

Info

Publication number
CN117255998A
CN117255998A CN202280032841.3A CN202280032841A CN117255998A CN 117255998 A CN117255998 A CN 117255998A CN 202280032841 A CN202280032841 A CN 202280032841A CN 117255998 A CN117255998 A CN 117255998A
Authority
CN
China
Prior art keywords
neural network
image frame
attention
frame
self
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280032841.3A
Other languages
English (en)
Inventor
R·卡布拉
D·佐兰
G·埃尔多甘
A·P·N·克雷斯韦尔
L·马特赫-德-勒安德鲁特
M·博特威尼克
A·勒什内尔
C·P·布格斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DeepMind Technologies Ltd
Original Assignee
DeepMind Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DeepMind Technologies Ltd filed Critical DeepMind Technologies Ltd
Publication of CN117255998A publication Critical patent/CN117255998A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Abstract

一种计算机实现的视频生成神经网络系统,被配置为通过从对象潜在变量的相应先验对象潜在分布中进行采样来确定一组对象潜在变量中的每一个的值。该系统包括经训练的图像帧解码器神经网络,其被配置为针对每个生成的图像帧的每个像素和针对每个生成的图像帧时间步长处理确定的对象潜在变量的值,以确定每个对象潜在变量的像素分布的参数,组合每个对象潜在变量的像素分布,以确定组合的像素分布,并且从组合的像素分布中采样,以确定针对像素和针对时间步长的值。

Description

使用空间和时间上的注意力对来自视频序列的对象表示的无 监督学习
背景技术
本说明书涉及训练机器学习模型来表征视频帧中的对象以及诸如视点之类的全局时变元素。机器学习模型接收输入并基于接收的输入和模型的参数值生成输出,例如预测的输出。
神经网络是采用一层或多层非线性单元对接收到的输入来预测输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一个层(即下一个隐藏层或输出层)的输入。网络的每一层根据相应组参数的当前值从接收的输入生成输出。
发明内容
本说明书总体上描述了一种系统和方法,其被实现为在一个或多个物理位置的一个或多个计算机上的一个或多个计算机程序,其训练视频对象表示神经网络系统。经训练的系统的编码器部分可以用于确定视频序列中多个不同对象的属性,或者确定视频序列的视点位置,或者这两者。经训练的系统的解码器部分可以用于生成新的视频序列。编码器和解码器可以一起用于修改视频序列。
在一个方面,提供了一种训练视频对象表示神经网络系统的计算机实现的方法。视频对象表示神经网络系统包括自注意力神经网络,该自注意力神经网络包括一个或多个自注意力层(例如变换器神经网络层)并且具有多个自注意力神经网络参数,每个自注意力层被配置为在层输入上应用自注意力机制。
该方法包括获得包括T个图像帧的序列的视频序列,在一系列时间中的每一个时间处一个图像帧,并且处理每个图像帧以生成T个图像帧中的每一个的一组S个空间编码。该方法由此获得视频序列的S×T个空间编码的组。每个空间编码包括图像帧的相应区域或片(patch)的编码。该视频可以例如从相机或LIDAR传感器获得,即图像帧可以包括点云。
该方法还包括使用注意力神经网络处理S×T个空间编码的组,具体是通过在包括S×T个空间编码的组的层输入上应用自注意力机制,以可选地在进一步的自注意处理步骤之后生成变换的空间编码的组。每个变换的空间编码对应于一个图像帧时间和一个图像帧区域。变换的空间编码的组可以具有相同或不同的分辨率,例如较低的分辨率,即可以有S×T个或更少的变换的空间编码。在实现方式中,在层输入上应用自注意力机制包括在不同图像帧的空间编码上,即在来自一系列时间中的不同时间的图像帧上应用自注意力机制。
该方法还包括针对一组对象潜在变量(通常是向量)中的每一个确定用于参数化对象潜在变量的对象潜在分布的一个或多个值,例如分布的平均值或标准偏差(或方差)。这是通过在图像帧的时间上聚合变换的空间编码的组来完成的。该方法还可以通过在图像帧的区域上聚合变换的空间编码的组,针对一组帧潜在变量中的每一个确定用于参数化帧潜在变量的帧潜在分布的一个或多个值。该方法通过从对象潜在变量的对象潜在分布中采样来确定该组对象潜在变量中的每一个的值。该方法还可以通过从帧潜在变量的帧潜在分布中采样来确定该组帧潜在变量中的每一个的值。
该方法处理确定的对象潜在变量的值(并且可以处理确定的帧潜在变量的确定的值)以生成解码的图像帧序列。存在许多类型的能够从一组潜在变量生成图像的解码器,并且可以使用这些中的任何一种。稍后描述示例解码器。
该方法然后可以包括通过至少调整自注意力神经网络参数的值,以取决于i)T个图像帧的序列和解码的图像帧序列之间的差异的度量,ii)每个对象潜在分布和先验对象潜在分布之间的差异来优化目标函数,来训练系统。在被确定的情况下,可以取决于iii)每个帧潜在分布和先验帧潜在分布之间的差异来优化目标函数。先验对象潜在分布和先验帧潜在分布可以是相同的分布,例如单位高斯。
上述方法的实现方式提供了一种经训练的视频对象表示神经网络系统。在一些应用中,一旦被训练,可能只需要系统的编码器部分,即从视频序列输入到被配置为确定对象和(可选地)帧潜在分布的部分的系统部分,可选地包括被配置为从这些分布中采样的部分(在其他实现方式中,可以例如从这些分布的平均值中导出信息)。在一些应用中,一旦经过训练,可能只需要系统的经训练的解码器部分,如后面所述,例如以生成2D或3D图像的视频序列。
经训练的系统的实现方式提供该组对象潜在变量中的对象信息。例如,在实现方式中,这些实质上是可以区分的,即,使得不同的对象潜在变量对应于场景中对象的不同变化因素及其属性,诸如大小、颜色、例如在每个维度中的位置,以及运动。类似地,在实现方式中,不同的帧潜在变量可以区分视频序列的帧的不同全局属性,诸如,例如每个维度中的视点位置。稍后描述该方法和系统的更多优点。
在实现方式中,每个空间编码包括图像帧的相应区域或“片”的特征图,即视觉特征图。处理图像帧以生成一组空间编码可以使用具有多个特征提取神经网络参数的特征提取神经网络,例如卷积神经网络,来为图像帧的每个区域生成特征图。训练系统可以包括调整特征提取神经网络参数的值。
在实现方式中,使用具有多个图像帧解码器神经网络参数的图像帧解码器神经网络来处理确定的对象潜在变量(以及可选的帧潜在变量)的值,以生成解码的图像帧序列。训练系统然后可以包括调整图像帧解码器神经网络参数的值。
在一些实现方式中,解码的图像帧序列包括一系列解码的图像帧时间步长中的每一个的图像帧。生成解码的图像帧序列使用图像帧解码器神经网络来针对每个解码的图像帧像素和针对每个解码的图像帧时间步长生成每个对象潜在变量的像素分布的参数。具体地,图像帧解码器神经网络处理确定的对象潜在变量(以及可选的帧潜在变量)的值,以及指定像素位置的信息和指定时间步长的信息,以确定每个对象潜在变量的像素分布(μ)的参数。然后组合每个对象潜在变量的像素分布,以确定组合的像素分布。然后对其进行采样,以确定针对像素和针对时间步长的值。例如,在一个实现方式中,帧潜在变量(用于解码图像帧)与每个对象潜在变量级联,以向图像帧解码器神经网络提供输入,更具体地是一组输入。
生成解码的图像帧序列可以包括针对每个像素和针对每个时间步长确定每个对象潜在变量的混合权重。每个对象潜在变量的像素分布然后可以根据相应的混合权重进行组合,可选地被归一化。在这种实现方式中,每个对象潜在变量的每像素混合权重为对应于对象潜在变量的对象提供了软分割掩码,例如以将每个图像帧分割成表示图像帧中不同对象的区域。
可以使用图像帧序列和解码的图像帧序列之间的差异的任何合适的度量,例如交叉熵损失、平方误差损失或Huber损失。任何合适的度量都可以用于分布之间的差异,例如KL或Jensen-Shannon散度或分布之间距离的另一种度量。
在一些实施方式中,该方法可以包括获得条件输入,该条件输入定义视频序列中的一个或多个对象或一个或多个对象的对象属性,或者定义视点位置或朝向,例如姿态。在训练期间,可以将条件输入提供给自注意力神经网络和图像帧解码器神经网络。以这种方式,可以将该系统训练成例如条件性地根据条件输入来生成视频图像序列,该条件输入定义要被包括在生成的视频图像序列中的对象或对象的属性,或者生成的视频序列的可选地改变的视点。
如前所述,自注意力层可以是变换器神经网络层。arXiv:2010.11929中描述了变换器神经网络架构对计算机视觉的应用。
在实现方式中,使用注意力神经网络处理S×T个空间编码的组可以包括向定义图像帧的相应区域和图像帧时间的S×T个空间编码中的每个添加位置信息。位置信息可以包括例如位置嵌入,即图像帧区域和时间的嵌入。嵌入可以包括与空间编码维数相同的向量;可以将它添加到相应的空间编码。嵌入可以被学习或是预定义的。
在实现方式中,使用注意力神经网络来处理S×T个空间编码的组包括使用一个或多个自注意力层中的一个来处理包括S×T个空间编码的组的层输入,以便为每个空间编码生成查询和键-值对。自注意力机制然后可以用于将例如每个查询应用于例如每个键,更具体地是键-值对,以确定变换的空间编码的组。自注意力可以包括被掩码的自注意力,在这种情况下,不是所有的查询都可以被应用。自注意力机制可以是多头注意力机制。在实现方式中,自注意力神经网络参数包括应用于层输入以生成查询和键-值对的学习的变换的参数。
一般来说,注意力机制将查询和一组键-值对映射到输出,其中查询、键和值都是向量。输出被计算为值的加权和,其中分配给每个值的权重由查询与对应键的兼容性函数来计算。应用的确切的自注意力机制取决于注意力神经网络的配置。例如,每个注意力层可以应用点积注意力机制,例如缩放的点积注意力机制。在缩放的点积注意力中,对于给定的查询,注意力层计算该查询与所有键的点积,将每个点积除以缩放因子,例如除以查询和键的维度的平方根,然后对缩放的点积应用softmax函数以获得值的权重。然后,注意力层根据这些权重计算值的加权和。
在一些实现方式中,使用注意力神经网络处理S×T个空间编码的组包括将S×T个空间编码的组作为稍后的输入提供给注意力神经网络的第一自注意力层,以生成第一自注意力层输出,以及将第一自注意力层输出提供给注意力神经网络的第二自注意力层,以生成变换的空间编码的组。在实现方式中,这包括将空间编码的数量从S×T个空间编码减少到K×T个空间编码,其中K<S是对象潜在变量的数量。因此,实现方式可以比存在对象潜在更多的特征图,或者相同数量。这种减少可以在第一自注意力层之后或第二自注意力层之后进行,例如通过在(片的平铺的)水平和/或垂直方向上池化,并且可选地归一化。
在另一方面,提供了一种计算机实现的视频处理神经网络系统,包括(经训练的)特征提取神经网络,其被配置为接收包括T个图像帧的序列的视频序列,在一系列时间中的每一个时间处一个图像帧,并且处理每个图像帧以生成T个图像帧中的每一个的一组S个空间编码,从而获得视频序列的S×T个空间编码的组。每个空间编码可以包括图像帧的相应区域的编码。
计算机实现的视频处理神经网络系统还包括(经训练的)自注意力神经网络,该自注意力神经网络包括一个或多个自注意力层,每个自注意力层被配置为在层输入上应用自注意力机制。在实现方式中,自注意力神经网络被配置为通过在包括S×T个空间编码的组的层输入上应用自注意力机制,使用注意力神经网络来处理S×T个空间编码的组,以生成变换的空间编码的组,每个变换的空间编码对应于一个图像帧时间和一个图像帧区域。在层输入上应用自注意力机制包括在不同图像帧的空间编码上应用自注意力机制。
视频处理神经网络系统被配置为通过在图像帧的时间上聚合变换的空间编码的组,为一组对象潜在变量中的每一个确定用于参数化该对象潜在变量的对象潜在分布的一个或多个值,并且可选地通过从该对象潜在变量的对象潜在分布中采样来确定该组对象潜在变量中的每一个的值。
视频处理神经网络系统还可以被配置为通过在图像帧的区域上聚合变换的空间编码的组,为一组帧潜在变量中的每一个确定用于参数化该帧潜在变量的帧潜在分布的一个或多个值,并且可选地通过从该帧潜在变量的帧潜在分布中采样来确定该组帧潜在变量中的每一个的值。
视频处理神经网络系统还被配置为:i)根据用于参数化对象潜在分布的值,即根据对象潜在变量或根据用于参数化对象潜在分布的值,确定视频序列中描绘的一个或多个对象的一个或多个属性;ii)根据用于参数化帧潜在分布的值,即根据帧潜在变量或根据用于参数化帧潜在分布的值,确定视频序列的视点的位置或朝向;或者两者都有。
在另一个方面,提供了一种计算机实现的视频生成神经网络系统,其被配置为通过从对象潜在变量的相应先验对象潜在分布中采样来确定一组对象潜在变量中的每一个的值,(并且可选地通过从帧潜在变量的相应先验帧潜在分布中采样来确定一组帧潜在变量中的每一个的值)。
该系统包括(经训练的)图像帧解码器神经网络,用于处理确定的对象潜在变量的值(以及可选地,确定的帧潜在变量的值),以生成视频序列,该视频序列包括在连续时间步长处生成的图像帧的序列。所述图像帧解码器神经网络被配置为,针对每个生成的图像帧的每个像素和针对每个生成的图像帧时间步长,处理确定的对象潜在变量的值(以及可选地,确定的帧潜在变量的值)、指定像素位置的信息和指定时间步长的信息,以针对像素和针对时间步长,确定每个对象潜在变量的像素分布的参数;组合每个对象潜在变量的像素分布,以确定组合的像素分布;并且从组合的像素分布中采样以确定针对像素和针对时间步长的值。
可以实现本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。
视频对象表示神经网络系统,具体是包括特征提取神经网络和自注意力神经网络的系统的编码器部分,可以处理3D场景的视频序列,并且同时区分和识别,即表征多个对象。即使当视点(例如相机姿态)正在改变而没有被明确给出关于视点或相机姿态的信息时,系统也能够做到这一点。该系统的实现方式可以处理具有许多对象和复杂背景的场景。
因此,该系统能够确定表示,即该组对象潜在变量或它们的分布,这是异我中心的(allocentric),这对于许多任务是重要的。例如,不知道视点的系统可以把一个对象离视点的距离和它的大小混起来;该系统的实施例可以克服这个问题。
在该系统的实施例中,该组对象潜在变量或它们的分布提供了场景中对象相对于相机姿态的稳定表示。在该系统的实现方式中,这是通过在空间和时间上、跨视频序列的不同图像帧的注意力,结合因子分解的潜在空间来实现的,该因子分解的潜在空间将静态(即基本上不随时间变化的)对象性质从视频序列的全局或动态属性(诸如相机姿态)中分离出来。这也允许系统确定静态对象运动特性,诸如对象轨迹概要。
该系统还确定全局的、潜在时变的场景属性的表示,诸如该组帧潜在变量中的视点或它们的分布。确定视点的能力允许系统用于确定例如配备有像机或其他视频捕获设备的移动机械代理的位置。
该系统的一些实现方式也具有比一些先前的系统更简单的架构,而先前的系统能力较差。
该系统的实现方式还可以用于生成视频序列,例如仿佛来自特定视点的从现有场景起的视频序列,或者包含一个或多个对象的新的或修改的场景的视频序列。这可以通过例如从现有的场景或者通过从先验分布中对它们进行采样,然后将它们提供给视频对象表示神经网络系统,具体是该系统的解码器部分,确定潜在变量的值来完成。这可以用于例如视点内插或外插,或者用于例如当控制诸如机器人之类的机械代理执行任务时的规划。不像可以针对它们先前已经在其上被训练过的特定场景来这样做的一些先前的系统,该系统的实施例可以在不同的场景上训练,然后针对新的、先前未见过的场景来这样做。
例如,未训练的或经训练的视频对象表示神经网络系统的编码器可以用在控制代理执行任务的强化学习系统中,以及或代替来自代理在其中操作的环境的图像,以允许强化学习系统更快或更有效地学习。或者未训练的或经训练的视频对象表示神经网络系统的解码器可以被用作基于模型的强化学习系统,以在学习用于控制代理的动作选择策略时预测环境的未来状态。
本说明书主题的一个或多个实施例的细节在附图和以下描述中阐述。根据描述、附图和权利要求书,本主题的其他特征、方面和优点将变得明显。
附图说明
图1示出了视频对象表示神经网络系统;
图2示出了视频对象表示神经网络系统的编码器神经网络;
图3示出了被配置为将潜在变量解码为像素值的视频对象表示神经网络系统的图像帧解码器神经网络;
图4是由视频对象表示神经网络系统的解码器执行的解码过程的示意图示;
图5是使用该系统训练视频对象神经网络的示例过程的流程图。
图6是使用视频对象表示神经网络系统的经训练的编码器部分获得对象属性的过程的流程图;
图7是使用视频对象表示神经网络系统的经训练的解码器部分生成图像序列的过程的流程图;和
图8示出了由视频对象表示神经网络系统和两个其他神经网络模型执行的视图合成任务的比较。
各个附图中相同的附图标记和名称指示相同的元件。
具体实施方式
图1示意性地示出了视频对象表示神经网络系统100,其可以由位于一个或多个位置的一个或多个计算机来实现。视频对象表示神经网络系统100包括推断网络(编码器102)和生成模型(解码器120),推断网络被训练为从输入图像序列(帧,具有H×W个像素的维度)中推断潜在变量,生成模型被训练为解码由编码器102生成的潜在变量以生成像素值(即图像)。编码器102使用允许稳定的对象跟踪的基于时空注意力的推断。解码器120能够将给定序列的对象潜在变量与不同序列的帧潜在变量相组合,以从完全不同的视点生成相同场景内容(即,对象及其属性、相对重排和分割分配)的一致渲染。
具体而言,编码器102被训练为处理输入图像序列并生成表示图像序列中描绘的内容的一组K个对象(或槽(slot))潜在变量在实现方式中,对象潜在变量在输入104的所有帧中是不变的。也就是说,它们的分布在时间上是恒定的,并被期望概括整个序列上的信息。
编码器102还输出包含输入序列中每一帧t的帧潜在变量的一组T个帧潜在变量帧潜在变量表示输入图像序列中的时变全局内容/视图内容。重要的是,编码器102在没有监督的情况下将场景序列分解和因子分解成对象潜在变量和帧潜在变量。
通过将潜在空间因子分解成K个对象潜在变量和T个帧潜在变量,表示视频序列所需的潜在变量的数量可以从K·T减少到K+T。潜在变量的先验可以假设对象潜在变量、帧潜在变量和特征维度之间的独立性;例如,它可以被定义为其中/>表示单位高斯。
编码器102接收T个图像帧x1-xt(每个具有H×W个像素的维度)的序列X作为输入104。该序列可以是从多个视点拍摄的场景的图像序列。如上所述,处理输入104以确定对应的对象(或槽)潜在变量O和帧潜在变量F。将高斯近似后验q(O,F|X)参数化为编码器104的输出,εφ(X)(其中φ表示编码器的参数),该输出值定义了给定输入序列104的所有潜在变量例如在对数标度上的平均值和方差(例如标准偏差)。
更详细地,处理帧序列104以获得输出107,该输出107包括T个图像帧中的每一个的一组S个空间编码。输出107中的S个空间编码中的每一个都与特定的图像帧x相关联,并且是图像帧的相应区域的编码。S可以等于H×W。也就是说,每个区域可以是单独的像素。
例如,处理帧序列104以生成T个图像帧中的每一个的该组S个空间编码可以包括通过特征提取神经网络106来处理图像帧中的每一个,特征提取神经网络106具有多个特征提取神经网络参数并且被训练为接收图像帧作为输入并且提供该图像帧的该组S个空间编码作为输出。例如,特征提取神经网络106可以包括具有一个或多个卷积神经网络层的卷积神经网络,该卷积神经网络层被训练为在每个时间步长输出S个空间特征图。每个特征图可以包含C个通道。s可以大于对象潜在变量K的数量。
将S×T个空间编码的输出107作为输入提供给包括一个或多个自注意力层的自注意力神经网络108。将注意力神经网络108训练为通过应用自注意力机制来处理S×T个空间编码的组,以生成包括K个变换的空间编码的组的输出109。例如,S×T个空间编码的组可以作为输入提供给一个或多个自注意力层中的第一层,作为层输入,并由该层处理,以生成每个空间编码的查询和键-值对。自注意力机制然后可以将查询应用于键-值对,以确定变换的空间编码的组。将会理解,自注意力神经网络参数是应用于层输入以生成查询和键-值对的经学习的变换的参数。
每个变换的空间编码对应于一个图像帧时间t和一个图像帧区域。注意力神经网络108的输出109可以表示为
将输出109提供给潜在分布生成器110。潜在分布生成器110被配置为沿着分离的轴聚合输出109,以获得T个帧和K个对象后验参数。具体地,对于该组K个对象潜在变量O中的每一个,通过在图像帧的时间上聚合注意力神经网络108的输出109来确定用于参数化对象潜在变量的对象潜在分布的一个或多个值。类似地,对于该组T个帧潜在变量F中的每一个,通过在图像帧的区域上聚合注意力神经网络108的输出109来确定用于参数化帧潜在变量的帧潜在分布的一个或多个值。
分布生成器可以包括一个或多个神经网络,诸如多层感知器(MLP)。例如,可以训练第一MLPmlpO来处理输出109,以接收作为输入在图像的时间上聚合的输出109,并且输出对象潜在分布,类似地,可以训练第二MLPmlpf来处理输出109,以接收作为输入在图像的区域上聚合的输出109,并且输出帧潜在分布
潜在分布生成器110被配置为通过从对象潜在变量的对象潜在分布中进行采样来确定该组对象潜在变量中的每一个的值,并且生成包括该组K个对象潜在变量的输出112其中/>表示对象潜在平均值,并且/>表示对象潜在标准偏差。潜在分布生成器110还被配置为通过从帧潜在变量的帧潜在分布中进行采样来确定该组帧对象变量中的每一个的值,并且生成包括该组T个对象潜在变量的输出114其中/>表示帧潜在平均值并且/>表示帧潜在标准偏差。
注意力神经网络108可以包括第一一个或多个自注意力层T1和第二一个或多个自注意力层T2。第一一个或多个自注意力层T1和第二一个或多个自注意力层T2可以包括变换器神经网络子系统。通常,变换器网络子系统可以是以具有一系列自注意力神经网络层为特征的子系统。自注意力神经网络层具有针对输入的每个元素的注意力层输入,并且被配置为在注意力层输入上应用注意力机制,以针对输入的每个元素生成注意力层输出。存在许多不同的注意力机制可以使用。
一般而言,注意力层被配置为:将学习的查询线性变换应用于当前输入序列中每个输入位置处的每个隐藏状态,以生成每个输入位置的相应查询,将学习的键线性变换应用于(i)每个输入位置处的每个隐藏状态和(ii)情景(episodic)和压缩记忆(memory)内每个槽处的每个隐藏状态,以生成每个输入位置和每个记忆槽的相应键,以及将学习的值线性变换应用于(i)每个输入位置处的每个隐藏状态和(ii)情景和压缩记忆内的每个槽处的每个隐藏状态,以生成每个输入位置和每个记忆槽的相应值。然后,注意力层使用这些查询、键和值而应用上述注意力机制,来确定层输入序列的输出序列。输出序列通常包括每个输入位置处的每个隐藏状态输入的相应注意的向量。通常,查询、键和值都是向量。如在本说明书中所使用的,术语“学习的”意味着例如通过目标函数的梯度的反向传播在系统的训练期间已经调整了操作或值。
在一些实现方式中,为了允许注意力层共同注意来自不同位置处的不同表示子空间的信息,注意力层采用多头注意力。
为了实现多头注意力,注意力层并行应用h个不同的注意力机制。换句话说,注意力层包括h个不同的注意力子层,同一注意力层内的每个注意力子层接收相同的原始查询、原始键和原始值。
每个注意力子层被配置为使用学习的线性变换来变换原始查询、以及键和值,然后将注意力机制应用于变换后的查询、键和值。每个注意力子层通常将从同一注意力层中的每个其他注意力子层学习不同的变换。
具体而言,每个注意力子层被配置为将学习的查询线性变换应用于每个原始查询,以生成每个原始查询的层特定查询,将学习的键线性变换应用于每个原始键,以生成每个原始键的层特定键,以及将学习的值线性变换应用于每个原始值,以生成每个原始值的层特定值。然后,注意力子层使用这些层特定查询、键和值来应用上述注意力机制,以生成注意力子层的初始输出。
T1可以接收S×T个空间编码作为输入,并输出S×T个变换的空间编码。S×T个空间编码中每一个注意S×T个空间编码中所有其他的空间编码。如果S×T大于K,则S×T个变换的空间编码可以减少到K×T个变换的空间编码。例如,从T1输出的S×T个变换的空间编码可以被输入到对输出执行池化操作的池化层。将T1的输出(或减少的输出)作为输入提供给被训练成输出109的T2。T2的输出可以包括与T2的输入相同数量的槽。例如,如果T1的输出在池化之前包括S个槽,在池化之后包括K个槽,则T2的输出可以包括K个槽。
T1和T2中的每一个都可以使用绝对位置嵌入。位置嵌入可以是三维的,以表示每个槽的时空位置。在替代实现方式中,T1和T2可以使用相对位置嵌入。
解码器120包括多个解码器神经网络参数,并被训练为处理包括对象潜在变量O和帧潜在变量F的输入,并产生生成的图像序列作为输出。
通过“查询”解码器120来解码/生成图像。解码器120接收包括对象潜在变量和帧潜在变量(例如采样的潜在变量112、114)的输入122,并处理输入122以生成输出124,该输出124包括针对一个或多个时间步长生成的解码的图像帧序列。例如,输出124可以包括一系列解码的图像帧时间步长中的每一个的图像帧。
存在许多类型的能够从一组潜在变量生成图像的解码器,并且可以使用这些中的任何一种。在示例中,解码器120是神经网络,并且可以是多层感知器或卷积神经网络。除了对象和帧潜在变量之外,输入122还可以包括要生成的图像区域和正被解码的时间步长。
解码的区域可以是例如单独的像素。解码图像帧序列可以包括,对于每个解码的图像帧的每个像素,并且对于每个解码的图像帧时间步长,解码器处理包括对象潜在变量值、帧潜在变量值、指定像素位置的信息和指定时间步长的信息的输入。解码器针对像素并且针对时间步长确定输入中每个对象潜在变量的像素分布参数。解码器可以进一步组合每个对象潜在变量的像素分布,以确定组合的像素分布,并且可以从组合的像素分布中采样,以确定像素和时间步长的值。
例如,可以将每个像素建模为具有K个分量的高斯混合模型。如果假设所有区域和所有帧都是独立的,则任何RGB像素xt,i(1≤i≤HW)的混合权重可以捕获哪个对象k“解释”该像素。可以使用解码器120计算特定的时间步长t和特定的像素位置li处每个槽k的对应的混合权重和像素重构平均值μk,t,i
通过约束解码器120在单独的像素上工作,使用像素的子集而不是完整的图像作为训练目标,这可以有利地节省存储器和计算。一旦像素被解码,就可以例如通过取K个槽上的掩码罗吉特的softmax来获得混合权重
等式(2)规定了全像素似然,其中σx是标量超参数。
在生成时间t的输入124时,对象潜在变量O可以与正被解码的时间步长的帧潜在变量ft级联,如图4中示意性图示出的,图4示意性图示出了对时间t的单个图像帧进行解码的过程。在图4中,帧潜在变量ft与每个帧潜在变量o1…k级联。对每个位置li采样级联的潜在变量,以渲染每个像素并生成像素混合模型。与对象潜在变量级联的帧潜在变量可以从推断对象潜在变量的相同输入序列中推断出来。可替代地,帧潜在变量可以来自不同的输入序列。这样,可以将来自一个输入序列的全局/视图内容(诸如照明和相机姿态)转移到不同的输入序列。
在示例实现方式中,系统100可以用于生成新颖的表示。例如,可以训练系统100以条件性地根据条件输入来生成视频图像序列,该条件输入可以定义视频序列104中的一个或多个对象或一个或多个对象的对象属性。例如,条件输入可以定义要包括在生成的视频图像序列124中的对象,和/或可以定义对象的属性。可替代地或附加地,条件输入可以定义静态或变化的视点位置或朝向。可以针对场景中的对象学习条件性先验。例如,可以使用神经网络(例如循环神经网络)来学习场景中的对象和连续帧潜在的条件性先验。
此外,尽管上述示例实现方式确定对象潜在变量和帧潜在变量两者,但是应当理解,没有必要确定和/或输出对象潜在变量和帧潜在变量两者。例如,不是编码/推断帧潜在变量,编码器102和解码器120可以直接以基准真实(groundtruth)视点/相机姿态为条件。也就是说,神经网络100可以是“视图监督的”,而不是完全无监督地操作。这种视图监督方式与其他视图监督模型的比较如图7所示,并在下面更详细地讨论。在视图监督系统中,在解码期间,可以向解码器提供新颖的视点(即,在训练期间没有提供给系统的视点)以生成来自未看见的视点的视图。
图5是用于训练视频对象表示神经网络系统的示例性方法的流程图,其可以根据视频对象表示神经网络系统100来布置。
在第一步骤502,获得视频序列(诸如视频序列104)。视频序列包括T个图像帧的序列,在一系列时间t中的每一个处一个图像帧。在步骤504,(例如通过特征提取网络106)处理视频序列中的每个图像帧以生成T个图像帧中的每一个的一组S个空间编码,从而生成视频序列的S×T个空间编码的组。
在步骤506,通过在包括S×T个空间编码的组的层输入(诸如层输入107)上应用自注意力机制(例如通过自注意力网络108),由自注意力神经网络处理S×T个空间编码的组,以生成包括变换的空间编码的组的输出(诸如输出109)。每个变换的空间编码对应于获得的视频序列中的一个图像帧和一个图像帧区域。在层输入上应用自注意力机制包括在获得的视频序列的不同图像帧的空间编码上应用自注意力机制。
在步骤508,对于一组对象潜在变量O中的每一个,通过在图像帧的时间上聚合变换的空间编码的组,确定用于参数化对象潜在变量的对象潜在分布的一个或多个值。
在视频对象表示神经网络系统要推断帧潜在变量的情况下,在可选步骤510,对于一组帧潜在变量F中的每一个,通过在图像帧的区域上聚合变换的空间编码的组,可以确定用于参数化帧潜在变量的帧潜在分布的一个或多个值。可替代地,如上所述,编码器可以替代地直接以视点为条件。
在步骤512,通过从对象潜在变量的对象潜在分布中进行采样,确定该组对象潜在变量中的每一个的值。
在视频对象表示神经网络系统要推断帧潜在变量的情况下,在可选步骤514,可以通过从帧潜在变量的帧潜在分布中采样来确定该组帧潜在变量中的每一个的值。可替代地,如上所述,编码器可以不推断帧潜在变量,在这种情况下,不推断帧潜在分布。
在步骤516,生成解码的图像帧序列。也就是说,对确定的对象潜在变量的值(以及在适当的情况下任何确定的帧潜在变量的值)进行处理(例如通过解码器120)以生成解码的图像帧序列(例如输出124)。
在实现方式中,通过图像帧解码器神经网络、自注意力神经网络和特征提取神经网络来反向传播目标函数的梯度而训练该系统。通过采样步骤的反向传播可能涉及所谓的重新参数化技巧(Kingma等人,arXiv1312.6114)。
在步骤518,通过至少调整自注意力神经网络参数的值以取决于i)T个图像帧的序列和解码的图像帧序列之间的差异的度量,ii)每个对象潜在分布和先验对象潜在分布之间的差异,以及可选地(即,在生成帧潜在变量的情况下)iii)每个帧潜在分布和先验帧潜在分布之间的差异以优化目标函数,来训练系统。
训练可以包括反向传播。具体地,训练可以包括通过生成解码的图像帧序列的解码器神经网络(例如,生成输出124的解码器120)和自注意力神经网络(例如,自注意力网络108)反向传播目标函数的梯度。可以进一步通过生成该组空间编码的特征提取神经网络(例如特征提取网络106)反向传播目标函数的梯度。然而,应当理解,系统100中的网络(诸如,例如,特征提取神经网络)可以被分离地训练。
目标函数(以最小化)可以是负下界,例如,如等式(3)中定义的证据下界(ELBO)。
/>
其中,α,βo和βf是代表性权重,q代表编码器102,p代表解码器120,并且DKL是诸如Kullback-Leibler散度之类的分布差异的度量。
也就是说,数据对数似然性可以通过解码像素的数量(Td Hd Wd)来归一化,以允许解码少于所有的输入像素。有利的是,这帮助缩放解码器的大小,而不会由于相邻像素之间普遍存在的相关性而减少学习信号。已经发现,通过1/Td Hd Wd进行归一化有助于一致的学习动态,而不管选取解码多少像素。α可以设置为1,但也可以调整,例如,如果βo和βf的比例太小而在数值上不稳定。示例实现方式使用βo=βf
在步骤518训练系统还可以包括调整特征提取神经网络(诸如特征提取神经网络106)的特征提取神经网络参数的值。在步骤518训练系统还可以或替代地包括调整解码器神经网络(诸如解码器神经网络120)的解码器神经网络参数的值。
一旦经过训练,系统的解码器部分或编码器部分都可以独立地使用。例如,系统的编码器部分可以用于从对象潜在变量,或者从用于参数化对象潜在分布的值,例如从分布的平均值,获得视频序列中描绘的一个或多个对象的一个或多个属性。可以获得诸如对象大小、颜色、纹理、在1D、2D或3D中的位置,或者运动的属性。类似地,一旦经过训练,视频对象表示神经网络系统,更具体地说,仅仅是编码器部分,可以用于从帧潜在变量或者从用于参数化帧潜在分布的值获得视频序列的帧的一个或多个全局属性,例如视频序列的(变化的)视点的位置或朝向,例如姿态。
图6是描绘用于获得视频序列中描绘的一个或多个对象的一个或多个属性的示例过程的流程图。在步骤602,获得视频序列(诸如视频序列104)。视频序列包括T个图像帧的序列,在一系列时间t中的每一个处有一个图像帧。
在步骤604,例如由经训练的特征提取网络106处理视频序列中的每个图像帧,以生成T个图像帧中的每一个的一组S个空间编码,从而生成视频序列的S×T个空间编码的组。
在步骤606,通过在包括S×T个空间编码的组的层输入(诸如层输入107)上(例如通过自注意力网络108)应用自注意力机制,由经训练的自注意力神经网络处理S×T个空间编码的组,以生成包括变换的空间编码的组的输出(诸如输出109)。每个变换的空间编码对应于获得的视频序列中的一个图像帧和一个图像帧区域。在层输入上应用自注意力机制包括在获得的视频序列的不同图像帧的空间编码上应用自注意力机制。
在步骤608,对于一组对象潜在变量O中的每一个,通过在图像帧的时间上聚合变换的空间编码的组,确定用于参数化对象潜在变量的对象潜在分布的一个或多个值。
在步骤610,通过从对象潜在变量的对象潜在分布中采样,确定该组对象潜在变量中的每一个的值。
在步骤612,确定的该组对象潜在变量中的每一个的值被用于获得视频序列中描绘的一个或多个对象的一个或多个属性。
在视频对象表示神经网络系统要推断帧潜在变量的情况下,在可选步骤614,可以通过从帧潜在变量的帧潜在分布中采样来确定该组帧潜在变量中的每一个的值。可替代地,如上所述,编码器可以不推断帧潜在变量,在这种情况下,不推断帧潜在分布。
应当理解,虽然图6是根据确定对象潜在变量来描述的,但是该方法可以替代地或附加地包括确定帧潜在变量,以确定视频序列的帧的一个或多个全局属性。
在另一个示例中,可能只需要系统的解码器部分,即从视频序列输入到被配置为确定对象(以及可选的帧)潜在分布的部分的系统部分。编码器部分可以可选地包括被配置为从这些分布中采样的部分(在其他实现方式中,信息可以例如从这些分布的平均值中导出)。在一些应用中,一旦经过训练,可能只需要系统的经训练的解码器部分,例如以生成2D或3D图像的视频序列。图7是描述使用经训练的视频生成神经网络系统生成视频序列的示例过程的流程图。在步骤702,通过从对象潜在变量的相应先验对象潜在分布中采样来确定一组对象潜在变量中的每一个的值。在步骤702之后,针对每个生成的图像帧的每个像素和针对每个生成的图像帧时间步长执行步骤704、706和708。在步骤704,经训练的解码器神经网络处理确定的对象潜在变量的值、指定像素位置的信息、以及指定时间步长的信息,以针对像素和针对时间步长确定每个对象潜在变量的像素分布的参数。在步骤706,经训练的解码器神经网络组合每个对象潜在变量的像素分布,以确定组合的像素分布。步骤706的处理可以进一步包括处理确定的对象潜在变量的值、指定像素位置的信息和指定时间步长的信息,以针对像素和针对时间步长确定每个对象潜在变量的混合权重,并且组合由相应混合权重加权的每个对象潜在变量的像素分布,以确定组合的像素分布。在步骤708,经训练的解码器神经网络从组合的像素分布中采样,以确定该时间步长处的像素值。
将视图监督的视频对象表示神经网络的示例在实验上与类似的模型GQN(EslamiSMA等人,Neural scene representation and rendering,Science,2018年6月15日;360(6394):1204-1210.doi:10.1126/science.aar6170.PMID:29903970)和NeRF(arXiv:2003.08934)进行比较。
图7示出了视频对象表示神经网络的视图监督版本(在图7中标为SIMONe)、NeRF-VAE和GQN之间的场景表示和视图内插能力的比较。所有模型部分地观测来自给定帧序列(馈送到模型的16个输入帧中的4个被可视化)的程序性生成的“游戏房间(Playroom)”数据集。新颖视图在围绕房间的圆形轨迹上解码,偏转(yaw)在[-π,π]中线性间隔。可以看出,NeRF-VAE保留了非常少的对象结构,模糊了场景中几乎所有的对象。但NeRF确实理解生成的房间的几何形状,并且能够推断墙壁颜色。GQN产生更详细的重构,但是过度拟合到特定的视图,并且不能平滑地内插。GQN使内容产生幻觉。另一方面,SIMONe产生精细对象结构的清晰重构。即使当它观测远处或近处的对象时,它也能以全新的视图正确地放置和调整它们的大小。当优先捕获各异的示例中的场景结构时,这使得SIMONe成为超过NeRF-VAE和GQN风格模型的有力选择。SIMONe也分割该场景。
应当理解,可以提供视频对象表示神经网络,其处理输入序列以确定并输出仅仅对象潜在变量或仅仅帧潜在变量。
在另一个实验中,将无监督视频对象表示神经网络(推断对象潜在变量和帧潜在变量两者)与其他视点未知无监督方式进行了比较。表1示出了与MONet(arXiv:1901.11390)、槽注意力(SA)(arXiv:2006.15055)、和视频模型(S-IODINE)相比,参考图1描述的视频对象表示神经网络(在表2中标记为SIMONe)的分割性能(根据前景对象的调整Rand指数ARI-F)。分别计算静态和视频ARI-F评分。对于静态ARI-F,对每个静止图像评估模型。对于视频ARI-F,模型是跨空间和时间进行评估的,将对象的完整轨迹作为单个类。因此,视频ARI-F惩罚不能稳定跟踪对象的模型。这对于槽注意力来说尤其如此,因为它倾向于针对序列中的每一帧以任意顺序输出对象。
表1
表2提供了系统100的示例两种可能架构。将会理解,表1中描绘的架构不旨在是限制性的,并且仅作为可能的架构的说明而提供。在表1中,c是通道数,k是内核大小,s是步幅,Pos.MPL是一种应用于定位编码的多层感知器。MLP([m,n])是指两层MLP,每层分别有m和n个单元;GRU是门控循环单元。
表2:示例性架构
在实验中,探索了使用对象潜在变量和帧潜在变量来实现更好的像素重构的不同方式。在初始实验中,采样的对象潜在变量ok和帧潜在变量ft在被提供给解码器(在实验中,卷积解码器)之前被复制并在所有像素和时间点上进行空间平铺。然而,发现在应用卷积解码器堆栈之前,可以取独立的样本来播种(seed)解码器的第一级。此外,发现在适当的时候跨时间进行独立采样是有益的。总之,(针对所有像素I=64·64和时间帧T独立地)取样本ok,i,t~q(ok|X)和(针对所有槽K和所有像素I=64·64独立地)取样本fk,i,t~q(ft|X)。发现这提高性能,尤其是在训练的早期。
不希望被理论所束缚,这可能是由于在序列中的所有空间/时间上复制相同样本ok和ft所涉及的梯度偏差的减少。取多个独立样本充当正则化项。
(经训练的)视频对象表示神经网络系统,更具体地说,仅仅是编码器部分,可以用于从对象潜在变量,或者从用于参数化对象潜在分布的值,例如从分布的平均值,获得视频序列中描绘的一个或多个对象的一个或多个属性。可以获得诸如对象大小、颜色、纹理、在1D、2D或3D中的位置、运动之类的属性。类似地,(经训练的)视频对象表示神经网络系统,更具体地说,仅仅是编码器部分,可以用于从帧潜在变量或从用于参数化帧潜在分布的值,例如视频序列的特定帧处的姿态,获得视频序列的帧的一个或多个全局属性。
(经训练的)视频对象表示神经网络系统,更具体地说,仅仅是编码器部分,可以用于使用确定的潜在变量进行图像分类。例如,一个或多个确定的对象潜在变量或用于参数化对象潜在分布的值可以作为输入提供给一个或多个分类器神经网络层。存在许多图像分类器,并且可以使用任何适当的模型。更一般地,视频对象表示神经网络系统可以被配置为生成表征实体的任何适当的神经网络输出。例如,神经网络输出可以是分类输出(例如,为一组可能类别中的每个类别定义评分)、回归输出、序列输出(即,包括输出元素序列)、分割输出,或其组合。
确定的(经训练的系统的)的潜在变量可以向另一个系统提供输入,例如,用于在对网络输入执行机器学习任务时使用。示例任务可以包括基于特征的检索、聚类、近重复检测、验证、特征匹配、域自适应、基于视频的弱监督学习;以及对于视频,例如跨视频帧的对象跟踪、由视频中描绘的实体执行的手势的手势识别。
(经训练的)视频对象表示神经网络系统,更具体地说,仅仅是解码器部分,可以用于生成包括解码的新图像帧序列的新视频序列。这可以通过以下方式来实现:通过从对象潜在变量的先验对象潜在分布中采样来确定该组对象潜在变量中的每一个的值,通过从帧潜在变量的先验帧潜在分布(其可以与先验对象潜在分布相同)中采样来确定该组帧潜在变量中的每一个的值,以及处理确定的值,具体是使用如上所述的图像帧解码器神经网络来生成解码的新图像帧序列。可选地,图像帧解码器神经网络可以以如前所述的图像帧解码器神经网络的条件输入为条件,即可以根据该条件输入生成图像帧。
视频对象表示神经网络系统的(经训练的)编码器部分可用于确定该组对象潜在变量和帧潜在变量的值,然后可以修改这些中的一个或多个并将其提供给视频对象表示神经网络的解码器,以生成输入视频序列的修改版本。
在一些实现方式中,一旦经过训练,视频对象表示神经网络系统,更具体地说,仅仅是编码器部分,就可以用来控制代理在与环境交互时执行特定任务。代理可以是诸如机器人或自主载具之类的机械代理,并且环境可以是真实世界环境。这种使用方法可以包括例如对于连续的时间步长,获得表征环境当前状态的观测,该观测包括观测视频序列,例如通过获得视频序列的连续图像帧。经训练的视频对象表示神经网络系统然后可以用于处理观测视频序列,以获得用于参数化对象潜在分布的值和用于参数化帧潜在分布的值,并且可选地获得对象潜在变量和帧潜在变量。然后可以使用控制系统处理这些以生成控制输出,控制系统由此处理来自该观测的数据。除了潜在变量或它们的分布之外,还可以将观测提供给控制系统。控制系统可以包括例如强化学习系统中的动作选择策略神经网络,并且控制输出可以包括动作选择策略输出。然后可以响应于该观测来选择要由代理执行的动作。该动作可以由代理使用控制输出来实现,或者可以为代理提供控制输出来实现该动作。
这可以包括向代理提供动作数据以执行动作和/或控制信号或数据,诸如电子控制数据,例如电机控制数据。也就是说,控制输出可以包括动作数据、控制信号,或类似的。例如,控制输出可以包括用于控制机械代理(例如机器人)的物理行为的控制信号,例如机器人关节的扭矩,或更高级别的控制命令;或者用于控制自主载具的控制信号,例如控制载具元件的扭矩,或更高级别的控制命令。选择的动作可以定义例如机器人的一个或多个关节或另一个机械代理的部件的位置、速度,或力/扭矩/加速度数据。
本说明书结合系统和计算机程序组件使用术语“被配置”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作时使得该系统执行操作或动作。对于被配置为执行特定的操作或动作的一个或多个计算机程序,意味着一个或多个程序包括指令,当由数据处理装置执行时,这些指令使得该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、有形体现的计算机软件或固件中、计算机硬件(包括本说明书中公开的结构及其结构等同物)中,或者它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备,或者它们中的一个或多个的组合。可替代地或附加地,可以将程序指令编码在被生成以编码信息的人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,该信息用于传输到合适的接收器设备,以由数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
也可以被称为或描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码的计算机程序,可以用任何形式的编程语言编写,包括编译或解释语言,或者声明性或过程性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适于在计算环境中使用的其他单元。程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,存储在专用于所讨论的程序的单个文件中,或者存储在多个协作文件中,例如,存储一个或多个模块、子程序或代码部分的文件。计算机程序可以被部署为在一个计算机或位于一个地点或分布在多个地点并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”被广泛地用于指代任何数据集合:数据不需要以任何特定的方式被结构化,或者根本不需要被结构化,并且它可以被存储在一个或多个位置的存储设备上。因此,例如,索引数据库可以包括多个数据集合,每个集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”被广泛地用来指被编程来执行一个或多个特定功能的基于软件的系统、子系统或过程。通常,引擎将被实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定的引擎;在其他情况下,可以在同一个或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机来执行,所述一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)来执行,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路来补充或并入其中。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,以从该大容量存储设备接收数据或向其传送数据,或两者兼有。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器,仅举几个示例。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以及用户可以用来向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从用户设备上的网络浏览器接收的请求,向网络浏览器发送网页。此外,计算机可以通过向个人设备(例如,运行消息传递应用的智能手机)发送文本消息或其他形式的消息,并接收来自用户的作为回应的响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产的通用和计算密集型部分,即推断,工作负载。
可以使用机器学习框架来实现和部署机器学习模型,机器学习框架例如为TensorFlow框架、微软认知工具包框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面、网络浏览器或用户可以通过其与本说明书中描述的主题的实现方式进行交互的应用的客户端计算机,或者一个或多个这样的后端、中间件或前端组件的任何组合。该系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生的。在一些实施例中,服务器向用户设备发送数据,例如HTML页面,例如为了向与充当客户端的设备交互的用户显示数据并从该用户接收用户输入。可以在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。
虽然本说明书包含许多具体的实现方式细节,但是这些不应该被解释为对任何发明的范围或可能要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本说明书中在分离实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分离或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初被如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描述了操作,并且在权利要求中以特定顺序叙述了操作,但是这不应该被理解为要求这些操作以所示的特定顺序或依次顺序来执行,或者要求所有图示出的操作都被执行,而实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中所叙述的动作可以以不同的顺序来执行,并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或依次顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (24)

1.一种训练视频对象表示神经网络系统的计算机实现的方法,该视频对象表示神经网络系统包括自注意力神经网络,该自注意力神经网络包括一个或多个自注意力层并且具有多个自注意力神经网络参数,每个自注意力层被配置为在层输入上应用自注意力机制,该方法包括:
获得包括T个图像帧的序列的视频序列,在一系列时间中的每一个时间处一个图像帧;
处理每个图像帧以生成所述T个图像帧中的每个图像帧的一组S个空间编码,从而获得所述视频序列的S×T个空间编码的组,其中,图像帧的每个空间编码包括所述图像帧的相应区域的编码;
通过在包括所述S×T个空间编码的组的层输入上应用所述自注意力机制来使用所述自注意力神经网络处理所述S×T个空间编码的组,以生成变换的空间编码的组,每个变换的空间编码对应于一个图像帧时间和一个图像帧区域,其中,在所述层输入上应用所述自注意力机制包括在不同图像帧的空间编码上应用所述自注意力机制;
对于一组对象潜在变量中的每一个,通过在图像帧的时间上聚合变换的空间编码的组,确定用于参数化该对象潜在变量的对象潜在分布的一个或多个值;
通过从所述对象潜在变量的对象潜在分布中采样来确定该组对象潜在变量中的每一个的值;
处理确定的对象潜在变量的值,以生成解码的图像帧序列;以及
通过至少调整所述自注意力神经网络参数的值,以取决于i)T个图像帧的序列和解码的图像帧序列之间的差异的度量,以及ii)每个对象潜在分布和先验对象潜在分布之间的差异来优化目标函数,来训练该系统。
2.根据权利要求1所述的方法,还包括:
通过在图像帧的区域上聚合变换的空间编码的组,为一组帧潜在变量中的每一个确定用于参数化该帧潜在变量的帧潜在分布的一个或多个值;
通过从所述帧潜在变量的帧潜在分布中采样来确定该组帧潜在变量中的每一个的值;
其中,生成解码的图像帧序列还包括处理确定的帧潜在变量的值以生成解码的图像帧序列。
3.根据权利要求2所述的方法,其中,训练所述系统包括至少调整所述自注意力神经网络参数的值,以取决于每个帧潜在分布和先验帧潜在分布之间的差异来优化所述目标函数。
4.根据任一前述权利要求所述的方法,其中,每个空间编码包括图像帧的相应区域的特征图,其中,处理每个图像帧以生成T个图像帧中的每一个图像帧的该组S个空间编码包括使用具有多个特征提取神经网络参数的特征提取神经网络来处理每个图像帧,以生成图像帧的每个区域的特征图;并且其中,训练该系统包括调整所述特征提取神经网络参数的值。
5.根据任一前述权利要求所述的方法,包括使用具有多个图像帧解码器神经网络参数的图像帧解码器神经网络来处理确定的对象潜在变量的值,以生成所述解码的图像帧序列;和
其中,训练该系统还包括调整所述图像帧解码器神经网络参数的值。
6.根据权利要求5所述的方法,其中,所述解码的图像帧序列包括针对一系列解码的图像帧时间步长中的每一个的图像帧,并且其中,使用图像帧解码器神经网络来生成解码的图像帧序列包括,针对每个解码的图像帧的每个像素和针对每个解码的图像帧时间步长:
使用所述图像帧解码器神经网络处理确定的对象潜在变量的值、指定像素位置的信息,和指定时间步长的信息,以针对所述像素和所述时间步长确定每个对象潜在变量的像素分布的参数;
组合每个对象潜在变量的像素分布,以确定组合的像素分布;和
从组合的像素分布中采样,以确定针对所述像素和针对所述时间步长的值。
7.根据权利要求6所述的方法,还包括,针对每个解码的图像帧的每个像素和针对每个解码的图像帧时间步长:
使用所述图像帧解码器神经网络处理确定的对象潜在变量的值、指定像素位置的信息和指定时间步长的信息,以针对所述像素和所述时间步长确定每个对象潜在变量的混合权重;并且其中
组合每个对象潜在变量的像素分布以确定组合的像素分布包括组合由相应混合权重加权的每个对象潜在变量的像素分布。
8.根据权利要求5、6或7所述的方法,还包括:
获得条件输入,该条件输入定义所述视频序列中的一个或多个对象或一个或多个对象的对象属性,或者定义视点位置或朝向;和
向所述自注意力神经网络和所述图像帧解码器神经网络提供所述条件输入。
9.根据任一前述权利要求所述的方法,其中,使用注意力神经网络处理所述S×T个空间编码的组包括使用所述一个或多个自注意力层之一来处理包括所述S×T个空间编码的组的层输入,以生成针对每个空间编码的查询和键-值对,并且使用所述自注意力机制将所述查询应用于所述键-值对,以确定变换的空间编码的组;并且其中,所述自注意力神经网络参数包括应用于所述层输入以生成所述查询和所述键-值对的学习的变换的参数。
10.根据任一前述权利要求所述的方法,其中,使用注意力神经网络处理所述S×T个空间编码的组包括:
将所述S×T个空间编码的组作为所述层输入提供给注意力神经网络的第一自注意力层,以生成第一自注意力层输出;和
将第一自注意力层输出提供给注意力神经网络的第二自注意力层,以生成所述变换的空间编码的组;包括
将空间编码的数量从S×T个空间编码减少到K×T个空间编码,其中,K是对象潜在变量的数量,并且K小于S。
11.根据权利要求10所述的方法,其中,所述减少包括在所述第一自注意力层输出上应用池化操作。
12.根据任一前述权利要求所述的方法,其中,训练所述系统包括通过生成所述解码的图像帧序列的图像帧解码器神经网络、所述自注意力神经网络和生成该组空间编码的特征提取神经网络来反向传播所述目标函数的梯度。
13.根据权利要求1-12中任一项所述的方法,还包括使用经训练的视频对象表示神经网络系统从所述对象潜在变量或从用于参数化所述对象潜在分布的值获得所述视频序列中描绘的一个或多个对象的一个或多个属性。
14.根据从属于权利要求2的权利要求2-13中任一项所述的方法,还包括使用经训练的视频对象表示神经网络系统,从所述帧潜在变量或从用于参数化所述帧潜在分布的值,获得所述视频序列的视点的位置或朝向。
15.根据权利要求1-12中任一项所述的方法,还包括使用经训练的视频对象表示神经网络系统通过以下方式来生成包括解码的新图像帧序列的新视频序列:
通过从所述对象潜在变量的先验对象潜在分布中采样来确定该组对象潜在变量中的每一个的值;
处理确定的对象潜在变量的值,以生成解码的新图像帧序列。
16.根据从属于权利要求2的权利要求15所述的方法,还包括:
通过从所述帧潜在变量的先验帧潜在分布中采样来确定该组帧潜在变量中的每一个的值;和
处理确定的对象潜在变量的值和确定的帧潜在变量的值,以生成解码的新图像帧序列。
17.根据权利要求1-12中任一项所述的方法,还包括使用经训练的视频对象表示神经网络系统通过以下方式来生成包括解码的修改的图像帧序列的修改的视频序列:
获得包括输入图像帧序列的输入视频序列;
处理每个输入图像帧以获得所述输入视频序列的空间编码的组;
使用注意力神经网络来处理所述输入视频序列的空间编码的组,以生成变换的空间编码的组;
通过从根据所述变换的空间编码的组确定的对象潜在分布中进行采样来确定该组对象潜在变量的值;
修改确定的该组对象潜在变量的值,以获得一组修改的潜在变量;和
处理该组修改的潜在变量,以生成所述解码的修改的图像帧序列。
18.根据从属于权利要求2的权利要求17所述的方法,还包括通过从根据所述变换的空间编码的组确定的帧潜在分布中进行采样来确定该组帧潜在变量的值;
修改确定的该组帧潜在变量的值,以获得该组修改的潜在变量。
19.根据权利要求1-10中任一项所述的方法,还包括使用经训练的视频对象表示神经网络系统来控制代理在与环境进行交互时执行任务,所述方法包括:
获得表征所述环境的当前状态的观测,该观测包括观测视频序列;
使用经训练的视频对象表示神经网络系统处理所述观测视频序列,以获得用于参数化所述对象潜在分布的值;
使用控制系统处理来自所述观测的数据,包括处理来自用于参数化所述对象潜在分布的值的数据,以生成控制输出;和
使用控制输出响应于所述观测,选择要由所述代理执行的动作。
20.存储指令的一个或多个计算机可读存储介质,当所述指令被一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求1-19中任一项所述的方法的相应操作。
21.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,当所述指令被一个或多个计算机执行时,使得所述一个或多个计算机执行根据权利要求1-19中任一项所述的相应操作。
22.一种计算机实现的视频处理神经网络系统,包括:
经训练的特征提取神经网络,被配置为:
接收包括T个图像帧的序列的视频序列,在一系列时间中的每一个时间处一个图像帧,以及
处理每个图像帧以生成T个图像帧中的每个图像帧的一组S个空间编码,从而获得所述视频序列的S×T个空间编码的组,其中,每个空间编码包括图像帧的相应区域的编码;和
经训练的自注意力神经网络,包括一个或多个自注意力层,每个自注意力层被配置为在层输入上应用自注意力机制,其中,所述自注意力神经网络被配置为:
通过在包括S×T个空间编码的组的层输入上应用所述自注意力机制,使用注意力神经网络处理所述S×T个空间编码的组,以生成变换的空间编码的组,每个变换的空间编码对应于一个图像帧时间和一个图像帧区域,其中,在所述层输入上应用所述自注意力机制包括在不同图像帧的空间编码上应用所述自注意力机制;以及
其中,所述视频处理神经网络系统被配置为:
对于一组对象潜在变量中的每一个,通过在图像帧的时间上聚合变换的空间编码的组,确定用于参数化该对象潜在变量的对象潜在分布的一个或多个值;并且从用于参数化所述对象潜在分布的值来确定所述视频序列中描绘的一个或多个对象的一个或多个属性。
23.一种计算机实现的视频生成神经网络系统,被配置为:
通过从对象潜在变量的相应先验对象潜在分布中进行采样来确定一组对象潜在变量中的每一个的值;
该系统包括:
经训练的图像帧解码器神经网络,用于处理确定的对象潜在变量的值,以生成视频序列,该视频序列包括在连续时间步长处生成的图像帧的序列,其中,所述图像帧解码器神经网络被配置为,针对每个生成的图像帧的每个像素和针对每个生成的图像帧时间步长:
处理确定的对象潜在变量的值、指定像素位置的信息和指定时间步长的信息,以针对所述像素和针对所述时间步长,确定每个对象潜在变量的像素分布的参数;
组合每个对象潜在变量的像素分布,以确定组合的像素分布;和
从组合的像素分布中进行采样,以确定针对所述像素和针对所述时间步长的值。
24.根据权利要求23所述的计算机实现的视频生成神经网络系统,其中,所述图像帧解码器神经网络还被配置为,针对每个解码的图像帧的每个像素和针对每个解码的图像帧时间步长:
处理确定的对象潜在变量的值、指定像素位置的信息和指定时间步长的信息,以针对所述像素和针对所述时间步长确定每个对象潜在变量的混合权重;和
组合由相应混合权重加权的每个对象潜在变量的像素分布,以确定组合的像素分布。
CN202280032841.3A 2021-05-28 2022-05-27 使用空间和时间上的注意力对来自视频序列的对象表示的无监督学习 Pending CN117255998A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163194849P 2021-05-28 2021-05-28
US63/194,849 2021-05-28
PCT/EP2022/064484 WO2022248712A1 (en) 2021-05-28 2022-05-27 Unsupervised learning of object representations from video sequences using attention over space and time

Publications (1)

Publication Number Publication Date
CN117255998A true CN117255998A (zh) 2023-12-19

Family

ID=82258288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280032841.3A Pending CN117255998A (zh) 2021-05-28 2022-05-27 使用空间和时间上的注意力对来自视频序列的对象表示的无监督学习

Country Status (4)

Country Link
EP (1) EP4315171A1 (zh)
KR (1) KR20230167086A (zh)
CN (1) CN117255998A (zh)
WO (1) WO2022248712A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116400426B (zh) * 2023-06-06 2023-08-29 山东省煤田地质局第三勘探队 基于电磁法的数据勘测系统

Also Published As

Publication number Publication date
EP4315171A1 (en) 2024-02-07
KR20230167086A (ko) 2023-12-07
WO2022248712A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
CN113039563B (zh) 学习生成用于训练神经网络的合成数据集
JP7295906B2 (ja) ニューラルネットワークを使用したシーンの理解および生成
CN110062934B (zh) 使用神经网络确定图像中的结构和运动
US11232286B2 (en) Method and apparatus for generating face rotation image
US20210158023A1 (en) System and Method for Generating Image Landmarks
US20220044352A1 (en) Cross-domain image translation
US20220230276A1 (en) Generative Adversarial Networks with Temporal and Spatial Discriminators for Efficient Video Generation
Bhattad et al. View generalization for single image textured 3d models
US20240096001A1 (en) Geometry-Free Neural Scene Representations Through Novel-View Synthesis
DE102022100360A1 (de) Framework für maschinelles lernen angewandt bei einer halbüberwachten einstellung, um instanzenverfolgung in einer sequenz von bildframes durchzuführen
US20230100427A1 (en) Face image processing method, face image processing model training method, apparatus, device, storage medium, and program product
JP2024507727A (ja) 潜在変数で条件付けた幾何学的形状認識ニューラルネットワークを使用した、シーンの新規画像のレンダリング
US11887248B2 (en) Systems and methods for reconstructing a scene in three dimensions from a two-dimensional image
US20220245910A1 (en) Mixture of volumetric primitives for efficient neural rendering
Zhou et al. Image2GIF: Generating cinemagraphs using recurrent deep q-networks
EP3992909A1 (en) Two-stage depth estimation machine learning algorithm and spherical warping layer for equi-rectangular projection stereo matching
CN117255998A (zh) 使用空间和时间上的注意力对来自视频序列的对象表示的无监督学习
US20230053618A1 (en) Recurrent unit for generating or processing a sequence of images
US20220215594A1 (en) Auto-regressive video generation neural networks
US20230040793A1 (en) Performance of Complex Optimization Tasks with Improved Efficiency Via Neural Meta-Optimization of Experts
Yurtsever et al. Photorealism in driving simulations: Blending generative adversarial image synthesis with rendering
CN116342776A (zh) 三维场景解耦方法、电子设备及存储介质
Johnston Single View 3D Reconstruction using Deep Learning
Mathieu Unsupervised Learning Under Uncertainty
Koksal Learning to control visual data translation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination