APP下载

简化LSTM的语音合成

2018-02-07陈宙斯胡文心

计算机工程与应用 2018年3期
关键词:音素门限频谱

陈宙斯,胡文心

华东师范大学 计算中心,上海 200062

1 引言

传统参数语音合成方法是基于统计学习和决策树的隐马尔科夫-高斯混合模型[1](HMM)。HMM对声音特征的适应性和鲁棒性高、需要较小的计算代价[2]和在训练数据较少的时候有更好的表现[3]等诸多优点,使其长期成为语音合成方法的主流技术。但其合成质量和泛化能力却落后于近年兴起的神经网络模型。原因在于马尔科夫假设长度的制约和生成过程的规则是离散的。

神经网络是更为泛用的数值型计算模式,根据应用场合使用不同的网络。前向网络模型建立样本到标签的一对一映射,循环神经网络(RNN)在序列间建立映射,全部计算均为连续数值空间,没有HMM离散规则跳转。长短期记忆神经网络[4](LSTM)克服了普通循环神经网络梯度消散或爆炸问题[5],以状态自链接的形式描述序列动态的变化规律,从序列整体上得到更精确的映射关系。神经网络在大数据学习上获得了精度优势,但当映射维度和层数多时,计算耗时随着门限矩阵运算的复杂度迅猛增加。

在英文语音处理上,文献[3]验证数据集大小对声学模型影响明显,这是神经网络慢学习算法的普遍特征;文献[6]使用两个LSTM网络分别预测音素发音时长和该音素倒频谱,提出了一个可实施的流式参数化语音合成方法。文献[7]使用BDLSTM计算顺向和逆向序列状态,损失了流式输出。

本文讨论LSTM的门限简化和信息扩展。利用输入门和遗忘门的逻辑互补性进行合并,移除输出门,减少单向计算量。通过滑动窗口和前向网络,在增加网络输入信息的同时压缩输入维度,使其效果接近更高质量的BDLSTM。在实验中对比HMM、DNN、BDLSTM,验证简化的LSTM在语音合成上有效性和质量的提升。

2 语音合成模型

2.1 音素到倒频谱映射

文本音素信息到倒频谱之间的映射关系是语音合成系统的核心部分(图1)。传统HMM模型为一对多映射,时长参数不会被显示给出以控制每个状态持续时间,而是由转移矩阵决定生成若干帧倒频谱。神经网络一次输入对应一次输出,需要训练两个模型[6]:(1)音素时长模型;(2)倒频谱模型。

图1 神经网络音素到倒频谱映射

音素信息是包含发音与语言相关的向量序列。预测时长后,使用时长扩展音素信息为多个描述帧,对应预测倒频谱帧。时长模型决定韵律,倒频谱决定音色音调,两者都对合成质量有很大影响,分别训练不同的模型有利于针对性地提高最终听感。

音素信息序列和帧序列都是一系列配对向量。使用深度神经网络和循环神经网络都可以对输入和输出进行映射。由于计算结构的不同,两种网络会得到不同的输出精度。

2.2 前向网络

前向网络将输入空间向量直接仿射到输出空间。由于不受上下文音素的影响,前向网络的预测是受到限制的。例如音节中辅音和元音常常出现的拼音连读现象,预测单个音素很难达到理想的质量。

作为神经网络基本的构成元素,前向网络作为隐层应用在各种复杂的网络之中,如叠加而成的深度神经网络(DNN)和一些门限(gate)。隐层对于提升学习能力是必要的。一方面,增加网络层数会增加数据的抽象表示,获得更强的泛化能力;另一方面,增加隐层节点使网络有更丰富的“记忆”,让输出在有限范围内无限逼近大部分非线性函数。但过分增加隐层使模型学习了不必要的训练集噪音,即过拟合。目前通过多种规范化和Dropout[8]可减轻或避免这种情况的发生。

2.3 递归神经网络

递归神经网络(RNN)是序列上前向网络的简单扩展,其输入来源于外界输入和网络自身的状态。因此,当前输出会受上一次前馈计算的影响,而当前输出后的网络状态又继续影响下一次输出。

ht是网络当前状态,由上一状态ht-1、当前输入xt和激活函数f共同影响。时序后向传播算法(BPTT)逆向计算整条序列的误差更新权值矩阵Whh与Whx。通过累计序列误差项求解权值矩阵更新量,但累乘非线性激活函数导数f′导致误差传导趋零或暴增,模型局限于短序列。

