微软提出极低资源下语音合成与识别新方法,小语种不怕没数据!| ICML 2019
作者 | 谭旭
转载自微软研究院AI头条(ID: MSRAsia)
编者按:目前,人类使用的语言种类有近7000种,然而由于缺乏足够的语音-文本监督数据,绝大多数语言并没有对应的语音合成与识别功能。为此,微软亚洲研究院机器学习组联合微软(亚洲)互联网工程院语音团队在ICML 2019上提出了极低资源下的语音合成与识别新方法,帮助所有人都可以享受到最新语音技术带来的便捷。
基于文本的语音合成(Text-to-Speech, TTS)和自动语音识别(Automatic Speech Recognition, ASR)是语音处理中的两个典型任务。得益于深度学习的发展和大量配对的语音-文本监督数据,TTS和ASR在特定的语言上都达到了非常优秀的性能,甚至超越了人类的表现。然而,由于世界上大部分语言都缺乏大量配对的语音-文本数据,并且收集这样的监督数据需要耗费大量的资源,这使得在这些语言上开发TTS和ASR系统变得非常困难。为了解决这个问题,微软亚洲研究院机器学习组联合微软(亚洲)互联网工程院语音团队提出了一种极低资源下的语音合成和识别的新模型方法,仅利用20分钟语音-文本监督数据以及额外的无监督数据,就能生成高可懂度的语音。
模型框架
TTS将文本转成语音,而ASR将语音转成文字,这两个任务具有对偶性质。受到这个启发,我们借鉴无监督机器翻译的相关思路,利用少量的配对语音-文本数据以及额外的不配对数据,提出了一种接近无监督的TTS和ASR方法。
首先,我们利用自我监督学习的概念,让模型分别建立对语言以及语音的理解建模能力。具体来说,我们基于不成对的语音和文本数据,利用去噪自动编码器(Denoising Auto-Encoder, DAE)在编码器-解码器框架中重建人为加有噪声的语音和文本。
其次,我们使用对偶转换(Dual Transformation, DT),来分别训练模型将文本转为语音和将语音转为文本的能力:(a)TTS模型将文本X转换为语音Y,然后ASR模型利用转换得到语音-文本数据(Y,X)进行训练; (b)ASR模型将语音Y转换为文本X,然后TTS模型利用文本-语音数据(X,Y)进行训练。对偶转换在TTS和ASR之间不断迭代,逐步提高两个任务的准确性。
考虑到语音序列通常比其它序列学习任务(如机器翻译)的序列更长,它们将更多地受到错误传播的影响(在自回归模型生成序列时,序列中上一个错误生成的元素将会对下一个元素的生成产生影响)。因此,生成序列的右侧部分通常比左侧部分差,然后通过训练迭代导致模型生成的序列始终表现为右侧差。在低资源的场景下,这种现象更为严重。因此,我们进一步利用文本和语音的双向序列建模(Bidirectional Sequence Modeling, BSM)来缓解错误传播问题。这样,一个文本或语音序列可以从左到右生成,也可以从右到左生成,能防止模型始终生成某一侧较差的序列。
最后,我们设计了一个基于Transformer的统一模型架构,可以将语音或文本作为输入或输出,以便将上述DAE、DT、BSM模块整合在一起以实现TTS和ASR的功能。
如上图所示,图(a)描述了DAE和DT的转换流程,图(b)展示了我们采用的Transformer模型结构,图(c)显示了语音和文本的输入输出处理模块。
实验结果
为了验证这一方法的有效性,我们在英语上模拟低资源的场景,选用LJSpeech数据集进行实验,LJSpeech包含13100个英语音频片段和相应的文本,音频的总长度约为24小时。我们将数据集分成3组:300个样本作为验证集,300个样本作为测试集,剩下的12500个样本用来训练。在这12500个样本中,我们随机选择200个配对的语音和文本数据,剩下的数据当作不配对的语音文本数据。
我们邀请了30个专业评估员对生成的声音进行可懂度(Intelligibility Rate)以及MOS(Mean Opinion Score,平均主观意见分)评测。MOS指标用来衡量声音接近人声的自然度,在极低资源场景下,我们一般用可懂度来评估是否能产生可理解的声音。
经过实验,我们提出的方法可以产生可理解的语音,其单词级的可懂度高达99.84%,而如果仅对200个配对数据进行训练,则几乎无法产生可以被听懂的语音,这显示出我们方法在极低资源场景下的实用性。
下面展示了我们方法合成的声音Demo:
文字:“The forms of printed letters should be beautiful and that their arrangement on the page should be reasonable and a help to the shapeliness of the letters themselves.”
更多Demo声音,请访问:
https://speechresearch.github.io/unsuper/
语音合成上的MOS得分以及语音识别的PER(Phoneme Error Rate,音素错误率)如下表所示。我们的方法在TTS上达到2.68的MOS,在ASR上达到11.7%的PER,远优于仅在200个配对数据上训练的基线模型(Pair-200),并且接近使用所有训练样本的监督模型(Supervised)。由于我们的语音合成仅使用了效果较差的Griffin-Lim作为声码器合成声音,作为对比,我们也列出了真实样本(Ground Truth, GT)以及真实样本的梅尔频谱图通过Griffin-Lim转换得到的声音(GT(Griffin-Lim))的MOS得分作参考。
为了研究我们方法中每个模块的有效性,我们通过逐步将每个模块添加到基线(Pair-200)系统进行对比研究。实验中先后添加了以下模块:去噪自编码器(DAE)、对偶变换(DT)和双向序列建模(BSM),结果如下表所示。可以看到,随着更多模块的加入,TTS的MOS得分以及ASR的PER都稳定地提高,显示出各个模块的重要性。
我们还可视化了测试集中由不同系统生成的梅尔频谱图,如下图所示。由于Pair-200和Pair-200 + DAE不能产生能被理解的语音,因此红色边界框中的梅尔频谱图的细节也与真实频谱大不相同。当添加DT时,整个频谱图更接近真实频谱图,然而受到误差传播的影响,位于频谱图序列末尾的红色边界框细节仍然与真实数据不同。当进一步添加BSM时,边界框中的细节比较接近真实数据,这也证明了BSM在我们的方法中的有效性。当然如果使用LJSpeech的全部配对数据进行监督训练,模型可以重建更接近真实情况的细节。
我们的方法仅利用约20分钟的语音-文本配对数据,以及额外的不配对数据,在英语上取得了很好的效果,产生了高可懂度的语音。当前,我们正在持续提高这一方法的性能,直接支持文本字符的输入而不是先将字符转化为音素作为输入,同时支持多个说话人的无监督语音数据。我们还在尝试利用更少的语音-文本数据(甚至完全不用配对数据)以实现高质量的语音合成与语音识别。未来,我们将利用这项技术支持其它低资源语言,让更多的语言拥有语音合成与识别功能。
论文地址:
https://speechresearch.github.io/papers/almost_unsup_tts_asr_2019.pdf
作者简介:谭旭,微软亚洲研究院机器学习组研究员,主要研究兴趣为机器学习算法及其在自然语言、语音领域中的应用,研究成果发表在ICML、NIPS、ICLR、AAAI、ACL、EMNLP、NAACL等会议上。
(*本文为 AI科技大本营转载文章,转载请联系原作者)
◆
CTA核心技术及应用峰会
◆
5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。议程设置请请识别海报二维码查看。
目前CTA峰会倒计时5天!还没有拿到入场券的小伙伴可以扫描识别海报二维码或者点击阅读原文,即刻抢购。你也添加小助手微信15101014297,备注“CTA”,了解票务以及会务详情。
推荐阅读
掌声送给TensorFlow 2.0!用Keras搭建一个CNN | 入门教程
一文回顾AI绘画的成长之路:从简笔画到真实人脸生成
清华AI学堂班:姚期智担任首席教授,2019年首批招收30人
中国AI开发者真实现状:写代码这条路,会走多久?
520 这天,我突然意识到,她根本配不上我这么聪明的男人
厉害!女学生偷师男子学校,变身区块链开发工程师
确实, 5G与物联网离不开区块链!
刷了一个半月算法题,我薪资终于Double了
Linux 之父:我就是觉得苹果没意思!| 人物志
这本京东断货王的Python神书,刷爆整个编程圈!
相关文章:

面试准备--7.31
22222转载于:https://www.cnblogs.com/czlovezmt/p/9398015.html

那些年,让我面试头大的几个排序算法,今天终于搞懂了!
作者 | 逆流的鱼yuiop转载自何俊林(ID:smartyuge)算法上,最基础的就是排序算法,几乎在面试中,或多或少会要求你手写一些基础算法。今天鱼哥带大家这些基础算法回顾下。快速排序介绍:快速排序(Qu…

【天线】天线基础:名词解释
1、定向天线和全向天线 先上图,第一张图是定向天线(一根棍子加一块板),第二张图是全向天线(一根棍子) 网上的几种解释: 全向天线就是一个棍子,围绕棍子有一圈儿信号;定…

springBean生命周期----来自spring实战总结
1、Spring对bean进行实例化 2、Spring将值和bean的引用注入到bean对应的属性中(比如说注入到被依赖的bean的方法中或属性里) 3、如果bean实现了BeanNameAware接口,将会将bean的Id传入setBeanName()方法中 4、如果bean实现了BeanFactoryAware接口,将会设置bean的BeanFactory的引…

disk boot failure,insert system disk and press enter
每次一开机就出现提示:"disk boot failure,insert system disk and press enter"http://topic.csdn.net/t/20061202/08/5201096.html 转载于:https://blog.51cto.com/yfb880106/857829

深度讲解:web前端性能优化
一、课程简介: 1、课程大纲 涉及到的分类 网络层面构建层面浏览器渲染层面服务端层面涉及到的功能点 资源的合并与压缩图片编解码原理和类型选择浏览器渲染机制懒加载预加载浏览器存储缓存机制PWAVue-SSR前端性能优化原理 作用及原理如何与真实业务场景结合理论结合…

Google Android向华为“闭源”,华为手机迎来至暗时刻!
作者 | 屠敏转载自CSDN(ID:CSDNnews)居安思危任正非,未雨绸缪如华为。在贸易战的背景下,即使早在多年前已在多个层面做好“备胎”计划的华为,在面对美国对芯片乃至操作系统等系列釜底抽薪的打压时ÿ…

【C++】C++好书推荐
一、吴咏炜推荐 1、入门级 Bjarne Stroustrup, A Tour of C, 2nd ed. Addison-Wesley, 2018 中文版: 王刚译,《C 语言导学》(第二版)。机械工业出版社,2019 Bjarne Stroustrup, The C Programming Language, 4th ed. Addison-W…

HDOJ2569 ( 彼岸 ) 【递推公式】
f13f29f321f451猜测f(n)2*f(n-1)f(n-2)在纸上打草稿写出f3的情况,然后推出f4的情况(在f3后边加*2或*3就成)f3 f4 f3 f4 f3 f4111*3 222*3 333*3112*2 221*2 331*2113*2 223*2 332*2121*2 212*2 313*2131*2 …

【C++】new和malloc的区别
一、显而易见的区别 1、属性 new/delete是C关键字,需要编译器支持; malloc/free是库函数,需要头文件支持。 2、参数 使用new操作符申请内存分配时,无须指定内存块的大小,编译器会根据类型信息自行计算;…

消息队列的面试题7
1、面试题 如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路 2、面试官心里分析 其实聊到这个问题,一般面试官要考察两块: (1)你有没有对某一个消息队列做过较为深入的原理的了解,或…

《使女的故事》大火,AI是背后最大推手?
作者 | Just、Rachel出品 | AI科技大本营(ID:rgznai100)还记得大火的美剧《使女的故事》吗?先别着急回答,这次我们不讲剧情,而要说的是这部剧背后的发行方是美国 Hulu 网站。该网站是美国第二大付费在线视频平台&#…

jQuery事件处理一瞥
以前部门一直都是使用一个名为QTT的JS框架。最近老大提出要转用jQuery框架,需要将旧框架的一些JQ没有实现的功能移植到JQ中去。当我移植到event库的时候,以下是其代码: QTT.event {KEYS : {BACKSPACE : 8,TAB : 9,RETURN : 13,ESC : 27,SPAC…

【C++】零散知识
1、抛异常时,还会执行析构操作吗? 发生异常(抛异常)时,在该作用域中的局部非PAD变量(即,有构造函数和析构函数的变量)会执行析构操作。 2、new出的内存一定在堆上吗? …

百度景鲲“升职记”
整理 | 琥珀出品 | AI科技大本营(id:rgznai100)近日,据多家媒体报道,百度人力资源负责人崔珊珊发出晋升邮件宣布,智能生活事业群总经理景鲲晋升为副总裁。百度在晋升邮件中评价他:“敢打硬仗、能…

南通市公积金信息系统goldengate复制软件采购
(二)容灾软件部分:2套Oracle GoldenGate 11G ,1 CPU(必须提供原厂商针对本项目授权、质保承诺)。特性指标系统平台支持1. 支持主流操作系统,包括:IBM AIX、HP-UX、Linux、Sun Solaris、Mic…

开源需自立!Android、GitHub、Apache全线告急!
作者 | 胡巍巍&伍杏玲责编 | 唐小引出品 | CSDN(ID:CSDNnews)华为四面楚歌,“破窗效应”爆发!继5月16日美国商务部工业与安全局(BIS)将华为列入“实体清单”之后,越来越多的美国…

【C】linux下切换工作目录至程序所在目录
1、获取当前程序的绝对路径 /proc/self/exe是一个符号链接,代表当前程序的绝对路径 用readlink读取/proc/self/exe可以获取当前程序的绝对路径 2、从字符串中获取目录 char dirname(char path); 3、改变当前工作目录 int chdir(const char *path ); 4、完整示…

Eclipse基金会发布Eclipse Photon IDE
Eclipse基金会发布了最新版本的Eclipse IDE。Eclipse Photon带来对Java 10和Java EE 8的支持,增强了PHP开发工具和Dark主题等功能。\\Eclipse Java开发工具(Eclipse Java Development Tools,JDT)对Java 10提供了完整的支持&#x…

【C++】智能指针(一)入门
1、 智能指针背后的设计思想 智能指针背后的思想是RAII,参见博客【C】零散知识 我们先来看一个简单的例子: void remodel(std::string & str) {std::string * ptr new std::string(str);...if (weird_thing())throw exception();str *ptr; dele…

Oracle 11g Release 1 (11.1) PL/SQL_多维 Collection 类型和其异常
本文内容 多维 Collection Collection 异常 多维 Collection 虽然 collection 只有一维的,但可以模型一个多维的。创建一个 collection,其每个元素也是 collection 。例如,创建一个 varray 的 nested table,一个 varray 的 varray…

入门系列之使用fail2ban防御SSH服务器的暴力破解攻击
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本文由SQL GM 发表于云社区专栏 介绍 对于SSH服务的常见的攻击就是暴力破解攻击——远程攻击者通过不同的密码来无限次地进行登录尝试。当然SSH可以设置使用非密码验证验证方式来对抗这种攻击,例…

谁能解答我对知识图谱的上百个疑问?
近日,我们采访了东南大学认知智能研究所所长漆桂林教授和复旦大学知识工场实验室负责人肖仰华教授,围绕知识图谱这两年在研究与产业应用道路上的一些进展与仍面临的问题。漆桂林教授提到,近两年,知识图谱的研究在四大关键技术上都…

ecshop 商品颜色尺寸仿淘宝选择功能教程(2.7.0版本)
牵涉到的修改文件(default模板为例) /themes/default/style.css /themes/default/goods.dwt 注:此路径待修改模板路径.修改步骤:一:控制样式 1.打开/themes/ecshop/p_w_picpaths 加添图片test.gif. 2.打开/themes/ecshop/style.css 最下面添加: /*--------------颜色选择器CSS添…

【C++】Effective STL:50条有效使用STL的经验
第一条:慎重选择容器类型 1、C容器:先混个眼熟 序列容器:array、vector、string、deque、list、forward_list 有序关联容器:set、map、multiset、multimap 无序关联容器:unordered_set、unordered_map、unordered_mu…

ICML 2019接受论文:清华、北大领跑,谷歌强压枝头,BAT略显“低调”
整理 | 刘畅责编 | Jane、Rachel出品 | AI科技大本营(id:rgznai100)【AI科技大本营导语】今年 6 月,机器学习领域顶会 ICML 2019 将在美国举行。为了帮助大家更好了解会议论文的情况,博世(Bosch)…

C++STL 优先队列priority_queue使用
头文件:#include <queue> 一.申明方式 std::priority_queue<T> q; std::priority_queue<T, std::vector<T>, cmp> q;1.普通方法: priority_queue<int> q; //大的优先级高 priority_queue<int,vector<int>, …

【SVN】linux下svn命令参数详解(二)
svn全部子命令详解1、svn help2、svn add3、svn blame4、svn cat5、svn changelist6、svn checkout7、svn cleanup8、svn commit9、svn copy10、svn delete11、svn diff12、svn export13、svn help14、svn import15、svn info16、svn list17、svn lock18、svn log19、svn merge…

VClient 无法连接Vcenter
前一段在一台windows server 2008 R2上使用local Administrator 安装了VCenter 4.1. 一开始使用VClient 是可以登录的,但是重新启动这台安装有VCenter 的Server 之后就连接不到了。为什么呢? 打开这台Windows Server 2008 查看服务发现SQL 和 VM 都有服务…

智能音箱玩出新花样?这家公司推出2699元的智能虚拟机器人
家居控制、备忘提醒、媒体播放、智能聊天… …如今,AI 应用备受瞩目,智能虚拟机器人也成为了 AI 应用的新方向。 5 月 20 日下午,专注于虚拟机器人研发、平台软件开发运用及销售为一体的公司欧博思发布了 AI BOX 智能虚拟机器人产品。 乍一…