[论文阅读]FloWaveNet

本文提出了FloWaveNet,使用最大似然损失,并行生成原始样点。解决了原来的Parallel WaveNet和ClariNet的缺点:1.使用一个训练好的教师网络和一个学生网络进行两阶段训练;2.如果只使用概率蒸馏损失,容易模型崩塌;

WaveNet模型是2016年9月谷歌提出的语音合成模型,利用神经网络对原始音频波形建模。WaveNet可以用作文本到语音系统(TTS)的声码器,输入一段句子,输出指定说话人所说一段语音。因为采用了自回归采样技术,WaveNet每次生成一个样本点,新的样本点受之前样本点的制约,每秒生成24000个高质量音频样本,7s的音频需要约50min的GPU时间,速度很慢。

下图表示原来的WaveNet逐个生成音频波形。

在这里插入图片描述

为了解决这个问题,研究者提出了并行化的WaveNet:Parallel WaveNet,ClariNet;实现了实时的音频波形生成。但是这两个模型并不完美:1.需要两阶段训练,先训练的教师网络,教师网络的能力教给学生网络;2.需要若干损失函数。例如:如果只使用概率蒸馏损失,模型容易崩塌,即学生网络学习到了教师网络的概率分布,导致模型性能次优。

概率密度蒸馏损失是指用一个经过完全训练的WaveNet模型作为“教师”网络,把自己的能力教给一个“学生”网络—一种速度更快,并行的网络所产生的损失。

学生网络是一个比较小的dilated CNN,和原始WaveNet结构差不多。但二者有一个关键的区别:在学生网络中,每个样本的生成不依赖于任何已生成的样本,这就意味着从第一个词到最后一个词,以及中间的整个句子,我们都可以同时生成出来,如下图所示:

在这里插入图片描述

为此,我们提出了基于流的并行实时音频波形生成模型。特点有:1.只有一个最大似然损失函数;2.只用训练一个网络,没有教师网络学生网络之分。另外,本文的FloWaveNet模型生成的音频在质量和保真度方面和其他模型不相上下。

FloWaveNet原理图:

在这里插入图片描述

网络主要是由Context block堆叠而成,本文中的实验堆叠了8个,其中每个Context block包含一个Squeeze和若干Flow,Flow由activation norm,Affine Coupling和Change Order组成,最右图这是Affine Coupling的具体操作。

Squeeze操作如下图:

在这里插入图片描述

将输入数据x和条件c的时间维度缩短为原来的一半,这样Channel数就变为原来的两倍。这样感受域就变为原来的两倍,直觉上和WaveNet的扩大卷积类似。

那么什么是flow呢?flow是一种可逆函数f,我们先看一下形式化表示&#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值