FastSpeech

  • 摘要
  • 1 引言
  • 2 背景
  • 3 FastSpeech
    • 3.1 前馈转换器
    • 3.2 长度调节器
  • 3.3 持续时间预测器
  • 4 实验步骤
    • 4.1 数据
    • 4.2 模型配置
    • 4.3 训练与推论

摘要

端到端的网络发展得特别迅猛了,像突出的方法Tacotron 2通常先从文本中生成梅尔频谱图,然后再使用声码器把梅尔频谱图合成为语音。对比传统的拼接和参数调节方法,端到端的神经网络生成速度慢,而且合成的语音也不稳健(有些单词跳过了,或者重复)和缺乏控制(声音的速度和韵律控制)。在这个方法中,我们提出了一种基于Transformer新的前馈网络,可为TTS并行生成梅尔频谱图。特别的,我们从基于编码解码的教师模型提取注意力对齐,以进行音素持续时间预测,长度调节器可以扩展原始音源序列去匹配目标的梅尔频谱图序列的长度,以生成并行的梅尔频谱图。LJSpeech数据集上的实验表明,我们的并行模型在语音质量方面与自回归模型匹配,几乎消除了在特别苛刻的情况下单词跳过和重复的问题,并且可以平稳地调整语音速度,更重要的是,对比自回归转换器TTS。我们的模型将梅尔频谱图生成速度提高了270倍,将端到端语音合成速度提高了38倍。因此,我们将我们的模型称为FastSpeech。

1 引言

近年来,由于深度学习的发展,文字转语音(TTS)引起了很多关注。基于深度神经网络的系统对于TTS越来越流行,例如Tacotron [27],Tacotron 2 [22],Deep Voice 3 [19]和完全端到端的ClariNet [18]。这些模型通常首先从文本输入中自动生成梅尔频谱图,然后使用诸如Griffin-Lim [6],WaveNet [24],Parallel WaveNet [16], or WaveGlow [20]的声码器从梅尔频谱图合成语音。在语音质量方面,基于神经网络的TTS优于传统的级联和统计参数方法[9,28]。

在当前基于神经网络的TTS系统中,梅尔频谱图是自回归生成的。由于梅尔谱图的序列较长且具有自回归特性,因此这些系统面临以下挑战:

  • 梅尔谱图生成的推理速度慢,尽管基于CNN和Transformer的TTS [14,19]可以加快基于RNN的模型的训练[22],但所有模型都会生成基于先前生成的梅尔频谱图的梅尔频谱图,并且在给定梅尔频谱图的情况下会遭受较慢的推理速度。梅尔频谱图序列的长度通常为数百或数千。
  • 合成语音通常不可靠。由于错误传播[3]和自回归生成中文本和语音之间的错误注意对齐方式,生成的梅尔频谱图通常缺少单词跳过和重复。
  • 合成语音缺乏可控性。以前的自回归模型会自动一个接一个地生成Mel频谱图,而没有明确利用文本和语音之间的对齐方式。结果,在自回归生成中通常很难直接控制语音速度和韵律。

考虑文本和语音之间的单调对齐,以加快梅尔谱图的生成,在这项工作中,我们提出了一个新颖的模型FastSpeech,该模型将文本(音素)序列作为输入并非自回归地生成Mel频谱图。它采用基于Transformer [25]和1D卷积[5、11、19]中的自注意力的前馈网络。由于梅尔频谱图序列比其对应的音素序列长得多,为了解决两个序列匹配长度不一致的问题,FastSpeech 采用长度调节器,该长度调节器根据音素的持续时间(每个音素所对应的梅尔频谱图的数量)对音素序列进行上采样,以匹配梅尔频谱图序列的长度。调节器基于音素持续时间预测器,可预测每个音素的持续时间。

我们提出的FastSpeech可以解决上述三个挑战,如下所示:

  • 通过并行的梅尔谱图生成,FastSpeech大大加快了合成过程。
  • 音素持续时间预测器可确保音素与其梅尔频谱图之间的硬对齐,这与自回归模型中的软音和自动注意力对齐非常不同。因此,FastSpeech避免了错误传播和错误注意对齐的问题,因此减少了跳过单词和重复单词的比率
  • 长度调节器可以通过延长或缩短音素持续时间来轻松确定语音速度,从而确定生成的Mel频谱图的长度,还可以通过在相邻音素之间添加间隔来控制部分韵律。

我们在LJSpeech数据集上进行实验以测试FastSpeech。结果表明,就语音质量而言,FastSpeech几乎与自回归变压器模型相匹配。此外,与自回归Transformer TTS模型相比,FastSpeech在mel频谱图生成方面的速度提高了270倍,在最终语音合成方面实现了38倍的速度,几乎消除了单词跳过和重复的问题,并且可以平稳地调整语音速度。我们将通过我们的方法生成的一些音频文件附加到补充材料中。