为此,LSTM提出独立的网络状态C并设置包含输入、遗忘、输出三个前向网络门限。通过与门限输出点乘⊙与点加⊕控制状态大小,分离了状态与输出。对应在BPTT中形成了常数误差流[4](CEC),误差累加不再造成消失或暴增,形成模型长程记忆。至此,算上新状态生成所需要的矩阵,LSTM包含4个输入到状态转换矩阵和4个内部状态更新矩阵,在计算上有较大的开销。

近年的变体在增加网络输入、简化网络结构和网络叠加上做了研究。BDLSTM[7]加入了逆向序列特征,提高了预测质量,但需待序列输入完成时才能输出;GRU[9]将输出放入CEC,合并输入门和遗忘门为更新门,相对LSTM减少约1/4计算量;DPLSTM[10]则在多层LSTM间加入连接构成深度模型。文献[11-12]探索了LSTM的多种简化版本,这些版本对预测质量提升都不明显,其中S-LSTM为仅保留最基本的门限,为计算量最小的一个版本,但精度也较低。未简化的LSTM近年开始应用于语音识别[3]、情感分析[13]、手写识别[14]等领域,以下讨论简化LSTM在中文语音合成上的应用。

3 模型的简化与改进

3.1 LSTM门限简化

LSTM包含输入门(IG)、遗忘门(FG)和输出门(OG)将状态传递变为累加。输入门控制新状态(NI)加到当前状态中的比例,遗忘门决定保留多少旧状态,输出门将状态映射到最终输出。三个门限各自有的功能,不能简单地去掉。

3.1.1 合并输入门与遗忘门

因计算机数据精度的限制,状态量不应该单调增加或缩小,否则将出现和普通循环神经网络一样的精度溢出状况。因此,输入门和遗忘门对状态的控制行为应该有很强的互补性。本文使用以输入门(IG)代替遗忘门(FG),前馈计算使用FG=1-IG代替原有FG输出,而后向误差传播公式变为:

存在t-1时:

存在t+1时:

σ为门限激活函数,C为当前状态,peepIG与peepOG为输入门和输出门的peephole连接,+=为累加操作。在不处于序列首尾时,BPTT累加误差。由于原FG梯度与IG相差因子-1,式(4)为累加负误差。简化遗忘门的LSTM如图2所示。

图2 简化遗忘门的LSTM

3.1.2 简化输出门

输出门的作用类似一层前向网络。去掉输出层可能会使模型刻画数据能力下降。由于输出门与其他门限有着相同的计算量,可以考虑在后序网络中加入代价较小的前向网络进行代替。但这种替代依然可能会使数据中难以被模型描述的区域增加,造成局部噪声点增加,因此还需要配合适当的优化算法来进行训练。

移除输出门,修改式(2)如下:

3.2 优化算法

最速梯度下降法(SGD)是简单且常用的一阶导数下降算法。其学习率依赖经验,并且容易使模型陷入局部最优。配合动量法(Momentum)加速下降过程,依靠设置动量来掠过部分局部最优点。在大多数情况下,这两种方法依然无法摆脱局部解。为了配合去除输出门的改动,本文验证下面两个算法对模型改动的适应性。

AdaDelta[15]与Adam[16]均为启发式算法,在每个维度上独立地进行评估和调整,使用衰减系数估计近期梯度的变化。AdaDelta的更新值采用二阶梯度的量纲,收敛速度快于动量SGD且不依赖于先验知识。Adam则包含了一个类信噪比项,根据数据噪音的大小选择合理的速度,在噪音较多的数据集上模型依然收敛。

3.3 带有滑动窗口的前向网络隐层

CBOW和Skip-gram使用滑动窗口改进神经网络语言模型,依据上下文信息建立词向量空间[17]。

当输入序列[x1,x2,…,xT]对应输出序列[y1,y2,…,yT],使用扩展的(xt-pre,…,xt,…,xt-post) 代替原输入xt,包含前pre个到后post个xt的相邻输入。滑动窗口纳入了相邻信息,使网络建立窗口到原有输出之间的关系。

汉语音节由2个以内音素组成,长度为2的滑动窗口可将朗读时的连读变音现象纳入。滑动窗口不仅可以应用于DNN,本文提出对LSTM的输入加入下一个音素信息,保留了LSTM流式输出并使预测接近BDLSTM。

当滑动窗口与LSTM层直接连接,增加窗口长度会以内部状态的长度为倍率增加LSTM网络参数。因此,在将窗口加入到前向网络层,再与LSTM层连接可以有效控制参数增长,保持模型简洁的同时加入一层抽象编码的隐层。

