WaveNet

✍ dations ◷ 2025-08-15 14:05:23 #WaveNet

WaveNet(波网)是一个用于直接生成声音讯号的人工神经网络。由伦敦人工智能公司DeepMind的研究人员于2016年9月的一篇论文中提出。

WaveNet通过使用用真实语音记录训练的神经网络方法直接模拟波形,能够生成听起来相对真实的人类声音。除了语音合成外,WaveNet也能应用在音乐生成以及语音辨识等领域。

2018年,Google在其云端语音合成服务Google Cloud Text-to-Speech中提供了基于WaveNet的语音合成API。截至2019年,该产品提供了32种语言以及多种不同音色的语音合成服务,且基于WaveNet的合成结果在自然度上相比传统方法更接近人类语音。

在WaveNet被提出之前,传统上常见语音合成的方法有串接生成(Concatenative synthesis)及参数化法(Parametric method)等。串接生成是透过录制多段声音来拼接合成目标语句;参数化法则是用模型生成声音特征的参数,再经由声码器合成声音。

近年,随着深度学习兴起,使用人工神经网络合成语音的方法也被提出,如Tacotron。该模型利用人工神经网络生成目标声音的时频谱或特征参数,再透由Griffin-Lim算法或其他声码器合成声音。

然而无论上述何种方法,皆无法直接生成声音讯号。原因在于即便仅仅一秒的声音讯号,就可能包含了数万个样本点,要对庞大的样本点之间的关联性建模是相当困难的。

WaveNet结合了自回归特性和空洞卷积神经网络(Dilated Convolutional Neural Network)架构,成功的提出第一个能够生成高品质声音样本点的人工神经网络模型。

WaveNet采用和PixelCNN相似的自回归特性模型。设声音讯号 x = x 1 , x 2 , . . . , x T {displaystyle x={x_{1},x_{2},...,x_{T}}} ,WaveNet将其几率建模成:

p ( x ) = t = 1 T p ( x t | x 1 , . . . , x t 1 ) {displaystyle p(x)=prod _{t=1}^{T}p(x_{t}|x_{1},...,x_{t-1})}

即在时间点t生成的样本点 x t {displaystyle x_{t}} ,模型会以 x 1 , . . . , x t 1 {displaystyle {x_{1},...,x_{t-1}}} 为输入,其输出是基于前几个时间点的样本点作为条件的条件几率分布。而模型训练目标便是让 p ( x ) {displaystyle p(x)} 愈大愈好。

WaveNet模型的输出是下个样本点的几率分布,而声音讯号的样本点通常会以16位元的整数储存,这使模型在每个时间点,要输出65536个几率来表示所有可能的样本点的几率分布。为了降低建模难度,WaveNet使用µ律算法(µ-law algorithm, G.711)将样本点量化成8位元,即256种可能的数值:

F ( x t ) = sgn ( x t ) ln ( 1 + μ | x t | ) ln ( 1 + μ ) {displaystyle F(x_{t})=operatorname {sgn}(x_{t}){frac {ln(1+mu |x_{t}|)}{ln(1+mu )}}}

其中 1 x t 1 {displaystyle -1leq x_{t}leq 1} 是在时间点t的声音讯号样本点, μ = 255 {displaystyle mu =255} F ( x t ) {displaystyle F(x_{t})} 是0~255的整数。

研究中显示这种非线性量化方法的表现结果比单纯线性量化好上许多,且透过 F 1 {displaystyle F^{-1}} 重建的语音在人类听觉上与原始语音非常相似。

因果卷积神经网络是WaveNet组成的主要部分,透过因果卷积,可以确保对资讯正确地建模。在预测 p ( x t ) = p ( x t | x 1 , . . . , x t 1 ) {displaystyle p(x_{t})=p(x_{t}|x_{1},...,x_{t-1})} 时,不会参考到 x t + 1 , x t + 2 , . . . , x T {displaystyle {x_{t+1},x_{t+2},...,x_{T}}} 的资讯。

一卷积神经网络的感受野(receptive field)会随着网络的加深而加大。然而对于动辄数万个样本点的声音讯号而言,一般的因果卷积神经网络仍需堆叠相当多的层数来使感受野大到足以抽取出有用的资讯。下图为堆叠数层的因果卷积神经网络感受野示意图,每一个输出结果(橘色点)参考了五个输入资料(蓝色点)的资讯。


为了解决此一问题,WaveNet使用了多层空洞因果卷积神经网络,如下图所示,在同样层数的情况下,每一个输出点参考了16个输入点,模型的感受野随层数加深而指数增长。这样的架构能让WaveNet很好地从输入样本点中抽取资讯,并预测下一个时间的样本点的几率分布。