2 背景

在本节中,我们简要概述了这项工作的背景,包括文本到语音,序列到序列学习以及非自回归序列生成。

文本到语音 TTS [1、18、21、22、27]旨在合成给定文本的自然和可理解的语音,长期以来一直是人工智能领域的热门研究主题。 TTS的研究已经从早期的级联综合[9],统计参数综合[13,28]转变为基于神经网络的参数综合[1]和端到端模型[14、18、22、27],以及端到端模型所合成语音的质量接近于人类的平价。基于神经网络的端到端TTS模型通常首先将文本转换为声学特征(例如,梅尔频谱图),然后将梅尔频谱图转换为音频样本。但是,大多数神经TTS系统会自动回归生成梅尔频谱图,这会导致推理速度较慢,并且合成语音通常缺乏鲁棒性(跳过单词和重复单词)和可控性(语音速度或韵律控制)。在这项工作中,我们建议使用FastSpeech来非自回归地生成mel频谱图,这足以解决上述问题。

序列到序列学习 序列到序列学习[2,4,25]通常建立在编码器-解码器框架上:编码器将源序列作为输入并生成一组表示。在那之后,解码器在给定源表示及其先前元素的情况下估计每个目标元素的条件概率。注意机制[2]进一步引入编码器和解码器之间,以便在预测当前元素时找到关注的源表示形式,并且是序列学习的重要组成部分。在这项工作中,代替使用常规的编码器-注意-解码器框架进行序列学习,我们提出了一种前馈网络来并行生成序列。

非自回归序列生成 与自回归序列生成不同,非自回归模型可以并行生成序列,而无需明确依赖先前的元素,这可以大大加快推理过程。已经在一些序列生成任务中研究了非自回归生成,例如神经机器翻译[7,8,26]和音频合成[16,18,20]。我们的FastSpeech与上述作品在两个方面有所不同:1)先前的作品在神经机器翻译或音频合成中采用非自回归生成,主要是为了加快推理速度,而FastSpeech既注重推理速度的提高,又提高了合成语音的鲁棒性和可控性。 TTS。 2)对于TTS,尽管并行WaveNet [16],ClariNet [18]和WaveGlow [20]会并行生成音频,但它们以mel频谱图为条件,但仍会自回归生成。因此,他们没有解决这项工作中考虑的挑战。有一个并发的工作[17],它也并行生成梅尔谱图。但是,它仍然采用带有注意力机制的编解码器框架,该框架:1)与教师模型相比,需要2〜3倍的模型参数,因此推理速度比FastSpeech慢。 2)在FastSpeech几乎消除了这些问题的同时,不能完全解决单词跳过和重复的问题。

3 FastSpeech

在本节中,我们介绍FastSpeech的体系结构设计。为了并行生成目标质谱图序列,我们设计了一种新颖的前馈结构,而不是使用大多数序列采用的基于编码器-注意-解码器的体系结构来进行基于序列的自回归[14,22,25]和非自回归[ 7、8、26]代。 FastSpeech的整体模型架构如图1所示。我们在以下小节中详细描述了这些组件。

3.1 前馈转换器

FastSpeech的体系结构是基于Transformer [25]和1D卷积[5,19]中的自注意力的前馈结构。我们将此结构称为前馈变压器(FFT),如图1a所示。前馈转换器堆叠多个FFT块以用于音素到mel频谱图的转换,其中N个块位于音素侧,而N个块位于mel频谱图侧,其间有一个长度调节器(将在下一个小节中进行介绍)。弥合音素和梅尔谱图序列之间的长度差距。每个FFT块均包含一个自注意和1D卷积网络,如图1b所示。自我注意网络由多头注意力组成,以提取交叉位置信息。与Transformer中的2层密集网络不同,我们使用具有ReLU激活功能的2层1D卷积网络。动机是相邻的隐藏状态在字符/音素和声谱图中更紧密相关语音任务的顺序。我们在实验部分评估一维卷积网络的有效性。遵循Transformer [25],分别在自注意力网络和1D卷积网络之后添加了残余连接,层归一化和丢失。

3.2 长度调节器

长度调节器(图1c)用于解决前馈变压器中音素和频谱图序列之间的长度不匹配问题,以及控制语音速度和部分韵律。一个音素序列的长度通常小于其mel频谱图序列的长度,并且每个音素对应于几个mel频谱图。我们将与音素相对应的mel声谱图的长度称为音素持续时间(我们将在下一部分中描述如何预测音素持续时间)。基于音素持续时间d,长度调节器将音素序列的隐藏状态扩展d倍,然后隐藏状态的总长度等于Mel声谱图的长度。将音素序列的隐藏状态表示为Hpho = [h1,h2,…,hn],其中n是序列的长度。将音素持续时间序列表示为D = [d1,d2,…,dn],其中∑n i = 1di = m,m是梅尔谱图序列的长度。我们将长度调节器LR表示为