3.4 倒频谱预测改进

时长模型预测每个音素的确切帧数,在后续的倒频谱模型中,本文不是将原始音素信息复制多份对应训练每一帧倒频谱,而是附加了描述音素开始和结尾的非线性时间信息记号e-t,t为帧序号。此记号在( ]0,1范围内,以正序和反序在音素的所有帧上打上两个记号。由于频谱信息在发音开始和结尾变动较大且短时间内连续,选择了自身与导数都单调且简便的函数作为音素标记,合理的非线性输入有利于仿射运算提高预测精度。

4 实验

4.1 配置

语音数据取自一位女性职业说话人的标准普通话朗读,11 h录音共16 205条语句。语音采样由48 kHz降至16 kHz送入语音分析器,每5 ms采样一次得到40个梅尔倒频率系数的共振峰信息和1个基频信息。音素信息由HMM文本分析器获得,含有音标、声调、词性、位置等信息,以one-hot方式展开为164维的向量。时长信息由人工标记得到。

实验以5状态各态历经HMM作为基线系统。时长模型使用三组神经网络模型:4层256维前馈网络组成的DNN、含有128个内部状态的LSTM和同等配置的BDLSTM。倒频谱模型使用加窗并简化的LSTM与简化的BDLSTM的混合网络,以梅尔倒频率失真度[2](Mel Cepstral Distortion,MCD)衡量语音合成质量。

训练过程中使用L2规范化防止过拟合,分别使用:动量为0.9、学习率为10-6的SGD、默认配置的;AdaDelta和Adam自适应下降算法。在验证集上30次没有刷新损失函数新低则判定模型已收敛。为保证约10 h[3]语音训练量,训练集、验证集和测试集按[80%,10%,10%]的比例分配并交叉验证。实验使用CURRENNT开源代码、GTX 690显示卡和STRAIGHT合成音频文件。

4.2 结果

4.2.1 音素时长预测

在音素时长预测对比实验(表1)中,实验代号0组、1组、2组和3组分别为HMM基线模型、DNN内部实验、LSTM内部实验、BDLSTM内部实验。输入由3 bit表示前1个、当前和后1个输入向量是否包含在滑动窗口中,如“111”表示都存在,而“010”表示普通输入。NIL表示简化遗忘门,BNIOL表示简化遗忘门与输出门的双向LSTM。

表1 音素时长模型预测

表1说明,上下文信息对提高时长预测质量是必要的。DNN与LSTM在加窗后误差显著降低。加窗保留了LSTM的流式输出,代价是增加了模型大小(2b,2c)。DNN模型虽然庞大,结果却不及后序实验。DNN与HMM一样,缺失对整条序列变化规律的建模,这导致了在时长预测上与LSTM模型的差距。

第2、3组实验中,简化LSTM模型的有效降低时长预测平均误差,较HMM基线模型降低约1/4。简化对时长预测质量影响不大,特别是合并输入门和遗忘门时,单向与双向LSTM都没有受到明显影响。再移除遗忘门后,相对原模型平均误差增加仍不超过6%,移除遗忘门使模型刻画能力降低,带来更多噪音。

优化算法AdaDelta与Adam均明显优于动量SGD。在移除遗忘门(2ef,3ef)以外的实验中,它们之间的差异不大。Adam的信噪比估计项对噪音有更好的抑制,效果优于AdaDelta。此外,SGD与AdaDelta均出现过学习速率设置过大导致不收敛的情况。因此,倒频谱的简化LSTM模型仅使用Adam训练。

4.2.2 倒频谱预测

表2说明,简化的LSTM模型保持了较小的MCD的同时,迭代用时和模型大小都缩减原模型的一半,适于在较低端的CUDA设备上运行。多层LSTM频谱预测比单层更优秀,该趋势符合数据维度变大时,非线性因素增加,需要多层神经网络建模的一般规律。同时,加入非线性位置描述位改善了频谱在音素开头和结尾的拟合效果,降低了整体MCD。

表2 倒频谱模型预测

4.2.3 系统评价

12位志愿者对HMM与简化LSTM系统做了主观评分。测试包含辨析度和自然度,辨析度衡量语句中听懂词义和句义的占比,自然度则是测试者对语句韵律和发音上的偏好。如图3所示,两个系统均表现出较高的可理解性,但简化LSTM模型的语音自然度更高。据几位测试者反映,HMM像是逐字机械地朗读,而LSTM的韵律更自然。

图3 HMM系统与简化LSTM系统的MOS评分

