DeepMind详解新WaveNet:比原来快千倍,语音更自然 | 附论文

简介:
本文来自AI新媒体量子位(QbitAI)

8f9d299f496059bc618c6b52f16266356aea716a

上个月,Google Assistant英语和日语版终于用上了DeepMind一年前推出的语音合成算法:WaveNet。

从算法研究出来到用在产品里,为什么隔了一年多的时间呢?DeepMind说,WaveNet在去年论文发布的时候还只是个研究用的原型,对于消费类产品来说,它消耗的计算力太多了。

于是,DeepMind用一年时间为这个语音合成算法打造了升级版:并行WaveNet(parallel WaveNet),运行速度比原版快1000倍,语音质量也有所提升。

为了介绍升级版模型的细节,以及让整个系统能够在大规模并行计算环境中运行的概率密度蒸馏(probability density distillation)技术,DeepMind同时还公布了一篇论文:

Parallel WaveNet: Fast High-Fidelity Speech Synthesis

Aaron van den Oord, Yazhe Li, Igor Babuschkin, Karen Simonyan, Oriol Vinyals, Koray Kavukcuoglu
George van den Driessche, Edward Lockhart, Luis C. Cobo, Florian Stimberg, Norman Casagrande, Dominik Grewe, Seb Noury, Sander Dieleman, Erich Elsen, Nal Kalchbrenner, Heiga Zen, Alex Graves, Helen King, Tom Walters, Dan Belov, Demis Hassabis

地址:https://deepmind.com/documents/131/Distilling_WaveNet.pdf

原版WaveNet模型用自回归连接来一个样本一个样本地合成声音波形,每一个新样本受前一个样本制约。按照这样的序列生成方法,每秒能够生成24000个样本,要部署到实际产品上还是太慢了。

ede012ea3cd67a69be90b4bc937be71a9591dc19

 原版WaveNet逐个生成波形样本

为了解决这个“太慢了”的问题,就需要一种能够一次生成长序列样本,又不用牺牲质量的方法。DeepMind所用的,就是上面提到的概率密度蒸馏。

概率密度蒸馏法就是用一个经过完全训练的WaveNet模型作为“教师”网络,把自己的能力教给一个“学生”网络——更小、更平行、更适用于现代计算机硬件的神经网络。

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

d1ae7efdbe9bb5c6b622150a718df9c861b81858

 新WaveNet模型以白噪声为输入,并行合成所有样本

在训练过程中,学生网络从随机状态开始,被输入随机的白噪声,它的任务是里输出一串连续的声音波形。

然后,生成出的声音波形被输入到以训练的原始WaveNet模型(也就是教师网络)中,教师网络给每个样本打分,给出一个信号来让学生理解这个样本和教师网络所要求的输出相差有多远。

这也是一个通过反向传播来对学生网络进行调参的过程,让学生网络学会自己该生成什么样的声音。话句话说,就是教师和学生网络都为每个声音样本的值输出一个可能的概率分布,而训练的目标是最小化二者之间的KL散度(KL divergence)。

这种训练方法和生成对抗网络(GAN)的设计可以平行比较,学生的角色就相当于GAN里的生成器,而教师相当于鉴别器。与GAN不同的是,学生的目标不是“骗过”教师,而是与教师合作,尝试达到与教师差不多的性能。

尽管这种训练方式效果不错,但我们还是需要再加上一些额外的损失函数,才能让学生达到我们所需要的水平。

我们添加了感知损失(perceptual loss)来防止产生不好的发音,用contrastive loss来进一步消除噪音,用power loss协助匹配人类语音的能量。

这些损失函数都是很有用的,比如说如果不加power loss,模型合成的语音就都是耳语,而不像人类大声说话的声音。

把上述方法都用上,我们训练出的并行WaveNet所合成的语音,就能够达到和原始WaveNet相同的质量,见下表所示的平均意见分(MOS):

9fc559515ecac4c236fcf5635c70a26d8eddd324

MOS这个评分体系,让人类被试用1-5的数字来衡量语音听起来有多自然。特别需要说明的是,真人的语音的MOS评分也只有4.667。

当然,让WaveNet符合实际产品应用所需的速度和质量,需要很多步骤,概率密度蒸馏只是其中之一。

为了将并行WaveNet整合到Google Assistant的服务流中,DeepMind应用团队和Google语音团队都需要付出同样多的工程努力,两个团队共同努力12个月,才能够把WaveNet这项基础研究用到谷歌的大规模产品中。

最后,附上相关文章地址:

DeepMind博客文章地址:https://deepmind.com/blog/high-fidelity-speech-synthesis-wavenet/

Parallel WaveNet论文:https://deepmind.com/documents/131/Distilling_WaveNet.pdf

原版WaveNet论文:https://arxiv.org/pdf/1609.03499.pdf

本文作者:夏乙 
原文发布时间:2017-11-23 
相关文章
|
数据采集 存储 数据可视化
四个常见的爬虫框架
【5月更文挑战第10天】本文介绍了四个常见的爬虫框架或库:Scrapy、PySpider、Crawley和Portia。Scrapy是一个强大、组件化的爬虫框架,支持异步请求和XPath数据提取。PySpider提供WebUI,便于脚本编写和结果查看,适合初学者。Crawley擅长高速爬取,支持多种数据库和数据导出格式。Portia是可视化工具,适合无编程经验的用户。此外,还有BeautifulSoup和Grab等工具可供选择。选择爬虫工具应考虑项目需求、开发者技能和工具特性。
614 0
|
9月前
|
人工智能 自然语言处理 Java
30分钟速成:IntelliJ IDEA 2024下载安装与多语言开发环境配置手册
IntelliJ IDEA是Java/Kotlin开发领域的旗舰级IDE,最新版本实现了AI全栈辅助、量子计算插件和多语言互操作三大技术突破。AI辅助提升代码生成与性能优化准确率40%,量子计算插件支持1024量子位模拟,多语言混合调试性能提升300%。系统要求包括i5以上CPU、8GB内存及Windows 7+等。安装流程涵盖获取Ultimate版、配置启动器及性能优化设置。核心功能包括AI编码助手和多语言开发环境配置。提供量子算法开发和AI代码审查实战案例,并附故障排查指南和学习资源。
|
缓存 算法 数据库
性能优化实战——从理论到实践
性能优化实战——从理论到实践
244 1
|
机器学习/深度学习 并行计算 算法
深度学习驱动的声音生成:FunAudioLLM的创新架构
【8月更文第28天】随着深度学习技术的发展,声音合成的质量得到了显著提升。本文将介绍 FunAudioLLM —— 一种基于深度学习的声音生成框架,旨在创造高质量、自然流畅的声音内容。我们将探讨 FunAudioLLM 的核心技术、训练流程及其实现细节,并提供一些示例代码。
409 0
|
传感器 语音技术
STM32智能小车(循迹、跟随、避障、测速、蓝牙、wife、4g、语音识别)总结-2
STM32智能小车(循迹、跟随、避障、测速、蓝牙、wife、4g、语音识别)总结
STM32智能小车(循迹、跟随、避障、测速、蓝牙、wife、4g、语音识别)总结-2
|
运维 Ubuntu 网络协议
Ubuntu系统下修改网卡IP地址
【7月更文挑战第3天】Ubuntu系统下修改网卡IP地址
2034 1
|
SQL 关系型数据库 MySQL
【MySQL】:探秘主流关系型数据库管理系统及SQL语言
【MySQL】:探秘主流关系型数据库管理系统及SQL语言
651 0
使用JTS及其姐妹项目GeoTools进行坐标系转换
【6月更文挑战第7天】使用JTS及其姐妹项目GeoTools进行坐标系转换
1424 0
|
传感器 算法 机器人
在实用化人形机器人控制系统中深入应用FPGA的框架设计(基于特斯拉Optimus-Gen2的硬件系统)
针对实用化人形机器人的控制系统,以深入应用FPGA技术为指导思想做了一个框架设计,提供一个具象化的设计实例、参考技术方案,协助各研发团队及相关决策者了解这一技术思路的价值。 进而,笔者希望读者将这个框架设计与《在实用化人形机器人研发流程中深入应用FPGA技术的流程图》结合起来进行分析、思考,希望: 进一步降低将FPGA深入应用于人形机器人在纯粹技术维度上的门槛; 助力更多正在人形机器人领域参与竞争的团队 -- 及时做出实质性决策,及时将更多资源分配到深入应用FPGA技术这一竞争维度。
864 4
在实用化人形机器人控制系统中深入应用FPGA的框架设计(基于特斯拉Optimus-Gen2的硬件系统)
|
存储 机器学习/深度学习 固态存储
提高性能!硬件调优技巧大揭秘
提高性能!硬件调优技巧大揭秘
332 0