编者按:Google的DeepMind研究实验室昨天公布了其在语音合成领域的最新成果——WaveNet,一种原始音频波形深度生成模型,能够模仿人类的声音,生成的原始音频质量优于目前Google采用的两种最优文本-语音模型Parameric TTS与Concatenative TTS。
WaveNets是一种卷积神经网络,能够模拟任意一种人类声音,生成的语音听起来比现存的最优文本-语音系统更为自然,将模拟生成的语音与人类声音之间的差异降低了50%以上。
我们也将证明,同一种网络能够合成其他音频信号,如音乐,并能够自动生成沁人心脾的钢琴曲。
使人们能够与机器自由交谈是人机交互研究领域长久以来的梦想。过去几年中,深度神经网络的应用(如Google语音搜索)为提高计算机理解自然语音的能力带来了革新。但是,运用计算机生成语音——通常用于指代语音合成或文本-语音(TTS)系统——在极大程度上还要依托拼接TTS,TTS中包含一个超大型记录单个说话者的简短语音片段的数据库,随后将这些语音片段重新合成形成完整的话语。在不记录一个新的完整数据库的前提下,这种语音合成方法难以做到修饰声音(例如,转换到一个不同的说话者,或者改变其语音中强调的重点或传达的情感)。
为了解决语音合成的这一难题,迫切需要运用一种参数TTS,在这种文本-语音系统中,生成数据所需要的所有信息被存储于模型的参数中,语音所传达的内容及语音特征可以通过模型的输入信息得以控制。然而,目前参数(Parametric)TTS模型生成的语音听起来不如拼接(Concatenative)TTS模型生成的语音自然,这种现象至少出现在音节类语言中,如英语。现有的参数模型通常是运用信号加工算法vocoders计算获得的输出信息,以此生成音频信号。
WaveNet通过直接为音频信号的原始波形建模,一次为一种音频样本建模,来改变这种范式。同生成听起来更为自然的语音相同,使用原始波形意味着WaveNet能够为任意类型的音频建模,包括音乐。
研究者通常避免为原始音频建模,因为原始音频往往瞬间发生变化:通常情况下,每秒出现16,000种或更多音频样本,在很多时间标尺内出现重要的结构。很明显,构建一个完全自动回归模型是一项具有挑战性的任务,在这种模型中,对每一种音频样本的预测均受到之前所有音频样本的影响(用统计学方面的话来讲,每一种预测性分布是建立在所有先前观察的基础之上的)。
但是,我们今年公布的PixelRNN和PixelCNN模型显示,做到以每次一个像素,甚至于每次一个颜色通道的方式生成复杂的自然图像是可能的,这将要求对每个图像做数千次预测。这也启发我们将原有的二维PixelNets转变为一种一维WaveNet。
上方动画所示为一个WaveNet模型的内部结构,通常是一种完整的卷积神经网络,卷积层中有各种各样的扩张因子,允许其接受域深度成倍增长,并且覆盖数千个时间步长。
在训练时间段内,输入序列是从人类说话者记录得来的真实波形。在训练之后,我们可以对网络取样,以生成合成话语。在取样的每一个步骤中,将从由网络计算得出的概率分布中抽取数值。所抽取的数值随后被反馈到输入信息中,这样便完成下一步新预测。像这样每做一次预测就取样会增加计算成本,但是我们已经发现,这样的取样方法对于生成复杂且听起来真实的音频是至关重要的。
我们曾经运用Google的一些TTS数据集来训练WaveNet,以便用于评估WaveNet的性能。下图所示为与Google当前最优TTS系统(参数型TTS和拼接型TTS)和使用Mean Opinion Scores(MOS:用于评估语音通讯系统质量的方法)获得的人类语音相比,在标尺(1-5)上WaveNets的质量。MOS是一种用于主观语音质量测试的标准测定方法,在人群中进行盲试验。我们可以看到,WaveNets将最优模型生成语音的质量与人类自然语音(US英语和汉语普通话)之间的差距降低了50%以上。
就汉语和英语来讲,Google当前的TTS系统在世界范围内被认为是最优文本-语音系统,因此,用一种单一模型来改善生成汉语与英语语音质量将会是一项重大成就。
教会WaveNet说有意义的话
为了实现运用WaveNet将文本转化为语音,我们得告诉WaveNet文本的内容是什么。我们通过将文本转换成语言和语音特征(包括音位、音节、单词等),把转换得来的特征提供给WaveNet,完成这一过程。这意味着网络的预测步骤不仅仅基于先前获得的音频样本,而且要基于文本所传达的内容。
如果我们想要脱离文本序列来训练网络,网络依然能够生成语音,但是得自行编造想要传达的内容。这种条件下生成的音频简直是胡言乱语,有意义的单词被编造的像单词的声音隔断开。
注意,有时WaveNet也会生成一些非语音类型的声音,如呼吸或口腔运动;这反映出一种原始音频模型具有高度灵活性。
一个单一的WaveNet具备学习许多不同声音(男性和女性)的特征。为了确保WaveNet能够知道用何种声音匹配给定的任何一段话语,我们训练网络使之学习获得说话者的身份特征。有趣的是,我们发现,与单一训练单个说话者的特征相比,用许多说话者的语言、语音及身份等特征来训练网络使得WaveNet能够更好地模拟单个说话者,这种训练模式暗含着一种迁移学习形式。
通过改变说话者的身份,我们可以用WaveNet以不同的声音表达同一段话语。
同样,我们可以为该模型提供额外的输入信息,如情感或口音,使得生成的语音变得更为多样化,更有趣。
由于WaveNet能够用来模拟任何一种音频信号,我们认为,尝试用WaveNet生成音乐也将很好玩。与TTS实验不同,我们的网络不是基于一个输入序列,告诉它怎么演奏音乐(如一篇乐谱);相反,我们只是简单地允许WaveNet任意生成一种音乐。当我们采用一个古典钢琴曲数据集来训练WaveNet时,它将生成一曲美妙乐章。
WaveNets将为TTS带来无数可能,大体上来讲,有生成音乐和模拟音频两类。事实上,直接运用深度神经网络一个时间步长一个时间步长地生成音乐,这种方法适用于所有16kHZ音频,这将是非常令人惊喜的。我们非常期待WaveNets未来将会带给大家的惊喜。