CN114503191A - 利用对抗网络的高保真度语音合成 - Google Patents

利用对抗网络的高保真度语音合成 Download PDF

Info

Publication number
CN114503191A
CN114503191A CN202080068264.4A CN202080068264A CN114503191A CN 114503191 A CN114503191 A CN 114503191A CN 202080068264 A CN202080068264 A CN 202080068264A CN 114503191 A CN114503191 A CN 114503191A
Authority
CN
China
Prior art keywords
neural network
input
training
audio
output
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
CN202080068264.4A
Other languages
English (en)
Inventor
米科拉伊·宾科夫斯基
凯伦·西蒙尼扬
杰弗里·多纳休
艾丹·克拉克
桑德尔·艾蒂恩内·利·迪勒曼
埃里克·康拉德·埃尔森
路易斯·卡洛斯·科博·鲁斯
诺曼·卡萨格兰德
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 CN114503191A publication Critical patent/CN114503191A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • 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/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2115Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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
    • 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
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于使用生成神经网络来生成输出音频示例。这些方法中的一种方法包括:获得训练调节文本输入;使用前馈生成神经网络来处理包括所述训练调节文本输入的训练生成输入,以生成训练音频输出;使用多个判别器中的每个判别器来处理所述训练音频输出,其中,所述多个判别器包括一个或多个有条件判别器和一个或多个无条件判别器;通过组合所述多个判别器的相应预测来确定第一组合预测;以及确定对于所述前馈生成神经网络的多个生成参数的当前值的更新,以增加所述第一组合预测中的第一误差。

Description

