【论文学习笔记】《WaveGlow : A Flow-Based Generative Network For Speech Synthesis》

WaveGlow是一种结合Glow和WaveNet思想的非自回归生成模型,用于从梅尔频谱图高效生成高质量语音。模型简单,仅使用单一网络和似然损失函数进行训练,实现超过500kHz的合成速度,音频质量媲美最佳的WaveNet实现。

《WaveGlow : A Flow-Based Generative Network For Speech Synthesis》论文学习

  摘要

       在本文中,我们提出了 WaveGlow : 一种基于流的网络,能够从梅尔频谱图生成高质量的语音。
        WaveGlow 结合了 Glow (《Glow: Generative flow with invertible 1x1 convolutions》)和 WaveNet (《Wavenet: A generative model for raw audio》)的见解,以提供快速、高效和高质量的音频合成,而不需要自回归。
        WaveGlow 仅使用单个网络实现,训练时仅使用单个代价函数:最大限度地提高训练数据的似然性,使训练过程简单稳定。
       我们的 PyTorch 实现在 NVIDIA V100 GPU 上以超过 500kHz 的速度生成音频样本。
       平均意见得分表明,它提供的音频质量与最好的公开可用 WaveNet 实现一样好。
       所有代码将在Waveglow上公开。
       
       索引术语 —— 语音合成 , 文字转语音 , 生成式模型 ,深度学习
       

  1 介绍

       随着与机器的语音交互变得越来越有用,高效合成高质量的语音变得越来越重要。
       语音质量或延迟的小变化对客户体验和客户偏好有很大的影响。
       然而,高质量的实时语音合成仍然是一个具有挑战性的任务。
       语音合成需要生成具有长期依赖性的高维样本。
       此外,人类对音频样本中的统计缺陷非常敏感。
       除了质量方面的挑战,实时语音合成还面临着速度和计算方面的限制。
       当音频采样率低于 16kHz 时,感知语音质量显著下降,更高的采样率产生更高的语音质量。
       此外,许多应用需要比 16kHz 更快的合成速率。
       例如,在远程服务器上合成语音时,严格的交互性要求意味着必须以远远超过实时要求的采样速率快速合成语音。
       
       目前,最先进的语音合成模型是基于参数神经网络的。
       文本-语音合成通常分为两个步骤。
       第一步是将文本转换成时间对齐的特征,如梅尔谱图(《Tacotron: A fully end-to-end text-to-speech synthesis model》,《Natural tts synthesis by conditioning wavenet on mel spectrogram predictions》),或 F0 频率和其他语言特征(《Wavenet: A generative model for raw audio》,《Deep voice: Real-time neural text-to-speech》)。
       第二个模型将这些时间对齐的特征转换成语音样本。
       在本研究中,我们关注的是第二个模型。
       大多数基于神经网络的语音合成模型都是自回归的,这意味着它们将未来的音频样本与之前的样本结合起来,以建立长期的相关性模型。
       这些方法的实施和训练相对简单。
       然而,它们本质上是串行的,因此不能充分利用并行处理器,如 GPUTPU
       这类模型通常很难在不牺牲音质的情况下合成超过 16kHz 的音频。
       
       目前我们知道有三种基于神经网络的模型可以在不需要自回归的情况下合成语音:并行 WaveNet (《Wavenet: A generative model for raw audio》)、 Clarinet (《Clarinet: Parallel wave generation in end-to-end text-to-speech》)和用于谱图反演(《Fast spectrogram inversion using multi-head convolutional neural networks》)的 MCNN
       这些技术可以在 GPU 上合成超过 500kHz 的音频。
       然而,这些模型的训练和实现都比自回归模型困难。
       这三种方法都需要复合损耗函数来改善音频质量或模式崩溃的问题(《Parallel WaveNet: Fast high-fidelity speech synthesis》,《Clarinet: Parallel wave generation in end-to-end text-to-speech》,《Fast spectrogram inversion using multi-head convolutional neural networks》)。
       此外, Parallel WaveNetClarinet 需要两个网络,一个学生网络和一个教师网络。
        Parallel WaveNetClarinet 的学生网络都使用了逆自回归流 ( IAF )(《Improved variational inference with inverse autoregressive flow》)。
       虽然在推理时可以并行运行 IAF 网络,但流本身的自回归特性使得 IAF 的计算效率低下。
       为了克服这个问题,这些工作使用教师网络来训练学生网络,使其接近真实的可能性。
       这些方法很难复制和部署,因为很难训练这些模型成功地收敛。
       
       在这项工作中,我们证明了自回归流在语音合成中是不必要的。
       我们的贡献是一个基于流的网络,能够从梅尔谱图生成高质量的语音。
       我们称这个网络为 WaveGlow ,因为它结合了 Glow (《Glow: Generative flow with invertible 1x1 convolutions》)和 WaveNet (《Wavenet: A generative model for raw audio》)的思想。
        WaveGlow 易于实现和训练,只使用单个网络,训练时只使用似然损失函数。
       尽管模型很简单,但我们的 PyTorch 实现在 NVIDIA V100 GPU 上以超过 500kHz 的速度合成语音:比实时速度快 25 倍以上。
       平均意见得分表明,它提供的音频质量与在同一数据集上训练的最好的公开可用 WaveNet 实现一样好。
       

  2 WaveGlow

        WaveGlow 是一个生成式模型,通过从分布中采样来生成音频。
       为了使用神经网络作为生成模型,我们从一个简单的分布中抽取样本。
       在我们的案例中,一个维数与我们期望的输出相同的零均值球形高斯函数,将这些样本通过一系列的层,将简单的分布转换为期望的分布。
       在这种情况下,我们在梅尔谱图条件下模拟音频样本的分布。
