本文是对 ICLR 2020 论文《High Fidelity Speech Synthesis with Adversarial Networks》的解读,
论文作者来自谷歌。
编辑 | 丛 末
论文地址:https://openreview.net/forum?id=r1gfQgSFDr
自从GAN产生以来,就被主要应用在图像生成领域中,然而,其在语音合成的领域却涉猎不多。为了弥补GAN在语音合成领域探索的缺乏,本文提出了一个利用GAN来进行文本向语音转换的模型。该模型在不同评价度量手段中,都取得了可和之前的语音合成模型相比的效果,并且和前人提出的自回归模型相比,由于其高效的前向传播生成器,本模型还获得了很高的并行性。
在基于文本的语音合成(TTS)领域,前人大部分使用神经自回归模型处理原始语音波形的方法(如WaveNet, SampleRNN, WaveRNN等),这些模型一个明显的缺陷就是,由于其使用序列形式对语音信号进行预测,因此很难去进行并行计算,从而会消耗很大的计算成本,并在很多场景都并不实用。
因此,最近很多关于TTS的研究都聚焦于提高并行性,如使用基于流的模型(flow-based model)。
另一种提高并行生成的方法就是使用生成对抗网络(GAN)。GAN在之前的研究中多用于生成图像,并能够生成高仿真的样本,这些生成的样本一般很难和真实数据区别开来。然而,在语音合成任务中,GAN的探索甚少。
1、核心思想
本文使用 GAN生成原始波形图来进行语音合成,证明了对抗网络前馈生成器的确能够生成高保真的语音音频,并解决了前人模型中缺乏并行性的缺陷。
2、主要贡献
(1) 提出了一个使用生成对抗网络基于文本进行高保真语音合成的模型(GAN-TTS, a Generative Adversarial Network for text-conditional high fidelity speech synthesis),在前向传播层使用卷积神经网络作为生成器,判别器则使用多个判别器集成的方法,基于多频率随机窗口来进行判别分析。
(2)同时,基于Frechet Inception距离(FID)和核 Inception距离(KID)这两个针对图像生成的衡量指标,本文还提出一系列衡量语音生成质量的指标。
(3)针对TTS-GAN模型,本文提出了定量和主观的评价标准,并通过控制变量对模型进行分成分评估,证明了模型各部分选择的重要性。其中得到最好的结果得到了与其他文本语音合成前沿研究方法相似的结果,证明了GAN在高效TTS任务上的可行性。
3、模型细节
(1)生成器
G的输入是语言和音调信息200Hz的序列,输出是24kHz的原始波形图。生成器由七个块组成(GBlocks),其中每个块是两个残差块的堆积。
当生成器在产生原始语音的时候,我们使用空洞卷积去保证G的感知野足够大到捕捉长时期的属性。每个GBlock中的卷积核有四个,大小为3,空洞因子为1,2,4,8.在卷积部分,本文使用条件条件批标准化(Conditioanl Batch Normalisation)。一个GBlock包含两个跳跃连接,其中第一个当输出频率大于输入频率时进行上采样,第二个则是当输出通道和输入通道不同时采用一个大小为1的卷积操作。最后的卷积层则采用Tanh激活函数,来产生一个单通道的语音波形图。
(2)随机窗口判别器集成
相对于单个判别器,本文集成了随机窗口判别器(Random Window Discriminators, RWDs)此判别器对真实和生成样本的随机子采样片段进行操作。集成操作可以使本文可以对语音进行模型的逐个评估,并且可以通过两个参数的笛卡尔积获得,这两个参数分别是1)随机窗口的大小2)判别器是否捕捉了语言和音调信息。由于采用了较短的随机窗口,集成判别器可以获得比传统判别器梗块的训练效果。
相比于在整个生成的样本上进行操作,使用不同大小的随机窗口有数据增强的效果,并且可以减小计算复杂性。同时,条件判别器可以捕捉到语言和音调特征,从而可以判断生成的语音是否匹配输出的条件。
(3)判别器架构
多随机窗口鉴别器结构(Multiple Random Window Discriminator architecture)
其中采用的DBlock和Conditional DBlock如下所示:
其中,包含块的判别器(discriminator consists of block, DBlocks)和生成器中使用到的GBlock相似,区别就在于没有批标准化。
DBlock和Conditional DBlock的区别就在于。
Conditional DBlock中第一个卷积操作之后加入了语言信息的嵌入表示。
在判别器结构中,前两个和最后两个DBlock并没有下采样,同时,本文在中间层还加入了至少两个下采样块。DBlock中卷积的空洞因子遵从1,2,1,2的参数变化,因为和生成器不同,判别器在相对更小的窗口上操作,并且本文检测到,使用大的空洞因子并不会带来任何益处。
本文提供了基于平均意见分数(Mean Opinion Scores,MOS)的主观人类评估指标和定量指标来对模型的结果进行评估。
1、MOS
本文使用人类评估员,在一千个句子上进行了模型评估。与van den Oord等人在WaveNet和Parallel WaveNet上报告的分数相比,要求每个评估者以1-5 Likert量表标记句子的主观自然性。
2、语音距离
基于Frechet Inception距离(FID)和核 Inception距离(KID)这两个针对图像生成的衡量指标,本文提出了一系列衡量语音生成质量的指标,指标包括了无条件和条件Frechet DeepSpeech距离(FDSD和cFDSD)以及核DeepSpeech距离(KDSK, cKDSD)。
1、 数据集
本文提出的文本语音转换模型在包含语言特征和音调信息的高保真人类语音上进行训练。语言特征对语音和持续时间进行编码,而音调信息则使用对数基本频率
l
o
g
F
0
来表示。数据集中一共有567个特征。在实验中,本模型不使用真实语音持续时间和音调来进行主观评估,而是采用了不同模型所预测出的语音持续时间和发音。
数据集由单个序列的变长语音切片组成,发音使用的是标准美语,采用结合语言特征的两秒时间窗口进行训练,总时长为44小时,样本频率为24kHz,并使用5毫秒时间窗口来计算语言特征和音调信息。这意味着生成网络在将信号上采样120倍,并且需要学习如何将语言特征和音调信息转换为原始语音。
2、实验设置
本文的模型主要设置是多个滑动窗口判别器(RWD),条件和非条件调整以及不同的下采样因子。因此,在实验部分,这边文章使用控制变量的方式证明了模型选择的最优性,具体设置如下:
在实验部分对比设置中,除以上变化,其他所有参数都和本文模型保持一致。
3、实验结果
实验结果表明,虽然本文提出的模型的效果比WaveNet和Parallel WaveNet差,但是还是在一个可比的数值区间内。
并且本文是第一个使用GAN来解决此类问题,并且取得较好性能结果的探索者。
需要补充的是,由于WaveNet和Parallel WaveNet训练所采用的数据集要比GAN-TTS的大,因此模型之间也不是完全直接可比的。
通过控制变量,本文证明了使用多重RWD的重要性,因为所有多重RWD模型都取得了比单个cRWD更好的结果,同时,所有使用无条件RWD的模型比不使用的效果都要更好。和10个判别器的模型相比,因为使用固定长度的窗口的模型明显表现更差,那么很显然,使用不同窗口大小的组合会带来更多的好处。
最后,本文还观察到了MOS和定量评估指标很明显的相关性,这一点也证明了这些指标是很适合评估神经语音合成模型的。
4、结果讨论
(1)随机窗口判别器(RWD)
虽然很难说为什么RWD比整体判别器要好,本文假设原因在于分布的相对简单性以及对同一个分布取样的多样性。
(2)计算有效性
相对于Parallel WaveNet,本文提出的生成器有更大的感知野,同时还减少了三倍的FLOPs。并且由于使用了集成RWD而不是整体生成器,模型在训练过程中还取得了更快的速度。最后,在网络深度层面,本模型的生成器有30层,是Parallel WaveNet的一半。
(3)稳定性
本文提出的模型在训练过程中非常稳定,主观的样本质量随着训练过程逐步上升,定量的评估指标也随之逐渐下降,并且直到训练到一百万迭代次数,也没有遭遇GAN经常会遇到的模型崩溃问题。
本文介绍了一个基于GAN的原始文本转化语音生成模型——GAN-TTS,和之前的文本语音转换模型不同,GAN-TTS是对抗式训练,生成器是一个前馈卷积神经网络,这使得生成模型非常高效,从而有益于实际应用场景。使用的模型架构利用了条件和非条件的不同窗口大小的随机窗口判别器,可以对合成语音的真实性以及和输入文本的一致性进行评判。
在实验部分,本文通过控制变量法,证明了本模型的每个部分对得到最后良好结果的重要性。与此同时,本文提出了衡量语音合成效果的定量指标——(条件)Fre ́chet DeepSpeech Distance 和 (条件) Kernel DeepSpeech Distance,并且证明了这些指标在实验中和人类评估效果的一致性,由于这些指标基于开源DeepSpeech识别模型,因此可以对整个机器学习社群作出贡献。
最后,本文实验结果显示,针对生成语音样本的定量评估指标和主观衡量指标都证明了在文本语音转换领域使用GAN的可行性。
点击“
阅读 原文 ” 查看 ICLR 系列论文解读