CN110612538B - 生成输入数据项的离散潜在表示 - Google Patents
生成输入数据项的离散潜在表示 Download PDFInfo
- Publication number
- CN110612538B CN110612538B CN201880029354.5A CN201880029354A CN110612538B CN 110612538 B CN110612538 B CN 110612538B CN 201880029354 A CN201880029354 A CN 201880029354A CN 110612538 B CN110612538 B CN 110612538B
- Authority
- CN
- China
- Prior art keywords
- potential
- training
- encoder
- decoder
- vector
- 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.)
- Active
Links
- 239000013598 vector Substances 0.000 claims abstract description 210
- 238000013528 artificial neural network Methods 0.000 claims abstract description 109
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000015654 memory Effects 0.000 claims abstract description 33
- 238000003860 storage Methods 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims description 115
- 238000012545 processing Methods 0.000 claims description 28
- 238000013144 data compression Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 abstract description 14
- 230000008569 process Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001143 conditioned effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000009334 Singa Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect 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
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
用于生成输入数据项的离散潜在表示的方法,系统和装置,包括在计算机存储介质上编码的计算机程序。该方法之一包括接收输入数据项;将输入数据项作为输入提供给编码器神经网络,以获得输入数据项的编码器输出;以及从编码器输出生成输入数据项的离散潜在表示,包括:对于每个潜在变量,从存储器中的潜在嵌入向量集合确定最接近潜在变量的编码向量的潜在嵌入向量。
Description
背景技术
本说明书涉及通过神经网络的层处理数据项以生成输出。
神经网络是机器学习模型,其采用一层或多层非线性单元来预测接收的输入的输出。一些神经网络除输出层外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即下一个隐藏层或输出层)的输入。网络的每一层根据相应的参数集合的当前值从接收的输入生成输出。
变分(Variational)自动编码器可以对输入数据项进行自动编码,即生成输出数据项,该输出数据项是提供给自动编码器的输入数据项的重构。变分自动编码器通常包括编码器神经网络和解码器神经网络。通常,联合训练给定的变分自动编码器中的编码器神经网络和解码器神经网络,以生成输入数据项的重构。
发明内容
本说明书描述了一种实现为在一个或多个位置的一个或多个计算机上的一个或多个计算机程序的系统,生成输入数据项(例如,图像,音频数据,视频,电子文档等)的离散潜在表示。通常,每个离散潜在表示为一个或多个潜在变量中的每一个标识相应值,其中,潜在变量的数量是固定的。潜在表示称为离散潜在表示,因为与连续表示不同,每个潜在变量的值都是从可能值的离散集合中选择的。更具体地,每个潜在变量的值是从潜在嵌入向量的离散集合中选择的向量。
神经网络系统包括:存储器,用于存储潜在嵌入向量集合;以及一个或多个计算机和一个或多个存储指令的存储设备,当由一个或多个计算机执行指令时,使一个或多个计算机实现:编码器神经网络,被配置为:接收输入数据项;以及处理输入数据项以生成编码器输出,对一个或多个潜在变量中的每一个包括相应编码向量;以及子系统,被配置为:将输入数据项作为输入提供给编码器神经网络,以获得输入数据项的编码器输出;以及从编码器输出生成输入数据项的离散潜在表示,包括:对每个潜在变量,从存储器中的潜在嵌入向量集合确定最接近潜在变量的编码向量的潜在嵌入向量。
神经网络系统可以包括一个或多个下面的特征。输入数据项的离散潜在表示可以包括对每个潜在变量,潜在变量的编码向量的最接近潜在嵌入向量的标识符。输入数据项可以是图像,每个潜在变量对应于二维特征图中的独特空间位置。编码器神经网络是反卷积神经网络,其将编码器输出生成为特征图,特征图包括每个空间位置的相应编码向量。输入数据项可以是音频数据,每个潜在变量对应于序列中的独特位置。编码器神经网络可以将编码器输出生成为编码向量序列。编码器神经网络具有膨胀卷积架构。输入数据项可以是视频,每个潜在变量可以对应于三维特征图中的独特点。指令可以进一步使一个或多个计算机实现:解码器神经网络,其中,解码器神经网络被配置为:接收从输入数据项的离散潜在表示中得出的解码器输入,以及处理解码器输入以生成输入数据项的重构,并且其中,子系统还被配置为:生成解码器输入,其中,对于每个潜在变量,解码器输入包括最接近编码器输出中的潜在变量的编码向量的潜在嵌入向量,以及将解码器输入作为输入提供给解码器神经网络,以获得输入数据项的重构。解码器输入可以进一步包括情境数据,解码器神经网络可以基于情境数据和离散潜在表示生成输入数据项的重构。输入数据项可以是音频数据,情境数据可以是表征说话者的数据,重构应该以说话者风格被生成。说话者可以是与输入数据项的说话者不同的说话者。解码器神经网络是自动回归解码器神经网络,被配置为以解码器输入为条件自动回归地生成重构。系统可以例如在编码器神经网络已经训练或与编码器神经网络联合训练之后,训练生成神经网络(例如,自动回归生成神经网络),以生成潜在表示。然后,系统可以使用生成神经网络通过从由训练的生成神经网络生成的潜在表示生成解码器输入并使用解码器神经网络从解码器输入生成数据项,来生成新的数据项。
根据另一方面,提供一种训练编码器神经网络和解码器神经网络以及更新潜在嵌入向量的方法,所述方法包括:接收训练数据项;通过编码器神经网络根据编码器神经网络的编码器网络参数当前值处理训练数据项,以生成训练编码器输出包括对一个或多个潜在变量的每一个的相应训练编码向量;对每个潜在变量,从当前存储在存储器中的多个当前潜在嵌入向量中选择最接近潜在变量的训练编码向量的当前潜在嵌入向量;生成包括最接近的当前潜在嵌入向量的训练解码器输入;通过解码器神经网络根据解码器神经网络的解码器网络参数的当前值,处理训练解码器输入,以生成训练数据项的训练重构;通过确定关于解码器网络参数和编码器网络参数的当前值的梯度来确定解码器网络参数和编码器网络参数的当前值的重构更新,以优化训练重构和训练数据项之间的重构误差;以及对于每个潜在变量,通过确定关于最近的当前潜在嵌入向量的梯度来确定潜在变量的最接近当前潜在嵌入向量的更新,以最小化潜在变量的训练编码向量和潜在变量的训练编码向量的最接近当前潜在向量之间的误差。
所述方法还可以包括:对于每个潜在变量,通过确定关于编码器参数的当前值的梯度来确定对编码器参数的当前值的相应承诺更新,以最小化潜在变量的训练编码向量和潜在变量的训练编码向量的最接近当前潜在嵌入向量之间的承诺损失。承诺损失可以是常数乘以潜在变量的训练编码向量与训练编码向量的最接近当前潜在嵌入向量的停止梯度之间的l2误差的平方。潜在变量的训练编码向量与训练编码向量的最接近当前潜在嵌入向量之间的误差是常数乘以潜在变量的训练编码向量的停止梯度与训练编码向量的最接近当前潜在嵌入向量之间的l2误差的平方。确定相对于编码器网络参数的当前值的梯度可以包括:将梯度从解码器输入复制到编码器输出,而不更新当前潜在嵌入向量。确定相对于编码器网络参数的当前值的梯度可以包括:通过选择最接近当前潜在嵌入向量的操作来确定次梯度;以及使用次梯度确定相对于编码器网络参数的当前值的梯度。
根据再一方面,提供一种生成新数据项的方法,所述方法包括:使用自动回归生成神经网络生成离散潜在表示,其中,生成的离散潜在表示对一个或多个潜在变量中的每一个,从潜在嵌入向量集合当中标识相应潜在嵌入向量;生成解码器输入,包括对每个潜在变量,为离散潜在表示的潜在变量标识的相应潜在嵌入向量;以及使用解码器神经网络处理解码器输入,以生成新的数据项。
已经训练了自动回归生成神经网络以生成用于训练数据项的离散潜在表示,与由用于训练数据项的根据上述方面的任何一个的子系统生成的离散潜在表示匹配。在编码器神经网络的训练期间,已经将自动回归生成神经网络训练为先验。
可以实现本说明书中描述的主题的特定实施例,以实现以下优点中的一个或多个。所描述的系统也可以生成输入数据项的潜在表示(其允许生成输入数据项的高质量重构),虽然该潜在表示比由传统的基于神经网络的编码器生成的潜在表示小得多(传统的基于神经网络的编码器允许生成可比(甚至更低)质量的重构,例如,连续潜在可变模型)。具体地,由于所描述的系统从潜在嵌入向量的离散集合为每个潜在变量选择值的方式,潜在表示是离散的,并且可以使用很少的存储器存储或使用很小的带宽进行传输,同时仍然允许生成高质量重构。
另外,所描述的系统可以生成高质量表示,同时需要相对少量的计算资源来训练并且在训练期间不会受到大变化,从而降低了训练处理的复杂性和不可预测性。具体地,由所描述的系统生成的重构可以匹配或超过由传统连续潜在变量模型生成的重构的质量,同时与传统连续潜在变量模型相比需要明显更少量的计算资源(例如,存储器和/或处理资源)来训练,执行推理,或两者。当与功能强大的解码器(例如自动回归解码器)配对时,由系统生成的潜在表示不会受到后崩溃问题。
通过使用自动回归编码器神经网络生成潜在表示,所描述的系统可以生成一致且高质量的新数据项,而不会消耗过多的计算资源。
所描述的系统特别适合于数据压缩中的应用,例如,图像压缩,视频压缩,音频压缩和电子文档压缩。
将理解,可以将各方面组合,并且将容易地理解,在一个方面的上下文中描述的特征可以与其他方面组合。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书,附图和权利要求,本主题的其他特征,方面和优点将变得显而易见。
附图说明
图1A示出示例性编码器系统和示例性解码器系统。
图1B示出当输入数据项是图像时编码器和解码器系统的操作的示例。
图2是用于生成数据项的离散潜在表示的示例处理的流程图。
图3是用于从数据项的离散潜在表示中生成数据项的重构的示例处理的流程图。
图4是用于确定对编码器网络参数,解码器网络参数和潜在嵌入向量的更新的示例处理的流程图。
在各个附图中,相同的附图标记和标记表示相同的元件。
具体实施方式
图1A示出示例性编码器系统100和示例性解码器系统150。编码器系统100和解码器系统150是被实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统的示例,其中,可以实现下面描述的系统、组件和技术。
编码器系统100接收输入数据项102,并对输入数据项102进行编码,以生成输入数据项102的离散潜在(latent)表示122。
如下面将更详细描述的,潜在表示122是标识潜在空间中的输入数据项102的特征的数字表示。更具体地,潜在表示122对固定数量的潜在变量中的每一个标识潜在空间中的相应潜在嵌入向量。潜在表示122是离散表示,因为每个潜在嵌入向量是从潜在嵌入向量的离散集合中选择的。
解码器系统150接收输入数据项150的离散潜在表示122(或离散潜在表示122的进一步压缩版本),并生成作为输入数据项102的重构的重构数据项172。也就是说,解码器系统150基于输入数据项102的离散潜在表示122来生成输入数据项102的估计。
特别地,编码器系统100包括编码器神经网络110,编码器子系统120和存储潜在嵌入向量集合的潜在嵌入向量存储器130。
编码器神经网络110是已通过训练配置为处理输入数据项102以根据参数集合(在本说明书中称为“编码器网络参数”)为输入数据项102生成编码器输出112的神经网络。
编码器输出112包括用于一个或多个潜在变量中的每一个的相应编码向量。
特别地,当输入数据项102是图像时,每个潜在变量对应于二维特征图中的独特(distinct)的空间位置。也就是说,编码器输出112包括二维特征图中的每个空间位置的相应编码向量,并且每个空间位置对应于不同的潜在变量。在这些情况下,编码器神经网络110可以是处理图像以生成编码器输出的卷积神经网络。
当输入数据项102是音频数据(例如,原始音频波形)时,每个潜在变量对应于序列中的独特的位置。也就是说,编码器神经网络110将编码器输出112生成为编码向量序列,其中序列中的每个位置对应于不同的潜在变量。在这些情况下,编码器神经网络110可以是膨胀(dilated)卷积神经网络,其接收音频数据序列并生成编码向量序列。
当输入数据项102是视频时,每个潜在变量对应于三维特征图中的独特的点。也就是说,编码器输出112包括三维特征图中的每个点的相应编码向量,并且每个点对应于不同的潜在变量。在这些情况下,编码器神经网络110可以是具有跨时间传播信息的层(例如,递归层或池化层)的卷积神经网络,或者可以是包括接收视频作为帧序列并生成三维特征图的三维卷积层的神经网络。
与生成连续潜在表示的系统不同并且替代编码器输出作为输入数据项102的表示,编码器子系统120使用编码器输出112和存储器130中的潜在嵌入向量来生成输入数据项102的离散潜在表示122。
特别地,对于每个潜在变量,编码器子系统120从存储器130中的潜在嵌入向量集合中确定最接近于潜在变量的编码向量的潜在嵌入向量。例如,子系统120可以使用在潜在嵌入向量集合的最近邻居查找或任何其他适当的距离度量来确定最接近给定编码向量的潜在嵌入向量。
在某些情况下,子系统120将整个潜在嵌入向量集合视为每个潜在变量的可能性,即,从整个潜在嵌入向量集合中为每个潜在变量选择潜在嵌入向量。
在一些其他情况下,对潜在嵌入向量集合进行划分,仅将划分中与给定潜在变量相对应的潜在嵌入向量视为潜在地是与该给定潜在变量的编码向量最接近的潜在嵌入向量。
然后,子系统120在离散潜在表示122中包括数据,该数据为每个潜在变量标识与潜在变量的编码向量最接近的潜在嵌入向量。
下面参照图1B至图2更详细地描述生成离散潜在表示。
在一些实现方式中,编码器系统100和解码器系统150被实现在一个或多个计算机的相同集合上,例如,当离散表示正被用于减少由一个或多个计算机集合本地存储的数据项的存储大小时。在这些实现方式中,编码器系统120将离散潜在表示122(或离散潜在表示122的进一步压缩版本)存储在一个或多个计算机可访问的本地存储器中,以使得离散潜在表示(或离散潜在表示的进一步压缩版本)可以由解码器系统150访问。
在一些其他实现方式中,编码器系统100和解码器系统150彼此远离,也就是说,在通过数据通信网络(例如,局域网、广域网或网络的组合)连接的相应计算机上实现。在这些实现方式中,离散表示正被用于减少通过数据通信网络发送输入数据项102所需的带宽。在这些实现方式中,编码器系统120通过数据通信网络向解码器系统150提供离散潜在表示122(或潜在表示的进一步压缩版本),以用于重构输入数据项102。
解码器系统150包括解码器子系统160和解码器神经网络170。
解码器子系统160被配置为接收离散潜在表示122,并使用潜在嵌入存储器152中的潜在嵌入向量生成解码器输入162。
潜在嵌入存储器152通常存储与潜在嵌入存储器130相同的潜在嵌入向量。当编码器系统100和解码器系统150在相同计算机集合上实现时,存储器130和存储器152可以是相同存储器。当编码器系统100和解码器系统150彼此远离时,编码器系统100可以在解码器系统150用于重构数据项之前向解码器系统150发送存储在存储器130中的潜在嵌入向量。也就是说,仅需要将潜在变量集合从编码器系统100发送到解码器系统150一次,以使解码器系统150能够重构数据项。
解码器输入162包括对每个潜在变量,在离散潜在表示122中为潜在变量标识的潜在嵌入向量。因为解码器系统150访问与编码器系统100相同的潜在嵌入向量,所以离散潜在表示122不需要包括潜在嵌入向量自身,而是包括解码器系统150已知的(即可以由解码器系统150解析的)潜在嵌入向量的标识符。
已经训练了解码器神经网络170以根据参数集合(在本说明书中称为“解码器网络参数”)来处理解码器输入162,以生成输入数据项102的重构172。解码器神经网络170可以是与编码器神经网络110相同类型的神经网络,但是被配置为根据输入数据项(与重构大小相同)从解码器输入而不是编码器输出(与解码器输入大小相同)生成重构。
在一些实现方式中,解码器输入162还包括表征解码器神经网络170的期望输出的情境数据。例如,当输入数据项是音频数据时,情境数据可以是表征说话者(speaker)的数据,应以说话者的风格生成重构。在训练之后,通过使该说话者与输入数据项的说话者不同,解码器系统150可以有效地执行说话者转换,即,将语音从一个说话者传递到另一个而无需改变所说内容。
下面参照图1B和图3更详细地描述根据数据项的离散潜在表示来生成输入数据项的重构。
为了使解码器神经网络能够从解码器输入生成高质量重构,训练系统190联合训练编码器神经网络110和解码器神经网络170以确定编码器网络参数和解码器网络参数的训练值,同时还调整存储器130(和152)中的潜在嵌入向量,以允许潜在嵌入向量有效地表示输入数据项的特征。下面参照图4更详细地描述该训练。
在一些实现方式中,在该联合训练之后,与在训练中使用的网络相比,系统100可以采用更强大的编码器神经网络并且/或者系统150可以采用更强大的解码器神经网络,以在推理时提高系统性能。
在一些实现方式中,在推理时,编码器系统100使用自动回归神经网络作为编码器,例如,当数据项是图像时使用PixelCNN,或者当数据项是音频时使用WaveNet。通常,自动回归(auto-regressive)神经网络是一种以自动回归方式生成输出的神经网络,即,取决于已经生成的输出生成当前输出。
也就是说,在这些实现方式中,在训练编码器和解码器以确定训练值并确定潜在嵌入向量的最终集合之后,训练系统190将自动回归编码器拟合到潜在上,从而自动回归神经网络被配置为自动回归地生成潜在变量的值。在一些实现方式中,系统190可以改为将此自动回归编码器与功能较弱的编码器和解码器联合训练,即,通过在上面和下面参照图4描述的联合训练期间将其用作潜在的先验(a prior over the latents)。
在这些实现方式中,编码器系统100和解码器系统150除了能够通过利用自动回归神经网络来重构现有数据项之外,还能够生成新的数据项。特别地,编码器系统100可以通过使用自动回归神经网络作为生成神经网络来生成离散潜在表示,即,通过使用自动回归神经网络生成潜在表示而无需使自动回归神经网络以现有数据项为条件。解码器系统150然后可以从离散潜在表示生成新的数据项。
例如,系统可以生成一致且高质量的新图像或新音频样本。
作为另一示例,系统可以接收视频的现有部分,并生成与视频的现有部分一致且高质量的附加帧。例如,系统可以使用(非自动回归)编码器生成与视频的现有部分相对应的潜在表示,然后使用以现有潜在表示为条件的自动回归编码器生成潜在表示的其余部分。在某些情况下,自动回归编码器也可以以附加情境信息为条件,例如,识别由视频的现有部分中描绘的实体正在执行的动作的信息。
在一些实现方式中,解码器系统150可以使用自动回归神经网络作为解码器。这种设置通常会使传统的变分自动编码器性能不佳,因为它们会遭受“后崩溃”,即,由于自动回归解码器功能强大到足以在不依赖输入潜在的情况下准确地对可能数据项的分布建模,因此自动回归解码器忽略所述潜在。然而,由于如上所述使用了潜在嵌入向量,因此自动回归解码器仍然使用由编码器系统100生成的离散潜在表示。这可以允许系统100和150使用更少数量的潜在变量来有效地表示数据项,即,因为它将自动回归模型的附加建模能力与潜在变量传达的信息结合,从而进一步减少了为有效表示数据需要传输或存储的数据量。
图1B示出当输入数据项102是图像时系统100和150的操作的示例。
在图1B的示例中,系统100接收输入数据项(图像)102,并生成输入图像的重构172作为输出。
具体地,编码器神经网络110处理输入图像以生成编码器输出112。如图1B所示,编码器输出112是二维特征图中每个空间位置的相应D维向量,其中每个空间位置对应于相应潜在变量。因此,编码器输出112包括多个潜在变量中的每一个的相应编码向量。
然后,系统100使用编码器输出112和存储在存储器130中的潜在嵌入向量集合来生成离散潜在表示122。特别地,在图1B的示例中,存储器130存储K个潜在嵌入向量e1至eK。
为了生成潜在表示122,系统100例如使用最接近邻居查找,对每个潜在变量识别,K个潜在嵌入向量中最接近潜在变量的编码向量的潜在嵌入向量。然后,系统100生成潜在表示122,其对每个潜在变量标识潜在变量的编码向量的最接近潜在嵌入向量。从图1B的示例中可以看出,对于与第一空间位置相对应的潜在变量,表示122标识潜在嵌入向量e1,而对于与第二空间位置相对应的潜在变量,该表示标识潜在嵌入向量e53,依此类推。
然后,系统150使用潜在嵌入向量和潜在表示122生成解码器输入162。特别地,系统150将解码器输入162生成为三维特征图,该三维特征图在多个空间位置的每一个具有D维向量。在任何给定空间位置的D维向量是潜在表示122中为相应潜在变量标识的潜在嵌入向量。因此,解码器输入162在第一空间位置包括潜在嵌入向量e1,在第二空间位置包括潜在嵌入向量e53,依此类推。
然后,系统150使用解码器神经网络170处理解码器输入162,以生成输入数据项102的重构172,即,与输入图像大小相同的图像,其是基于潜在表示122的输入的估计。
当图1B的示例描绘了在编码器110和解码器150的训练期间生成的重构时,训练系统190需要将梯度反向传播到编码器中以更新编码器网络参数的值。如将在下面更详细描述的,训练系统190可以将梯度192从解码器输入复制到编码器输出,以允许更新编码器网络参数。
图2是用于生成输入数据项的离散潜在表示的示例处理200的流程图。为了方便,将处理200描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的编码器系统(例如,图1A的编码器系统100)可以执行处理200。
系统接收输入数据项(步骤202)。
系统使用编码器神经网络处理输入数据项,以生成输入数据项的编码器输出(步骤204)。特别地,如上所述,编码器神经网络被配置为处理输入数据项以生成包括一个或多个潜在变量中的每一个的相应编码向量的输出。
系统使用编码器输出生成输入数据项的离散潜在表示(步骤206)。
具体地,对于每个潜在变量,系统选择存储在潜在嵌入向量存储器中的最接近潜在变量的编码向量的潜在嵌入向量。
然后,系统生成离散潜在表示,其对每个潜在变量标识与潜在变量的编码向量最接近的潜在嵌入向量。
离散潜在表示可以以各种方式中的任何一种来标识最接近的编码向量。例如,对于每个潜在变量,潜在表示可以包括潜在变量的最接近潜在嵌入向量的独热编码(one-hotencoding)。作为另一示例,潜在表示可以是单个向量,其对于每个潜在变量包括潜在变量的最接近潜在嵌入向量的标识符。通常,离散潜在表示可以使用解码器系统能够解析的任何标识符。
在一些实现方式中,在存储离散潜在表示或将离散潜在表示发送到解码器系统之前,系统进一步例如使用算术编码或另一常规数据压缩技术来压缩离散潜在表示。解码器系统还维护潜在嵌入向量集合和解码器神经网络的实例,然后可以通过从离散潜在表示生成解码器输入并使用解码器神经网络处理解码器输入来重构数据项。
图3是用于从数据项的离散潜在表示生成数据项的重构的示例处理300的流程图。为了方便,将处理300描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的解码器系统(例如,图1A的解码器系统150)可以执行处理300。
系统获得数据项的离散潜在表示(步骤302)。在某些情况下,系统例如从存储器中直接访问数据项的离散潜在表示,或者通过数据通信系统从编码器系统接收离散潜在表示来直接访问数据项的离散潜在表示。在其他情况下,系统接收离散潜在表示的进一步压缩版本,并且例如使用算术解码或与用于压缩潜在表示的技术相匹配的另一种常规技术来解压缩接收的版本以获得离散潜在表示。
系统使用潜在嵌入向量从离散潜在表示生成解码器输入(步骤304)。具体地,系统生成解码器输入,其对每个潜在变量包括在潜在变量的离散潜在表示中标识的潜在嵌入向量。
系统通过使用解码器神经网络处理解码器输入来生成输入数据项的重构(步骤306)。
图4是用于训练编码器神经网络,解码器神经网络以及更新潜在嵌入向量的示例处理400的流程图。为了方便,将处理400描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,适当编程的训练系统(例如,图1A的训练系统190)可以执行处理400。
系统可以重复执行处理400以重复更新编码器网络参数,解码器网络参数和潜在嵌入向量的值。
系统接收训练数据项(步骤402)。例如,训练数据项可以是从系统维护的训练数据集合中随机采样的训练数据项。
系统根据编码器网络参数的当前值使用编码器神经网络、使用当前潜在嵌入向量(即,当前存储在存储器中的潜在嵌入向量)、和根据解码器网络参数的当前值使用解码器神经网络,生成训练数据项的训练重构(步骤404)。
具体地,系统根据编码器网络参数的当前值通过编码器神经网络处理训练数据项,以生成训练编码器输出,其对一个或多个潜在变量中的每一个包括相应训练编码向量。
然后,系统为每个潜在变量并且从当前潜在嵌入向量中选择最接近潜在变量的训练编码向量的当前潜在嵌入向量。
然后,系统生成包括最接近当前潜在嵌入向量的训练解码器输入,并根据解码器网络参数的当前值通过解码器神经网络处理训练解码器输入,以生成训练数据项的训练重构。
系统确定对解码器网络参数和编码器网络参数的当前值的重构更新(步骤406)。
具体地,系统通过确定训练重构和训练数据项之间的重构误差的、关于解码器网络参数和编码器网络参数的当前值的梯度来确定重构更新,即,优化重构误差。
在某些实现方式中,重构误差是满足以下条件的重构损失:
Lr=log p(x|zq(x)),
其中,x是输入数据项,zq(x)是解码器输入,p(x|zq(x))是解码器分配给输入数据项的概率。
为了确定这个重构误差的关于编码器网络参数的梯度,系统需要将梯度从解码器反向传播到编码器中。然而,选择最接近的当前潜在嵌入向量的操作不具有定义的梯度。
在一些实现方式中,尽管如此,为了向后传播到编码器神经网络,系统将梯度从解码器输入复制到编码器输出,而无需更新当前潜在嵌入向量。
在一些其他实现方式中,系统通过为每个潜在变量选择最接近的当前潜在嵌入向量的操作来确定次梯度(subgradient),并使用该次梯度来确定关于编码器网络参数的梯度。
通过确定该更新,系统鼓励编码器和解码器神经网络在给定当前潜在嵌入向量(即当前存储在存储器中的潜在嵌入向量)下生成更高质量的重构。
系统确定对存储在存储器中的当前潜在嵌入向量的更新(步骤408)。
具体地,在一些实现方式中,对于每个潜在变量,系统通过确定潜在变量的训练编码向量与潜在变量的最接近当前潜在嵌入向量之间的误差的、关于最接近当前潜在嵌入向量的梯度,来确定对潜在变量的最接近当前潜在嵌入向量的更新,即,以最小化误差。
例如,给定潜在变量的误差E可以满足:
其中,sg代表stopgradient(停止梯度)运算符,其被定义为正向计算时的恒等式,并且具有零偏导数,因此有效地将其操作数约束为未更新的常数,ze(x)是潜在变量的编码向量,e是潜在变量的最接近当前潜在嵌入向量。
因此,误差是常数,例如,一个正值或不同的正值,乘以潜在变量的训练编码向量的stopgradient和训练编码向量的最接近当前潜在嵌入向量之间的l2误差的平方。
在一些其他实现方式中,系统可以将当前嵌入向量更新为训练编码器输出中编码向量的移动平均的函数。也就是说,对于每个当前嵌入向量,系统可以使用最接近当前嵌入向量的n个编码向量的指数移动平均来更新嵌入向量。
例如,对于给定嵌入向量ei,在训练时间步长t,系统可以按如下设置值:
其中,γ是介于0和1之间的固定值,是用于在时间步长t更新给定嵌入向量的值的最接近编码向量的数量,总和是/>个最接近编码向量的总和,/>是在时间步长t给定嵌入向量的第j个最接近编码向量。
通过以这种方式更新当前潜在嵌入向量,系统将存储器中的至少一些嵌入向量朝着编码器输出中的编码向量移动。
在一些实现方式中,系统还对每个潜在变量确定对编码器网络参数的当前值的相应承诺(commitment)更新(步骤410)。系统可以通过确定潜在变量的训练编码向量与潜在变量的最接近当前潜在嵌入向量之间的承诺损失的、关于编码器网络参数的当前值的梯度来确定给定潜在变量的更新,即最小化承诺损失(commitment loss)。
例如,给定潜在变量的承诺损失可以满足:
其中,β是一个正常数,其确定承诺损失更新和重构损失更新之间的权重。例如,β可以是介于0.1和2.0之间的值。
因此,承诺损失是常数乘以潜在变量的训练编码向量和潜在变量的最接近当前潜在嵌入向量的stopgradient之间的l2误差的平方。
包括承诺损失在内可以确保编码器神经网络进行嵌入,并且编码器输出的量不会增加,从而防止了嵌入空间的量任意增长,因为嵌入没有编码器网络参数训练得快。
一旦系统已经对小批量训练数据项中的每个训练数据项执行了处理400,则系统将更新应用于编码器网络参数和解码器网络参数的当前值以及更新当前嵌入向量,例如,根据系统在训练中使用的优化器(例如,Adam优化器或其他基于梯度下降的优化器)所采用的更新规则。
系统对多个小批量重复处理400,以确定训练的编码器和解码器网络参数值以及潜在嵌入向量的最终集合。
本说明书在系统和计算机程序组件中使用术语“被配置为”。对于将被配置为执行特定操作或动作的一个或多个计算机的系统,意味着该系统已在其上安装了软件,固件,硬件或它们的组合,在操作中使系统执行这些操作或动作。对于将被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括指令,在由数据处理装置执行指令时使该装置执行该操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中,在有形体现的计算机软件或固件中,在计算机硬件(包括本说明书中公开的结构及其等同结构)中,或在它们的一个或多个组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备,机器可读存储基板,随机或串行访问存储设备或它们的一个或多个的组合。可选地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码以传输到合适的接收器装置用于通过数据处理装置来执行。
术语“数据处理装置”是指数据处理硬件,并且涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。装置也可以是专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路),或者进一步包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,装置还可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们的一个或多个的组合的代码。
计算机程序(也可以称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码)可以以任何形式的编程语言(包括编译或解释的语言,或声明性或程序语言)编写,并且可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中,专用于所讨论程序的单个文件中或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一个计算机或位于一个站点上或分布在多个站点上并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“数据库”被广泛地用于指代任何数据集合:数据不需要以任何特定方式进行结构化或完全结构化,并且可以将数据存储在一个或多个位置的存储设备中。因此,例如,索引数据库可以包括多个数据集合,每个数据集合可以被不同地组织和访问。
类似地,在本说明书中,术语“引擎”广泛地用于指代被编程以执行一个或多个特定功能的基于软件的系统,子系统或处理。通常,引擎将被实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,可以在相同的一个或多个计算机上安装并运行多个引擎。
本说明书中描述的处理和逻辑流程可以由一个或多个可编程计算机来执行,所述一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程计算机的组合执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者,或者基于任何其他类型的中央处理器。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到用于存储数据的一个或多个大容量存储设备,或两者,例如,磁,磁光盘或光盘。然而,计算机不必具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备,例如通用串行总线(USB)闪存驱动器,仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储设备,包括例如半导体存储设备(例如,EPROM、EEPROM和闪存设备);磁盘(例如,内部硬盘或可移动磁盘);磁光盘;以及CD ROM和DVD-ROM磁盘。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可以向计算机提供输入的键盘和指示设备(例如鼠标或轨迹球)的计算机上实现本说明书中描述的主题的实施例。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入(包括声音、语音或触觉输入)。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应从网页浏览器接收的请求,将网页发送到用户客户设备上的网页浏览器。此外,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息收发应用的智能手机)并从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产(即推理)工作负载的公共部分和计算密集型部分。
可以使用机器学习框架(例如,TensorFlow框架,Microsoft Cognitive Toolkit框架,Apache Singa框架或Apache MXNet框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以实现在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过图形用户界面或Web浏览器与本说明书中描述的主题的实现进行交互)或者包括一个或多个这种后端组件,中间件组件或前端组件的任意组合的计算系统中。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如,互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生。在一些实施例中,服务器例如向用户设备发送数据,例如,HTML页面,以用于向与充当客户端的设备交互的用户显示数据并从与充当客户端的设备交互的用户接收用户输入的目的。可以在服务器从设备接收在用户设备生成的数据,例如,用户交互的结果。
尽管本说明书包含许多特定实现细节,但是这些细节不应被解释为对任何发明或可要求保护的范围的限制,而应解释为对特定发明的特定实施例而言特定的特征的描述。在单独的实施例的上下文中在本说明书中描述的特定特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管上面可以将特征描述为以特定组合起作用并且甚至最初如此宣称,但是在某些情况下,可以从组合中删除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变型。
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在特定情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定顺序或连续顺序来实现期望的结果。在特定实现方式中,多任务和并行处理可能是有利的。
Claims (18)
1.一种数据压缩系统,包括:
存储器,用于存储潜在嵌入向量集合;以及
一个或多个计算机和一个或多个存储指令的存储设备,当由一个或多个计算机执行指令时,使一个或多个计算机实现:
编码器神经网络,被配置为:
接收输入数据项,所述输入数据项包括图像、音频或视频;以及
处理输入数据项以生成编码器输出,其对一个或多个潜在变量中的每一个包括相应编码向量;以及
子系统,被配置为:
将输入数据项作为输入提供给编码器神经网络,以获得输入数据项的编码器输出;以及
从编码器输出生成输入数据项的离散潜在表示,其中,所述输入数据项的离散潜在表示是输入数据项的压缩表示,包括:
对每个潜在变量,从存储器中的潜在嵌入向量集合确定最接近潜在变量的编码向量的潜在嵌入向量,并且其中,输入数据项的离散潜在表示对每个潜在变量包括潜在变量的编码向量的最接近的潜在嵌入向量的标识符;并且
其中,所述指令进一步使一个或多个计算机实现:
解码器神经网络,其中,解码器神经网络被配置为:
接收从输入数据项的离散潜在表示中得出的解码器输入,以及
处理解码器输入以生成输入数据项的重构,
并且其中,所述子系统还被配置为:
生成解码器输入,其中,对于每个潜在变量,解码器输入包括最接近编码器输出中的潜在变量的编码向量的潜在嵌入向量,以及
将解码器输入作为输入提供给解码器神经网络,以获得输入数据项的重构;
其中,所述系统已经根据如下方法进行了训练:
接收训练数据项,所述训练数据项包括图像、音频或视频;
通过编码器神经网络根据编码器神经网络的编码器网络参数的当前值处理训练数据项,以生成训练编码器输出,其对一个或多个潜在变量的每一个包括相应训练编码向量;
对每个潜在变量并且从当前存储在存储器中的多个潜在嵌入向量中,选择最接近潜在变量的训练编码向量的当前潜在嵌入向量,用于提供离散潜在表示作为训练数据项的压缩表示;
生成包括最接近的当前潜在嵌入向量的训练解码器输入;
通过解码器神经网络根据解码器神经网络的解码器网络参数的当前值处理训练解码器输入,以生成训练数据项的训练重构;
通过确定关于解码器网络参数和编码器网络参数的当前值的梯度来确定解码器网络参数和编码器网络参数的当前值的重构更新,以优化训练重构和训练数据项之间的重构误差,其中确定关于编码器网络参数的当前值的梯度以优化重构误差包括:通过将梯度从解码器输入复制到编码器输出,将梯度从解码器反向传播到编码器,而不更新当前潜在嵌入向量。
2.根据权利要求1所述的系统,还包括:
对于每个潜在变量,通过确定关于最接近当前潜在嵌入向量的梯度来确定潜在变量的最接近的当前潜在嵌入向量的更新,以最小化潜在变量的训练编码向量和潜在变量的训练编码向量的最接近当前潜在嵌入向量之间的误差;或者
根据训练编码器输出中的训练编码向量的移动平均来确定当前潜在嵌入向量的更新。
3.根据权利要求1所述的系统,其中,输入数据项是图像,其中,每个潜在变量对应于二维特征图中的独特空间位置。
4.根据权利要求3所述的系统,其中,编码器神经网络是反卷积神经网络,其将编码器输出生成为特征图,该特征图包括每个空间位置的相应编码向量。
5.根据权利要求1所述的系统,其中,输入数据项是音频数据,其中,每个潜在变量对应于序列中的独特位置,并且其中,编码器神经网络将编码器输出生成为编码向量序列。
6.根据权利要求5所述的系统,其中,编码器神经网络具有膨胀卷积架构。
7.根据权利要求1所述的系统,其中,输入数据项是视频,并且其中,每个潜在变量对应于三维特征图中的独特点。
8.根据权利要求1所述的系统,其中,解码器输入进一步包括情境数据,其中,解码器神经网络基于情境数据和离散潜在表示生成输入数据项的重构。
9.根据权利要求8所述的系统,其中,输入数据项是音频数据,其中,情境数据是表征说话者的数据,所述重构应该以说话者的风格来生成。
10.根据权利要求9所述的系统,其中,所述说话者是与输入数据项的说话者不同的说话者。
11.根据权利要求1所述的系统,其中,解码器神经网络是自动回归解码器神经网络,其被配置为以解码器输入为条件自动回归地生成重构。
12.一种训练数据压缩系统的方法,所述数据压缩系统包括编码器神经网络、解码器神经网络和存储了多个潜在嵌入向量的存储器,所述方法包括:
接收训练数据项,所述训练数据项包括图像、音频或视频;
通过编码器神经网络根据编码器神经网络的编码器网络参数的当前值处理训练数据项,以生成训练编码器输出,其对一个或多个潜在变量的每一个包括相应训练编码向量;
对每个潜在变量并且从当前存储在存储器中的多个潜在嵌入向量中,选择最接近潜在变量的训练编码向量的当前潜在嵌入向量,用于提供离散潜在表示作为训练数据项的压缩表示,其中对于每个潜在变量,所述离散潜在表示包括潜在变量的训练编码向量的最接近潜在嵌入向量的标识符;
生成包括最接近的当前潜在嵌入向量的训练解码器输入;
通过解码器神经网络根据解码器神经网络的解码器网络参数的当前值处理训练解码器输入,以生成训练数据项的训练重构;
通过确定关于解码器网络参数和编码器网络参数的当前值的梯度来确定解码器网络参数和编码器网络参数的当前值的重构更新,以优化训练重构和训练数据项之间的重构误差,其中确定关于编码器网络参数的当前值的梯度以优化重构误差包括:通过将梯度从解码器输入复制到编码器输出,将梯度从解码器反向传播到编码器,而不更新当前潜在嵌入向量。
13.根据权利要求12所述的方法,还包括:
对于每个潜在变量,通过确定关于最近的当前潜在嵌入向量的梯度来确定潜在变量的最接近当前潜在嵌入向量的更新,以最小化潜在变量的训练编码向量和潜在变量的训练编码向量的最接近当前潜在向量之间的误差;或者
根据训练编码器输出中的训练编码向量的移动平均来确定当前潜在嵌入向量的更新。
14.根据权利要求12所述的方法,还包括:
对于每个潜在变量,通过确定关于编码器参数的当前值的梯度来确定对编码器参数的当前值的相应承诺更新,以最小化潜在变量的训练编码向量和潜在变量的训练编码向量的最接近当前潜在嵌入向量之间的承诺损失。
15.根据权利要求14所述的方法,其中,承诺损失是常数乘以潜在变量的训练编码向量和施加到训练编码向量的最接近当前潜在嵌入向量的停止梯度运算之间的l2误差的平方,其中停止梯度运算符将其操作数约束为非更新常数,并且被定义为正向计算的恒等式,并且具有零偏导数。
16.根据权利要求12至15中任意一项所述的方法,其中,潜在变量的训练编码向量和训练编码向量的最接近当前潜在嵌入向量之间的误差是常数乘以施加到潜在变量的训练编码向量的停止梯度运算与训练编码向量的最接近当前潜在嵌入向量之间的l2误差的平方。
17.一种训练数据压缩系统的系统,包括一个或多个计算机和一个或多个存储指令的存储设备,当由一个或多个计算机执行指令时,使一个或多个计算机执行根据权利要求12至16中任一项所述的相应方法的操作。
18.一个或多个计算机存储介质,其存储指令,当由一个或多个计算机执行指令时,使一个或多个计算机执行根据权利要求12至16中任一项所述的相应方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410230994.XA CN118297118A (zh) | 2017-06-09 | 2018-06-11 | 生成输入数据项的离散潜在表示 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762517824P | 2017-06-09 | 2017-06-09 | |
US62/517,824 | 2017-06-09 | ||
PCT/EP2018/065308 WO2018224690A1 (en) | 2017-06-09 | 2018-06-11 | Generating discrete latent representations of input data items |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410230994.XA Division CN118297118A (zh) | 2017-06-09 | 2018-06-11 | 生成输入数据项的离散潜在表示 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110612538A CN110612538A (zh) | 2019-12-24 |
CN110612538B true CN110612538B (zh) | 2024-03-22 |
Family
ID=62567671
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880029354.5A Active CN110612538B (zh) | 2017-06-09 | 2018-06-11 | 生成输入数据项的离散潜在表示 |
CN202410230994.XA Pending CN118297118A (zh) | 2017-06-09 | 2018-06-11 | 生成输入数据项的离散潜在表示 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410230994.XA Pending CN118297118A (zh) | 2017-06-09 | 2018-06-11 | 生成输入数据项的离散潜在表示 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11948075B2 (zh) |
EP (1) | EP3596664B1 (zh) |
CN (2) | CN110612538B (zh) |
WO (1) | WO2018224690A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6876641B2 (ja) * | 2018-02-20 | 2021-05-26 | 日本電信電話株式会社 | 音声変換学習装置、音声変換装置、方法、及びプログラム |
CN109215092B (zh) * | 2018-09-10 | 2020-03-13 | 百度在线网络技术(北京)有限公司 | 仿真场景的生成方法及装置 |
WO2020148435A1 (en) * | 2019-01-17 | 2020-07-23 | Deepmind Technologies Limited | Speech coding using discrete latent representations |
US11057634B2 (en) | 2019-05-15 | 2021-07-06 | Disney Enterprises, Inc. | Content adaptive optimization for neural data compression |
DE102019216927A1 (de) * | 2019-11-04 | 2021-05-06 | Robert Bosch Gmbh | Synthetische Erzeugung von Radar-, LIDAR- und Ultraschallmessdaten |
US11501551B2 (en) | 2020-06-08 | 2022-11-15 | Optum Services (Ireland) Limited | Document processing optimization |
EP4205405A1 (en) * | 2020-08-26 | 2023-07-05 | Telefonaktiebolaget LM Ericsson (publ) | Generating and processing video data |
US11538464B2 (en) | 2020-09-09 | 2022-12-27 | International Business Machines Corporation . | Speech recognition using data analysis and dilation of speech content from separated audio input |
US11495216B2 (en) | 2020-09-09 | 2022-11-08 | International Business Machines Corporation | Speech recognition using data analysis and dilation of interlaced audio input |
US11961287B2 (en) * | 2020-10-02 | 2024-04-16 | Servicenow Canada Inc. | Method and system for meaningful counterfactual explanations |
WO2022093249A1 (en) * | 2020-10-29 | 2022-05-05 | Hewlett-Packard Development Company, L.P. | Latent representation scrambler and generative network adjustments |
US11750848B2 (en) * | 2020-11-30 | 2023-09-05 | Google Llc | High-fidelity generative image compression |
US20220207352A1 (en) * | 2020-12-30 | 2022-06-30 | Capital One Services, Llc | Methods and systems for generating recommendations for counterfactual explanations of computer alerts that are automatically detected by a machine learning algorithm |
CN112668717B (zh) * | 2021-01-04 | 2023-06-02 | 哈尔滨工业大学 | 一种面向神经网络模型优化的数据处理方法和装置 |
CN113221681B (zh) * | 2021-04-26 | 2023-09-26 | 平安科技(深圳)有限公司 | 模型训练方法、动作姿态生成方法、装置、设备及介质 |
CN113485829B (zh) * | 2021-07-02 | 2022-08-09 | 深圳万顺叫车云信息技术有限公司 | 用于微服务集群的数据增量步段的标识值生成方法 |
EP4120136A1 (en) | 2021-07-14 | 2023-01-18 | Volkswagen Aktiengesellschaft | Method for automatically executing a vehicle function, method for training a machine learning defense model and defense unit for a vehicle |
EP4430609A1 (en) * | 2021-11-09 | 2024-09-18 | Dolby Laboratories Licensing Corporation | Audio content generation and classification |
US12067661B2 (en) * | 2022-02-16 | 2024-08-20 | Adobe Inc. | Generating human motion sequences utilizing unsupervised learning of discretized features via a neural network encoder-decoder |
CN115695943A (zh) * | 2022-10-31 | 2023-02-03 | 北京百度网讯科技有限公司 | 数字人视频生成方法、装置、设备及存储介质 |
CN115659852B (zh) * | 2022-12-26 | 2023-03-21 | 浙江大学 | 一种基于离散潜在表示的布局生成方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7400588B2 (en) * | 2003-08-01 | 2008-07-15 | Thomson Licensing | Dynamic rate adaptation using neural networks for transmitting video data |
US20160098633A1 (en) * | 2014-10-02 | 2016-04-07 | Nec Laboratories America, Inc. | Deep learning model for structured outputs with high-order interaction |
EP3338221A4 (en) * | 2015-08-19 | 2019-05-01 | D-Wave Systems Inc. | DISCRETE VARIATION SELF-ENCODING SYSTEMS AND METHODS FOR MACHINE LEARNING USING ADIABATIC QUANTUM COMPUTERS |
CN107925762B (zh) * | 2015-09-03 | 2020-11-27 | 联发科技股份有限公司 | 基于神经网络的视频编解码处理方法和装置 |
-
2018
- 2018-06-11 US US16/620,815 patent/US11948075B2/en active Active
- 2018-06-11 CN CN201880029354.5A patent/CN110612538B/zh active Active
- 2018-06-11 EP EP18730350.8A patent/EP3596664B1/en active Active
- 2018-06-11 WO PCT/EP2018/065308 patent/WO2018224690A1/en unknown
- 2018-06-11 CN CN202410230994.XA patent/CN118297118A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20200184316A1 (en) | 2020-06-11 |
EP3596664A1 (en) | 2020-01-22 |
EP3596664B1 (en) | 2022-01-12 |
US11948075B2 (en) | 2024-04-02 |
WO2018224690A1 (en) | 2018-12-13 |
CN118297118A (zh) | 2024-07-05 |
CN110612538A (zh) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110612538B (zh) | 生成输入数据项的离散潜在表示 | |
US11669744B2 (en) | Regularized neural network architecture search | |
US11380034B2 (en) | Semantically-consistent image style transfer | |
CN109844773B (zh) | 使用卷积神经网络处理序列 | |
US11941527B2 (en) | Population based training of neural networks | |
CN111819580A (zh) | 用于密集图像预测任务的神经架构搜索 | |
WO2019155064A1 (en) | Data compression using jointly trained encoder, decoder, and prior neural networks | |
EP3398114A1 (en) | Compressing images using neural networks | |
US12032523B2 (en) | Compressed sensing using neural networks | |
US11488067B2 (en) | Training machine learning models using teacher annealing | |
WO2020148435A1 (en) | Speech coding using discrete latent representations | |
WO2018201151A1 (en) | Neural network optimizer search | |
CN111046027A (zh) | 时间序列数据的缺失值填充方法和装置 | |
CN115082329A (zh) | 使用用于图像修复的深度视觉引导补丁匹配模型生成修改的数字图像 | |
CN111133458B (zh) | 增强神经网络 | |
Li et al. | Towards communication-efficient digital twin via AI-powered transmission and reconstruction | |
CN113761933A (zh) | 检索方法、装置、电子设备及可读存储介质 | |
JP7528277B2 (ja) | データ密度の勾配の推定による条件付き出力生成 | |
US20240232686A1 (en) | Portion-Specific Model Compression for Optimization of Machine-Learned Models | |
CN117494661A (zh) | 用于编码的方法、装置、设备和可读介质 | |
CN115335831A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |