CN115803805A - 通过数据密度梯度估计的条件输出生成 - Google Patents
通过数据密度梯度估计的条件输出生成 Download PDFInfo
- Publication number
- CN115803805A CN115803805A CN202180045795.6A CN202180045795A CN115803805A CN 115803805 A CN115803805 A CN 115803805A CN 202180045795 A CN202180045795 A CN 202180045795A CN 115803805 A CN115803805 A CN 115803805A
- Authority
- CN
- China
- Prior art keywords
- output
- network
- noise
- input
- iteration
- 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
- 238000000034 method Methods 0.000 claims abstract description 120
- 238000013528 artificial neural network Methods 0.000 claims abstract description 102
- 230000008569 process Effects 0.000 claims abstract description 77
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000003860 storage Methods 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 60
- 230000004913 activation Effects 0.000 claims description 29
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 18
- 230000001143 conditioned effect Effects 0.000 claims description 14
- 230000009466 transformation Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 36
- 238000010801 machine learning Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 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
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000009827 uniform distribution 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
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003709 image segmentation 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
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- 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
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
公开了用于使用神经网络生成以网络输入为条件的输出的方法、***和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,一种方法包括:获得网络输入;初始化当前网络输出;以及通过在多个迭代中的每个迭代下更新当前网络输出来生成最终网络输出,其中每个迭代对应于相应的噪声水平,并且其中更新包括在每个迭代下:使用被配置为处理模型输入以生成噪声输出的噪声估计神经网络来处理迭代的模型输入,该模型输入包括(i)当前网络输出和(ii)网络输入,其中噪声输出包括当前网络输出中每个值的相应的噪声估计;以及使用噪声估计和迭代的噪声水平来更新当前网络输出。
Description
相关申请的交叉引用
本申请要求于2020年9月2日提交的美国专利申请No.63/073,867的优先权,其公开内容通过引用结合于此。
技术领域
本说明书涉及使用机器学习模型生成以网络输入为条件的输出。
背景技术
机器学习模型接收输入并基于所接收的输入生成输出,例如所预测的输出。一些机器学习模型是参数模型,并基于所接收的输入和基于模型的参数的值生成输出。
一些机器学习模型是采用多层模型来为所接收的输入生成输出的深度模型。例如,深度神经网络是包括输出层和各自对所接收的输入应用非线性变换以生成输出的一个或多个隐藏层的深度机器学习模型。
发明内容
本说明书描述了一种被实施为在一个或多个位置的一个或多个计算机上的计算机程序的***,该***以网络输入为条件生成网络输出。
根据第一方面,提供了一种生成包括以网络输入为条件的多个输出的最终网络输出的方法,该方法包括:获得网络输入;初始化当前网络输出;以及通过在多个迭代中的每个迭代下更新当前网络输出来生成最终网络输出,其中每个迭代对应于相应的噪声水平,并且其中更新包括在每个迭代下:使用被配置为处理模型输入以生成噪声输出的噪声估计神经网络来处理迭代的模型输入,该模型输入包括(i)当前网络输出和(ii)网络输入,其中噪声输出包括当前网络输出中每个值的相应的噪声估计;以及使用噪声估计和迭代的噪声水平来更新当前网络输出。
在一些实施方式中,网络输入是音频段的频谱图,并且其中最终网络输出是音频段的波形。
在一些实施方式中,音频段是语音段。
在一些实施方式中,已经通过文本到语音模型由文本段或文本段的语言特征生成频谱图。
在一些实施方式中,频谱图是梅尔频谱图或对数梅尔频谱图。
在一些实施方式中,使用噪声估计和迭代的噪声水平来更新当前网络输出包括:至少根据噪声估计和对应于迭代的噪声水平来生成迭代的更新;以及从当前网络输出中减去该更新,以生成初始更新的网络输出。
在一些实施方式中,更新当前网络输出还包括:基于迭代的噪声水平修改初始更新的网络输出,以生成经修改的初始更新的网络输出。
在一些实施方式中,对于最后的迭代,经修改的初始更新的网络输出是最后的迭代之后的更新的网络输出,并且对于最后的迭代之前的每个迭代,最后的迭代之后的更新的网络输出通过向经修改的初始更新的网络输出添加噪声而生成。
在一些实施方式中,初始化当前网络输出包括:从相对应的噪声分布中采样当前网络输出的多个初始值中的每一个。
在一些实施方式中,每个迭代下的模型输入包括对于每个迭代不同的迭代特定的数据。
在一些实施方式中,每个迭代的模型输入包括对应于该迭代的噪声水平。
在一些实施方式中,每个迭代的模型输入包括根据对应于迭代以及对应于多个迭代中该迭代之后的任何迭代的噪声水平生成的迭代的总计噪声水平。
在一些实施方式中,噪声估计神经网络包括:噪声生成神经网络,该噪声生成神经网络包括多个噪声生成神经网络层并被配置为处理网络输入以将网络输入映射到噪声输出;以及网络输出处理神经网络,该网络输出处理神经网络包括多个网络输出处理神经网络层、被配置为处理当前网络输出以生成当前网络输出的替代性表示,其中:噪声生成神经网络层中的至少一个接收输入,该输入从以下导出:(i)噪声生成神经网络层中的另一噪声生成神经网络层的输出,(ii)相对应的网络输出处理神经网络层的输出,以及(iii)迭代的迭代特定数据。
在一些实施方式中,最终网络输出具有比网络输入更高的维度,并且其中替代性表示具有与网络输入相同的维度。
在一些实施方式中,噪声估计神经网络包括对应于至少一个噪声生成神经网络层中的每一个的相应的特征线性调制(FiLM)模块,其中对应于给定噪声生成神经网络层的FiLM模块被配置为处理(i)噪声生成神经网络层中的另一个噪声生成神经网络层的输出,(ii)相对应的网络输出处理神经网络层的输出,以及(iii)用于生成至噪声生成神经网络层的输入的、迭代的迭代特定数据。
在一些实施方式中,对应于给定噪声生成神经网络层的FiLM模块被配置为:根据(ii)相对应的网络输出处理神经网络层的输出和(iii)迭代的迭代特定数据生成缩放向量和偏差向量;以及通过对(i)噪声生成神经网络层中的另一个噪声生成神经网络层的输出应用仿射变换来生成至给定噪声生成神经网络层的输入。
在一些实施方式中,噪声生成神经网络层中的至少一个包括激活函数层,该激活函数层将非线性激活函数应用于激活函数层的输入。
在一些实施方式中,对应于激活函数层的噪声生成神经网络层中的另一个噪声生成神经网络层是残差连接层或卷积层。
在一些实施方式中,训练噪声估计神经网络的方法包括重复执行以下操作:获得训练网络输入和相对应的训练网络输出;从包括多个迭代中的全部的迭代特定数据的集合中选择迭代特定数据;对包括训练网络输出中的每个值的相应噪声值的噪声输出进行采样;根据噪声输出和相对应的训练网络输出生成经修改的训练网络输出;使用噪声估计神经网络处理模型输入以生成训练噪声输出,该模型输入包括(i)经修改的训练网络输出、(ii)训练网络输入,以及(iii)迭代特定数据;以及根据目标函数的梯度确定对噪声估计神经网络的网络参数的更新,该目标函数测量所采样的噪声输出和训练噪声输出之间的误差。
在一些实施方式中,目标函数测量所采样的噪声输出和训练噪声输出之间的距离。
在一些实施方式中,距离是L1距离。
可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。
所描述的技术以非自回归方式生成以网络输入为条件的网络输出。一般而言,自回归模型已经被示出生成高质量的网络输出,但需要大数量的迭代,从而导致高延迟和资源(例如存储器和处理能力)消耗。这是因为自回归模型逐个生成网络输出中的每个给定输出,其中每个输出以网络输出内的给定输出之前的全部输出为条件。
另一方面,所描述的技术从初始网络输出(例如,包括从噪声分布采样的值的噪声输出)开始,并且经由以网络输入为条件的基于梯度的采样器迭代地精练网络输出,即,可以使用迭代去噪过程。因此,该方法是非自回归的,并且在推理期间只需要恒定数量的生成步骤。例如,对于以频谱图为条件的音频合成,所描述的技术可以在非常少的迭代(例如,六个或更少)中生成高保真音频样本,其与由现有技术的自回归模型生成的那些样本可比或甚至超过由现有技术的自回归模型生成的那些样本、具有大大减少的延迟并且同时使用少得多的计算资源。此外,与由现有的非自回归模型产生的那些样本相比,所描述的技术可以生成更高质量(例如更高保真度)的样本。
本说明书主题的一个或多个实施例的细节在附图和以下描述中阐述。从说明书、附图和权利要求书中,主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是示例条件输出生成***的框图。
图2是用于生成以网络输入为条件的输出的示例过程的流程图。
图3是示例噪声估计神经网络的框图。
图4是示例网络输出处理神经网络块的框图。
图5是示例特征线性调制(FiLM)模块的框图。
图6是示例噪声生成神经网络块的框图。
图7是用于训练噪声估计神经网络的示例过程的流程图。
各附图中相同的附图标记和名称表示相同的元件。
具体实施方式
图1示出了示例条件输出生成***100。条件输出生成***100是实施为一个或多个位置的一个或多个计算机上的计算机程序的***的示例,其中实施了以下描述的***、组件和技术。
条件输出生成***100生成以网络输入102为条件的最终网络输出104。
本文中的条件输出生成***100可广泛应用,并且不限于一种特定实现方式。然而,为了说明的目的,下面描述了较小数量的示例实现方式。
例如,***可以被配置为生成以音频的频谱图(例如梅尔频谱图或其中频率处于不同标度的频谱图)为条件的音频的波形。作为这种情况的具体示例,频谱图可以是语音段的频谱图,并且波形可以是该语音段的波形。例如,频谱图可以是将文本或文本的语言特征转换成被说出的文本的话语的频谱图的文本到语音机器学习模型的输出。
作为另一示例,***可以被配置为对网络输入执行图像处理任务以生成网络输出。例如,网络输入可以是指定要生成的图像对象的类的对象的类(例如,由独热向量表示),并且网络输出可以是该对象的类的所生成的图像(例如,由图像中的每个像素的亮度值或RGB值的集合表示)。
作为另一特殊示例,任务可以是条件图像生成,并且网络输入可以是文本序列,以及网络输出可以是反映文本的图像。例如,文本序列可以包括描述图像中的场景的句子或形容词序列。
在另一特殊示例中,任务可以是图像嵌入生成,并且网络输入可以是图像,并且网络输出可以是表征图像的输入图像的数字嵌入。
作为又一特殊示例,任务可以是对象检测,并且网络输入可以是图像以及网络输出可以标识输入图像中的在其处描绘对象的特殊类型的位置,例如,可以指定输入图像中的包含对象描绘的边界框。
作为又一特殊示例,任务可以是图像分割,并且网络输入可以是图像并且网络输出可以是分割输出,该分割输出将输入图像的多个像素中的每一个分配给来自类别的集合中的类别,例如,将类别中的每一个的、表示像素属于该类别的可能性的相应分数分配给每个像素。
更一般地,任务可以是以网络输入为条件输出连续数据的任何任务。
为了生成以网络输入102为条件的最终网络输出104,条件输出生成***100获得网络输入102并初始化当前网络输出114。例如,***100可以通过从相对应的噪声分布(例如,高斯分布,诸如N(0,I),其中I是单位矩阵)中采样当前网络输出中的每个值来初始化当前网络输出114(即,可以生成当前网络输出114的第一实例)。也就是说,初始当前网络输出114包括与最终网络输出104相同数量的值,但是其中每个值从相对应的噪声分布中进行采样。
***100然后通过在多个迭代中的每一个下更新当前网络输出114来生成最终网络输出104。换句话说,最终网络输出104是在多个迭代中的最后的迭代之后的当前网络输出114。
在一些情况下,迭代的数量是固定的。
在其他情况下,***100或另一***可以基于生成最终网络输出的延迟要求来调节迭代的数量。也就是说,***100可以选择迭代的数量使得最终网络输出104将被生成为满足延迟要求。
在其他情况下,***100或另一***可以基于生成最终网络输出104的计算资源消耗要求来调节迭代的数量,也就是说,可以选择迭代的数量使得最终网络输出将被生成为满足要求。例如,要求可以是作为生成最终网络输出的一部分要执行的浮点运算(FLOPS)的最大数量。
在每个迭代下,***使用噪声估计神经网络300处理迭代的模型输入,该模型输入包括(i)当前网络输出114,(ii)网络输入102、以及可选地(iii)迭代的迭代特定数据。迭代特定数据通常从噪声水平106导出(例如,其中每个噪声水平对应于特殊迭代)。***可以使用噪声水平106作为更新的每个迭代的标度来更新当前网络输出。也就是说,噪声水平106中的每个噪声水平可以对应于特殊迭代,并且迭代的相应噪声水平可以指导迭代下对当前网络输出114的更新的标度。
噪声估计神经网络300是具有参数(“网络参数”)并且被配置为根据网络参数的当前值来处理模型输入以生成噪声输出110的神经网络,该噪声输出包括当前网络输出114中每个值的相应噪声估计。噪声估计神经网络的细节将在下面参考图3更详细地进行讨论。
一般而言,当前网络输出中的给定值的噪声估计是被添加到网络输入的实际网络输出中的相对应的实际值以便生成给定值的噪声的估计。也就是说,噪声估计限定了在给定对应于当前迭代的噪声水平的情况下,实际值(如果已知的话)需要如何被修改以在当前网络输出中生成给定值。换句话说,可以根据当前迭代的噪声水平,通过将噪声估计应用于实际值来生成给定值。
这个噪声估计可以被解释为数据密度的梯度的估计,并且因此生成过程可以被视为通过数据密度估计迭代地生成网络输出的过程。
***100然后使用更新引擎112在噪声估计的方向上更新当前网络输出114。
特别地,更新引擎112使用噪声估计和迭代的相对应的噪声水平来更新当前网络输出114。也就是说,更新引擎112使用噪声输出110的相对应的噪声估计和迭代下的相对应噪声水平来更新当前网络输出114的每个值,如参考图2更详细地讨论的那样。
在最终迭代之后,条件输出生成***100输出经更新的网络输出114作为最终网络输出104。例如,在其中最终网络输出104表示音频波形的实现方式中,***可以使用扬声器回放音频,或者传输音频以便进行回放等。在另一示例中,在其中最终网络输出104表示图像的实现方式中,***可以在用户显示器上显示图像,或者传输图像以便进行显示等。在一些实施方式中,***100可以将最终网络输出104保存到数据存储装置、或者传输最终网络输出104以便进行存储。
在***100使用噪声估计神经网络300来生成最终网络输出之前,***100或另一***以训练数据训练噪声估计神经网络300。下面参照图7描述训练。
图2是用于生成以网络输入为条件的输出的示例过程200的流程图。为了方便起见,过程200将被描述为由位于一个或多个位置的一个或多个计算机的***来执行。例如,根据本说明书适当编程的条件输出生成***(例如图1的条件输出生成***100)可以执行过程200。
该***获得使最终网络输出以其为条件的网络输入(202)。例如,对于作为音频波形的网络输出,网络输入可以是频谱图、梅尔频谱图或由音频波形反映的文本的主体的语言特征。
***初始化当前网络输出(204)。对于包括多个值的最终网络输出,***可以对初始当前网络输出中的每个值进行采样,该初始当前网络输出具有与来自噪声分布的最终网络输出相同数量的值。例如,***可以使用由yN~N(0,I)表示的噪声分布(例如,高斯噪声分布)初始化当前网络输出,其中I是单位矩阵以及yN中的N表示预期的迭代数量。***可以在从迭代N到迭代1的N个迭代中以降序更新初始当前网络输出。
***然后在多个迭代的每一个下更新当前网络输出。一般而言,每个迭代下的当前网络输出可以被解释为具有附加噪声的最终网络输出。也就是说,当前网络输出是最终网络输出的噪声版本。例如,对于初始的当前网络输出yN,其中N表示迭代数量,***可以通过去除对应于迭代的噪声的估计,在迭代N到1中的每一个下更新当前网络输出。也就是说,***可以通过确定噪声的估计并根据估计更新当前网络输出,在每个迭代下精练当前网络输出。***可以对迭代使用降序,直到输出最终网络输出y0。
在多个迭代中的每一个下,***通过使用噪声估计神经网络处理模型输入来生成迭代的噪声输出,该模型输入包括(1)当前网络输出、(2)网络输入、以及可选地(3)迭代的迭代特定数据(206)。迭代特定数据通常从迭代的噪声水平导出,其中每个噪声水平对应于特殊迭代。噪声输出可以包括当前网络输出中每个值的噪声估计。例如,当前网络输出中的特殊值的相应噪声估计可以表示已经被添加到网络输入的实际网络输出中的相对应的实际值以生成特殊值的噪声的估计。也就是说,特殊值的噪声估计将表示在给定相对应的噪声水平的情况下,实际值(如果已知的话)将需要如何被修改以生成特殊值。
在多个迭代的每一个下,***使用当前迭代的噪声输出和对应于当前迭代的噪声水平来更新当前迭代的当前网络输出(208)。***可以使用噪声输出中的相对应的噪声估计和当前迭代的噪声水平来更新当前网络输出中的每个值。***可以根据噪声估计和迭代的噪声水平生成迭代的更新,并且然后从当前网络输出中减去该更新,以生成初始更新的网络输出。然后,***可以基于迭代的噪声水平修改初始更新的网络输出,以生成经修改的初始更新的网络输出,
其中n表示迭代的索引,yn表示迭代n下的当前网络输出,yn-1表示经修改的初始更新的网络输出,x表示网络输入,αn表示迭代n的噪声水平,表示迭代n的总计噪声水平(例如,其根据当前迭代下和当前迭代之后的任何迭代下的噪声水平生成),并且表示由噪声估计神经网络生成的具有参数θ的噪声输出。噪声水平αn和总计噪声水平可以从噪声表(例如,从最小值到最大值线性变化的线性噪声表、基于斐波纳契的表、或根据数据驱动或启发式方法生成的定制表)中确定。噪声水平αn=1-βn和总计噪声水平可以从均匀分布中如下采样:
对于最后的迭代,经修改的初始更新的网络输出是最后的迭代之后的更新的网络输出,并且对于最后一次迭代之前的每个迭代,最后的迭代之后的更新的网络输出通过向经修改的初始更新的网络输出添加噪声而生成。也就是说,如果迭代不是最终迭代(即,如果n>1),***还将经修改的初始更新的网络输出更新为,
yn-1=yn-1+onz, (3)
***确定是否满足终止标准(210)。例如,终止标准可以包括已经执行了特定数量的迭代(例如,被确定为满足最小性能度量、最大延迟要求或最大计算资源要求,诸如最大FLOPS数量)。如果没有执行特定数量的迭代,***可以从步骤(206)再次开始并执行对当前网络输出的另一更新。
如果***确定已经满足终止标准,则***输出最终网络输出(212),其是在最终迭代之后经更新的网络输出。
过程200可以用于以非自回归方式生成以网络输入为条件的网络输出。一般而言,自回归模型已经被示出生成高质量的网络输出,但需要大数量的迭代,从而导致高延迟和资源(例如存储器和处理能力)消耗。这是因为自回归模型逐个生成网络输出中的每个给定输出,其中每个输出以网络输出内的给定输出之前的全部输出为条件。另一方面,过程200从初始网络输出(例如,包括从噪声分布采样的值的噪声输出)开始,并且经由以网络输入为条件的基于梯度的采样器迭代地精练网络输出。因此,该方法是非自回归的,并且在推理期间只需要恒定数量的生成步骤。例如,对于以频谱图为条件的音频合成,所描述的技术可以在非常少的迭代(例如,六个或更少)中生成高保真音频样本,其与由现有技术的自回归模型生成的那些样本可比或甚至超过由现有技术的自回归模型生成的那些样本、具有大大减少的延迟并且同时使用少得多的计算资源。
图3示出了噪声估计网络300的示例架构。
示例噪声估计网络300包括多种类型的神经网络层和神经网络块(例如,其中每个神经网络块包括多个神经网络层),包括卷积神经网络层、噪声生成神经网络块、特征线性调制(FiLM)模块神经网络块和网络输出处理神经网络块。
噪声估计网络300处理模型输入以生成噪声输出110,该模型输入包括(1)当前网络输出114、(2)网络输入102、以及(3)包括对应于当前迭代的总计噪声水平306的迭代特定数据。网络输出114具有比网络输入102更高的维度,并且噪声输出110具有与当前网络输出114相同的维度。例如,对于表示24kHz下的音频波形的当前网络输出,网络输入可以包括对应于音频波形的80Hz梅尔频谱图信号(例如,在推断期间由另一***预测)。
噪声估计网络300包括多个网络输出处理块,以处理当前网络输出114以生成当前网络输出114的相应替代性表示。
噪声估计网络300还包括网络输出处理块400,以处理当前网络输出114以生成当前网络输出的替代性表示,其中替代性表示具有比当前网络输出更小的维度。
噪声估计网络300还包括附加网络输出处理块(例如,网络输出处理块318、316、314和312),以处理由先前的网络输出处理块生成的替代性表示以生成具有比先前的替代性表示更小的维度的另一替代性表示(例如,网络318处理来自块400的替代性表示以生成具有比块400的输出更小的维度的替代性表示、块316处理来自块318的替代性表示以生成具有比块318的输出更小的维度的替代性表示等)。从最终网络输出处理块(例如312)生成的当前网络输出的替代性表示具有与网络输入102相同的维度。
例如,对于包括24kHz的音频波形的当前网络输出和包括80Hz的梅尔频谱图的网络输入,网络输出处理块块可以将维度“下采样”(即,减少维度)达2、2、3、5和5的因数(例如,分别通过网络输出处理块400、318、316、314和312),直到由最终层312产生的替代性表示为80Hz(即,减少达300的因数以与梅尔频谱图相匹配)。参考图4更详细地讨论了示例网络输出处理块的架构。
噪声估计块300包括多个FiLM模块神经网络块,以处理对应于当前迭代的迭代特定数据(例如,总计噪声水平306)和来自网络输出处理神经网络块的替代性表示,从而为噪声生成神经网络块生成输入。每个FiLM模块处理总计噪声水平306和来自相应网络输出处理块的替代性表示,以为相应噪声生成块生成输入(例如,FiLM模块500处理来自网络输出处理块400的替代性表示,以为噪声生成块600生成输入、FiLM模块328处理来自网络输出处理块318的替代性表示以生成噪声生成块338的输入等)。特别地,每个FiLM模块生成缩放向量和偏差向量,作为至相应噪声生成块的输入(例如,作为至相应噪声生成块内的仿射变换神经网络层的输入),如参考图5更详细地讨论的那样。
噪声估计网络300包括多个噪声生成神经网络块,以处理网络输入102和来自FiLM模块的输出,以生成噪声输出110。噪声估计网络300可以包括卷积层302,以处理网络输入102从而生成至第一噪声生成块332的输入;以及卷积层304,以处理来自最终噪声生成块600的输出从而生成噪声输出110。每个噪声生成块生成具有比网络输入102更高维度的输出。特别地,第一噪声生成块之后的每个噪声生成块生成具有比来自先前噪声生成块的输出更高维度的输出。最终噪声生成块生成与当前网络输出114具有相同维度的输出。
噪声估计网络300包括噪声生成块332,以处理来自卷积层302(即,处理网络输入102的卷积层)的输出和来自FiLM模块332的输出从而生成至噪声生成块334的输入。噪声估计网络300还包括噪声生成块336、338和600。噪声生成块334、336、338和600各自处理来自相应的先前噪声生成块的输出(例如,块334处理来自块332的输出、块336处理来自块334的输出等)和来自相应FiLM模块的输出(例如,噪声生成块334处理来自FiLM模块324的输出、噪声生成块336处理来自FiLM模块326的输出等)从而生成针对下一神经网络块的输入。噪声生成块600为卷积层304生成输入,该卷积层处理输入以生成噪声输出110。参考图6更详细地讨论了示例噪声生成块(例如,噪声生成块600)的架构。
最后一个噪声生成块之前的每个噪声生成块可以生成具有与当前网络输出的相对应的替代性表示相同的维度的输出(例如,噪声生成块332生成具有与由网络输出处理块314生成的替代性表示相等的维度的输出、噪声生成块334生成具有与来自网络输出处理块316的输出相等的维度的输出等)。
例如,对于包括24kHz的音频波形的当前网络输出和包括80Hz的梅尔频谱图的网络输入,噪声生成块可以将维度“上采样”(即,增加维度)达5、5、3、2和2的因数(例如,分别通过噪声生成块332、334、336、338和600),直到最终噪声生成块(例如,噪声生成块600)的输出为24kHz(即,增加达300的因数以与当前网络输出114相匹配)。
图4示出了网络输出处理块400的示例架构。
网络输出处理块400处理当前网络输出114以生成当前网络输出114的替代性表示402。替代性表示具有比当前网络输出更小的维度。网络输出处理块400包括一个或多个神经网络层。一个或多个神经网络层可以包括多种类型的神经网络层,包括下采样层(例如,用于“下采样”或减少输入的维度)、具有非线性激活函数的激活层(例如,具有渗漏型ReLU激活函数的全连接层)、卷积层和残差连接层。
例如,下采样层可以是具有必要步幅以减少(“下采样”)输入的维度的卷积层。在特殊的示例中,步幅X可以用于将输入的维度减少达X的因数(例如,步幅2可以用于将输入的维度减少达2的因数;步幅5可以用于将输入的维度减少达5的因数等)。
残差连接层420的左分支包括卷积层402和下采样层404。卷积层402处理当前网络输出114,以生成至下采样层404的输入。下采样层404处理来自卷积层402的输出,以生成至残差连接层420的输入。与当前网络输出114相比,下采样层404的输出具有降低的维度。例如,卷积层402可以包括具有步幅1的大小为1×1的滤波器(即,用于保持维度),并且下采样层404可以包括具有步幅2的大小为2×1的滤波器,以将输入的维度下采样达2的因数。
残差连接层420的右分支包括下采样层406和随后是卷积层的激活层的三个后续块(例如,激活层408、卷积层410、激活层412、卷积层414、激活层416和卷积层418)。下采样层406处理当前网络输出114,以为激活和卷积层的后续三个块生成输入。与当前网络输入114相比,下采样层406的输出具有较小的维度。随后的三个块处理来自下采样层406的输出,以生成至残差连接层420的输入。例如,下采样层406可以包括具有步幅2的大小为2×1的滤波器,以将输入的维度减少达2的因数(例如,以正确匹配下采样层404)。激活层(例如,408、412和416)可以是具有渗漏型ReLU激活函数的全连接层。卷积层(例如,410、414和418)可以包括具有步幅1的大小为3×1的滤波器(即,用于保持维度)。
残差连接层420组合来自左分支的输出和来自右分支的输出,以生成替代性表示402。例如,残差连接层420可以将来自左分支的输出和来自右分支的输出相加(例如,逐元素相加),以生成替代性表示402。
图5示出了示例特征线性调制(FiLM)模块500。
FiLM模块500处理当前网络输出的替代性表示402和对应于当前迭代的总计噪声水平306,以生成缩放向量512和偏差向量516。缩放向量512和偏差向量516可以被处理为相应噪声生成块(例如,图3的噪声估计网络300中的噪声生成块600)中的特定层(例如,仿射变换层)的输入。FiLM模块500包括位置编码函数和一个或多个神经网络层。一个或多个神经网络层可以包括多种类型的神经网络层,包括残差连接层、卷积层和具有非线性激活函数的激活层(例如,具有渗漏型ReLU激活函数的全连接层)。
残差连接层508的左分支包括位置编码函数502。位置编码函数502处理总计噪声水平306,以生成噪声水平的位置编码。例如,总计噪声水平306可以乘以位置编码函数502,该位置编码函数是偶数维度索引的正弦函数和奇数维度索引的余弦函数的组合,如在变压器模型的预处理中那样。
残差连接层508的右分支包括卷积层504和激活层506。卷积层504处理替代性表示402,以生成至激活层506的输入。激活层506处理来自卷积层504的输出,以生成至残差连接层508的输入。例如,卷积层504可以包括具有步幅1的大小为3×1的滤波器(用于保持维度),并且激活层506可以是具有渗漏型ReLU激活函数的全连接层。
残差连接层508可以组合来自左分支的输出(例如,来自位置编码函数502的输出)和来自右分支的输出(例如,来自激活层506的输出),以生成至卷积层510和卷积层514两者的输入。例如,残差连接层508可以将来自左分支的输出和来自右分支的输出相加(例如,逐元素相加),以生成至两个卷积层(例如,510和514)的输入。
卷积层510处理来自残差连接层508的输出,以生成缩放向量512。例如,卷积层510可以包括具有步幅1的大小为3×1的滤波器(用于保持维度)。
卷积层514处理来自残差连接层508的输出,以生成偏差向量516。例如,卷积层514可以包括具有步幅1的大小为3×1的滤波器(用于保持维度)。
图6示出了示例噪声生成网络600。噪声生成网络600是实施为一个或多个位置的一个或多个计算机上的计算机程序的***的示例,其中实施了以下描述的***、组件和技术。
噪声生成块600是在噪声估计神经网络(例如,图3的噪声估计网络300)中使用的噪声生成块的示例神经网络架构。
噪声生成块600处理输入602和来自FiLM模块500的输出,以生成输出310。输入602可以是由一个或多个先前神经网络层处理的网络输入(例如,来自图3的噪声生成块338、336、334、332和卷积层302)。输出310可以是至后续卷积层的输入,该后续卷积层将处理输出310以生成噪声输出110(例如,图3的卷积层304)。噪声生成块600包括一个或多个神经网络层。一个或多个神经网络层可以包括多种类型的神经网络层,包括具有非线性激活函数的激活层(例如,具有渗漏型ReLU激活函数的全连接层)、上采样层(例如,其“上采样”或增加输入的维度)、卷积层、仿射变换层和残差连接层。
例如,上采样层可以是“上采样”(即增加)输入的维度的神经网络层。也就是说,上采样层生成具有比至该层的输入更高的维度的输出。在特殊示例中,上采样层可以生成具有输入中每个值的X个副本的输出,从而与输入相比将输出的维度增加达X的因数(例如,对于输入(2,7,-4),将具有每个值的两个副本的输出生成为(2,2,7,7,-4,-4)、或者将具有每个值的五个副本的输出生成为(2,2,2,2,2,7,7,7,7,7,-4,-4,-4,-4,-4)等)。一般而言,上采样层可以利用输入中最接近的值填充输出中的每个额外点。
残差连接层618的左分支包括上采样层602和卷积层604。上采样层602处理输入602以生成至卷积层604的输入。至卷积层的输入具有比输入602更高的维度。卷积层604处理来自上采样层602的输出,以生成至残差连接层618的输入。例如,上采样层可以通过生成具有输入602中的每个值的两个副本的输出将输入的维度增加达2的因数。卷积层604可以包括具有维度为3×1和步幅1的滤波器(例如,用于保持维度)。
残差连接层618的右分支依次包括激活层606(例如,具有渗漏型ReLU激活函数的全连接层)、上采样层608、卷积层610(例如,具有3×1滤波器大小和步幅1)、仿射变换层612、激活层614(例如,具有渗漏型ReLU激活函数的全连接层)和卷积层616(例如,具有3×1滤波器大小和步幅1)。
激活层606处理输入602以生成至上采样层608的输入。上采样层增加来自激活层606的输出的维度,以生成至卷积层610的具有比输入602更高的维度的输入(例如,达2的因数来匹配上采样层602)。卷积层610处理来自上采样层608的输出,以生成至仿射变换层612的输入(例如,利用维度3×1和步幅1的滤波器来保持维度)。激活层614和卷积层616还处理来自仿射变换层612的输出,以生成至残差连接层618的输入(例如,对于网络614利用渗漏型ReLU函数,以及对于网络616利用维度3×1和步幅1的滤波器)。
例如,仿射变换函数可以处理来自前面的神经网络层(例如,噪声生成块600中的卷积层610)的输出和来自FiLM模块的输出,以生成输出。例如,FiLM模块可以生成缩放向量和偏差向量。仿射变换层可以将偏差向量添加到使用来自FiLM模块的缩放向量缩放来自先前神经网络层的输出的结果(例如,使用哈达玛乘积或逐元素乘法)。
仿射变换层612可以处理来自卷积层610的输出和来自FiLM模块500的输出,以生成至激活层614的输入。例如,通过将来自FiLM模块500的偏差向量添加到利用来自FiLM模块500的缩放向量缩放来自卷积层610的输出的结果。
残差连接层618组合来自左分支的输出(例如,来自卷积层604的输出)和来自右分支的输出(例如,来自卷积层616的输出)以生成输出。例如,残差连接层618可以对来自左分支的输出和来自右分支的输出求和以生成输出。
残差连接层632的左分支包括来自残差连接层618的输出。左分支可以被解释为来自残差连接层618的输出的恒等函数。
残差连接层632的右分支依次包括仿射变换层、激活层和卷积层的两个连续块,以处理来自残差连接层618的输出并生成至残差连接层632的输入。特别地,第一块包含仿射变换层620、激活层622和卷积层624。第二块包含仿射变换层626、激活层628和卷积层630。
例如,对于每个块,相应的仿射变换层可以处理来自FiLM模块500的输出和来自相应的先前神经网络层的输出(例如,仿射变换层620可以处理来自残差连接层618的输出,并且仿射变换层626可以处理来自卷积层624的输出)以生成相应的输出。每个仿射变换层可以通过利用来自FiLM模块500的缩放向量缩放来自先前神经网络层的输出并将缩放的结果与来自FiLM模块500的偏差向量求和来生成相应输出。每个激活层(例如620和628)可以是具有渗漏型ReLU激活函数的相应的全连接层。每个卷积层可以包括相应的3×1维度和步幅1的滤波器(例如,用于保持维度)。
残差连接层632组合来自左分支的输出(例如,来自残差连接层618的输出的恒等函数)和来自右分支的输出(例如,来自卷积层630的输出)以生成输出310。例如,残差连接层632可以对来自左分支的输出和来自右分支的输出求和以生成输出310。输出310可以是至卷积层(例如,图3的卷积层304)的输入,该卷积层将生成噪声输出110。
噪声生成块600可以包括多个通道。图3中的每个噪声生成块(例如600、338、336、334和332)可以包括相应数量的通道。例如,噪声生成块600、338、336、334和332可以分别包括128、128、256、512和512个通道。
图7是用于训练噪声估计神经网络的示例过程的流程图。为了方便起见,过程700将被描述为由位于一个或多个位置的一个或多个计算机的***来执行。
***可以在多个训练迭代中的每一个下执行过程700,以重复更新噪声估计神经网络的参数的值。
***获得一批训练网络输入-训练网络输出对(702)。例如,***可以从数据存储装置中随机采样训练对。例如,每个训练网络输出可以是音频波形,并且每个网络输入可以是根据相对应的音频波形计算的真实梅尔频谱图。
对于该批中的每个训练对,***从包括全部迭代的迭代特定数据的集合中选择迭代特定数据(704)。例如,***可以从包括整数1到最终迭代的离散均匀分布中采样特殊迭代,然后基于从该分布采样的特殊迭代来选择迭代特定数据。迭代特定数据可以包括噪声水平、总计噪声水平(例如,如等式(2)中所确定的那样)、或者迭代数量本身。因此,***可以使噪声估计神经网络以离散指标为条件,或者可以使噪声估计神经网络以指示噪声水平的连续标量为条件。以指示噪声水平的连续标量为条件可能是有利的,因为一旦噪声估计神经网络被训练,当在推断时生成最终网络输出时,可以使用不同数量的精练步骤(即迭代)。
对于该批中的每个训练对,***对噪声输出进行采样,该噪声输出包括训练网络输出中的每个值的相应噪声值(706)。例如,***可以从噪声分布中采样噪声输出。在特殊示例中,噪声分布可以是高斯噪声分布(诸如N(0,I),其中I是具有维度n×n的单位矩阵,并且其中n是训练网络输出中的值的数量)。
对于该批中的每个训练对,***根据噪声输出和相对应的训练网络输出生成经修改的训练网络输出(708)。***可以组合噪声输出和相对应的训练网络输出,以生成经修改的训练网络输出。例如,***可以将经修改的训练网络输出生成为
对于该批中的每个训练对,***通过根据网络参数的当前值使用噪声估计神经网络处理模型输入来生成训练噪声输出(710),该模型输入包括(1)经修改的训练网络输出、(2)训练网络输入、以及(3)迭代特定数据。噪声估计神经网络可以处理模型输入以生成训练噪声输出,如图2的过程中所描述的那样。例如,迭代特定标准可以包括总计噪声水平
该***根据用于该训练批的目标函数的梯度来确定对噪声估计网络的网络参数的更新(712)。该***可以确定目标函数相对于每个训练对的噪声估计网络的神经网络参数的梯度,并且然后使用各种适当的优化方法中的任何一种(诸如具有动量的随机梯度下降或ADAM)利用梯度(例如,梯度的线性组合,诸如梯度的平均值)更新神经网络参数的当前值。
目标函数可以测量噪声输出和由每个训练对的噪声估计网络生成的训练噪声输出之间的误差。例如,对于特殊训练对,目标函数可以包括损失项,该损失项将噪声输出和训练噪声输出之间的L1距离测量为
***可以对多个批(例如,多批训练网络输入-训练网络输出对)重复执行步骤(702)至(712)。
本说明书结合***和计算机程序组件使用术语“被配置为”。一个或多个计算机的***被配置为执行特殊操作或动作意味着该***已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作时使得该***执行这些操作或动作。一个或多个计算机程序被配置为执行特殊操作或动作意味着一个或多个程序包括指令,当由数据处理装置执行时,这些指令使得该装置执行这些操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路***中、有形体现的计算机软件或固件中、计算机硬件(包括本说明书中公开的结构和它们的结构等同物)中,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在有形-非易失性存储介质上以便由数据处理装置执行或用于控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备,或者它们中的一个或多个的组合。替代性地或附加地,程序指令可以被编码在人工-生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以编码信息,以便于传输到合适的接收器装置以由数据处理装置执行。
术语“数据处理装置”指的是数据处理硬件,并且涵括用于处理数据的各种装置、设备和机器,作为示例包括可编程处理器、计算机或多个处理器或计算机。装置还可以是或还包括专用逻辑电路***,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。
计算机程序(也可以称为或描述为程序、软件、软件应用、小程序、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且其可以以任何形式部署,包括作为独-立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元。程序可以但不需要对应于文件***中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或多个模块、子-程序或部分代码的文件)。可以部署计算机程序以将其在一个计算机上或在位于一个站点处或分布在跨多个站点并通过数据通信网络互连的多个计算机上执行。
在本说明书中,术语“引擎”被广泛地用来指被编程来执行一个或多个特定功能的基于软件的***、子***或过程。一般而言,引擎将被实施为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在某些情况下,一个或多个计算机将专用于特殊引擎;在其他情况下,可以在相同的一个或多个计算机上安装和运行多个引擎。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该可编程计算机执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路***(例如FPGA或ASIC)或者由专用逻辑电路***和一个或多个编程计算机的组合来执行。
适于执行计算机程序的计算机可以基于通用或专用微处理器或两者、或者任何其他种类的中央处理单元。一般而言,中央处理单元将从只-读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路***来补充或并入其中。一般而言,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁-光盘或光盘),或者被可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传送到一个或多个大容量存储设备,或者进行两者。然而,计算机不需要具有这样的设备。而且,计算机可以嵌入到另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动器),仅举几个例子。
适于存储计算机程序指令和数据的计算机-可读介质包括所有形式的非-易失性存储器、介质和存储器设备,作为示例包括例如EPROM、EEPROM和闪存设备的半导体存储器设备、磁盘(例如内部硬盘或可移动盘)、磁-光盘、和CDROMROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有用于向用户显示信息的显示设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器以及用户可以通过其向计算机提供输入的键盘和指示设备(例如鼠标或轨迹球)。其他类型的设备也可以被用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学输入、语音输入或触觉输入。此外,计算机可以通过向用户使用的设备传送文档和从该设备接收文档来与用户交互,例如通过响应于从web浏览器接收的请求向用户的用户设备上的web浏览器传送网页。此外,计算机可以通过向个人设备(例如,运行消息传递应用的智能电话)发送文本消息或其他形式的消息并依次接收来自用户的响应消息来与用户交互。
用于实施机器学习模型的数据处理装置还可以包括例如用于处理机器学习训练或生产的通用和计算密集型部分(即推理、工作负载)的专用硬件加速器单元。
机器学习模型可以使用机器学习框架来实施和部署,例如TensorFlow框架、微软认知工具包框架、Apache Singa框架或Apache MXNet框架。
本说明书中描述的主题的实施例可以在计算***中实施,该计算***包括例如作为数据服务器的后-端组件、或者包括中间件组件(例如应用服务器)、或者包括前端组件(例如具有用户可以通过其与本说明书中描述的主题的实现方式交互的图形用户界面、Web浏览器或小程序的客户端计算机)或者一个或多个这样的后-端、中间件或前-端组件的任何组合。***的组件可以通过任何形式或介质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(LAN)、广域网(WAN),例如因特网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系由于在各个计算机上运行并且彼此具有的客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器向用户设备传输数据,例如HTML页面,例如,为了向与充当客户端的设备交互的用户显示数据并从该用户接收用户输入。可以在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。
虽然本说明书包含许多具体的实施细节,但是这些不应该被解释为对任何发明的范围或可能要求保护的范围的限制,而是对特定发明的特定实施例特定的特征的描述。本说明书中在分离的实施例中的上下文中描述的某些特征也可以在单一实施例中以组合的方式实施。相反,在单一实施例的上下文中描述的各种特征也可以被分开地在多个实施例中或在任何合适的子组合中实施。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至由此最初要求保护这些特征,但是在某些情况下来自要求保护的组合的一个或多个特征可以从该组合中删去,并且要求保护的组合可以涉及子组合或子组合的变形。
类似地,虽然在附图中以特殊的顺序描绘了操作并且在权利要求中以特殊顺序阐述操作,但是这不应该被理解为要求以所示的特殊的顺序或按顺次的顺序来执行这些操作、或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可以是有利的。而且,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解的是,描述的程序组件和***总体上可以在单一软件产品中集成在一起或者被打包到多个软件产品当中。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中列举的动作可以以不同的顺序执行,并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定要求所示的特殊的顺序或顺次的顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。
Claims (24)
1.一种生成包括以网络输入为条件的多个输出的最终网络输出的方法,所述方法包括:
获得所述网络输入;
初始化当前网络输出;以及
通过在多个迭代中的每个迭代下更新所述当前网络输出来生成所述最终网络输出,其中每个迭代对应于相应的噪声水平,并且其中所述更新包括在每个迭代下:
使用被配置为处理模型输入以生成噪声输出的噪声估计神经网络来处理用于所述迭代的所述模型输入,所述模型输入包括(i)所述当前网络输出和(ii)所述网络输入,其中所述噪声输出包括所述当前网络输出中每个值的相应的噪声估计;以及
使用所述噪声估计和所述迭代的噪声水平来更新所述当前网络输出。
2.根据权利要求1所述的方法,其中,所述网络输入是音频段的频谱图,并且其中,所述最终网络输出是所述音频段的波形。
3.根据权利要求2所述的方法,其中,所述音频段是语音段。
4.根据权利要求3所述的方法,其中,已经通过文本到语音模型从文本段或所述文本段的语言特征生成所述频谱图。
5.根据权利要求2至4中的任一项所述的方法,其中,所述频谱图是梅尔频谱图或对数梅尔频谱图。
6.根据权利要求1所述的方法,其中:
所述网络输入是对象的类,所述对象的类指定要生成的图像对象的类,并且所述网络输出是所述对象的类的所生成的图像,或者
所述网络输入是文本的序列,以及所述网络输出是反映所述文本的图像,或者
所述网络输入是图像,以及所述网络输出是表征所述图像的输入图像的数字嵌入,或者
所述网络输入是图像,以及所述网络输出标识所述输入图像中描绘特定类型的对象的位置,或者
所述网络输入是图像,以及所述网络输入是将所述输入图像的多个像素中的每一个分配给来自类别集合中的类别的分割输出。
7.根据任一前述权利要求所述的方法,其中,使用所述噪声估计和所述迭代的噪声水平来更新所述当前网络输出包括:
根据至少所述噪声估计和对应于所述迭代的噪声水平来生成所述迭代的更新;以及
从所述当前网络输出中减去所述更新以生成初始更新的网络输出。
8.根据权利要求7所述的方法,其中,更新所述当前网络输出还包括:
基于所述迭代的噪声水平修改所述初始更新的网络输出,以生成经修改的初始更新的网络输出。
9.根据权利要求8所述的方法,其中,对于最后的迭代,所述经修改的初始更新的网络输出是所述最后的迭代之后的更新的网络输出,并且对于所述最后的迭代之前的每个迭代,所述最后的迭代之后的更新的网络输出通过向所述经修改的初始更新的网络输出添加噪声而生成。
10.根据任一前述权利要求所述的方法,其中,初始化所述当前网络输出包括:从相对应的噪声分布中采样所述当前网络输出的多个初始值中的每一个。
11.根据任一前述权利要求所述的方法,其中,每个迭代下的所述模型输入包括对于每个迭代不同的迭代特定数据。
12.根据权利要求11所述的方法,其中,每个迭代的所述模型输入包括对应于所述迭代的所述噪声水平。
13.根据权利要求11所述的方法,其中,每个迭代的所述模型输入包括从对应于该迭代以及对应于在所述多个迭代中该迭代之后的任何迭代的噪声水平生成的该迭代的总计噪声水平。
14.根据权利要求11至13中的任一项所述的方法,其中,所述噪声估计神经网络包括:
噪声生成神经网络,所述噪声生成神经网络包括多个噪声生成神经网络层并被配置为处理所述网络输入以将所述网络输入映射到所述噪声输出;以及
网络输出处理神经网络,所述网络输出处理神经网络包括多个网络输出处理神经网络层,被配置为处理所述当前网络输出以生成所述当前网络输出的替代性表示,其中:
所述噪声生成神经网络层中的至少一个接收输入,所述输入从(i)所述噪声生成神经网络层中的另一噪声生成神经网络层的输出、(ii)相对应的网络输出处理神经网络层的输出以及(iii)所述迭代的迭代特定数据导出。
15.根据权利要求14所述的方法,其中,所述最终网络输出具有比所述网络输入更高的维度,并且其中,所述替代性表示具有与所述网络输入相同的维度。
16.根据权利要求14或15所述的方法,其中,所述噪声估计神经网络包括对应于所述至少一个噪声生成神经网络层中的每一个的相应的特征线性调制FiLM模块,其中对应于给定噪声生成神经网络层的所述FiLM模块被配置为处理(i)所述噪声生成神经网络层中的另一个噪声生成神经网络层的输出、(ii)所述相对应的网络输出处理神经网络层的输出以及(iii)所述迭代的迭代特定数据以生成至所述噪声生成神经网络层的输入。
17.根据权利要求16所述的方法,其中,对应于所述给定噪声生成神经网络层的所述FiLM模块被配置为:
根据(ii)所述相对应的网络输出处理神经网络层的输出和(iii)所述迭代的迭代特定数据生成缩放向量和偏差向量;以及
通过对(i)所述噪声生成神经网络层中的另一个噪声生成神经网络层的输出应用仿射变换来生成至所述给定噪声生成神经网络层的输入。
18.根据权利要求14至17中的任一项所述的方法,其中,所述噪声生成神经网络层中的至少一个包括激活函数层,所述激活函数层将非线性激活函数应用于至所述激活函数层的输入。
19.根据权利要求18所述的方法,其中,对应于所述激活函数层的所述噪声生成神经网络层中的另一个噪声生成神经网络层是残差连接层或卷积层。
20.一种训练根据权利要求11至19中的任一项所述的噪声估计神经网络的方法,所述方法包括重复执行以下操作:
获得训练网络输入和相对应的训练网络输出;
从包括所有所述多个迭代的迭代特定数据的集合中选择迭代特定数据;
对包括所述训练网络输出中的每个值的相应噪声值的噪声输出进行采样;
根据所述噪声输出和所述相对应的训练网络输出生成经修改的训练网络输出;
使用所述噪声估计神经网络处理模型输入以生成训练噪声输出,所述模型输入包括(i)所述经修改的训练网络输出、(ii)所述训练网络输入以及(iii)所述迭代特定数据;以及
根据目标函数的梯度确定对所述噪声估计神经网络的网络参数的更新,所述目标函数测量所采样的噪声输出和所述训练噪声输出之间的误差。
21.根据权利要求20所述的方法,其中,所述目标函数测量所采样的噪声输出和所述训练噪声输出之间的距离。
22.根据权利要求21所述的方法,其中,所述距离是L1距离。
23.一种***,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时可操作为使所述一个或多个计算机执行任一前述权利要求所述的相应方法的操作。
24.一种编码有指令的计算机存储介质,所述指令在由一个或多个计算机执行时使得所述一个或多个计算机执行任一前述权利要求所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063073867P | 2020-09-02 | 2020-09-02 | |
US63/073,867 | 2020-09-02 | ||
PCT/US2021/048931 WO2022051548A1 (en) | 2020-09-02 | 2021-09-02 | Conditional output generation through data density gradient estimation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115803805A true CN115803805A (zh) | 2023-03-14 |
Family
ID=78078366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180045795.6A Pending CN115803805A (zh) | 2020-09-02 | 2021-09-02 | 通过数据密度梯度估计的条件输出生成 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230325658A1 (zh) |
EP (1) | EP4150615A1 (zh) |
JP (1) | JP2023540834A (zh) |
KR (1) | KR20230017286A (zh) |
CN (1) | CN115803805A (zh) |
WO (1) | WO2022051548A1 (zh) |
-
2021
- 2021-09-02 KR KR1020227045943A patent/KR20230017286A/ko not_active Application Discontinuation
- 2021-09-02 CN CN202180045795.6A patent/CN115803805A/zh active Pending
- 2021-09-02 EP EP21786651.6A patent/EP4150615A1/en active Pending
- 2021-09-02 JP JP2022580973A patent/JP2023540834A/ja active Pending
- 2021-09-02 US US18/010,426 patent/US20230325658A1/en active Pending
- 2021-09-02 WO PCT/US2021/048931 patent/WO2022051548A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
KR20230017286A (ko) | 2023-02-03 |
WO2022051548A1 (en) | 2022-03-10 |
EP4150615A1 (en) | 2023-03-22 |
JP2023540834A (ja) | 2023-09-27 |
US20230325658A1 (en) | 2023-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7213913B2 (ja) | ニューラルネットワークを使用したオーディオの生成 | |
US20210004663A1 (en) | Neural network device and method of quantizing parameters of neural network | |
CN108630190B (zh) | 用于生成语音合成模型的方法和装置 | |
US20200104640A1 (en) | Committed information rate variational autoencoders | |
CN111386536A (zh) | 语义一致的图像样式转换 | |
CN112699991A (zh) | 用于加速神经网络训练的信息处理的方法、电子设备和计算机可读介质 | |
US20210089909A1 (en) | High fidelity speech synthesis with adversarial networks | |
US11915121B2 (en) | Simulator-assisted training for interpretable generative models | |
CN109800730B (zh) | 用于生成头像生成模型的方法和装置 | |
CN117495714B (zh) | 基于扩散生成先验的人脸图像复原方法、装置及可读介质 | |
US20220044109A1 (en) | Quantization-aware training of quantized neural networks | |
CN111587441B (zh) | 使用以比特值为条件的回归神经网络生成输出示例 | |
JP6647475B2 (ja) | 言語処理装置、言語処理システムおよび言語処理方法 | |
CN113409307A (zh) | 基于异质噪声特性的图像去噪方法、设备及介质 | |
CN115803805A (zh) | 通过数据密度梯度估计的条件输出生成 | |
CN113780534A (zh) | 网络模型的压缩方法、图像生成方法、装置、设备及介质 | |
CN113822321A (zh) | 生成模型训练方法和装置、噪声尺度生成方法和计算设备 | |
CN114730380A (zh) | 神经网络的深度并行训练 | |
US20230252974A1 (en) | End-to-end speech waveform generation through data density gradient estimation | |
EP4407520A1 (en) | Noise scheduling for diffusion neural networks | |
US20240256862A1 (en) | Noise scheduling for diffusion neural networks | |
CN118056208A (zh) | 具有变换的激活功能层的神经网络 | |
CN117787380A (zh) | 模型获取方法、装置、介质及设备 | |
JP2024521621A (ja) | 潜在的な埋込みのセットに対するクエリ埋込みのクロスアテンションによる、ニューラルネットワーク出力の生成 | |
CN115470898A (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 |