利用对抗网络的高保真度语音合成
技术领域
本说明书涉及使用对抗神经网络来生成音频数据。
背景技术
神经网络是利用非线性单元的一个或多个层来预测对于接收到的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作到网络中的一个或多个其它层(即,一个或多个其它隐藏层、该输出层、或者二者)的输入。网络的每个层根据相应参数集的当前值从接收到的输入生成输出。
发明内容
本说明书描述了一种被实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统,该系统使用生成神经网络来生成输出音频示例。生成神经网络已经通过训练被配置成接收网络输入,该网络输入包括表征输入文本的调节输入。生成神经网络处理调节输入以生成对应于输入文本的音频数据,例如表征说出输入文本的说话者的音频数据。
本说明书还描述了用于训练生成神经网络的训练系统。一般来说,训练系统使用一组一个或多个判别神经网络以对抗方式训练生成神经网络。即,每个判别器神经网络处理由生成神经网络生成的音频示例,并且预测音频示例是音频数据的真实(例如,人类说话者的录音)示例还是音频数据的合成示例,即,音频示例是否由生成神经网络生成。在本说明书中,判别器神经网络也被简称为“判别器”。
在一些实现方式中,判别器组包括有条件判别器和无条件判别器两者。有条件判别器处理音频示例和调节文本输入两者以生成预测,而无条件判别器仅处理音频示例而不处理调节文本输入以生成预测。在一些实现方式中,每个判别器随机地对音频示例的不同部分进行采样并且处理随机样本以生成预测。
训练系统可以组合判别器组的相应预测以生成组合预测,并且基于组合预测的误差来更新前馈生成神经网络和每个判别器两者的参数。
本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。
在本说明书中描述的一些实现方式中,生成神经网络可以是前馈生成神经网络。即,生成神经网络可以处理网络输入以在单个前向遍(forward pass)中生成输出音频示例。如本说明书中所述的前馈生成神经网络可以比依赖于自回归生成神经网络的现有技术更快地生成输出示例。自回归神经网络通过在每个时间步处执行前向遍来生成跨多个时间步的输出示例。在给定时间步处,自回归神经网络生成将被包括在输出音频示例中的新输出样本,该新输出样本根据已经生成的输出样本被调节。该过程可能消耗大量的计算资源并且花费大量的时间。另一方面,前馈生成神经网络可以在单个前向遍中生成输出示例,同时保持所生成的输出示例的高质量。这大大减少了生成输出音频示例所需的时间和计算资源量。
其它现有技术依赖于通过使用概率密度提取自回归模型而训练的可逆前馈神经网络。以此方式的训练允许可逆前馈神经网络生成听起来逼真并且对应于输入文本的语音信号,而无需对数据中出现的每个可能变化进行建模。如本说明书中所述的前馈生成神经网络也可以生成忠实地遵循输入文本的逼真音频样本,而不必对音频数据的数据分布进行明确建模,但是可以在没有可逆前馈神经网络的提取和可逆性要求的情况下这样做。
使用有条件判别器和无条件判别器两者向如本说明书中所述的前馈生成神经网络提供各种优点。有条件判别器可以分析所生成的音频在多大程度上对应于由调节文本输入所表征的输入文本,从而允许前馈生成神经网络学习生成遵循输入文本的音频示例。然而,如以下更详细描述的,由有条件判别器取得的随机样本的端点需要与调节文本输入的输入时间步对准,以便使有条件判别器评估调节文本输入(以调节文本输入的输入时间步的频率)和所生成的音频(以音频示例的输出时间步的频率)。作为特定示例,如果每个输入时间步对应于120个输出时间步,则有条件判别器可以执行的采样被限制为120倍的较低频率。另一方面,无条件判别器不限于这种采样频率约束,因此暴露于更多样的音频样本。
使用仅处理音频数据的样本的判别器可以允许系统在较低维度分布之间进行判别。为每个判别器指配特定窗口大小可以允许判别器对音频样本的不同频率进行操作,从而增加由前馈生成神经网络生成的音频样本的真实性。使用仅处理音频数据的样本的判别器还可以减少判别器的计算复杂度,这可以允许系统更快地训练前馈生成神经网络。
使用膨胀卷积神经网络层还可以拓宽前馈生成神经网络和判别器的感受域,从而允许相应网络学习音频示例中在各种频率(例如,长期频率和短期频率)处的依赖性。
本说明书的主题的一个或多个实施例的细节在附图和下面的描述中阐述。主题的其它特征、方面和优点将从以下描述、附图和权利要求书中变得显而易见。
附图说明
图1是用于训练生成神经网络的示例训练系统的图。
图2是示例生成器块的图。
图3是示例判别器神经网络系统的图。
图4是示例无条件判别器块和示例有条件判别器块的图。
图5是用于训练生成神经网络的示例过程的流程图。
各附图中同样的参考数字和标记指示同样的元素。
具体实施方式
本说明书描述了一种训练生成神经网络使用调节文本输入来生成输出音频示例的系统。该系统可以使用包括一个或多个判别器的判别器神经网络系统以对抗方式训练生成神经网络。
图1是用于训练生成神经网络110的示例训练系统100的图。训练系统100是在一个或多个位置的一个或多个计算机上被实现为计算机程序的系统的示例,在训练系统100中可以实现下面描述的系统、组件和技术。
训练系统100包括生成神经网络110、判别器神经网络系统120和参数更新系统130。训练系统100被配置成训练生成神经网络110以接收调节文本输入102并且处理调节文本输入102以生成音频输出112。在一些实现方式中,生成神经网络110是前馈神经网络,即,生成神经网络110在单个前向遍中生成音频输出112。
调节文本输入102表征输入文本,并且音频输出112描绘对应于输入文本的语音。在一些实现方式中,调节文本输入102包括输入文本本身,例如输入文本的字符级嵌入或单词级嵌入。替代地或附加地,调节文本输入可以包括表征文本输入的语言学特征。例如,调节文本输入可以包括用于输入时间步序列中的每个输入时间步的语言学特征的相应向量。作为特定示例,每个输入时间步的语言学特征可以包括i)音素和ii)该输入时间步处的文本的持续时间。语言学特征还可以包括音高信息;例如,音高可以由输入时间步的对数基频logF0表示。
生成神经网络110可以具有任何适当的神经网络架构。作为特定示例,生成神经网络110可以包括被称为”生成器块“的卷积神经网络层的组的序列。生成器块序列中的第一生成器块可以接收调节文本输入(或调节文本输入的嵌入)作为输入,并且生成块输出。生成器块序列中的每个后续生成器块可以接收由生成器块序列中的前一个生成器块生成的块输出作为输入,并且生成后续块输出。下面参照图2更详细地描述生成器块。
在一些实现方式中,生成神经网络110还可以接收噪声输入104作为输入。例如,噪声输入104可以从预先确定的分布(例如正态分布)随机采样。噪声输入104可以确保音频输出112中的可变性。
在一些实现方式中,生成神经网络110还可以接收音频输出112应当属于的类别106的标识作为输入。类别106可以是可能类别集中的成员。例如,类别106可以对应于音频输出112应该听起来像的特定说话者。即,音频输出112可以描绘说出输入文本的特定说话者。
音频输出112可以包括在输出时间步序列中的每个输出时间步处的音频波的音频样本。例如,对于每个输出时间步,音频输出112可以包括音频波的幅度值。在一些实现方式中,幅度值可以是压缩或压扩的幅度值。
一般来说,输入时间步序列和输出时间步序列表征相同的时间段,例如1、2、5或10秒。作为特定示例,如果时间段是2秒,则调节输入102可以包括400个输入时间步(导致200Hz的频率),而音频输出112可以包括48000个时间步(导致24kHz的频率)。因此,生成神经网络110可以针对每个单个输入时间步生成针对多个输出时间步(在这种情况下,120)的音频样本。
在生成神经网络110包括一个或多个生成器块序列的一些实现方式中,由于输入时间步和输出时间步的频率差,生成神经网络110中的生成器块中的一个或多个生成器块可以包括一个或多个相应上采样层。每个上采样层的层输出的维数大于上采样层的层输入的维数。生成神经网络110中的所有生成器块上的上采样的总程度可以与输出时间步和输入时间步的频率的比率成比例。
在生成神经网络110生成音频输出112之后,训练系统100可以向判别器神经网络系统120提供音频输出112。训练系统100可以训练判别器神经网络系统120来处理音频样本并且生成音频样本是真实的(即,在真实世界中捕获的音频样本)还是合成的(即,已经由生成神经网络110生成的音频样本)的预测122。
判别器神经网络系统120可以具有任何适当的神经网络架构。作为特定示例,判别器神经网络系统120可以包括一个或多个判别器,每个判别器处理音频输出112并且预测音频输出112是真实的还是合成的。每个判别器可以包括卷积神经网络层的组的序列,称为“判别器块”。下文参考图3描述示例判别器块。
在一些实现方式中,判别器神经网络系统120的一个或多个判别器包括一个或多个有条件判别器和一个或多个无条件判别器。有条件判别器接收i)由生成神经网络110生成的音频输出112和ii)生成神经网络110用来生成音频输出112的调节文本输入102作为输入。无条件判别器接收由生成神经网络110生成的输出音频112作为输入,但是不接收调节文本输入102作为输入。因此,有条件判别器除了测量音频输出112的一般真实性之外,还可以测量音频输出112在多大程度上对应于由调节文本输入102表征的输入文本,而无条件判别器仅测量音频输出112的一般真实性。下面参考图4更详细地描述示例判别器神经网络系统。
判别器神经网络系统120可以组合一个或多个判别器的相应预测以生成预测122。
参数更新系统130可以获得由判别器神经网络系统120生成的预测122,并且根据预测122中的误差来确定参数更新132。训练系统可以将参数更新132应用于生成神经网络110和判别器神经网络系统120的参数。即,训练系统100可以同时训练生成神经网络110和判别器神经网络系统120中的判别器。
一般来说,参数更新系统130确定对于生成神经网络110的参数的参数更新132,以便增加预测122中的误差。例如,如果判别器神经网络系统120正确地预测音频输出112是合成的,则参数更新系统130生成对于生成神经网络110的参数的参数更新132,以便改进音频输出112的真实性,使得判别器神经网络系统120可能不正确地预测下一音频输出112为真实的。
相反,参数更新系统130确定对于判别器神经网络系统120的参数的参数更新132,以便减小预测122中的误差。例如,如果判别神经网络系统120错误地预测音频输出112是真实的,则参数更新系统130生成对于判别神经网络系统120的参数的参数更新132,以便改进判别神经网络系统120的预测122。
在判别器神经网络系统120包括多个不同判别器的一些实现方式中,参数更新系统130使用由判别器神经网络系统120输出的预测122来确定用于每个判别器的参数更新132。即,参数更新系统130使用相同组合预测122来为每个特定判别器确定参数更新132而不管由特定判别器生成的相应预测如何,其中所述组合预测122是通过组合所述多个判别器的相应预测而生成的。
在判别器神经网络系统120包括多个不同判别器的一些其它实现方式中,参数更新系统130使用由每个判别器生成的相应预测来确定用于该判别器的参数更新132。即,参数更新系统130生成用于特定判别器的参数更新132,以便改进由该特定判别器生成的相应预测(这将间接地改进由判别器神经网络系统120输出的组合预测122,因为组合预测122是根据由多个判别器生成的相应预测而生成的)。
在训练期间,训练系统100还可以向判别器神经网络系统120提供真实音频样本108。判别器神经网络系统120中的每个判别器可以处理真实音频样本108以预测真实音频样本108是音频数据的真实示例还是音频数据的合成示例。再次,判别器神经网络系统120可以组合每个判别器的相应预测以生成第二预测122。参数更新系统130然后可以根据第二预测122中的误差来确定对于判别器神经网络系统120的参数的第二参数更新132。一般来说,训练系统100不使用与真实音频样本108相对应的第二预测来更新生成神经网络110的参数。
在生成神经网络110已经被训练成生成属于类别106的合成音频输出112的一些实现方式中,判别器神经网络系统120不接收所接收到的(真实的或合成的)音频示例所属于的类别106的标识作为输入。然而,由判别器神经网络系统120接收到的真实音频样本108可以包括属于该类别集中的每个类别106的音频样本。
作为特定示例,参数更新系统130可以使用Wasserstein损失函数来确定参数更新132,其是:
D(x)-D(G(z)),
其中D(x)是由判别器神经网络系统120指配的真实音频样本108为真实的似然性,G(z)是由生成神经网络110生成的合成音频输出112,并且D(G(z))是由判别器神经网络系统120指配的合成音频输出112为真实的似然性。生成神经网络110的目的是通过最大化D(G(z)),即通过使判别器神经网络系统120预测合成音频输出112是真实的,来最小化Wasserstein损失。判别器神经网络系统120的目的是最大化Wasserstein损失,即正确地预测真实音频示例和合成音频示例。
作为另一特定示例,参数更新系统130可以使用以下损失函数:
log(D(x))+log(1-D(G(z)))
其中再一次,生成神经网络110的目标是使损失最小化,而判别器神经网络系统120的目标是使损失最大化。
训练系统100可以通过生成神经网络110和判别器神经网络系统120两者来反向传播损失,从而同时训练两个网络。
图2是示例生成器块200的图。生成器块200可以是生成器神经网络(例如图1中描绘的生成器神经网络110)的组件,其被配置成处理调节文本输入并且生成音频输出。生成器神经网络可以包括生成器块序列。在一些实现方式中,生成器块序列中的每个生成器块具有相同的架构。在一些其它实现方式中,一个或多个生成器块具有与生成器块序列中的其它生成器块不同的架构。
生成器块被配置成接收i)块输入202和ii)噪声输入204作为输入,并且生成块输出206。在其中生成器神经网络还接收音频输出应当属于的类别的标识作为输入的实现方式中,生成器神经网络的一个或多个生成器块还可以接收类别的标识作为输入;为了简单起见,这从图2中省略。
在一些实现方式中,生成器块序列中的第一生成器块接收调节文本输入作为块输入202。在一些其它实现方式中,生成器块序列中的第一生成器块接收由生成器神经网络的一个或多个初始神经网络层生成的调节文本输入的嵌入。生成器块序列中的每个后续生成器块接收由生成器块序列中的前一个生成器块生成的块输出作为块输入202。
时间维度 频率 信道数量
语言学特征 400 200Hz 567
输入卷积层 400 200Hz 768
G-块 400 200Hz 768
G-块 400 200Hz 768
G-块,上采样x2 800 400Hz 384
G-块,上采样x2 1600 800Hz 384
G-块,上采样x2 3200 1600Hz 384
G-块,上采样x3 9600 4800Hz 192
G-块,上采样x5 48000 24kHz 96
输出卷积层 48000 24kHz 1
表1:示例生成器神经网络架构
表1描述了生成器神经网络的示例架构。表1中所示的示例仅用于说明性目的,并且生成器神经网络的许多不同配置是可能的。生成器神经网络的输入是对应于两秒音频(200Hz的频率)的400个输入时间步中的每个输入时间步的语言学特征的向量。对应于相应输入时间步的语言学特征的每个向量包括567个通道。
生成器神经网络包括输入卷积神经网络层,该输入卷积神经网络层生成语言学特征的嵌入以提供给生成器块序列中的第一生成器块。输入卷积神经网络层将每个时间步的通道数量从567增加到768。在一些实现方式中,生成器神经网络具有多个输入神经网络层。
生成器神经网络包括七个生成器块(“G块”),尽管通常生成器神经网络可以包括任何数量的生成器块。前两个生成块不包括任何上采样层,因此块输出的时间维度与块输入的时间维度相同。接下来的三个生成块各自通过对它们相应的块输入进行2x上采样,使得第五生成器块的块输出具有3200的时间维度(在1600Hz的频率处)。第六生成器块通过对其块输入进行3x上采样,从而生成具有9600的时间维度(在4800Hz的频率处)的块输出。最后生成器块通过对其块输入进行5x上采样,从而生成具有48000的时间维度(在24kHz的频率处)的块输出。生成器块序列还将每个时间步的通道数量从768减少到96。
生成器神经网络包括输出卷积神经网络层,该输出卷积神经网络层处理生成器块序列中的最后生成器块的块输出并且生成生成器神经网络的音频输出。音频输出包括48000个输出时间步,并且每个输出时间步具有表示输出时间步处的音频波的幅度的单个通道。在一些实现方式中,输出卷积神经网络层包括激活函数,例如,双曲正切激活函数。在一些实现方式中,生成器神经网络具有多个输出神经网络层。
返回参考图2,生成器块200使用神经网络层的第一堆栈212来处理块输入202。神经网络层的第一堆栈212包括批量归一化层212a、激活层212b、上采样层212c和卷积神经网络层212d。
在一些实现方式中,批量归一化层212a是根据噪声输入204来调节的有条件批量归一化层。例如,有条件批量归一化层212a可以根据由生成器块200的线性层214生成的噪声输入204的线性嵌入被调节。在一些实现方式中,线性层214组合(例如,连接(concatenates))i)噪声输入204的线性嵌入和ii)输出音频应当属于的类别的标识(例如,输出音频应当听起来像的特定说话者),以生成组合表示并且将该组合表示提供给有条件批量归一化层212a。例如,类别标识可以被编码为独热向量,即,除了与具有值1的特定类别相对应的单个元素之外其元素都具有值0的向量。有条件批量归一化层212a然后可以根据组合表示被条件。
在一些实现方式中,激活层212b可以是ReLU激活层。
对于对块输入202进行上采样的生成器块,例如表1中列出的最后五个生成器块,上采样层212c通过对应上采样因子p对激活层的输出进行上采样。即,上采样层212c生成在时间维度上是层输入的p倍的层输出。例如,上采样层212c可以生成层输出,该层输出对于层输入的每个元素包括层输入的p个连续副本。作为另一示例,上采样层212c可以线性地对层输入中的每对连续元素进行插值,以在层输出中生成(p-1)个相应的附加元素。作为另一示例,上采样层212c可以对层输入的元素执行高阶插值以生成层输出。尽管图2中描绘的生成器块200具有单个上采样层212c,但通常生成器块可以在整个生成器块中具有任何数量的上采样层。
卷积神经网络层212d处理包括对于每个元素的M个通道的层输入,并且生成包括对于每个输出的N个通道的层输出。M对应于块输入202中的通道数量,而N对应于块输出206中的通道数量。在一些情况下,M=N。尽管图2中描绘的示例示出了生成器块200的第一卷积神经网络层212d处理具有M个通道的层输入以生成具有N个通道的层输出而每个后续卷积神经网络层保留通道的数量,但是通常生成器块的任何一个或多个卷积层可以改变通道的数量以产生具有N个通道的块输出。
生成器块200包括神经网络层的第二堆栈216,该第二堆栈处理神经网络层的第一堆栈212的输出。神经网络层的第二堆栈216包括批量归一化层216a、激活层216b和卷积神经网络层216c。
如上所述,批量归一化层216a可以是有条件批量归一化层,该有条件批量归一化层根据由线性层218生成的噪声输入204的线性嵌入被调节。一般来说,生成器块200的每个线性层214、218、234和238具有不同的参数,因此生成噪声输入204的不同线性嵌入。
生成器块200包括第一跳过连接226,该第一跳过连接将神经网络层的第一堆栈212的输入与神经网络层的第二堆栈216的输出组合。例如,第一跳过连接226可以将神经网络层的第一堆栈212的输入与神经网络层的第二堆栈216的输出相加或连接。
在神经网络层的第一堆栈212或第二堆栈216包括上采样层(例如,上采样层212c)的情况下,生成器块可以包括在第一跳过连接226之前的另一上采样层222,使得到第一跳过连接226的两个输入具有相同的维度。
在神经网络层的第一堆栈212或第二堆栈216包括改变层输入的通道数量的卷积神经网络层(例如,卷积神经网络层212d)的情况下,生成器块可以包括在第一跳过连接226之前的另一卷积神经网络层224,使得第一跳过连接226的两个输入具有相同数量的通道。
生成器块200包括神经网络层的第三堆栈232,该第三堆栈处理第一跳过连接226的输出。神经网络层的第三堆栈232包括批量归一化层232a、激活层232b和卷积神经网络层232c。如上所述,批量归一化层232a可以是有条件批量归一化层,该有条件批量归一化层根据由线性层234生成的噪声输入204的线性嵌入被调节。
生成器块200包括神经网络层的第四堆栈236,该第四堆栈处理神经网络层的第三堆栈232的输出。神经网络层的第四堆栈236包括批量归一化层236a、激活层236b和卷积神经网络层236c。如上所述,批量归一化层236a可以是有条件批量归一化层,该有条件批量归一化层根据由线性层238生成的噪声输入204的线性嵌入被调节。
生成器块200包括第二跳过连接242,该第二跳过连接例如通过相加或连接来组合神经网络层的第三堆栈232的输入和神经网络层的第四堆栈的输出。生成器模块200的块输出206是第二跳过连接242的输出。
在一些实现方式中,生成器块200的一个或多个卷积神经网络层是膨胀卷积神经网络层。膨胀卷积神经网络层是其中通过跳过具有由膨胀卷积的膨胀值定义的某个步的输入值而在大于滤波器的长度的区域上应用滤波器的卷积层。在一些实现方式中,生成器块200可以包括具有增加的膨胀的多个膨胀卷积神经网络层。例如,对于每个膨胀卷积神经网络层,膨胀值可以从初始膨胀开始加倍,并且然后回报到下一生成器块中的初始膨胀。在图2中描绘的示例中,第一卷积神经网络层212d具有膨胀值1,第二卷积神经网络层216c具有膨胀值2,第三卷积神经网络层232c具有膨胀值4,并且第四卷积神经网络层236c具有膨胀值8。
图3是示例判别器神经网络系统300的图。判别器神经网络系统300可以是被配置成训练生成神经网络的训练系统(例如图1中描绘的训练系统100)的组件。判别器神经网络系统300已经被训练来接收音频示例302,并且生成对于音频示例是真实音频示例还是由生成器神经网络生成的合成音频示例的预测306。音频示例可以包括在输出时间步序列中的每个输出时间步(称为“输出”时间步,因为音频示例可能已经是生成神经网络的输出)处的相应幅度值。音频示例对应于调节文本输入304,该调节文本输入包括在输入时间步序列中的每个输入时间步处的语言学特征的相应向量。注意,即使音频示例302是真实音频示例,调节文本输入304仍然对应于音频示例302。
判别器神经网络系统300可以包括一个或多个无条件判别器、一个或多个有条件判别器或两者。在图3中描绘的示例中,判别器神经网络系统300包括五个无条件判别器(包括无条件判别器320)以及五个有条件判别器(包括有条件判别器340)。
在一些实现方式中,代替处理整个音频示例302,判别器神经网络系统300中的每个判别器处理音频示例的不同子集。例如,每个判别器可以随机地对音频示例302的子集进行采样。即,每个判别器仅处理音频样本302的连续输出时间步的子序列的幅度,其中连续输出时间步的子序列从输出时间步的整个序列中随机采样。在一些实现方式中,随机样本的大小(即,所采样的输出时间步的数量)对于每个判别器是相同的。在一些其它实现方式中,随机样本的大小对于每个判别器是不同的,并且被称为判别器的“窗口大小”。
在一些实现方式中,判别器神经网络系统300中的一个或多个判别器可以具有相同的网络架构和相同的参数值。例如,训练系统可以在判别器神经网络系统的训练期间以相同的方式更新该一个或多个判别器。
在一些实现方式中,不同的判别器具有不同的窗口大小。例如,对于多个窗口大小的集合中的每个窗口大小,系统可以包括具有该窗口大小的一个有条件判别器和具有该窗口大小的一个无条件判别器。作为特定示例,判别器神经网络300包括对应于五个窗口大小(240、480、960、1920和3600输出时间步)的集合中的每一窗口大小的一个有条件判别器和一个无条件判别器。
每个有条件判别器还获得与由有条件判别器获得的音频样本302的随机样本相对应的调节文本输入304的样本。因为音频示例302的样本和调节文本输入304的样本必须对准,所以有条件判别器可以被约束成对于在与调节文本输入304的输入时间步开始的点相同的点处开始的音频输出302的子序列进行采样。即,因为调节文本输入304中的输入时间步的数量小于音频示例302中的输出时间步的数量,所以每个有条件判别器可以被约束成在与调节文本输入304的输入时间步对准的点处对音频示例302进行采样。因为无条件判别器不处理调节文本输入304,所以无条件判别器不具有该约束。
在一些实现方式中,在处理音频示例302的随机样本之前,每个判别器首先使用“整形”层通过与判别器的窗口大小成比例的因子对随机样本进行下采样。下采样有效地允许具有不同窗口大小的判别器以不同频率处理音频示例302,其中特定判别器操作的频率与特定判别器的窗口大小成比例。通过与窗口大小成比例的因子进行下采样还允许每个下采样表示具有共同维度,这允许每个判别器具有类似的架构和类似的计算复杂度,尽管具有不同的窗口大小。在图3中描绘的示例中,共同维度是240个时间步;每个判别器都使用因子k标记,判别器通过因子k(分别为1、2、4、8和15)对其随机样本进行下采样。
在一些实现方式中,判别器使用步幅卷积神经网络层来对音频示例302的相应随机样本进行下采样。
无条件判别器320随机地对来自音频示例302的包括480个输出时间步的样本312进行采样。无条件判别器320包括整形层322,该整形层通过对随机样本312进行2x下采样,以生成包括240个时间步的网络输入。
无条件判别器320包括判别器块(“DBlock”)的序列324。尽管将无条件判别器320描绘为包括五个判别器块,但是通常无条件判别器可以具有任何数量的判别器块。无条件判别器320中的每个判别器块是无条件判别器块。下面参照图4描述示例无条件判别器块。
判别器块序列324中的第一判别器块被配置成从整形层322接收网络输入,并且处理该网络输入以生成块输出。判别器块序列324中的每个后续判别器块被配置成接收由序列324中的前一判别器块生成的块输出作为输入,并且生成后续块输出。
在一些实现方式中,无条件判别器320中的一个或多个判别器块执行进一步下采样。例如,如图3所示,判别器块序列324中的第二判别器块进行5x下采样,而序列324中的第三判别器块进行3x下采样。一般来说,下采样有助于无条件判别器320限制内部表示的维度,从而提高效率并且允许无条件判别器320学习音频示例302的样本312的更远元素之间的关系。在一些实现方式中,相应的无条件判别器中的下采样层的数量和由相应的无条件判别器执行的下采样的程度取决于相应的无条件判别器的因子k。
无条件判别器320包括输出层326,该输出层接收判别器块序列324中的最后判别器块的块输出作为输入并且生成预测328。预测328预测音频示例是真实音频示例还是合成音频示例。例如,输出层326可以是平均池化层,该平均池化层生成表征音频示例302是真实音频示例的似然性的标量,其中较大标量值指示音频示例302是真实的较高置信度。
有条件判别器340随机地对来自音频示例302的包括3600个输出时间步的样本332进行采样。有条件判别器340包括整形层342,该整形层对随机样本332进行15x下采样,以生成包括240个时间步的网络输入。
有条件判别器340包括判别器块序列344。尽管有条件判别器340被描绘为包括五个无条件判别器块和一个有条件判别器块,但是通常有条件判别器可以具有任意数量的有条件判别器块和无条件判别器块。
判别器块序列344中的第一判别器块被配置成从整形层342接收网络输入并且处理该网络输入以生成块输出。判别器块序列344中的每个后续判别器块被配置成接收由序列344中的前一判别器块生成的块输出作为输入并且生成后续块输出。
有条件判别器块被配置成接收i)序列344中的前一判别器块的块输出和ii)与音频示例的样本332相对应的调节文本输入304的样本作为输入。下文参照图4描述示例有条件判别器块。
由于输出时间步和输入时间步的频率差,在判别器块序列344中在有条件判别器块之前的一个或多个无条件判别器块和/或有条件判别器块本身可以执行下采样。例如,有条件判别器340中的所有判别器块上的下采样的总程度可以与输入时间步和输出时间步的频率的比率成比例。在图3中描绘的示例中,有条件判别器340对网络输入进行8x下采样,以达到作为与调节文本输入相同的频率的200Hz的频率。
有条件判别器340包括输出层346,该输出层接收判别器块序列344中的最后判别器块的块输出作为输入并且生成对于音频示例是真实音频示例还是合成音频示例的预测348。例如,输出层346可以是平均池化层,该平均池化层生成表征音频示例302是真实音频示例的似然性的标量。
在判别器神经网络系统300中的每个判别器生成预测之后,判别器神经网络系统300可以组合相应的预测以生成音频示例是真实音频示例还是合成音频示例的最后预测306。例如,判别器神经网络系统300可以确定判别器的相应预测的和或平均值。作为另一示例,判别器神经网络系统300可以根据投票算法来生成最后预测306,例如,当且仅当多数判别器将音频示例302预测为真实音频示例时,才预测音频示例302是真实音频示例。
注意,判别器神经网络系统300不接收与音频输入相关联的类别作为输入。然而,在一些实现方式中,判别器神经网络系统300可以这样做,例如作为到每个有条件判别器的调节判别器块的进一步调节输入。
图4是示例无条件判别器块400和示例有条件判别器块450的图。判别器块400和450可以是判别器神经网络系统(例如,图1中描绘的判别器神经网络系统120)的组件。判别器神经网络系统可以包括一个或多个判别器,并且每个判别器可以包括一个或多个判别器块序列。在一些实现方式中,判别器中的判别器块序列中的每个判别器块具有相同的架构。在一些其它实现方式中,一个或多个判别器块具有与判别器中的判别器块序列中的其它判别器块不同的架构。
无条件判别器块400可以是一个或多个无条件判别器、一个或多个条件判别器或两者的组件。有条件判别器块450可以仅是一个或多个有条件判别器的组件。即,有条件判别器可以包括无条件判别器块,但是无条件判别器不能包括有条件判别器块。
无条件判别器块400被配置成接收块输入402并且生成块输出404。在一些实现方式中,如果无条件判别器块400是判别器的判别器块序列中的第一判别器块,则块输入402是音频示例。在一些其它实现方式中,如果无条件判别器块400是判别器的判别器块序列中的第一判别器块,则块输入402是音频示例的嵌入,例如,由判别器的输入卷积神经网络层生成的嵌入。如果无条件判别器块400不是序列中的第一判别器块,则块输入402可以是序列中的前一判别器块的块输出。
无条件判别器块400包括神经网络层的第一堆栈412,该第一堆栈包括下采样层412a、激活层412b和卷积神经网络层412c。
对于对块输入402进行下采样的无条件判别器块(例如,图3中描绘的判别器块序列324中的第二判别器块和第三判别器块)来说,下采样层412a通过对应的下采样因子对块输入402进行下采样。尽管图4中描绘的无条件判别器块400具有单个下采样层412a,但是通常无条件判别器块可以在整个无条件判别器块中具有任意数量的下采样层。
在一些实现方式中,激活层412b可以是ReLU激活层。
卷积神经网络层412c处理包括对于每个元素的N个通道的层输入,并且生成包括对于每个元素的m·N个通道的层输出。N对应于块输入202中的通道数量,而m对应于乘数。在一些情况下,m=1。一般来说,无条件判别器块的任何一个或多个卷积层可以改变层输入的通道数量。
无条件判别器块400包括神经网络层的第二堆栈414,该第二堆栈处理神经网络层的第一堆栈412的输出。神经网络层的第二堆栈414包括激活层414a和卷积神经网络层414b。
无条件判别器块400包括跳过连接426,该跳过连接将神经网络层的第一堆栈412的输入与神经网络层的第二堆栈414的输出进行组合。例如,跳过连接426可以将神经网络层的第一堆栈412的输入与神经网络层的第二堆栈414的输出进行相加或者连接。
在神经网络层的第一堆栈412或第二堆栈414包括改变层输入的通道数量的卷积神经网络层(例如,卷积神经网络层412c)的情况下,无条件判别器块可以包括在跳过连接426之前的另一卷积神经网络层422,使得到跳过连接426的两个输入具有相同数量的通道。
在神经网络层的第一堆栈412或第二堆栈414包括下采样层(例如下采样层412a)的情况下,无条件判别器块可以包括在跳过连接426之前的另一下采样层424,使得到跳过连接426的两个输入具有相同的维度。
在一些实现方式中,无条件判别器块400中的一个或多个卷积神经网络层是膨胀卷积层。
有条件判别器块450被配置成接收与音频示例相对应的块输入452和调节文本输入454,并且生成块输出456。
有条件判别器块450包括神经网络层的第一堆栈462,该第一堆栈包括下采样层462a、激活层462b和卷积神经网络层462c。
对于对块输入452进行下采样的有条件判别器块来说,下采样层462a通过对应的下采样因子对块输入452进行下采样。尽管图4中所示的有条件判别器块450具有单个下采样层462a,但是通常有条件判别器块在整个有条件判别器块中可以具有任意数量的下采样层。特别地,有条件判别器块450对层输入452进行下采样,使得其在时间维度上具有与调节文本输入454相同的维度。
在一些实现方式中,激活层462b可以是ReLU激活层。
卷积神经网络层462c处理包括对于每个元素的N个通道的层输入,并且生成包括对于每个元素的m·N个通道的层输出;在该示例中,m=2。一般来说,有条件判别器块的任何一个或多个卷积层可以改变层输入的通道数量。
有条件判别器块450包括卷积神经网络层472,该卷积神经网络层处理调节文本输入454并且生成包括对于每个元素的m·N个通道的层输出。即,卷积神经网络层472改变调节文本输入的通道数量(在这种情况下,567)以匹配神经网络层的第一堆栈462中的卷积神经网络层462c的输出。
有条件判别器块450包括组合层474,该组合层例如通过相加或通过连接来组合卷积神经网络层462c和472的输出。
有条件判别器块450包括神经网络层的第二堆栈482,该第二堆栈处理组合层474的输出。神经网络层的第二堆栈482包括激活层482a和卷积神经网络层482b。
有条件判别器块450包括跳过连接496,该跳过连接将神经网络层的第一堆栈462的输入与神经网络层的第二堆栈482的输出进行组合。例如,跳过连接496可以将神经网络层的第一堆栈462的输入与神经网络层的第二堆栈482的输出进行相加或者连接。
在神经网络层的第一堆栈462或第二堆栈482包括改变层输入的通道数量的卷积神经网络层(例如,卷积神经网络层462c)的情况下,有条件判别器块450可以包括跳过连接496之前的另一卷积神经网络层492,使得到跳过连接496的两个输入具有相同的通道数量。
在神经网络层的第一堆栈462或第二堆栈482包括下采样层(例如下采样层462a)的情况下,有条件判别器块450可以包括在跳过连接496之前的另一下采样层494,使得到跳过连接496的两个输入具有相同的维度。
在一些实现方式中,有条件判别器块450中的一个或多个卷积神经网络层是膨胀卷积层。
图5是用于训练生成神经网络的示例过程500的流程图。为了方便起见,过程500将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的训练系统(例如图1所描绘的训练系统100)可以执行过程500。
该生成神经网络具有多个生成参数。生成神经网络可以包括卷积神经网络层的组的序列,每个组包括一个或多个膨胀卷积神经网络层。生成神经网络的一个或多个组或块还可以包括一个或多个上采样层,以担负(account for)调节文本输入的输入时间步与音频输出的输出时间步之间的比率。
系统获得训练调节文本输入(步骤502)。训练调节文本输入可以包括在多个输入时间步中的每个输入时间步处的相应语言学特征表示。例如,在每个输入时间步处的语言学特征表示可以包括在该时间步处的音素、持续时间和对数基频。
该系统使用生成神经网络来处理包括训练调节文本输入的训练生成输入,以生成训练音频输出(步骤504)。该系统根据生成神经网络的生成参数的当前值来生成训练音频输出。训练音频输出可以包括在多个输出时间步中的每个输出时间步处的相应音频样本。
训练生成输入还可以包括噪声输入。生成神经网络可以包括根据噪声输入的线性嵌入被调节的一个或多个有条件批量归一化神经网络层。在一些实现方式中,每个有条件批量归一化神经网络层根据噪声输入的不同线性嵌入被调节。
在一些实现方式中,生成输入包括输出波应当属于的类别的标识。在一些这样的实现方式中,有条件批量归一化神经网络层还根据类别的标识被调节。
在一些实现方式中,系统在向生成神经网络提供训练调节文本输入之前对训练调节文本输入进行零填充(即,向训练调节文本输入的末尾添加一个或多个零),使得每个训练调节文本输入具有相同维度。与顺序地处理不同大小的训练示例相反,对于深度学习模型来说,批量处理固定大小的训练示例可以更有效。
然而,因为生成神经网络具有多个卷积神经网络层,所以卷积可能将非零值传播到零填充元素中,这导致在稍后卷积中与非零填充元素的干扰。为了避免这一点,系统可以将卷积掩蔽应用于每个卷积神经网络层的输入。卷积掩蔽可以是零一掩蔽,其中0在对应于输入的零填充元素的元素处,而1在对应于输入的非零填充元素的元素处。应用卷积掩蔽确保输入的零填充元素不干扰输入的非零填充元素。零一掩蔽可以与有条件输入相同的速率被上采样,使得在每个相应卷积神经网络层之前处理适当数量的零填充元素。在输出最后音频示例之前,系统可以移除零填充元素。通过零填充并且然后应用卷积掩蔽,系统能够生成任意长度的音频示例。
系统使用多个判别器中的每个判别器来处理训练音频输出,以生成训练音频输出是真实的还是合成的相应预测(步骤506)。
在一些实现方式中,该多个判别器包括一个或多个有条件判别器和一个或多个无条件判别器。
在一些实现方式中,该多个判别器中的一个或多个判别器处理训练音频输出的不同真子集。在一些此类实现方式中,预先确定特定判别器的真子集的大小。在一些此类实现方式中,每个判别器通过对应于真子集的大小的预先确定的下采样因子对该真子集进行下采样。在一些这样实现方式中,每个判别器使用步幅卷积对真子集进行下采样。
系统通过组合多个判别器的相应预测来确定组合预测(步骤508)。例如,系统可以确定预测的平均值,或者使用投票算法来处理预测。
系统确定对生成参数的当前值的更新,以增加组合预测中的误差(步骤510)。在一些实现方式中,系统还可以确定对多个判别器的判别参数的当前值的更新,以减少组合预测中的误差。
本说明书联系系统和计算机程序组件使用术语“被配置”。一个或多个计算机的系统被配置成执行特定操作或动作的意思是系统在其上安装有软件、固件、硬件或它们的组合,在操作时,软件、固件、硬件或它们的组合使系统执行操作或动作。一个或多个计算机程序被配置成执行特定操作或动作的意思是一个或多个程序包括指令,当指令在由数据处理装置执行时使装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、在有形地实现的计算机软件或固件、在计算机硬件(包括本说明书中公开的结构以及其结构等效物)或在它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂态存储介质上以供数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器或它们中一个或多个的组合。替代地或额外地,程序指令可以编码在人工生成的传播的信号(例如,机器生成的电、光或电磁信号,其被生成为编码信息以传输到合适的接收器设备以供数据处理设备执行)上。
术语“数据处理装置”指数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,举例来说包括可编程处理器、计算机或多处理器或计算机。所述装置还可以是或者进一步包括专用逻辑电路,例如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 (43)

