阿里云升级实时在线中文语音合成服务,结合传统语音合成技术与深度学习端到端系统各自的优势,显著提升语音合成稳定性及表现力。新智元专访达摩院语音实验室负责人鄢志杰及高级算法专家雷鸣,深度解读核心技术。鄢志杰认为,智能语音正处于爆发前夜,2019年语音AI将在特定领域通过图灵测试。
鄢志杰,达摩院语音实验室负责人,中国科学技术大学博士,IEEE高级会员。长期担任语音领域顶级学术会议及期刊专家评审。研究领域包括语音识别、语音合成、声纹、语音交互等。曾任微软亚洲研究院语音团队主管研究员。
开始阅读前,先来听听下面这段机器合成的语音:
当听到稚嫩的童声念完“鸡蛋鸡蛋……鸡蛋~”的时候,阿里巴巴达摩院语音实验室负责人鄢志杰还有坐在他一旁的高级算法专家雷鸣,都不约而同地激动起来,兴奋之情溢于言表:
“这在当年我们做学生研究TTS (Text-To-Speech, 文本到语音) 时是完全不可想象的,”鄢志杰和雷鸣感叹道:“有点穿越,机器能够发出这种声音,这种韵律。”
让机器发出这种声音和韵律的,就是他们向新智元展示的 Knowledge-Aware Neural TTS (KAN-TTS),达摩院最新推出的语音合成技术,现已通过阿里云提供在线的实时中文语音合成服务。
根据阿里内部测评结果,即便只基于单个发音人 (single speaker) 的数据,KAN-TTS 合成的语音都能达到与原始音频录音 (Recording) 95%以上的相似度;采用多发音人 (multi-speaker) 数据以及迁移学习技术后,特定发音人数据的自然度能获得97%以上的相似度。
当前业界商用语音合成系统 (红框标识) 合成语音与录音 (Recording) 相似度大约在85~%90%的水平。达摩院内部评测结果显示,KAN-TTS技术令合成语音自然度显著提升。详见后文“详解达摩院KAN-TTS技术”。
横向比较业界现有的各项中文语音合成服务的效果后,鄢志杰博士认为,达摩院语音实验室这次交出了一份满意的答卷。
“我们正处于智能语音技术又一次爆发的前夜,感觉就像是2010年前后那段时间,深度学习的出现让 ASR (自动语音识别) 准确率提高了20%~30%,一下子把整个 ASR 能力带向产业,”鄢志杰告诉新智元。
“现在,大家沿着这一条新的技术路线,不断添砖加瓦,未来几年会看到大量新方法的提出,相关的服务也会再进一步。”
升级实时在线语音合成服务:传统语音合成+端到端完美融合
一直以来,在机器学习领域存在一个争论:
是不是可以完全摒弃领域知识 (domain knowledge),只依靠强大的模型以及海量数据,就能得到足够好的模型?
“在近几年流行的端到端 (End2End) 技术中,研究人员给出的答案似乎接近于‘是’。”达摩院语音实验室高级算法专家雷鸣告诉新智元。
雷鸣,达摩院语音实验室高级算法专家,中科大博士,目前负责语音识别、语音合成、语音唤醒等前沿技术研发工作,在加入阿里巴巴之前,他曾任微软STC语音科学家。
“但在语音合成领域,现在我们给出的答案是‘否’——只有依赖足够多的领域知识,加上强大的模型和海量的数据,才能够构建足够好的语音合成模型。”
近几年,由深度学习推动的 End2End 技术发展迅速。语音合成 (TTS) 领域,谷歌的 Tacotron、DeepMind 的 WaveNet,还有百度的 ClariNet,研究人员不断提出更好、更快的端到端语音合成模型。
端到端 (End2End) 技术摒弃了传统语音合成技术前端-后端多模型多模块框架,采用统一的模型,试图直接从输入文本到输出波形。理论上,这样能模拟任何声音 (排除了对声波建模的固有损失),大幅减轻乃至去掉了对语音、语言学专业知识的依赖。
然而,现实情况是,尽管端到端TTS系统能够得到相对流畅、表现力更好的合成语音,但由于需要大量计算力支持等原因,目前难以在移动端实现。
此外,语音合成领域,训练数据的获取需要较高的成本投入。除了流程繁琐——从前期准备、选择发音人、找录音场地、录制到数据清洗和标注,更麻烦的是,现在的语音合成数据库往往是单一风格的,而语音合成服务的效果稳定性依赖录音风格的一致性,如何在长期大量录音中始终保持同一风格内部的一致性,对整个录音项目来说是一个不小的挑战。在这种高要求条件下,10小时的有效语音合成数据,可能需要花费数月的录制时间,这也对发音人保持自身状态 (尤其是嗓子的状态) 提出了较高的要求。
因此,目前市面上主流的商用语音合成产品和服务,绝大多数都使用传统TTS框架构建,并不能够提供高表现力的语音合成效果,用户往往很容易听出合成语音的机械感。
传统TTS系统中,输入文本经过语音信号处理、文本分析等多个模块,根据多个domain knowledge,形成了rich context linguistic information,后端模型根据前面的结果,结合acoustic feature进行建模及预测,最终再经过声码器 (Vocoder) 得到合成语音。
传统语音合成 (TTS) 技术与端到端 (End2End) 语音合成技术对比
有没有可能结合传统 TTS 系统和 End2End 系统各自的优势?
达摩院语音实验室提出了 Knowledge-Aware Neural TTS (KAN-TTS) 技术,在传统语音合成系统的基础上,充分利用领域知识,从而构建了高表现力、高稳定性的在线中文实时语音合成系统。
不仅如此,KAN-TTS 还利用多个发音人的大量数据,训练得到多发音人模型,并利用迁移学习进一步提高合成效果,最终达到逼近真人录音的自然度。
未来5年连接100亿台设备,语音是AIoT关键
2018年3月底的云栖大会,时任阿里云总裁的胡晓明在会上宣布:阿里巴巴全面进军 IoT,这是继电商、金融、物流、云计算之后,阿里的一条新的主赛道。阿里云 IoT 的定位是物联网基础设施的搭建者,阿里云计划在未来 5 年内连接 100 亿台设备。
到了2019年,AIoT——人工智能 (AI) 与物联网 (IoT) 在实际应用中落地融合——成为行业关键词,作为万物互联以及AIoT的一个重要入口,智能语音赛道上已是百舸争流。
作为达摩院语音实验室负责人,鄢志杰认为智能语音在阿里进军 IoT 的研究和实践中有三个重点:
构建有深度、全链路、多模态的关键技术栈
产出低成本、易复制的智能化 IoT 方案
打造标杆硬件是“手段”,建设基础平台是“目的”
在这个指导思想下,“我们仔细对比了不同的inference方案,考虑到使用场景要求,对快速扩展的要求,甚至客户不同机器的部署能力,最终选择以非异构计算的形式进行inference,计算全部基于CPU完成。”雷鸣告诉新智元。
一旦系统能在CPU上跑,自然就可以做大规模的弹性部署,周期成本也就变得极富吸引力。考虑到服务的可扩展性,团队还在模型层面、底层计算框架和指令集层面进行了相关的优化。
通过提出KAN-TTS,并发布基于这一技术的实时在线语音合成云服务,达摩院语音实验室在传统TTS系统和End2End系统中找到了一个杠杆。
这也是为什么他们敢于在达摩院2019年十大技术预测中说,“语音AI在特定领域通过图灵测试”。
阿里的 KAN-TTS 并非市面上公有云中唯一可用的中文语音合成服务,科大讯飞、百度、腾讯、京东、小米、思必驰、云知声、Rokid、出门问问……都发布了相关产品,并明确将智能语音+IoT定为公司发展关键。
国际上,还有谷歌基于 Google Cloud 的 Text-to-Speech 服务 (共有 30 种语音,并有多种语言和语言变体可供选择),亚马逊 AWS 的 Polly (含有 28 种语言,58 款可用声音),以及微软 Azure 的 Text to Speech 服务 (标准版含 45 种语言和 75 种 以上的声音,包括男声和女声,还能调节参数,例如速度、音调、音量、发音以及其他停顿)——当然,这些服务里全都包括中文 (普通话)。
对于更多的开发者和中小企业而言,剩下的问题就是选择用哪家的服务,或者更干脆地说,上哪家的云。
达摩院科研成果转化秘诀:实验精神加一点商业Sense
在提倡“用研究创造价值”的达摩院,技术商业化是各个实验室负责人工作的另一大重点。
当被问及达摩院语音实验室技术商业化的“套路”时,鄢志杰表示,阿里最大的不同,是要求技术人员也具备一定的商业sense。
“你并不需要是商业奇才,”鄢志杰告诉新智元:“但什么样的技术能真正帮助到这些场景,凭借我们的智慧,完全可以排除掉一些绝对不可能成功的选项。”
“这样做就提高了成功的几率。好,然后再在让这些种子去慢慢发芽,观察它们的长势,再来做决定。”
在他的形容中,接下来的迭代是一个非常科学的实验过程,就像做优化,基于当前的这个点,找到一个所谓的梯度,这个梯度就是你要工作的方向,然后跑那么一小步,检验目标函数有没有被优化,然后再来做调整。
“要说套路的话,我觉得这跟我们做语音识别、做语音合成其实是一样的套路。”
鄢志杰强调,未来的语音交互将是多模态的、无处不在的交互。单靠算法不足以形成足够持续的竞争力,特别是越来越多的算法走向开源,这就要求研究团队将数据、硬件以及好的商业模式相结合,具体到智能语音交互,则是“与智能硬件厂商划定一个有效的边界”。
技术、产业和商业要形成一个闭环。技术到产品有鸿沟,而即使有了一个产品之后,如果卖不出去,接触不到大量的用户,也很难收集到有效的反馈。“所以,我们希望将一项技术做成产品,成规模地推到商业,吸引大量用户,然后用户这边反馈到产品的种种问题,我们再在此基础上对技术进行迭代。”
鄢志杰和他的同事都相信无处不在的智能语音交互是未来,并朝着这个方向去努力。过去几年技术上的一系列成果,比如达摩院兄弟部门的工作、谷歌BERT模型,“惊喜就没有断过”。这也让他有种“赶上了技术浪潮”的感觉,但跨过技术到了产业与商业以后,这个“潮”还是不是“潮”,鄢志杰认为很难说。
“今天那么多的所谓的AI技术,到底在产品层面能给用户带来多大的好处,在商业层面上是不是真的能够称其为一个business,而且是一个可持续、可健康发展的business。我们是在大胆假设,小心求证。”
至于KAN-TTS,“模型开放出来以后,厉害的工程团队用不了多久就能复现”,鄢志杰和雷鸣都笑着说。
“我们期待大家在上面继续贡献。”
详解达摩院 KAN-TTS 技术
根据达摩院语音实验室的介绍,KAN-TTS 技术结合了传统语音合成系统和End2End语音合成系统各自的优势,主要包括这几个方面的不同:
Linguistic domain knowledge:传统语音合成系统利用了文本相关数据积累了大量的domain knowledge,因此可以获得较稳定的合成结果;而没有利用该domain knowledge的End2End语音合成系统,在合成稳定性方面就不如传统语音合成系统。近年来,有一些研究工作就是基于标注发音的文本数据针对多音字发音消歧方面进行优化,也有些研究工作针对传统语音合成系统中的停顿预测进行优化。传统系统可以轻易的利用这样的研究成果,而End2End系统没有利用到这样的工作。在KAN-TTS中,我们利用了海量文本相关数据构建了高稳定性的domain knowledge分析模块。例如,在多音字消歧模块中,我们利用了包含多音字的上百万文本/发音数据训练得到多音字消歧模型,从而获得更准确的发音。 如果像End2end系统那样完全基于语音数据进行训练,光是包含多音字的数据就需要上千小时,这对于常规数据在几小时到几十小时的语音合成领域而言,是不可接受的。
Acoustic Model:传统语音合成系统对于duration和声学特征是分开建模的,合成时需要先预测duration信息,再根据预测得到的duration预测声学特征,而End2End系统利用了seq2seq模型,对所有声学特征进行统一建模及预测,这样可以更好的对时长和音调高低等韵律变化进行建模。在传统语音合成领域,一直有研究人员在尝试更好的对韵律进行建模,例如但受限于系统框架和模型建模能力,在传统语音合成系统中始终没能获得令人满意的结果。而在End2End系统中,基于更强大的seq2seq模型,充分利用了语音韵律的domain knowledge,最终得以产生高表现力的合成语音。在KAN-TTS中,考虑到深度学习技术的快速进展以及End2End模型的合成效果,我们也采用了seq2seq模型作为声学模型,同时结合海量数据,进一步提高了整体模型的效果和稳定性。
Acoustic feature和Vocoder:在传统语音合成领域,也一直有研究人员在探索更好的声学特征和声码器。但由于传统语音合成系统中的声学特征和声码器都是基于语音编解码中的source-filter机理产生的,有较强的理论假设,在实际不同发音人的数据上,天然会丢失掉一部分信息,为后面整体建模以及预测合成语音带来了一定困扰,最终产生的整体音质也较差。考虑到信息的损失和音质,在KAN-TTS系统中,我们采用了和End2End系统类似的FFT spectrum作为声学特征,信息上损失更小,同时采用更强大的声码器恢复波形,因此在音质方面具有明显优势。
KAN-TTS基本架构
KAN-TTS的基本框图
在KAN-TTS的基本架构中,输入文本经过与传统语音合成系统类似的模块得到相关的linguistic信息,接着由linguistic信息得到的矢量序列输入进入seq2seq模型,进行训练和建模。
需要说明的是,KAN-TTS并没有完全采用所有的linguistic信息。经过细致分析和实验对比,我们发现采用所有的linguistic信息并不能带来更好的结果,有时甚至会变差。因此,我们最终采用了如上图所示的domain knowledge作为后端模型的输入。
更多领域知识
此外,KAN-TTS还融合了其他多个方面的domain knowledge,这其中最重要的是基于中文的linguistic knowledge、基于海量语音数据的声学空间构建,以及针对特定发音人、特定风格的迁移学习技术。
①基于海量语音数据的模型构建
构建多发音人语音合成系统的方式
发音人信息作为另外一种输入特征和Encoder的输出结合,输入到Attention&Decoder模块里面。经过这样的处理,Encoder模块只是用来对文本相关信息进行特征提取,发音人这样的声学信息只作用于Attention&Decoder,并不影响Encoder的结果。在实际实现过程中,我们也对比了不同的信息结合方式,采用如上图所示的结合方式可以获得最好的合成效果。
最终,我们利用了上百个人的几百小时数据,构建了基于海量数据的多发音人语音合成系统。相对而言,在传统语音合成系统中,单发音人数据量往往在几个小时到几十小时不等。利用海量发音人的数据构建的语音合成系统,可以提供更稳定的合成效果,为最终构建高稳定性语音合成产品打下了基础。
②针对特定发音人、特定风格的迁移学习技术
由于采用了大量不同发音人数据进行语音合成系统构建,虽然我们利用了多发音人的大量数据,得以产生高稳定性合成语音。但我们发现对特定发音人或者特定风格而言,其效果距离真实录音而言还是具有一定差距。因此,我们参考了其他领域对训练数据比例的研究,在多发音人模型的基础上进一步尝试了针对特定发音人、特定风格数据的迁移学习。实验表明,叠加迁移学习后,合成语音的效果可以进一步提高,逼近真实录音的效果。
多发音人模型实际训练过程
上图中显示了实际的训练过程。首先,我们利用多个发音人的所有数据构建多发音人模型,在这期间,发音人信息作为输入信息在训练过程中输入到了Attention&Decoder模块;基于训练得到的多发音人模型,我们根据需要,针对发音人 n 进行迁移学习,最终得到发音人 n 的单发音人模型。
非异构计算的工程优化
随着深度学习技术的进步,模型的建模能力越来越强大,随之而来的计算量需求也越来越高。近年来,很多公司都采用异构计算进行模型的inference,例如采用高性能或者inference专用GPU,甚至采用FPGA/ASIC这样的专用芯片技术来加速inference部分的计算,服务实际需求。
对语音合成而言,大量的需求是需要进行实时计算的。例如,在交互场景上,语音合成服务的响应时间直接影响到用户的体验,往往需要从发起合成请求到返回第一个语音包的时间在200ms左右,即首包latency。另一方面,很多场景的语音合成的请求量的变化是非常大的,例如小说和新闻播报场景,白天和傍晚的请求量往往较高,而深夜的请求量往往很低,这又对部署的便捷性和服务的快速扩展性带来了要求。
我们仔细对比了不同的inference方案,考虑到我们最终的使用场景要求,对快速扩展的要求,甚至客户不同机器的部署能力,我们最终选择以非异构计算的形式进行inference计算,即不采用任何异构计算的模块,包括GPU/FPGA/ASIC等。
根据KAN-TTS的特性,以及语音合成服务的需求,我们针对性的做了若干优化,包括:
模型层面的优化:为了降低首包latency,我们改进了模型结构,替换了BLSTM等模块,从而大幅度提高了首包latency。此外,我们针对计算量较大的模块进行优化和替代,从而大幅度优化了整体计算效率。
框架和指令集优化:为了更好的利用硬件性能,我们尝试了不同的底层加速框架,并且针对性的对指令集结合实际计算需求进行了优化。另外,我们还对个别超大向量计算进行了针对性的优化。
最终,经过我们的一系列优化,效果如下图所示:
其中,RTF是借鉴了语音识别中的指标,即Real Time Factor,度量合成1s的一句话所需要的计算时间,QPS为实际同时能够支撑的服务请求数。
KAN-TTS 实际效果
从实际实践中发现,End2End系统最大的问题是丢字漏字和多音字发音错误两类问题。由于End2End系统的输入是中文汉字,而汉字的数量很多,在训练数据中覆盖较差,分布也不均匀,因此导致了大量句子都出现了丢字漏字的情况;另外,由于前文中介绍的原因,由于语音数据量总是远远小于文本数据的,基于现在的语音数据,End2End系统中多音字覆盖也较差,所以也会大量的出现多音字发音错误问题。
End2End系统和KAN-TTS在丢字漏字和多音字发音错误这两个问题上的对比,其中多音字发音错误以“为”这个字的情况代表。
从上图中可以看到,KAN-TTS在这两个问题上都显著超越了End2End系统。其原因主要为KAN-TTS中结合了传统语音合成系统,充分利用了多个方面的domain knowledge。因此在合成语音的稳定性上,可以获得和传统语音合成系统类似的结果。
使用单个发音人的数据,与传统语音合成系统相比,KAN-TTS技术在不同改进下的效果变化。
MOS 为 Mean Opinion Score 的缩写,是语音合成领域主观测试打分标准,满分为5分,越大越好。在MOS测试过程中,会加入不同系统的合成语音以及真实录音 (Recording),由几十到几百的参与人员对每个语音的自然度进行主观打分。由于不同人的真实录音的MOS打分往往不同,为了度量技术的实际作用,我们采用了MOS%的形式进行对比,即以Recording得分作为分母,将不同系统的MOS得分除以Recording得分,从而得以度量不同系统主观得分距离Recording的差距,越接近100%为越好,而Recording的得分始终为100%。
从上图中可以看到,传统拼接系统和传统参数系统 (代表当前市面上商用TTS系统水平) 分别可以获得85%~90%的接近程度,差别与发音人风格、数据量都比较相关;当采用了KAN-TTS技术时,即便只是基于Single Speaker的数据,都可以获得95%以上的接近程度;而采用了multi-speaker以及transfer learning技术之后,特定发音人数据在自然度上可以获得97%以上的相似度。
结语
KAN-TTS 技术是结合了我们最新的语音技术、海量的文本和声学数据以及大规模计算能力,对语音合成技术进行的改进。
现在,用户可以在阿里云官网体验(https://ai.aliyun.com/nls/tts)。接下来,我们会扩大该技术服务的音色范围,全面将该技术应用到所有语音合成发音人中。
通过KAN-TTS技术的提出,我们为“是否可以完全摒弃domain knowledge,而完全依赖强大的模型和海量数据”这个问题给出了我们自己的答案。在未来的工作中,我们还将基于KAN-TTS技术对语音合成技术做进一步的改进,提供给大家更好的语音合成服务。