论文:Linear networks based speaker adaptation for speech synthesis
原文链接:https://arxiv.org/abs/1803.02445
摘要:说话人自适应算法利用说话人少量语料来建立说话人自适应语音合成系统,该系统能够合成令人满意的语音。在本文中,我们提出了基于线性网络的语音合成说话人自适应算法。该算法对每个说话人学习特定的线性网络,从而获得属于目标说话人的声学模型。通过该算法,使用 200 句目标说话人的自适应语料训练的说话人自适应系统能够获得和使用 1000 句训练的说话人相关系统相近的合成效果。
研究背景
对于一个目标说话人,如果他(她)拥有充足的训练数据,那么我们便可以建立一个说话人相关的声学模型,基于该声学模型的系统称之为说话人相关的语音合成系统。利用该系统,我们能够合成和目标说话人声音很像的语音。但是,大多数时候,目标说话人没有充足的数据,这使得合成出来的语音效果不太理想。利用说话人自适应算法,能够基于比较有限的数据来获得较好的语音合成系统,该类算法节省了大量的录音、转录和检查工作,使得建立新的声音的代价变得很小。
本文中,我们提出了基于线性网络(Linear Network, LN)的语音合成说话人自适应算法。该算法通过在源说话人声学模型的层间插入线性网络,然后利用目标说话人的数据来更新该线性网络和神经网络的输出层,从而能够获得属于目标说话人的声学模型。另外,一种基于低秩分解(low-rank plus diagonal,LRPD)的模型压缩算法被应用于线性网络。实验发现,当数据量较少的时候,通过 LRPD 来移除一些冗余的参数,从而能够使得系统合成的声音更加稳定。
算法描述
本文中,源说话人声学模型是一个基于多任务(multi-task)DNN-BLSTM 的声学模型,见 Fig. 1 左侧。声学模型的输入为语音学特征,输出为声学特征。声学特征包括梅尔倒谱系数等。实验证明,在声学模型的底层使用深层神经网络(Deep Neural Network,DNN)可以获得更好的底层特征,并且收敛速度上相比于不使用 DNN 更快。在输出层上,不同的声学特征使用各自的输出层,它们仅共享声学模型的隐层。
基于线性网络的自适应算法首先被提出于语音识别领域,它的系统结构见 Fig. 1 右侧。根据线性网络插入的位置不同,它可以被分为线性输入网络(Linear Input Network,LIN)、线性隐层网络(Linear Hidden Network,LHN)和线性输出网络(Linear Output Network,LON)。
当线性网络被插入到声学模型的第和层之间时,线性网络的输出为:
其中,表示第层的输出,表示说话人相关的线性变换矩阵,表示说话人相关的偏置矢量。模型训练流程如下:
1)将线性网络插入至源说话人声学模型特定位置。此时,被初始化为单位矩阵,的所有元素都初始化为 0。
2)利用目标说话人的数据来更新线性网络中的参数和,直到收敛。此时,保持声学模型中的其它层参数固定不变。最后,获得目标说话人的声学模型。
LRPD 算法主要被应用于线性网络的模型压缩。在语音识别中,基于 LRPD 的线性网络(LRPD-LN)能够减少普通线性网络(Full-LN)82% 的模型参数量,并且性能几乎不出现下降。LRPD 算法利用对角矩阵和低秩矩阵来表达 Full-LN 中的:
其中,和 分别表示和的矩阵,为对角矩阵。可以看到,Full-LN 中的模型参数量为,LRPD-LN 的模型参数量为。通过实验证明,由于 LRPD-LN 所需要更新的参数量特别少,因此在目标说话人数据量有限的情况下能够获得较 Full-LN 更加稳定的合成声音。
实验
本文提出的算法,在中文数据集上进行实验,该数据集包含 3 个说话人,每个说话人有 5000 句话,时长约 5h。数据集中语音的采样率为 16k,特征提取中的窗长和窗移分别为 25ms 和 5ms。分别用 A-male、B- female 和 C-female 来命名这三个说话人。本实验中,源说话人声学模型训练过程所使用的句子数为 5000。为了对比不同句子数目下的合成效果,目标说话人的自适应数据集对应的句子数从 50 到 1000 不等。在自适应数据集之外,我们取 200 句话作为开发集,取 20 句话作为测试集(用于主观打分)。为了分析性别对自适应效果的影响,进行了三对源说话人-目标说话人之间的实验:女生-女生、男生-女生和女生-男生。另外,使用客观度量和主观测听两种方式来衡量模型的性能。客观度量主要包括:Mel-Cepstral Distortion (MCD)、root mean squared error (RMSE) of F0、unvoiced/voiced (U/V) prediction errors 和开发集的 MSE。主观测听主要是对系统合成的声音样本进行自然度和相似度上的打分——mean opinion score (MOS)。
以女生-女生(C-female – B-female)为例,Fig. 3 显示了不同自适应句子数目和客观度量之间的关系曲线图。其中,SD 表示说话人相关系统,OL 表示只更新源说话人声学模型输出层的说话人自适应系统,OL+Full-LN 和 OL+LRPD-LN 分别表示基于 Full-LN 和 LRPD-LN 的说话人自适应系统。根据 Fig. 3,随着训练/自适应句子数的增加,所有系统间的客观度量趋于相近。对比 SD 和另外三个自适应系统,自适应系统的性能在相同句子数目下要更优。另外,OL+LRPD-LN 和 OL+Full-LN 相比于 OL 均出现性能上的跳变(提升),说明只更新输出层而不对其他层进行更新不能够得到较好的自适应效果。同时,当自适应句子数较少的时候,OL+Full-LN 在客观性能上要差于 OL+LRPD-LN,这是因为 OL+Full-LN 引入太多的参数量,出现过拟合问题。反之,在句子数多的时候 OL+Full-LN 在客观性能上要优于 OL+LRPD-LN,此时 OL+LRPD-LN 由于参数量少,出现欠拟合问题。
Fig. 4 上对比了不同系统间的自然度和相似度。随着句子数的减少,SD 系统的性能出现急剧下降,OL+LRPD-LN 相比于 SD 和 OL+Full-LN 要更加稳定。与客观度量一致,在相同句子数下,OL+Full-LN 和 OL+LRPD-LN 在性能上要优于 SD。并且,OL+Full-LN 和 OL+LRPD-LN 在 200 句话的性能和 SD 在 1000 句话时的性能相近。与客观度量不同,OL+LRPD-LN 在 500 句以下的时候性能上就优于 OL+Full-LN。这是因为过拟合导致合成出来的声音不稳定(虽然客观度量更优)声音的可懂度下降导致的。由此,我们依然可以得到相同的结论:当自适应句子数较少的时候,过拟合使得 OL+Full-LN 的性能变差。
结论
本文中,基于线性网络的说话人自适应算法被应用于语音合成领域,基于 LRPD 的模型压缩算法能够提高声音的稳定性。通过三对不同的源说话人-目标说话人的实验,我们发现,当自适应句子数目非常少的时候,LRPD 能够提升声音的稳定性。另外,通过提出的算法,使用 200 句目标说话人的训练语料训练的说话人自适应系统能够获得和使用 1000 句训练的说话人相关系统相近的效果。