其中,α是超参数,用于确定扩展序列Hmel的长度,从而控制语音速度。例如,假设Hpho = [h1,h2,h3,h4]且相应的音素持续时间序列D = [2,2,3,1],则基于等式1的扩展序列Hmel变为[h1,h1,h2,h2, h3,h3,h3,h4],如果α= 1(正常速度)。当α= 1.3(慢速)和0.5(快速)时,持续时间序列变为Dα= 1.3 = [2.6,2.6,3.9,1.3]≈[3,3,4,1]和Dα= 0.5 = [1, 1,1.5,0.5]≈[1,1,2,1],并且扩展后的序列变为[h1,h1,h1,h2,h2,h2,h3,h3,h3,h3,h4]和[h1,h2 ,h3,h3,h4]。我们还可以通过调整句子中空格字符的持续时间来控制单词之间的间隔,从而调整合成语音的韵律部分。

3.3 持续时间预测器

音素持续时间预测对于长度调节器很重要。如图1d所示,持续时间预测器由具有ReLU激活功能的2层1D卷积网络组成,每个网络都紧跟着层归一化和drop层,以及一个额外的线性层以输出标量,这正是预测的音素持续时间。请注意,此模块堆叠在音素侧的FFT块的顶部,并与FastSpeech模型一起进行训练,以预测每个音素的Mel频谱图的长度,并具有均方误差(MSE)损失。我们在对数域中预测长度,这将使它们变得更加高斯,并且更易于训练。请注意,经过训练的持续时间预测变量仅用于TTS推断阶段,因为我们可以在训练中直接使用从自回归教师模型中提取的音素持续时间(请参阅以下讨论)。
为了训练持续时间预测器,我们从自回归教师TTS模型中提取了真实的音素持续时间,如图1d所示。我们描述了以下详细步骤:

  • 我们首先根据[14]训练基于自回归编码器-注意-解码器的Transformer TTS模型。
  • 对于每个训练序列对,我们从训练后的教师模型中提取解码器对编码器的注意力比对。由于多头自我注意[25],因此存在多个注意对齐方式,并且并非所有的注意头都表现出对角线属性(音素和mel声谱图序列是单调对齐的)。我们提出了一个聚焦率F来衡量注意头如何接近对角线:F = 1 S PS s =1max1≤t≤Tas,t,其中S和T是地面真实声谱图和音素的长度,如下所示: tdonation注意矩阵的第s行和第t列中的元素。我们计算每个头部的聚焦率,然后选择F最大的头部作为注意力对准。
  • 最后,我们根据持续时间提取器di = PS s = 1 [arg maxtas,t = i]提取音素持续时间序列D = [d1,d2,…,dn]。即,音素的持续时间是根据在上述步骤中选择的关注头而对其进行的mel频谱图的数量。

4 实验步骤

4.1 数据

我们在LJSpeech数据集[10]上进行了实验,该数据集包含13,100个英语音频剪辑和相应的文本记录,音频总长度约为24小时。我们将数据集随机分为3组:用于训练的12500个样本,用于验证的300个样本和用于测试的300个样本。为了减轻发音错误的问题,我们使用内部音素到音素转换工具[23],紧随[1、22、27],将文本序列转换为音素序列。对于语音数据,我们根据[22]将原始波形转换为梅尔频谱图。我们的帧大小和跳数分别设置为1024和256。为了评估我们提出的FastSpeech的鲁棒性,我们还按照[19]中的做法,选择了50个句子,这些句子对于TTS系统来说特别困难。

4.2 模型配置

FastSpeech模型我们的FastSpeech模型在音素端和梅尔频谱图端均包含6个FFT块。音素词汇的大小为51,包括标点符号。音素嵌入的维数,自注意的隐藏大小和FFT块中的1D卷积都设置为384。注意头的数量设置为2。2层卷积中1D卷积的内核大小网络都设置为3,第一层的输入/输出大小为384/1536,第二层的输入/输出大小为1536/384。输出线性层将384维隐藏图转换为80维梅尔频谱图。在我们的持续时间预测器中,一维卷积的内核大小设置为3,两层的输入/输出大小为384/384。

自回归变压器TTS模型自回归变压器TTS模型在我们的工作中有两个目的:1)提取音素持续时间作为目标来训练持续时间预测器; 2)在序列级知识蒸馏中生成梅尔谱图(将在下一部分中介绍)。我们参考[14]的模型配置,它由一个6层编码器,一个6层解码器组成,除了我们使用1D卷积网络而不是位置方式FFN。该教师模型的参数数量与我们的FastSpeech模型的参数数量相似。

