CN113826146A - 自回归视频生成神经网络 - Google Patents
自回归视频生成神经网络 Download PDFInfo
- Publication number
- CN113826146A CN113826146A CN202080036018.0A CN202080036018A CN113826146A CN 113826146 A CN113826146 A CN 113826146A CN 202080036018 A CN202080036018 A CN 202080036018A CN 113826146 A CN113826146 A CN 113826146A
- Authority
- CN
- China
- Prior art keywords
- channel
- video
- attention
- self
- slice
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims description 59
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000005192 partition Methods 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 27
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 7
- 239000000945 filler Substances 0.000 claims description 4
- 238000012549 training Methods 0.000 claims description 3
- 230000003750 conditioning effect Effects 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 229910052739 hydrogen Inorganic materials 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
描述了一种用于生成视频的方法。该方法包括:生成包括多个帧的初始输出视频,帧中的每个具有多个通道;识别初始输出视频成为根据特定切片次序索引的通道切片的集合的分区,每个通道切片是来自通道堆叠的集合的通道堆叠的下采样;为通道堆叠集合中的每个通道堆叠初始化完全生成的通道切片的集合;使用编码器和解码器对当前输出视频进行重复处理以生成下一个完全生成的通道切片以添加到完全生成的通道切片的当前集合;对于通道索引中的每个,使用相应的完全生成的通道切片生成相应的完全生成的通道堆叠;以及使用完全生成的通道堆叠生成完全生成的输出视频。
Description
本申请是2019年5月23日提交的美国临时专利申请No.62/852,271的非临时申请并要求其优先权,其全部内容通过引用并入本文。
技术领域
本说明书涉及用于视频生成的神经网络系统。
背景技术
神经网络是机器学习模型,其采用一层或多层非线性单元来预测接收到的输入的输出。一些神经网络除输出层外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中下一层,即,下一隐藏层或输出层的输入。网络的每一层根据相应的参数集合的当前值从接收的输入生成输出。
发明内容
本说明书描述了一种作为计算机程序实现在一个或多个位置中的一个或多个计算机上的神经网络系统,所述计算机实现用于高效视频生成的视频生成神经网络系统。
能够在特定实施例中实现本说明书中描述的主题以便实现以下优点中的一个或多个。由于需要产生的大量像素及其联合分布的巨大复杂性,视频的生成是有挑战性的任务。本说明书中描述的自回归视频神经网络能够结合块局部自注意力机制的高效实现方式通过迭代地生成子缩放视频切片(slice)来解决常规视频生成模型面临的计算挑战。特别地,当将视频分割成块的成本是可忽略的时,所描述的自回归视频神经网络能够通过对视频块应用块局部自注意力来显著地降低存储器需求。所描述的自回归视频神经网络能够通过按时空子缩放次序生成视频来进一步降低存储器需求。结果,能够在保持更长范围的时空依赖性的同时大体上按比例放大所描述的自回归视频神经网络。此可伸缩性允许实现自回归视频神经网络的系统跨一系列流行的视频生成基准获得现有技术水平结果并且对空前复杂性的真实世界视频进行建模。
本说明书主题的一个或多个实施例的细节在附图和以下描述中阐述。本主题的其他特征、方面和优点将从描述、附图和权利要求中变得明显。
附图说明
图1示出视频生成神经网络系统的示例。
图2是用于生成视频的示例过程的流程图。
图3是使用编码器神经网络生成编码调节通道切片的示例过程的流程图。
图4是用于使用解码器神经网络生成下一个完全生成的通道切片的示例过程的流程图。
各图中相同的附图标记和名称指示相同的元件。
具体实施方式
视频生成是诸如内容创建、预测、传递学习和基于模型的强化学习的许多应用中的重要任务。然而,由于视频的统计复杂性、高度的固有随机性和庞大的数据量,生成自然视频仍然是有挑战性的任务。现有的视频生成模型试图通过组合有时复杂的、常常视频特定的神经网络架构、潜在变量模型、对抗性训练和一系列其他方法来解决这些问题。不管它们常常高的复杂性,这些方法仍然达不到在窄域之外生成高质量视频连续并且常常与保真度作斗争。
相比之下,与现有的视频生成模型相比,本说明书中描述的视频生成神经网络系统能够跨多个度量实现更好的结果,因为它能够产生更高保真度和真实性的视频。以计算上高效的方式生成合理视频的能力使本文描述的视频生成神经网络系统变得对于诸如内容创建以及用于诸如机器人操纵和自动驾驶汽车控制的强化学习任务的相机运动和物体或人类移动预测的真实世界应用特别有用。
图1示出示例视频生成神经网络系统100。系统100是作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统的示例,在所述计算机中能够实现下述系统、组件和技术。
系统100包括编码器神经网络102(也称为“编码器102”)、解码器神经网络118(也称为“解码器118”)和子系统140。子系统140是作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统,在其中能够实现本文描述的系统、组件和技术。
系统100目的旨在生成期望的输出视频,其能够被表示为分别具有时间、高度、宽度和通道尺寸的视频Nc是输出视频的通道数。例如,具有RGB视频帧的视频具有三个通道:红色、绿色和蓝色。视频x上的分布p(x)能够借助于像素通道级自回归因式分解来建模。也就是说,像素上的联合分布被相对于像素上的排序π针对Np=T x H xW个像素中的每一个因式分解成所有Nc个通道的通道强度的积:
排序π由如在下面进一步详述的子缩放排序和光栅扫描排序的组合来给出。在一些情况下,系统100可以以输入为条件生成所期望的输出视频。输入可以是例如从系统100的用户或从指定输出视频的一个或多个像素的像素值的另一系统接收的输入。在一些其他实现方式中,系统100可以从草案生成所期望的输出视频。
为了生成所期望的输出视频,系统100首先使用子系统140来生成初始输出视频132。初始输出视频132包括多个帧。每个帧具有多个通道。每个通道是二维图像并且通过来自初始输出视频的通道索引的集合中的相应的通道索引来索引。例如,如果每个帧具有三个通道:红色、绿色和蓝色,则通道索引的集合是{R,G,B}。作为另一示例,如果每个帧具有四个通道:青色、品红色、黄色和键(key),则通道索引的集合是{C,M,Y,K}。对于每个通道,通道中的每个像素被指配了预定像素值或者用空白像素填充。
例如,在一些情况下,初始输出视频132是完全填充的视频,其中视频132的每一单个像素用空白像素填充。在这种情况下,系统100使用解码器神经网络118来逐像素地生成第一完全生成的通道切片。将在下面更详细地描述此过程。在生成第一通道切片之后,系统100现在能够用来自第一完全生成的通道切片的信息(包括像素值)部分地填充初始输出视频132。
在一些其他情况下,系统100可以(例如,从系统100的用户或从另一系统)接收为视频132的像素中的一个或多个像素指定预定像素值的输入。例如,如图1所示,初始输出视频132具有一些黑色像素和一些灰色像素,所述黑色像素是用空白像素填充的像素,所述灰色像素是被各自指配了通过输入指定的相应的预定像素值的像素。
子系统140被配置成识别初始输出视频132成为根据特定切片次序索引的通道切片(例如,通道切片134、136、138、140、...)的集合的分区(partitioning)。每个通道切片是对来自通道堆叠的集合的通道堆叠的下采样。通道堆叠的集合中的每个通道堆叠对应于相应的通道索引(例如,通道索引R、G或B)并且是根据时间具有相同相应的通道索引的通道的堆叠。
特别地,子系统140通过使用给定子缩放因子s=(st,sh,sw)来将具有形状(T、H、W)的初始输出视频132均匀地划分成较小通道切片的集合。子缩放因子s将视频132划分成s=(st·sh·sw)个通道切片,每个通道切片的分辨率为(T/st,H/sh,W/sw),如图1的底部所图示的。子系统140按特定次序生成这些通道切片。例如,子系统140根据它们相应的偏移来生成通道切片,使得它首先生成切片x(0,0,0)(作为对与通道索引C相对应的通道堆叠的下采样的切片134),然后生成x(0,0,1)(作为对与通道索引M相对应的通道堆叠的下采样的切片136)、x(0,1,0)(作为对与通道索引Y相对应的通道堆叠的下采样的切片138)、x(1,0,0)(作为对与通道索引K相对应的通道堆叠的下采样的切片140),直到切片为止。以这种方式一次一个地生成所有通道切片能够将存储器中的像素数Np急剧地减少到Np/s,这使得能够将视频生成神经网络系统100的架构缩放s倍。
子系统140被配置成对于通道堆叠的集合中的每个通道堆叠,初始化完全生成的通道切片的集合。例如,子系统140可以将完全生成的通道切片的集合初始化为空集合,这意味着在开始时在集合中没有完全生成的通道切片。
系统100使用编码器102和解码器118来重复地处理包括完全生成的通道切片的当前集合的当前输出视频以根据特定切片次序为s个通道切片中的每一个生成像素值。对于第一次迭代,当前输出视频是初始输出视频132。在通道切片被完全生成(例如,通道切片中的所有像素都被指配了相应的值)之后,通道切片变成要添加到相应的通道堆叠的完全生成的通道切片的集合的下一个完全生成的通道切片。
特别地,编码器102被配置成处理包括所有通道堆叠的完全生成的通道切片的当前集合的当前输出视频以为当前通道切片生成编码调节通道切片。能够将当前通道切片表示为x(a,b,c),其中(a,b,c)表示当前通道切片索引。编码器102包括3D编码器卷积层104,其后面跟随多个编码自注意力层的堆叠114。编码自注意力层中的每个包括编码器层-归一化层106、块自注意力层110和一个或多个编码器前馈层112。一个或多个编码器前馈层112可以是例如多层感知器(MLP)。
编码器102使用3D编码器卷积层104来处理当前输出视频以生成初始编码器表示。编码器102然后通过线性投影将此初始编码器表示变换至隐藏大小以生成中间编码器表示并且将中间编码器表示作为输入提供给编码自注意力层的堆叠114。编码器102使用编码自注意力层的堆叠114来处理中间编码器表示以为当前通道切片生成编码调节通道切片。在一些情况下,编码自注意力层中的每个能够通过相同的块大小和注意力头数来参数化。在其他一些情况下,编码自注意力层中的每个能够通过不同的块大小和注意力头数来参数化。
在下面参考图3更详细地描述用于使用编码器102来生成编码调节通道切片的过程。
解码器118被配置成从编码器102接收编码调节通道切片并且处理该编码调节通道切片以生成当前通道切片的像素值(即,以使当前通道切片变成下一个完全生成的通道切片)。解码器118能够用来自初始输出视频132的具有预定像素值的像素来初始化,这些像素在下一个完全生成的通道切片中。解码器118包括后面跟随多个解码自注意力层128的3D解码器卷积层120。解码自注意力层中的每个包括解码器层-归一化层122、掩膜(masked)块自注意力层124和一个或多个解码器前馈层126。一个或多个解码器前馈层126可以是例如多层感知器(MLP)。在下面参考图4更详细地描述用于使用解码器118来生成下一个完全生成的通道切片的过程。
子系统140将下一个完全生成的通道切片添加到相应的通道堆叠的完全生成的通道切片的当前集合。
系统100重复处理当前输出视频的上述过程,直到所有通道切片都已被完全生成为止。
对于通道索引中的每个,系统100使用相应的完全生成的通道切片来生成相应的完全生成的通道堆叠。特别地,对于每个通道索引,子系统140组合相应的通道堆叠的所有完全生成的通道切片以生成完全生成的通道堆叠。
系统100使用针对通道索引生成的完全生成的通道堆叠来生成完全生成的输出视频。特别地,子系统140组合所有完全生成的通道堆叠以生成完全生成的输出视频(其是所期望的输出视频)。
在一些实现方式中,编码器神经网络102和解码器神经网络118被作为计算机程序实现在同一计算机系统上。
在一些其他实现方式中,能够在第一计算机系统上实现编码器神经网络102。编码器神经网络102能够对于期望的输出视频生成下一个编码调节通道切片并且将这些编码调节通道切片发送到在与第一计算机系统不同的第二计算机系统上运行的解码器神经网络118。解码器神经网络118然后能够使用这些编码调节通道切片来生成用于重建所期望的输出视频的下一个完全生成的通道切片。
在一些实现方式中,能够使用同一损失函数来联合地训练编码器102和解码器118。损失函数可以是所有通道切片的负对数似然。
图2是用于生成输出视频的示例过程的流程图。为了方便,过程200将被描述为由位于一个或多个位置中的一个或多个计算机的系统执行。例如,依照本说明书适当地编程的视频生成神经网络系统,例如图1的视频生成神经网络系统100,能够执行过程200。
系统生成包括多个帧的初始输出视频(步骤202)。帧中的每个具有多个通道。每个通道是二维图像并且通过来自初始输出视频的通道索引集中的相应的通道索引来索引。对于每个通道,通道中的每个像素被指配了预定像素值或者用空白像素填充。
系统识别将初始输出视频成为根据特定切片次序索引的通道切片的集合的分区(步骤204)。每个通道切片是对来自通道堆叠的集合的通道堆叠的下采样。通道堆叠的集合中的每个通道堆叠对应于相应的通道索引(例如,通道索引R、G或B)并且是根据时间具有相同相应的通道索引的通道的堆叠。
特别地,系统通过使用给定子缩放因子s=(st,sh,sw)来将具有形状(T、H、W)的初始输出视频均匀地划分成较小通道切片的集合。子缩放因子s将视频132划分成s=(st.sh.sw)个通道切片,每个通道切片的分辨率为(T/st,H/sh,W/sw),如图1的底部所图示的。系统按特定次序生成这些通道切片。例如,系统根据它们相应的偏移来生成通道切片,使得它首先生成切片x(0,0,0)(作为对与黄色通道索引Y相对应的通道堆叠的下采样的切片134),然后生成x(0,0,1)(作为对与绿色通道索引G相对应的通道堆叠的下采样的切片136)、x(0,1,0)(作为对与红色通道索引R相对应的通道堆叠的下采样的切片138)、x(1,0,0)(作为对与蓝色通道索引B相对应的通道堆叠的下采样的切片140),直到切片为止。以这种方式一次一个地生成所有通道切片能够将存储器中的像素数Np急剧地减少到Np/s,这使得能够将系统的架构缩放s因子。
对于通道堆叠的集合中的每个通道堆叠,系统初始化完全生成的通道切片的集合(步骤206)。例如,系统可以将完全生成的通道切片的集合初始化为空集合,这意味着在开始在集合中没有完全生成的通道切片。
系统根据特定切片次序重复地执行步骤208-212。
系统使用编码器神经网络来处理包括所有通道堆叠的完全生成的通道切片的当前集合的当前输出视频以生成编码调节通道切片(步骤208)。
系统使用解码器神经网络来处理编码调节通道切片以生成下一个完全生成的通道切片(步骤210)。
系统将下一个完全生成的通道切片添加到通道堆叠的完全生成的通道切片的当前集合(步骤212)。
在所有通道切片已被完全生成之后,系统对于通道索引中的每个使用相应的完全生成的通道切片来生成相应的完全生成的通道堆叠(步骤214)。
系统使用针对通道索引生成的完全生成的通道堆叠来生成完全生成的输出视频(步骤216)。
图3是用于使用编码器神经网络——例如,图1的编码器102--来为当前通道切片(被表示为x(ab,c))生成编码调节通道切片的示例过程的流程图。
编码器神经网络(此后为了简单称为“编码器”)使用所有通道堆叠的完全生成的通道切片的当前集合来生成部分掩膜的视频,其中仅来自完全生成的通道切片的当前集合的像素(即,仅前面完全生成的通道切片x<(a,b,c)的像素)在部分掩膜的视频中可见(步骤302)。
编码器通过将部分掩膜的视频与所有通道的像素强度的独热(one-hot)编码级联来生成嵌入部分掩膜的视频(步骤304)。每个通道的像素强度可以是离散化像素强度。
编码器使用3D编码器卷积层来处理嵌入部分掩膜的视频以生成下采样的编码视频(步骤306)。例如,编码器使用具有核大小k=(k1,k2,k3)和步幅s(子缩放因子)的3D编码器卷积层来处理嵌入部分掩膜的视频以生成分辨率(T/st,H/sh,W/sw)的下采样的编码视频。
编码器对下采样的编码视频应用卷积填充以生成填充下采样的编码视频(步骤308)。编码器取决于当前切片索引(a、b、c)而应用卷积填充。特别地,编码器能够用填充下采样的编码视频,这将卷积核“定中心”在当前通道切片的像素上。
编码器将位置嵌入附加到填充下采样的编码视频以生成初始编码器表示(步骤310)。更具体地,编码器将针对填充下采样的编码视频的每个轴的位置嵌入以及针对当前切片索引(a、b、c)的嵌入添加到填充下采样的编码视频。结果是初始编码器表示其中de是嵌入大小。可选地,编码器能够通过将辅助信息级联到初始编码器表示来以辅助信息(例如,机器人手臂的每帧动作值)为条件。
编码器使用到隐藏大小d的线性投影来将初始编码器表示变换为中间编码器表示(步骤312)。
特别地,L个编码自注意力层中的每一个包括编码器层-归一化层、块自注意力层和一个或多个编码器前馈层。一个或多个编码器前馈层可以是例如多层感知器(MLP)。
多个编码自注意力层中的每个编码自注意力层被配置成接收形状(T、H、W)的包括通道堆叠的集合的填充视频作为输入。每个编码自注意力层然后将填充视频划分成长度np=t.h.w的形状(t、h、w)的较小视频块的集合。然后每个编码自注意力层独立地对视频块中的每个应用自注意力(或块局部自注意力)机制。给定隐藏大小d的块表示作为输入,这相当于:
attention(z)=Aυ。 (4)
注意力机制能够被并行应用于所有视频块。输入首先被编码自注意力层的编码器层-归一化层投影到查询、键和值表示q,k,v(等式2)。然后将注意力矩阵A形成为所有查询-键对qk之间的缩放点积,从而添加相对位置偏差B(等式3)。偏差Bij被定义为沿着时间维度和空间维度中的每一个的元素i与j之间的每维度相对距离偏差之和。最后,相对于注意力矩阵A的注意力权重来聚合值v以生成自注意输出attention(z)(等式4)。注意,运行块局部自注意力在实践中是非常高效的,因为将视频分割成块的成本是可忽略的。
编码自注意力层附加视频块的集合的自注意输出以形成多头自注意输出。特别地,编码自注意力层级联编码自注意力层中的na个并行注意力头的输出并且在应用残差连接以形成多头自注意输出之前通过线性变换(等式5)来对结果进行投影。
其中重载表示法attention(z)表示自注意力对z的逐块应用。在每个块之前而不是在每个块之后应用层归一化能够改进训练。
在一些实现方式中,为了避免需要重叠以跨块连接像素,块大小能够在编码自注意力层之间变化,这是高度高效的并且在实践中工作良好。
图4是用于使用解码器神经网络来从由编码器神经网络提供的编码调节通道切片生成下一个完全生成的通道切片的示例过程的流程图。解码器神经网络可以是例如图1的解码器神经网络118。除了由通过用于生成完全生成的通道切片的特定次序所定义的那样在解码器中使用掩膜以外,解码器神经网络(为了简单也称为“解码器”)在结构上可能几乎与编码器神经网络相同。
通常,解码器被配置成以编码调节通道切片为条件生成当前切片x(a,b,c)的像素值。
具体地,解码器通过在每一像素处对大小为de的所有通道嵌入求和来嵌入编码调节通道切片以生成嵌入通道切片(步骤402)。
解码器使用3D解码器卷积层来对嵌入通道切片应用掩膜卷积(例如,3x3x3掩膜卷积),以生成第一掩膜的通道切片(步骤404)。
解码器使用具有掩膜的L个解码自注意力层的堆叠来处理第二掩膜的通道切片以为当前通道切片生成像素值。除了使用掩膜以外,L个解码自注意力层还以与如上面参考图3所描述的L个编码自注意力层相同的方式操作。特别地,解码自注意力层被掩膜,使得它们不关注通道切片中尚未被生成的像素。在当前通道切片的所有像素值被生成之后,当前通道切片变成能够被表示为的下一个完全生成的通道切片(步骤410)。然后将下一个完全生成的通道切片添加到相应的通道堆叠的完全生成的通道切片的集合。
在一些实现方式中,图1的系统100能够以最后解码器表示为条件通过具有单个隐藏层(等式8)的编码器前馈层112和解码器前馈层126(例如,MLP)来针对每个通道k<Nc预测每像素通道强度(在下文中省略通道切片索引(a、b、c))。最后解码器表示是它本身以为条件并且因此以每个像素的在先切片x<(a,b,c)以及在前通道(xj)j=1...k-1为条件,被编码为独热向量。
uk=[layernorm(yL);onehot(x1);…;onehot(xk-1)]Uk, (7)
每视频切片损失被定义为如下的负对数似然:
此损失能够用于联合地训练编码器神经网络和解码器神经网络。
本说明书连同系统和计算机程序组件一起使用术语“被配置”。对于要被配置成执行特定操作或动作的一个或多个计算机的系统意指系统已在其上安装了在操作中使该系统执行这些操作或动作的软件、固件、硬件或软件、固件、硬件的组合。对于要被配置成执行特定操作或动作的一个或多个计算机程序意指该一个或多个程序包括指令,所述指令当由数据处理装置执行时,使该装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可用数字电子电路、用有形地具体实现的计算机软件或固件、用包括本说明书中公开的结构及其结构等同物的计算机硬件或者用它们中的一个或多个的组合来实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形非暂时性程序载体上编码的用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。可替换地或另外地,可以将程序指令编码在例如是机器生成的电、光或电磁信号的人工生成的传播信号上,该传播信号被生成来对信息进行编码以用于传输到适合的接收器装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。
术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。装置除了包括硬件之外还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
(也可以被称为或者描述为程序、软件、软件应用、模块、软件模块、脚本或代码的)计算机程序可以用包括编译或解释语言或声明或过程语言的任何形式的编程语言编写;并且它可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例行程序或适合于在计算环境中使用的其它单元。计算机程序可以但是不必对应于文件系统中的文件。程序可以被存储在保持其它程序或数据的文件的一部分中,例如存储在标记语言文档中的一个或多个脚本;在专用于所述程序的单个文件中或者在多个协调文件中,例如存储代码的一个或多个模块、子程序或部分的文件。可将计算机程序部署成在一个计算机上或者在位于一个站点处或者分布在多个站点上并通过通信网络互连的多个计算机上执行。
如本说明书中所使用的,“引擎”或“软件引擎”是指提供不同于输入的输出的软件实现的输入/输出系统。引擎可以是功能的编码块,诸如库、平台、软件开发工具包(“SDK”)或对象。每个引擎可以在任何适当类型的计算设备——例如,服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能电话、或包括一个或多个处理器和计算机可读介质的其他固定或便携式设备——上实现。另外,引擎中的两个或更多个可以在相同的计算设备上实现,或者在不同的计算设备上实现。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,其执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程还可以由专用逻辑电路来执行,并且装置还可以被实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,处理和逻辑流程可以由图形处理单元(GPU)执行,并且装置也可以被实现为图形处理单元(GPU)。
通过示例,适于执行计算机程序的计算机包括可以基于通用或专用微处理器或两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合到用于存储数据的一个或多个大容量存储设备,以从其接收数据或向其传送数据,或者两者。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一设备——例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器,仅举几个示例——中。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,通过示例包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,可在计算机上实现本说明书中描述的主题的实施例,所述计算机具有用于向用户显示信息的显示设备以及用户可用来向该计算机提供输入的键盘和指向设备,所述显示设备例如是CRT(阴极射线管)或LCD(液晶显示器)监视器,所述指向设备例如是鼠标或轨迹球。其它种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可通过向由用户使用的设备发送文档并从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收到请求而向用户的客户端设备上的web浏览器发送网页。
本说明书中描述的主题的实施例可被实现在计算系统中,所述计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如具有用户可用来与本说明书中描述的主题的实现方式交互的图形用户界面或web浏览器的客户端计算机;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可通过例如通信网络的任何形式或介质的数字数据通信来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可包括客户端和服务器。客户端和服务器一般地彼此远离并通常通过通信网络来交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
虽然本说明书包含许多具体实施方式细节,但是这些不应该被解释为对任何发明的或可能要求保护的范围的限制,而是相反地被解释为对可能特定于特定发明的特定实施例的特征的描述。也可在单个实施例中组合地实现在本说明书中在单独的实施例的上下文中描述的某些特征。相反地,也可单独地或者按照任何适合的子组合在多个实施例中实现在单个实施例的上下文中描述的各种特征。此外,尽管特征可能在上面被描述按照某些组合起作用并且甚至最初被如此要求保护,但是来自要求保护的组合的一个或多个特征可在一些情况下被从该组合中除去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然按照特定次序在附图中描绘操作,但是这不应该被理解为要求按照所示的特定次序或者按照顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所预期的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中要求这样的分离,并且应该理解的是,所描述的程序组件和系统一般地可被一起集成在单个软件产品中或者包装到多个软件产品中。
已描述了主题的特定实施例。其它实施例在所附权利要求的范围内。例如,权利要求中记载的动作可被以不同的次序执行并仍然实现所期望的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定次序或顺序次序以实现所期望的结果。在某些实现方式中,多任务处理和并行处理可以是有利的。
Claims (18)
1.一种用于生成视频的计算机实现的方法,所述方法包括:
生成包括多个帧的初始输出视频,其中所述帧中的每个帧具有多个通道,每个通道是二维图像并且由来自所述初始输出视频的通道索引的集合的相应通道索引来索引,并且其中,对于每个通道,所述通道中的每个像素被分配预定的像素值或填充有空白像素;
识别所述初始输出视频成为根据特定切片次序索引的通道切片的集合的分区,其中每个通道切片是来自通道堆叠的集合的通道堆叠的下采样,并且其中所述集合中的每个通道堆叠对应于相应的通道索引并且是根据时间具有所述相应的通道索引的通道的堆叠;
为所述通道堆叠的集合中的每个通道堆叠初始化完全生成的通道切片的集合;
根据所述特定切片次序重复地执行以下操作:
使用编码器神经网络处理当前输出视频,所述当前输出视频包括所有通道堆叠的完全生成的通道切片的当前集合,以生成编码的调节通道切片,
使用解码器神经网络处理所述编码的调节通道切片以生成下一个完全生成的通道切片,以及
将所述下一个完全生成的通道切片添加到所述通道堆叠的完全生成的通道切片的当前集合中;
对于所述通道索引中的每个通道索引,使用相应的完全生成的通道切片生成相应的完全生成的通道堆叠;以及
使用为所述通道索引生成的所述完全生成的通道堆叠来生成完全生成的输出视频。
2.根据权利要求1所述的方法,其中,所述编码器神经网络包括3D编码器卷积层后面跟随多个编码自注意力层,其中每个编码自注意力层包括:编码器层-归一化层、块自注意力层和一个或多个编码器前馈层。
3.根据权利要求1或权利要求2所述的方法,其中,所述解码器神经网络包括3D解码器卷积层后面跟随多个解码自注意力层,其中每个解码自注意力层包括:解码器层-归一化层、掩膜的块自注意力层和一个或多个解码器前馈层。
4.根据权利要求2所述的方法,其中,对于每个通道堆叠,使用所述编码器神经网络处理所有通道堆叠的完全生成的通道切片的当前集合以生成所述编码的调节通道切片包括:
使用所有通道堆叠的完全生成的通道切片的所述当前集合来生成部分掩膜视频,其中仅来自完全生成的通道切片的所述当前集合的像素在所述部分掩膜视频中可见,
通过将所述部分掩膜视频与所有通道的像素强度的单热编码级联,生成嵌入的部分掩膜视频,
使用所述3D编码器卷积层处理所述嵌入的部分掩膜视频以生成下采样的编码视频,
在所述下采样的编码视频上应用卷积填充以生成填充的下采样编码视频,
将位置嵌入附加到所述填充的下采样的编码视频以生成初始编码器表示,
使用到隐藏大小的线性投影将所述初始编码器表示变换成中间编码器表示,以及
使用所述多个编码自注意力层处理所述中间编码器表示以生成所述编码的调节通道切片。
5.根据权利要求4所述的方法,其中,使用所述解码器神经网络处理所述编码的调节通道切片以生成所述下一个完全生成的通道切片包括:
通过对每个像素的所有通道嵌入求和来嵌入所述编码的调节通道切片以生成嵌入的通道切片,
使用所述3D解码器卷积层在所述嵌入的通道切片上应用掩膜卷积,以生成第一掩膜通道切片,
将位置嵌入添加到所述第一掩膜通道切片以生成初始解码器通道表示,
将所述编码的调节通道切片添加到所述初始解码器通道表示以生成第二掩膜通道切片,
使用所述多个解码自注意力层处理所述第二掩膜通道切片以生成所述下一个完全生成的通道切片。
6.根据权利要求2所述的方法,其中,所述多个编码自注意力层中的每一个被配置成:
接收包括通道堆叠的集合的填充视频作为输入,
将所述填充视频划分成具有相同块大小的视频块的集合,
对于所述视频块的集合中的每个视频块,在所述视频块上应用自注意力机制以生成自注意输出,
附加所述视频块的集合的自注意输出以形成多头自注意输出,以及
使用最终的完全连接神经网络层处理所述多头自注意输出以生成所述块自注意力层的输出。
7.根据权利要求6所述的方法,其中,所述自注意力机制并行地应用于所有视频块。
8.根据权利要求6或权利要求7所述的方法,其中,所述最终的完全连接神经网络层包括整流线性单元(RLU)。
9.根据权利要求6至8中的任意一项所述的方法,其中,多个编码自注意力层的堆叠中的所述块自注意力层具有不同的块大小。
10.根据权利要求5所述的方法,其中,所述多个解码自注意力层中的每一个被配置成:
接收具有通道堆叠的集合的填充视频作为输入,
将所述填充视频划分为具有相同块大小的视频块的集合,
对于所述视频块的集合中的每个视频块,在所述视频块上应用自注意力机制以生成自注意输出,
附加所述视频块的集合的自注意输出以形成多头自注意输出,以及
使用最终的完全连接神经网络层处理所述多头自注意输出,以生成所述掩膜的块自注意力层的输出。
11.根据权利要求10所述的方法,其中,所述注意力机制被并行应用于所有视频块。
12.根据权利要求10或权利要求11所述的方法,其中,所述最终的完全连接神经网络层包括整流线性单元(RLU)。
13.根据权利要求10-12中的任意一项所述的方法,其中,所述多个编码自注意力层中的所述块自注意力层具有不同的块大小。
14.根据权利要求1至13中的任意一项所述的方法,其中,所述编码器神经网络和所述解码器神经网络被联合训练。
15.根据权利要求14所述的方法,其中,训练过程的损失函数是所有通道切片的负对数似然。
16.根据权利要求1至15中的任意一项所述的方法,其中,使用解码器神经网络处理所述编码的调节通道切片以生成所述下一个完全生成的通道切片包括:
用来自位于所述下一个完全生成的通道切片中的所述初始输出视频的具有预定像素值的像素来初始化所述解码器神经网络。
17.一种包括一个或多个计算机和存储指令的一个或多个存储设备的系统,所述指令当由所述一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至16中的任意一项所述的相应方法的操作。
18.一种或多种存储指令的计算机存储介质,所述指令当由一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至16中的任意一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962852271P | 2019-05-23 | 2019-05-23 | |
US62/852,271 | 2019-05-23 | ||
PCT/US2020/034185 WO2020237136A1 (en) | 2019-05-23 | 2020-05-22 | Auto-regressive video generation neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113826146A true CN113826146A (zh) | 2021-12-21 |
Family
ID=71016721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080036018.0A Pending CN113826146A (zh) | 2019-05-23 | 2020-05-22 | 自回归视频生成神经网络 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220215594A1 (zh) |
EP (1) | EP3959662A1 (zh) |
JP (1) | JP7378500B2 (zh) |
CN (1) | CN113826146A (zh) |
WO (1) | WO2020237136A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11538197B2 (en) * | 2020-09-15 | 2022-12-27 | Google Llc | Channel-wise autoregressive entropy models for image compression |
US11961287B2 (en) * | 2020-10-02 | 2024-04-16 | Servicenow Canada Inc. | Method and system for meaningful counterfactual explanations |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103329530A (zh) * | 2011-01-26 | 2013-09-25 | 高通股份有限公司 | 视频译码中的子切片 |
CN109155850A (zh) * | 2016-08-04 | 2019-01-04 | 深圳市大疆创新科技有限公司 | 并行视频编码 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10522186B2 (en) * | 2017-07-28 | 2019-12-31 | Adobe Inc. | Apparatus, systems, and methods for integrating digital media content |
US11275846B2 (en) * | 2019-02-16 | 2022-03-15 | Intel Corporation | Method and system of computer graphics processing system validation for processing of encrypted image content |
-
2020
- 2020-05-22 CN CN202080036018.0A patent/CN113826146A/zh active Pending
- 2020-05-22 JP JP2021569517A patent/JP7378500B2/ja active Active
- 2020-05-22 EP EP20731365.1A patent/EP3959662A1/en active Pending
- 2020-05-22 WO PCT/US2020/034185 patent/WO2020237136A1/en unknown
- 2020-05-22 US US17/609,668 patent/US20220215594A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103329530A (zh) * | 2011-01-26 | 2013-09-25 | 高通股份有限公司 | 视频译码中的子切片 |
CN109155850A (zh) * | 2016-08-04 | 2019-01-04 | 深圳市大疆创新科技有限公司 | 并行视频编码 |
Non-Patent Citations (3)
Title |
---|
ASHISH VASWANI等: "Attention is all you need", 《ARXIV》, 12 June 2017 (2017-06-12), pages 1 - 11 * |
JACOB MENICK等: "generating high fidelity images with subscale pixel networks and multidimensional upscaling", pages 1 - 15, Retrieved from the Internet <URL:https://arxiv.org/pdf/1812.01608.pdf> * |
NAL KALCHBRENNER等: "Video pixel networks", pages 1 - 16, XP093138724, Retrieved from the Internet <URL:https://arxiv.org/pdf/1610.00527.pdf> DOI: 10.48550/arxiv.1610.00527 * |
Also Published As
Publication number | Publication date |
---|---|
US20220215594A1 (en) | 2022-07-07 |
JP7378500B2 (ja) | 2023-11-13 |
EP3959662A1 (en) | 2022-03-02 |
JP2022533264A (ja) | 2022-07-21 |
WO2020237136A1 (en) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11870947B2 (en) | Generating images using neural networks | |
US20200304802A1 (en) | Video compression using deep generative models | |
US11087504B2 (en) | Transforming grayscale images into color images using deep neural networks | |
US20180330185A1 (en) | Spatial transformer modules | |
US20220385907A1 (en) | Implicit image and video compression using machine learning systems | |
US20220230276A1 (en) | Generative Adversarial Networks with Temporal and Spatial Discriminators for Efficient Video Generation | |
CN110062934A (zh) | 使用神经网络确定图像中的结构和运动 | |
JP6612473B2 (ja) | ニューラルネットワークを使用した画像生成 | |
CN115885289A (zh) | 利用全局自注意力神经网络对依赖性建模 | |
US12014446B2 (en) | Systems and methods for generating predicted visual observations of an environment using machine learned models | |
CN113826119A (zh) | 纯注意力的计算机视觉 | |
US20240119697A1 (en) | Neural Semantic Fields for Generalizable Semantic Segmentation of 3D Scenes | |
US20240096001A1 (en) | Geometry-Free Neural Scene Representations Through Novel-View Synthesis | |
CN113826146A (zh) | 自回归视频生成神经网络 | |
EP3664017B1 (en) | Method and device for digital image or video data processing | |
WO2023133204A1 (en) | Machine learning models featuring resolution-flexible multi-axis attention blocks | |
US20230145498A1 (en) | Image reprojection and multi-image inpainting based on geometric depth parameters | |
US11936866B2 (en) | Method and data processing system for lossy image or video encoding, transmission and decoding | |
US20230316606A1 (en) | Generating and modifying digital images using a joint feature style latent space of a generative neural network | |
US20230342893A1 (en) | Transferring faces between digital images by combining latent codes utilizing a blending network | |
Kim | Advancing Neural Radiance Fields through Self-Supervised NeRF Image Selector (SNIS) | |
Sun et al. | Degradation-Aware Blind Face Restoration via High-Quality VQ Codebook | |
CN117296080A (zh) | 神经图像压缩中基于在线训练的编码器调整 | |
EP4201064A1 (en) | Video compression using optical flow | |
CN117716687A (zh) | 使用机器学习系统的隐式图像和视频压缩 |
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 |