论文阅读 Tacotron
换语音方向啦,接受了,不过有点难呢
先看经典论文 Tacotron
摘要
吐槽了之前多阶段的模型,现在提出一个端到端的,整体化训练,取得了不错的效果呢
1 引言
最开始的现代TTS模型,统计参数话的声码器通常是由几个部分组成:文本前端来提取各种语言特征、持续时间模型、声学特征预测模型和复杂的基于信号处理的声码器。这些都是依据声学领域的知识进行设计,而且他们都是独立去训练。单独训练的话,就有可能造成每个组件的错误叠加,而且构造这个系统也是需要好多的工作要做,大概得成为半个语言专家吧。
用端到端的整体训练会有这么三个优势:
- 这个系统减少了对声音工程特性知识的依赖,比如涉及启发式和脆弱的设计选择。
- 它也放宽了对各种特性或者参数的调整,可调整的参数就变多了,比如:说话人、语言种类或者情感。这是因为参数的调整就是在这个系统的最开始,而不是只在一个单独的模块。相应的,适应新数据也变的更容易一些。
- 单模型比多个模型组成的系统更加健壮一些。
这些优点表明我们可以在端到端的训练中使用大量丰富真实环境的人声。
TTS是一个大规模的逆向工程:高度压缩的文本信息被解压成语音。因为相同的文本能对应到不同的发音或者说话方式,对于一个端到端模型来说,是一个特别困难的学习任务:对于给定的输入,他必须应对信号幅度的打的变换。此外,和端到端的语音识别或者机器翻译不一样。TTS的输出是连续的,而且输出序列要比输入的序列要长。这些特点导致了预测的误差会被迅速累积起来。这篇论文里头,就提出了Tacotron,基于序列到序列的注意力机制的端到端语音生成模型。这个模型呢输入的是字符,输出的是原始频谱图,也用了好多方法去提高vanilla seq2seq 模型的能力。给定了<文本,语音>对,Tacotron能够通过随机初始化从头开始完整地训练。它不需要音素级对齐,它可以轻松地扩展为用大量的带有文本的声学数据。通过简单的一个波形合成技术,Tacotron就能产生特别好的美式英语语音了,就自然性而言,性能优于参数系统的。
2 相关工作
2016年的WaveNet是一个强有力生成语音模型,在TTS上表现良好,但就是费时间呢。它还需要以现在前端的语言功能为条件,但他不是端到端的:它只是替换了声码器和声学模型。另一个开发的模型是DeepVoice,PS.2017年,它将传统的TTS每个组件都替换为相应的神经网络,然而,每个组件都是独立训练,它进行端到端训练绝非易事。
据我们所知,2016年的Wang是最早用注意力机制序列到序列端到端去做TTS的。然而,它需要预训练一个隐马尔科夫模型对齐器,来帮助seq2seq模型去虚席对齐。很难说seq2seq能学到多少对齐方式。再一个,一小部分的小技巧用来训练模型,作者注意到这样会伤害韵律。最后,它预测的是声码器参数,所以还需要一个声码器,此外,这个模型是音素进行输入的训练的,实验结果似乎有所限制。
Char2Wav 是一个独立发展的端到端的模型,它能够训练字符,然而,Char2Wav 仍然使用SampleRNN神经声码器之前预测声码器参数,而Tacotron可以直接预测原始频谱图。另外,它们的seq2seq和SampleRNN模型需要分别进行预训练,但我们的模型可以从一开始训练。最后,我们对香草seq2seq范例进行了几个关键的修改,稍后
所示,香草seq2seq模型不适合用于字符级的输入。
3 模型架构
Tacotron的骨干是一个带有注意力机制的seq2seq模型。描述模型结构,包含一个编码器,一个注意力机制的解码器和一个后处理网络。在高级别里,我们模型把字符作为输入产生频谱图帧,然后将其转化为波形图。我们在下面描述这些组件。

3.1 CBHG模型
我们首先描述一个被称为CBHG的构建基块,如下图所示