4.3 训练与推论

我们首先在4个NVIDIA V100 GPU上训练自回归Transformer TTS模型,每个GPU上批量处理16个句子。我们使用β1= 0.9,β2= 0.98,ε= 10-9的亚当优化器,并遵循[25]中相同的学习率计划。直到融合,这需要8万步的训练。我们再次将训练集中的文本和语音对输入模型,以获得编码器-解码器注意对齐,用于训练持续时间预测器。另外,我们还利用序列级知识蒸馏[12]在非自回归机器翻译[7,8,26]中取得了良好的性能,从而将知识从教师模型转移到学生模型。对于每个源文本序列,我们使用自回归Transformer TTS模型生成mel频谱图,并将源文本和生成的mel频谱图作为配对数据进行FastSpeech模型训练。

我们将FastSpeech模型与持续时间预测器一起训练。 FastSpeech的优化器和其他超参数与自回归变压器TTS模型相同。在4个NVIDIA V100 GPU上,FastSpeech模型训练大约需要进行8万步。在推理过程中,使用预先训练的WaveGlow [20],将我们的FastSpeech模型的输出Mel频谱图转换为音频样本。

论文阅读 FastSpeech相关推荐

  1. 论文阅读工具ReadPaper

    对于搞科研的同学们来说,看论文是要经历的第一关,尤其是要读好多篇论文的时候,更是着实令人头大. 这不,最近无意中发现了个在线论文阅读网站:readpaper.com,号称「论文阅读笔记神器,硕博科研学 ...

  2. 多目标跟踪:CVPR2019论文阅读

    多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.03850 ...

  3. 快速人体姿态估计:CVPR2019论文阅读

    快速人体姿态估计:CVPR2019论文阅读 Fast Human Pose Estimation 论文链接: http://openaccess.thecvf.com/content_CVPR_201 ...

  4. Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读

    Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读 Action4D: Online Action Recognition in the Crowd and Clutter 论文链接 ...

  5. 深度学习点云语义分割:CVPR2019论文阅读

    深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...

  6. 3D目标检测论文阅读多角度解析

    3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...

  7. 3D目标检测论文阅读摘要

    3D目标检测论文阅读摘要 2D Object Detection 的研究已经非常成熟了,代表作品有RPN系列的FasterRCNN,One Shot系列的YOLOv1-YOLOv3,这里推荐一个2D ...

  8. 目标检测——Faster R-CNN论文阅读

    论文阅读--Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks 文章目录 论文阅读--Faste ...

  9. 【独家】深度学习论文阅读路线图

    如果你是深度学习领域的一名新手,可能会遇到的第一个问题是"应该从哪篇论文开始读起呢?" 这里给出了深度学习论文阅读路线图! 路线图按照下面四个准则构建而成: 从提纲到细节 从经典到 ...

最新文章

  1. Linux内核参数调优
  2. main函数的参数详解,它们是何时何处传入的?(main函数的参数值是从操作系统命令行上获得的)
  3. mysql parameters_MySqlCommand Command.Parameters.Add已过时
  4. 使用LitJson进行序列化和反序列化
  5. Bullmind-在线UML软件工具箱
  6. CodeForces - 1422D Returning Home(最短路+思维建图)
  7. 物理搬砖问题_搬砖姿势:风法
  8. oracle全文检索 分区表,oracle全文检索
  9. 十几个NPM恶意包劫持 Discord 服务器
  10. UI自定义UITableView的右侧索引
  11. php加入队列失败,Laravel队列使用中踩的坑,不报错但是队列一直再重试
  12. qtp java_QTP Java swing 一些控件的遍历
  13. Linux C++ socket编程实例
  14. 服务器虚拟网卡驱动卸载,Win10安装和卸载万能网卡版驱动的方法
  15. 员工效率低下,责任在管理层的数学解释和分析
  16. HTML实现手机端适配
  17. 详解线上线下收单业务(一)第三方支付
  18. 百度php工程师面试题
  19. 非静态成员必须与特定对象相对
  20. Mac系统升级后,按大小写键没反应了,切换大小写的灯不亮了

热门文章

  1. Docker-- 提高下载速度的方法
  2. 下载W ndows桌面,远程桌面连接Wndows 7常见故障解决方法.doc
  3. 【Linux】结合当前软件工程技术的背景,评价当前市面上流行的操作系统的局限性
  4. 计算机审计终结与报告,审计个人总结范文
  5. 请各位大虾帮我看看,这句是什么意思?
  6. python课程优势-上海python课程体系
  7. Problems Series 1
  8. 海康视频VTM流监控浏览器实时播放调试总结
  9. 神秘大佬写的的运营思维课
  10. 修道士和野人问题:所有解、启发求解、简单界面