WaveNet中使用了和PixelCNN相同的门激励单元:

z = tanh ( W f , k x ) σ ( W g , k x ) {displaystyle z=tanh(W_{f,k}*x)circ sigma (W_{g,k}*x)}

其中 {displaystyle *} 代表折积运算, {displaystyle circ } 代表逐点乘法, σ {displaystyle sigma } 是S函数, W f , k {displaystyle W_{f,k}} W g , k {displaystyle W_{g,k}} 代表在第k层的两种折积核(convolutional kernel)。

研究中表明,使用门激励单元作为非线性激励函数,相比线性整流函数有更好的表现。

在过往的语音生成任务,如文字转语音、语者转换等,模型往往会先生成声音特征参数或时频谱,再使用声码器或Griffin-Lim算法合成声音讯号。在Tacotron2中,首次将WaveNet用作神经声码器来补足从时频谱或梅尔刻度时频谱重建声音讯号所缺失的资讯(如相位等)。研究人员发现使用神经声码器所重建的声音讯号,比起使用传统声码器或算法生成的声音更为自然。此后,除了大量被使用在语音生成研究中来提高声音品质外,神经声码器也逐渐被应用在许多产品当中。

尽管WaveNet作为语音合成模型或类神经声码器,能够生成与人类自然语音接近的声音品质,然而其自回归特性也带来不少明显缺点。

其一是生成速度十分缓慢,由于样本点是逐一生成,因此生成一秒的声音讯号可能就要花上数分钟的时间,使其在实际应用上受到限制。此外,模型以之前生成的样本点作为输入来生成下一个样本点,因此当生成较差的样本点时,错误可能会不断累积下去,影响声音讯号品质。

WaveNet提出之后,作为类神经声码器使基于深度学习语音合成模型能够进一步生成更为接近自然的语音,后续的研究皆着重于改良WaveNet架构或训练方式,使其能够实时生成高品质语音。

相关

  • ESR红细胞沉降率(Erythrocyte sedimentation rate,ESR),也称为Biernacki反应,简称血沉,是指血红细胞在1小时内沉降的速率。红细胞沉降率是一个非常常见的血液学测试,是炎症反应的非特
  • 1874年米勒德·菲尔莫尔(Millard Fillmore,1800年1月7日(庚申年)-1874年(甲戌年)3月8日),美国第十三任总统。
  • 陆宗舆陆宗舆(1876年-1941年6月1日),字润生(又作闰生),浙江省杭州府海宁州人,清末民初官员,新交通系要人。陆宗舆出生于一个商人家庭。1896年(光绪22年),入南京文正书院,师从张謇。1899年(光绪25
  • 瓦里文明瓦里(西班牙语:Huari),是公元500年到公元1000年之间繁盛的中期视野文明,主要分布在现代秘鲁的南部中央沿海地区。拥有相同名字的首都城市坐落于现代秘鲁的阿亚库乔市东北方向25千
  • 0 (消歧义)0通常有以下含义:0也可以指:
  • ExmorExmor是索尼公司应用在其部分CMOS图像传感器上的技术名称。其可以实现片上模数转换以及错行像素的两步降噪并行处理。Exmor R则是索尼的Exmor的背照式传感器(英语:Back-illumi
  • 伐罗诃密希罗伐罗诃密希罗(Varahamihira,505年-587年)一作彘日,是古印度一位天文学家、数学家。是笈多王朝旃陀罗·笈多二世王宫中的“九宝”之一。所著《五大历数全书汇编》(Pancasiddhatika)
  • 众议院 (也门)众议院(阿拉伯语:مجلس النواب اليمني‎,Majlis al-Nuwaab)是也门目前的一院制立法机构。2015年,胡塞武装组织曾短暂地解散了众议院,后在联合国斡旋谈判下同意恢复
  • 甘延寿甘延寿,字君况,中国西汉北地郁郅(今甘肃省庆城县)人。少年善骑射,入御林军中,担任建章宫守卫,力大无穷,升为郎官。后因事免官。车骑将军许嘉荐为郎中和谏议大夫。元帝建昭三年(前36年
  • 桂林全州战斗桂林全州战斗发生于1925年2月13日-18日,地点是在中国桂北。是北洋政府时期内战之一,交战两方为李宗仁、黄绍雄混部及沈鸿英部。最后,李宗仁、黄绍雄混部获胜,沈鸿英部败下湘粤边