频谱(图4)显示简化LSTM的合成语音的共振峰变化曲线更加完满,接近原始录音。两个模型中对应音素占用时间长度也有略微差异,听感上LSTM模型整体语调也更流畅自然,图中“蒜”辅音s发音完整,辨识度高于HMM模型。时长误差与MCD的减小体现于本节的验证。

图4 原始录音、简化LSTM与HMM模型合成语音的log频谱

5 结束语

本文分析前向网络与LSTM循环神经网络的特点与联系,根据门限间的关系进行了化简并在外部结构上弥补,在保证语音合成质量的情况下使计算量减半。在此之上,根据音素信息和神经网络仿射运算的特点,提出了滑动窗口与非线性单调的位置标记,使得改进模型合成质量接近于BDLSTM,并保留了流式输出。

此外,有待探讨的方向包括:针对输出向量中的音标志位,可采取加大输出门sigmoid激活函数梯度的方法[18]使输出更加两极化;使用简化的DGRNN[10];通过输入输出错位,使输出建立在当前和下一个音素上,以更简便的方式达到提升效果;最后,L2规范化可用Dropout替代,去除衰减参数调整的依赖,去掉冗余隐层结点。

LSTM有着广泛的应用前景,以上方法还可以应用于更多的领域。

[1]Rabiner L R.A tutorial on hidden Markov models and selected applications in speech recognition[J].Proceedings of the IEEE,1989,77(2):257-286.

[2]李霄寒.基于概率统计模型的说话人确认的研究[D].合肥:中国科学技术大学,2003.

[3]杨晋仪,张鹏远,潘接林,等.小资源下基于神经网络的声学建模[C]//中国声学学会第十一届青年学术会议会议.西安:中国声学学会,2015.

[4]Hochreiter S,Schmidhuber J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.

[5]Lipton Z C,Berkowitz J,Elkan C.A critical review of recurrent neural networks for sequence learning[J].arXiv preprint arXiv:1506.00019,2015.

[6]Zen H,Sak H.Unidirectional long short-term memory recurrent neural network with recurrent output layer for low-latency speech synthesis[C]//IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP),2015:4470-4474.

[7]Fan Y,Qian Y,Xie F L,et al.TTS synthesis with bidirectional LSTM based recurrent neural networks[C]//Interspeech,2014:1964-1968.

[8]Srivastava N,Hinton G,Krizhevsky A,et al.Dropout:A simple way to prevent neural networks from overfitting[J].Journal of Machine Learning Research,2014,15(1):1929-1958.

[9]Chung J,Gulcehre C,Cho K H,et al.Empirical evaluation of gated recurrent neural networks on sequence modeling[J].arXiv preprint arXiv:1412.3555,2014.

[10]Yao K,Cohn T,Vylomova K,et al.Depth-gated recurrent neural networks[J].arXiv preprint arXiv:1508.03790,2015.

[11]Wu Z,King S.Investigating gated recurrent neural networks for speech synthesis[J].arXiv preprint arXiv:1601.02539,2016.

[12]Greff K,Srivastava R K,Koutník J,et al.LSTM:A Search Space Odyssey[J].Computer Science,2015.

[13]梁军,柴玉梅,原慧斌,等.基于极性转移和LSTM递归网络的情感分析[J].中文信息学报,2015,29(5):152-160.

[14]卫晓欣.基于长短型记忆递归神经网络的英文手写识别[D].广州:华南理工大学,2014.

[15]Zeiler M D.ADADELTA:An adaptive learning rate method[J].arXiv preprint arXiv:1212.5701,2012.

[16]Kingma D,Ba J.Adam:A method for stochastic optimization[J].arXiv preprint arXiv:1412.6980,2014.

[17]Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[J].arXiv preprint arXiv:1301.3781,2013.

[18]松山祐輔,篠田浩一.活性化関数のパラメータ制御を用いた LSTMによる音声認識[C]//日本音響学会2015年秋季研究発表会講演論文集,2015:1-2.

猜你喜欢

音素门限频谱
基于规则的HEV逻辑门限控制策略
一种用于深空探测的Chirp变换频谱分析仪设计与实现
依托绘本课程,培养学生英语音素意识
随机失效门限下指数退化轨道模型的分析与应用
小学英语课堂中音素意识与自然拼读整合训练的探索
在拼读阅读课中培养学生英语阅读素养
基于Neyman-Pearson准则的自适应门限干扰抑制算法*
一种基于稀疏度估计的自适应压缩频谱感知算法
❷不定冠词a与an
生产性服务业集聚与工业集聚的非线性效应——基于门限回归模型的分析