1.一种训练前馈生成神经网络的方法,所述前馈生成神经网络具有多个生成参数并且被配置成使用调节文本输入来生成输出音频示例,
其中,每个调节文本输入包括在多个输入时间步中的每个输入时间步处的相应语言学特征表示,
其中,所述前馈生成神经网络被配置成接收包括调节文本输入的生成输入并且处理所述生成输入以生成音频输出,所述音频输出包括在多个输出时间步中的每个输出时间步处的相应音频样本,以及
其中,所述训练包括:
获得训练调节文本输入;
根据所述生成参数的当前值使用所述前馈生成神经网络来处理包括所述训练调节文本输入的训练生成输入,以生成训练音频输出;
使用多个判别器中的每个判别器来处理所述训练音频输出,其中:
所述多个判别器包括一个或多个有条件判别器,其中,每个有条件判别器处理所述训练音频输出的相应子集和所述训练调节文本输入,以生成对于所述训练音频输出是真实音频示例还是合成音频示例的预测,并且
所述多个判别器包括一个或多个无条件判别器,其中每个无条件判别器处理所述训练音频输出的相应子集而不处理所述训练调节文本输入,以生成对于所述训练音频输出是真实音频示例还是合成音频示例的预测;
通过组合所述多个判别器的相应预测来确定第一组合预测;以及
确定对所述生成参数的当前值的更新,以增加所述第一组合预测中的第一误差。
2.根据权利要求1所述的方法,其中:
每个判别器具有多个相应的判别参数,
每个有条件判别器根据所述相应的判别参数的当前值来处理所述训练音频输出和所述训练调节文本输入,
每个无条件判别器根据所述相应的判别参数的当前值来处理所述训练音频输出而不处理所述训练调节文本输入,以及
所述方法还包括确定对所述判别参数的当前值的更新以减少所述第一组合预测中的所述第一误差。
3.根据权利要求1或2中的任一项所述的方法,其中,所述训练还包括:
获得真实音频示例和包括所述真实音频示例的转录的真实调节文本输入;
使用每个所述有条件判别器来处理i)所述真实音频示例和所述真实调节文本输入,以及使用每个所述无条件判别器来处理ii)所述真实音频示例而不处理所述真实调节文本输入,其中,每个判别器生成对于所述真实音频示例是真实音频示例还是合成音频示例的预测;
通过组合所述多个判别器的相应预测来确定第二组合预测;以及
确定对所述判别参数的当前值的更新以减少所述第二组合预测中的第二误差。
4.根据权利要求1-3中的任一项所述的方法,其中,所述前馈生成神经网络包括卷积神经网络层的组的序列,其中,每个组包括一个或多个膨胀卷积层。
5.根据权利要求1至4中的任一项所述的方法,其中,每个判别器包括判别器神经网络,所述判别器神经网络包括卷积神经网络层的组的序列,其中,每个组包括一个或多个膨胀卷积层。
6.根据权利要求1-5中的任一项所述的方法,其中,所述前馈生成神经网络包括卷积神经网络层的组的序列,其中,一个或多个组包括一个或多个相应上采样层,以担负所述调节文本输入的输入时间步与所述音频输出的输出时间步之间的第一比率。
7.根据权利要求1-6中的任一项所述的方法,其中,每个判别器包括判别器神经网络,所述判别器神经网络包括卷积神经网络层的组的序列,其中,一个或多个组包括一个或多个相应的下采样层,以担负所述音频输出的输出时间步与所述调节文本输入的输入时间步之间的第二比率。
8.根据权利要求1至7中的任一项所述的方法,其中:
所述前馈生成神经网络包括卷积神经网络层的组的序列,
所述方法还包括零填充每个训练调节文本输入,以使每个训练调节文本输入具有共同维度,以及
所述方法还包括使用零一掩蔽来处理到每个卷积神经网络层的相应输入。
9.根据权利要求1-8中的任一项所述的方法,其中:
所述训练音频输出的每个相应子集是所述训练音频输出的真子集,以及
至少两个所述判别器处理所述训练音频输出的不同真子集。
10.根据权利要求9所述的方法,其中,处理所述训练音频输出的相应真子集包括,针对每个判别器:
取得所述训练音频输出的随机样本,其中所述随机样本包括多个连续音频样本,其中对于给定判别器的所述随机样本的大小被预先确定;以及
处理所述训练音频输出的随机样本。
11.根据权利要求10所述的方法,其中,针对每个有条件判别器:
取得所述训练音频输出的随机样本包括取得与连续输入时间步序列相对应的随机样本,以及
处理所述训练调节文本输入包括以所述连续输入时间步序列处理所述训练调节文本输入。
12.根据权利要求10或11中的任一项所述的方法,其中,处理所述训练音频输出的随机样本包括,针对每个判别器,对所述训练音频输出的随机样本进行下采样以生成下采样表示,其中,每个判别器通过预先确定的下采样因子对所述随机样本进行下采样。
13.根据权利要求12所述的方法,其中:
用于每个判别器的所述相应预先确定的下采样因子对应于用于所述判别器的随机样本的大小;以及
每个下采样表示具有用于所有判别器的共同维度。
14.根据权利要求12或13中的任一项所述的方法,其中,对所述训练音频输出的随机样本进行下采样包括使用步幅卷积神经网络层来处理所述训练音频输出的随机样本。
15.根据权利要求1-14中的任一项所述的方法,其中,在每个所述输入时间步处的所述调节文本输入的相应语言学特征表示包括以下中的一个或多个:音素、持续时间或对数基频。
16.根据权利要求1-15中的任一项所述的方法,其中,所述生成输入还包括噪声输入。
17.根据权利要求16所述的方法,其中,所述前馈生成神经网络包括根据所述噪声输入的线性嵌入而调节的一个或多个有条件批量归一化神经网络层。
18.根据权利要求1-17中的任一项所述的方法,其中,所述生成输入还包括所述音频输出应当属于的类别的标识。
19.一种用于使用前馈生成神经网络来生成输出音频示例的方法,所述前馈生成神经网络已经使用根据权利要求1-18中的任一项所述的方法被训练。
20.一种用于生成输出音频示例的方法,所述方法包括:
接收生成输入,所述生成输入包括i)在多个输入时间步中的每个输入时间步处包括相应语言学特征表示的调节文本输入以及ii)噪声输入;以及
通过使用前馈生成神经网络来处理所述生成输入,从而生成所述输出音频示例,其中,所述前馈生成神经网络被配置成接收所述生成输入并且处理所述生成输入以生成音频输出,所述音频输出包括在多个输出时间步中的每个输出时间步处的相应音频样本,其中:
所述前馈生成神经网络包括卷积神经网络层的组的序列;
一个或多个组包括一个或多个相应上采样层,以担负所述调节文本输入的输入时间步与所述音频输出的输出时间步之间的第一比率;以及
一个或多个组包括一个或多个有条件批量归一化神经网络层,所述一个或多个有条件批量归一化神经网络层根据所述噪声输入的线性嵌入被调节。
21.根据权利要求20所述的方法,其中:
所述方法还包括零填充每个调节文本输入,以使每个调节文本输入具有共同维度,以及
所述方法还包括使用零一掩蔽来处理到每个卷积神经网络层的相应输入。
22.根据权利要求20或21中的任一项所述的方法,其中,每个有条件批量归一化神经网络层根据所述噪声输入的不同线性嵌入被调节。
23.根据权利要求20-22中的任一项所述的方法,其中,每个组包括一个或多个膨胀卷积层。
24.根据权利要求20-23中的任一项所述的方法,其中,在每个所述输入时间步处的所述调节文本输入的相应语言学特征表示包括以下中的一个或多个:音素、持续时间和对数基频。
25.根据权利要求20-24中的任一项所述的方法,其中,所述生成输入还包括所述音频输出应当属于的类别的标识。
26.一种训练前馈生成神经网络的方法,所述前馈生成神经网络具有多个生成参数并且被配置成使用调节文本输入来生成输出音频示例,
其中,每个调节文本输入包括在多个输入时间步中的每个输入时间步处的相应语言学特征表示,
其中,所述前馈生成神经网络被配置成接收包括调节文本输入的生成输入并且处理所述生成输入以生成音频输出,所述音频输出包括在多个输出时间步中的每个输出时间步处的相应音频样本,以及
其中,所述训练包括:
获得训练调节文本输入;
根据所述生成参数的当前值使用所述前馈生成神经网络来处理包括所述训练调节文本输入的训练生成输入,以生成训练音频输出;
使用多个判别器中的每个判别器来处理所述训练音频输出,其中:
每个判别器处理包括所述训练音频输出的相应真子集的相应第一判别输入,以生成对于所述训练音频输出是真实音频示例还是合成音频示例的预测,以及
至少两个所述判别器处理所述训练音频输出的不同真子集;
通过组合所述多个判别器的所述相应预测来确定第一组合预测;以及
确定对所述生成参数的当前值的更新,以增加所述第一组合预测中的第一误差。
27.根据权利要求26所述的方法,其中:
每个判别器具有多个相应的判别参数,
每个判别器根据所述相应的判别参数的当前值来处理所述相应第一判别输入,以及
所述方法还包括确定对所述判别参数的当前值的更新以减少所述第一组合预测中的所述第一误差。
28.根据权利要求26或27中的任一项所述的方法,其中,所述训练还包括:
获得真实音频示例和包括所述真实音频示例的转录的真实调节文本输入;
使用每个所述判别器来处理包括所述真实音频示例的第二判别输入,以生成对于所述真实音频示例是真实音频示例还是合成音频示例的预测;
通过组合所述多个判别器的相应预测来确定第二组合预测;以及
确定对所述判别参数的当前值的更新以减少所述第二组合预测中的第二误差。
29.根据权利要求26-28中的任一项所述的方法,其中,所述前馈生成神经网络包括卷积神经网络层的组的序列,其中,每个组包括一个或多个膨胀卷积层。
30.根据权利要求26-29中的任一项所述的方法,其中,每个判别器包括判别器神经网络,所述判别器神经网络包括卷积神经网络层的组的序列,其中,每个组包括一个或多个膨胀卷积层。
31.根据权利要求26-30中的任一项所述的方法,其中,所述前馈生成神经网络包括卷积神经网络层的组的序列,其中,一个或多个组包括一个或多个相应上采样层,以担负所述调节文本输入的输入时间步与所述音频输出的输出时间步之间的第一比率。
32.根据权利要求26-31中的任一项所述的方法,其中,每个判别器包括判别器神经网络,所述判别器神经网络包括卷积神经网络层的组的序列,其中,一个或多个组包括一个或多个相应的下采样层,以担负所述音频输出的输出时间步与所述调节文本输入的输入时间步之间的第二比率。
33.根据权利要求26-32中的任一项所述的方法,其中,处理所述训练音频输出的相应真子集包括,针对每个判别器:
取得所述训练音频输出的随机样本,其中所述随机样本包括多个连续音频样本,其中对于给定判别器的所述随机样本的大小被预先确定;以及
处理所述训练音频输出的随机样本。
34.根据权利要求33所述的方法,其中,处理所述训练音频输出的随机样本包括,针对每个判别器,对所述训练音频输出的随机样本进行下采样以生成下采样表示,其中,每个判别器通过预先确定的下采样因子对所述随机样本进行下采样。
35.根据权利要求34所述的方法,其中:
用于每个判别器的所述相应预先确定的下采样因子对应于用于所述判别器的随机样本的大小;以及
每个下采样表示具有用于所有判别器的共同维度。
36.根据权利要求34或35中的任一项所述的方法,其中,对所述训练音频输出的随机样本进行下采样包括使用步幅卷积神经网络层来处理所述训练音频输出的随机样本。
37.根据权利要求26-36中的任一项所述的方法,其中,在每个所述输入时间步处的所述调节文本输入的相应语言学特征表示包括以下中的一个或多个:音素、持续时间和对数基频。
38.根据权利要求26-37中的任一项所述的方法,其中,所述生成输入还包括噪声输入。
39.根据权利要求38所述的方法,其中,所述前馈生成神经网络包括根据所述噪声输入的线性嵌入而调节的一个或多个有条件批量归一化神经网络层。
40.根据权利要求26-39中的任一项所述的方法,其中,所述生成输入还包括所述音频输出应当属于的类别的标识。
41.一种用于使用前馈生成神经网络来生成输出音频示例的方法,所述前馈生成神经网络已经使用根据权利要求26-40中的任一项所述的方法被训练。
42.一种系统,包括一个或多个计算机和一个或多个存储设备,所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-41中的任一项所述的方法。
43.一个或多个非暂时性计算机存储介质,所述一个或多个非暂时性计算机存储介质存储指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-41中的任一项所述的操作。
CN202080068264.4A 2019-09-25 2020-09-25 利用对抗网络的高保真度语音合成 Pending CN114503191A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962905948P 2019-09-25 2019-09-25
US62/905,948 2019-09-25
PCT/EP2020/076908 WO2021058746A1 (en) 2019-09-25 2020-09-25 High fidelity speech synthesis with adversarial networks