CBHG包含了一个一维卷积的卷积核,紧接着就是一个高速网络,和一个GRU,RNN。CBGH是一个从序列中提取特征的强有力的模型。它的输入序列是先和K组一维卷积核进行卷积,其中第k个集合包含宽度为k的Ck个卷积核。这些卷积核显式地对本身和上下文信息进行建模。卷积输出堆叠在一起,按时间顺序进一步最大化以增加局部不变性。注意,这里用跨度为1来保留原始时间分辨率。我们进一步将处理后的序列传递给一小部分固定宽度的以为卷积,其输出通过残差链接与原始输入序列想加。批次归一化用于所有的卷积层。卷积输出结果被送到多层高速网络以提取高级特征。最后,我们将GRU RNN 堆叠在顶部,以从前向和后向上下文中提取顺序特征。CBHG是收到机器翻译工作的启发,与Lee等人最主要的区别是使用了非因果卷积,批次归一化,残差链接,还有步长为1的最大池化。我们发现这些修改改进了生成。
3.2 编码器
编码器的目标是提取文本可靠的序列表示,编码器的输入是字符序列,每一个字符被表示成one-hot向量和嵌入成一个连续向量,我们然后应用一组非线性变化,将每个嵌入放入一个预训练网络。我们用带有dropout的瓶颈层作为预训练网络,它可以帮助收敛和提高泛化。一个CBHG模块可以将预训练网络的输出,转变为一个含有注意力机制的最终编码器的表示。我们发现CBHG不仅可以减少过拟合,而且和标准的多层RNN编码器相比,它的错误发声也减少了
3.3 解码器
我么能使用基于tanh 注意力机制的解码器,有状态递归层在每个解码器时间步产生关注查询。我们将上下文向量和注意RNN但愿输出连接起来,以形成解码器RNN的输入。我们使用具有垂直残余连接的GRU堆栈作为解码器。我们发现残差结构可以加速收敛。解码器的目标是一个重要选择。虽然我们可以直接预测原始频谱图,这是一种高度冗余的表示形式,用于学习语言信号和文本之间的对齐方式。因为这个冗余,我们使用不同的目标进行seq2seq解码和波形合成。这个seq2seq目标是高度压缩,只要它可以提供足够的清晰度和韵律信息以进行反转,可以是固定或经过训练。我们使用80波段的梅尔频谱图作为目标,经管也可以使用更少的波段或者更简洁的目标。我们用后处理网络将seq2seq目标转化为波形。
我们使用一个简单的全连接输出层来预测解码器目标。一个重要的技巧是在每个解码器步骤中预测多个不重叠的输出帧。一次预测r帧会将解码器步骤的总数除以r,从而减少了模型的大小、训练时间和推理时间。更重要的是,我们发现这个技巧是可以大大提速收敛,通过从注意力中学到更快更稳定的对齐来衡量。这可能是因为相邻的语音帧是相连的,并且每个字符通常对应于多个帧。一次发射一帧会强制模型在多个时间步骤上使用相同的输入,发射多个帧可以是注意力在训练早期阶段向前发展,Zan等一些人也有了这个技巧,但主要是为了加快推理速度。
解码器第一步就是以一个全零帧为条件,表示成的帧,相应的,在解码器步骤t,r 个预测的最后一帧作为输入在步骤t+1被馈送到解码器。注意一下哈,这里使用最后一个预测是临时选择,我们可以使用所有r个预测。在训练过程中,我们总是将第r个背景真实帧范送给解码器。将输入帧传递到与编码其中,就像编码器一样。由于我们不适用预定采样之类的技术,因此在预训练网络中丢失对于模型的泛化至关重要,因为它为噪声提供了噪声源。解决输出分布中的多种形式。
3.4 后处理网络和波形合成
如上所述,后处理网络的任务是将seq2seq目标转换为可以合成为波形的目标。由于我们使用Griffin-Lim作为合成器,后处理网络将学会预测线性频率范围内采用的频谱幅度。后处理网络的另一个东西是它可以看到完整的解码序列。与seq2seq从左到右预测顺序相反,它同时具有前向和后向信息,可以校正每个单独帧的预测误差。在这个工作中,我们将CBHG模块用于后处理网络,尽管可以使用更简单的网络。后处理网络是比较抽象笼统的,它可以预测不一样的目标,像声码器参数,或作用直接合成波形样本的类似WaveNet的神经声码器。
我们用Griffin-Lim算法从预测的频谱图中合成波形。我们发现在馈入Griffin-Lim之前将预测的幅度提高1.2倍的幂可以减少伪像,可能是其谐波增强效果。我们观察到Griffin-Lim在50次迭代后收敛,这就相当快了。我们在TensorFlow中实现了Griffin-Lim,因此它也是该模型的一部分。尽管Griffin-Lim是可区分,但我们在这项工作中不会对此造成任何损失。我们选Griffin-Lim就是为了简单;尽管它已经产生了不错的结果,但是开发一种快速,高质量的可训练频谱图用于波形逆变器的工作仍在进行中。
4 详细模型

