WaveNet

✍ dations ◷ 2025-11-12 01:18:57 #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架构或训练方式,使其能够实时生成高品质语音。

相关

  • 英国秘密情报局英国秘密情报局(英语:Secret Intelligence Service,缩写:SIS),通称“军情六处”(英文:Military Intelligence, Section 6,缩写:MI6),是英国对外的情报机构,于1909年成立,负责在海外进行间
  • 花神庙花神庙可能指:
  • 牌坊牌坊,简称坊,类似于牌楼,是中国传统建筑中非常重要的一种建筑类型,亦传至朝鲜半岛、日本、越南、琉球等东亚地区。牌坊更被海外当作中华文化的象征之一,在西方很多城市的唐人街都
  • 赵美心赵美心(英语:Judy May Chu,1953年7月7日-),生于美国加州,祖籍广东省新会,政治人物,美国联邦众议员,代表民主党在加利福尼亚州第32选区当选,成为历史上第一位华裔女性众议员。赵美心当选
  • 报丧女妖报丧女妖或班西(banshee, /ˈbænʃiː/),名出爱尔兰语“bean sí”(“希瑟(英语:sídhe)的女子”或“精灵之丘(英语:fairy mounds)的女子”),是爱尔兰神话中的一类女性精灵,通常被认为是
  • 白石站 (札幌市营地铁)白石站(日语:白石駅/しろいしえき  */?)是一位于日本北海道札幌市白石区东札幌2条6丁目,隶属于札幌市交通局的地铁车站。白石站是札幌市营地铁东西线的沿线车站之一,车站编号T13
  • 常路河常路河,旧称巨围水,位于中国山东省蒙阴县西部,是东汶河北源,发源于常路镇北部与新泰市交界的聚粮山东麓,向南流经上行庄水库以及西高都、西下庄、常路、西北楼等村,至小张台村会北
  • 埃尔文·扬埃尔文·扬(英语:Alwyn Young,1961年-),是伦敦政治经济学院的经济学教授,曾在芝加哥大学、波士顿大学、MIT斯隆管理学院任教。
  • 解长林解长林(1917年-2002年),男,山东聊城人,中华人民共和国军事人物,中国人民解放军少将,曾任武汉军区空军副政治委员。
  • 东京大神宫东京大神宫(とうきょうだいじんぐう)是位在日本东京都千代田区的神社。“东京五社”之一,原为皇大神宫遥拜殿(现神社本厅的别表神社)。是东京有名的结缘、祈求恋爱运的神社。天照皇大神・丰受大神为主祭神,相殿祭祀天之御中主神・高御产巢日神・神御产巢日神・倭比卖命。