Publications (1)

Publication Number Publication Date
CN114503191A true CN114503191A (zh) 2022-05-13

Family

ID=72665250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080068264.4A Pending CN114503191A (zh) 2019-09-25 2020-09-25 利用对抗网络的高保真度语音合成

Country Status (7)

Country Link
US (1) US20210089909A1 (zh)
EP (1) EP4018383A1 (zh)
CN (1) CN114503191A (zh)
AU (1) AU2020355181B2 (zh)
CA (1) CA3154698A1 (zh)
IL (1) IL291673A (zh)
WO (1) WO2021058746A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235435A (zh) * 2023-11-15 2023-12-15 世优(北京)科技有限公司 确定音频信号损失函数的方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113597620A (zh) * 2019-03-13 2021-11-02 渊慧科技有限公司 使用神经网络的压缩感测
US20210266875A1 (en) * 2020-02-24 2021-08-26 Qualcomm Incorporated MACHINE LEARNING FOR ADDRESSING TRANSMIT (Tx) NON-LINEARITY
US20220092407A1 (en) * 2020-09-23 2022-03-24 International Business Machines Corporation Transfer learning with machine learning systems
CN113744757A (zh) * 2021-09-14 2021-12-03 深圳万兴软件有限公司 一种语音转换方法、系统、计算机设备及存储介质
CN117409819A (zh) * 2023-12-15 2024-01-16 北京大学第三医院(北京大学第三临床医学院) 一种基于人工智能的人体嗓音检测分析方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180082679A1 (en) * 2016-09-18 2018-03-22 Newvoicemedia, Ltd. Optimal human-machine conversations using emotion-enhanced natural speech using hierarchical neural networks and reinforcement learning
CN111771213B (zh) * 2018-02-16 2021-10-08 杜比实验室特许公司 语音风格迁移
US20200242771A1 (en) * 2019-01-25 2020-07-30 Nvidia Corporation Semantic image synthesis for generating substantially photorealistic images using neural networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235435A (zh) * 2023-11-15 2023-12-15 世优(北京)科技有限公司 确定音频信号损失函数的方法及装置
CN117235435B (zh) * 2023-11-15 2024-02-20 世优(北京)科技有限公司 确定音频信号损失函数的方法及装置