上表就列出了超参数和网络架构,我们使用具有汉明开窗,50ms帧长,12.5ms帧移位和2048点傅立叶变换的对数幅度频谱图。我们还发现预加重(0.97)会有所帮助。我们对所有实验都使用24kHz采样率。
尽管较大的r值也可以很好的工作,但我们在本文中讲MOS结果使用r=2。我们使用具有学习率衰减的Adam优化器,该速度从0.001开始,分别在500k,1M和2M全局步长后分别减少至0.0005、0.0003和0.0001。对于seq2seq解码器(梅尔频谱图)和后处理网(线性尺度谱图),我们都是用l1损失,这两个损失具有相等的权重。
我们使用大小为32的批次进行训练,其中所有序列都被填充到最大长度。通常做法是使用损失遮罩来训练序列模型,该遮罩会遮盖零填充帧上的损失。但是,我们发现以这种方式训练的模型不知道何时停止发出输出,从而最终产生重复的声音。解决这个问题的简单技巧就是重建零填充帧。
5 实验
我们训练Tacotron在北美英语数据上,包含了24.6小时的女性专业说话声音,短语也是文本标准化的。例如“16”就是sixteen
5.1 对比分析
我们进行了一些控制变量的方法研究,以了解模型中的关键组成部分。与生成模型一样,它很难根据客观指标比较模型,这往往与感知力没有很好的联系,我们主要依赖视觉比较。我们强烈建议读者听一下我们提供的样本。
首先我们对比了一个🌿seq2seq模型,编码器和解码器用两层残差RNN,每一层有256个GRU(试过LSTM,效果一样)。没加预处理网络和后处理网络也试了一下,解码器直接预测线性比例对数幅度谱图。我们发现此模型需要计划采样(采样率0.5)才能学习比对和归纳。在下面展示了学习到的注意力对齐。

香草seq2seq效果差强,就是注意力在前进之前会堆积很多帧,会导致合成信号语音清晰度差,结果就破坏了自然性和总体持续时间。相比之下,我们的模型学习了干净又平滑的对齐方式。
第二,我们又跟CBHG编码替换为2层残差GRU编码器的模型进行比较。其他的模型,包括编码器预处理网络,完全一致。我们可以看出来,来自GRU编码器的对准噪声更大。听了一下合成信号,我们发现嘈杂的对齐方式通常会导致错误而发音。CBHG编码器减少了过拟合,并很好地概括了长而复杂的短语。
下面的图展示了使用后处理网的好处。我们训练了没有后处理网络情况下的模型,同时保持其他的组件不变。加入了更多的上下文信息,来自后处理网络的预测包含更好的解析谐波和高频共振峰结构,从而减少了合成伪像。

5.2 平均意见分数测试
我们进行了平均一剑评分测试,满分为5来打分。MOS测试是从母语人士那里获得的。使用100个看不到的短语,每个短语8个人打分。计算MOS时,我们仅包含使用耳机的评分。我们和参数化模型以及连接系统进行了比较。如下图所示。

得到了3.82分,超过了参数模型。在这样的情况下取得这样的成果很不容易啦。
6 讨论
我们提出了Tacotron,这是一个集成的端到端生成TTS模型,该模型将字符序列作为输入并输出相应的频谱图。通过非常简单的波形合成模块,它在美式英语上取得了3.82MOS评分,就自然性而言,优于参数系统。Tacotron是一个基准框架,所以可以推断出比样本级自回归方法快了很多。不像之前的工作,Tacotron不需要手工设计的语言功能或复杂的组件,例如HMM对准器。可以从头开始进行随机初始化训练。我们执行简单的文本规范化,尽管学习型文本规范化的最新进展可能会在将来使这样的方法不必要。
还有进一步的提升,比如Griffin-LiM的输出可能听见杂音,我们最近在替换一个更好的
本文来自博客园,作者:赫凯,转载请注明原文链接:https://www.cnblogs.com/heKaiii/p/15491182.html

浙公网安备 33010602011771号