公式
       我们想通过直接最小化数据的负对数似然来训练这个模型。
       如果我们使用任意的神经网络,这是很难做到的。
       基于流的网络(《Nice: Non-linear independent components estimation》,《Density estimation using real nvp》,《Glow: Generative flow with invertible 1x1 convolutions》)通过保证神经网络映射是可逆的来解决这一问题。
       通过限制每一层为双射,可以通过变量的改变直接计算可能性:
公式
       在我们的例子中,第一项是球面高斯分布的对数似然。
       这一项惩罚了变换后样本的 l2 范数。
       第二项由变量代换产生, J 是雅可比矩阵。
       雅可比矩阵的对数行列式奖励任何一层在前进过程中增加空间的体积。
       这一项也防止了一个层仅仅将 x 项乘以 0 来优化 l2 范数。
       这个转换序列也称为规范化流程(《Variational inference with normalizing flows》)。
       
图片1

1 : WaveGlow 网络

       

       我们的模型与最近的 Glow 工作(《Glow: Generative flow with invertible 1x1 convolutions》)非常相似,如图 1 所示。
       对于正向通过网络,我们取 8 组音频样本作为向量,我们称之为压缩操作,如(《Glow: Generative flow with invertible 1x1 convolutions》)。
       然后我们处理这些向量 “steps of flow
       这里的流程包括一个可逆的 1×1 卷积,然后是一个仿射耦合层,如下所述。
       

    2.1 仿射耦合层

       可逆神经网络通常使用耦合层来构建(《Nice: Non-linear independent components estimation》,《Density estimation using real nvp》,《Glow: Generative flow with invertible 1x1 convolutions》)。
       在我们的例子中,我们使用了仿射耦合层(《Density estimation using real nvp》)。
       一半的通道作为输入,然后产生乘法和加法术语,用于缩放和转换剩余的通道:
公式
       这里 W N ( ) WN() WN() 可以是任何变换。
       耦合层对整个网络保持可逆性,即使 W N ( ) WN() WN() 不需要是可逆的。
       这是因为用作 W N ( ) WN() WN() 输入的通道(在本例中为 x a x_a xa

### 回答1: ESRGAN是增强型超分辨率生成对抗网络的缩写,它是一种深度学习模型,用于将低分辨率图像转换为高分辨率图像。它使用生成对抗网络(GAN)的方法,通过训练生成器和判别器来提高图像的质量。ESRGAN是目前最先进的超分辨率算法之一,它可以生成更加真实、细节更加丰富的高分辨率图像。 ### 回答2: ESRGAN是一种增强超分辨率生成对抗网络(Enhanced Super-Resolution Generative Adversarial Networks)的算法,它采用了图像增强技术和深度学习的方法,可以将低分辨率(LR)的图像转化为高分辨率(HR)的图像。该算法主要的贡献在于,它可以生成更加逼真的HR图像,从而更好地应用于实际的图像处理领域。 该算法主要是由两个子模型组成的,一个是生成模型(Generator),另一个是判别模型(Discriminator)。生成模型通过学习HR图像和相应的LR图像之间的关系,生成更加逼真的HR图像。而判别模型则评估生成模型生成的HR图像是否真实,从而提高生成模型的准确度。 ESRGAN算法采用特殊的损失函数,即感知损失和自适应增强损失,来优化生成模型。感知损失通过VGG网络来计算生成模型和HR图像之间的差异,以此来调整生成模型的参数。自适应增强损失则用于动态调整生成模型的输出图像的细节次,使生成模型产生更加真实的输出图像。 ESRGAN算法在图像增强领域取得了显著的成果,其生成的HR图像质量要比先前的SRGAN算法有了很大的提升。因此,ESRGAN算法在实际应用中具有广泛的前景,可以为图像处理领域提供更加高效、准确和可靠的方法。 ### 回答3: ESRGAN(Enhanced Super-Resolution Generative Adversarial Networks)是一种利用深度学习算法进行图像超分辨率的技术。其主要思路是基于GAN模型,通过训练一个生成器去从低分辨率图像生成高分辨率图像,同时以高分辨率的真实图片为样本来训练判别器模型,使其能够区分出生成器生成的图像是否为真实高清图像。 ESRGAN相对于传统的超分辨率算法,具有以下几个优点: 1.超分辨率效果更好。传统的超分辨率算法往往是基于一些数学模型进行插值运算,因此往往会出现图像模糊、失真等问题。而ESRGAN能够通过深度学习算法学习到更加准确的纹理特征,从而可以生成更为真实的高清图像。 2.可扩展性更强。ESRGAN的GAN模型可以通过增加网络深度、增加训练数据等方式对模型进行优化,从而提高图像超分辨率效果。 3.针对性更强。ESRGAN可以针对不同种类的图像进行训练,从而能够对各种类型的图像进行超分辨率处理,具有广泛的适用性。 4.易于应用。ESRGAN训练出的模型可以很方便地应用到实际生产环境中,对于需要进行图像超分辨率处理的应用场景具有很大的帮助作用。 虽然ESRGAN在图像超分辨率方面具有较为突出的优势,但其也存在一些缺点和挑战。比如需要大量的高清图像数据用于训练,需要考虑到训练时间和计算资源的问题;还需要解决一些局部纹理复杂的图像超分辨率问题。总之,ESRGAN是一种非常有潜力的图像超分辨率算法,将有助于推动图像处理技术的进一步发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值