Also Published As

Publication number Publication date
AU2020355181B2 (en) 2023-11-30
AU2020355181A1 (en) 2022-03-24
EP4018383A1 (en) 2022-06-29
IL291673A (en) 2022-05-01
US20210089909A1 (en) 2021-03-25
CA3154698A1 (en) 2021-04-01
WO2021058746A1 (en) 2021-04-01

Similar Documents

Publication Publication Date Title
CN114503191A (zh) 利用对抗网络的高保真度语音合成
US11386914B2 (en) Generating audio using neural networks
EP3926623A1 (en) Speech recognition method and apparatus, and neural network training method and apparatus
CN109844773B (zh) 使用卷积神经网络处理序列
US10810993B2 (en) Sample-efficient adaptive text-to-speech
US11514925B2 (en) Using a predictive model to automatically enhance audio having various audio quality issues
Xia et al. Using denoising autoencoder for emotion recognition.
CN116072098B (zh) 音频信号生成方法、模型训练方法、装置、设备和介质
CN112037800A (zh) 声纹核身模型训练方法、装置、介质及电子设备
US20230013370A1 (en) Generating audio waveforms using encoder and decoder neural networks
EP4165560A1 (en) Training video data generation neural networks using video frame embeddings
US20210383789A1 (en) Generating audio data using unaligned text inputs with an adversarial network
US20220122586A1 (en) Fast Emit Low-latency Streaming ASR with Sequence-level Emission Regularization
CN115798453A (zh) 语音重建方法、装置、计算机设备和存储介质
US20240144944A1 (en) Generating output signals using variable-rate discrete representations
CN113313183A (zh) 通过使用能量分值来训练语音合成神经网络
CN118043823A (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