黄学东:微软TTS,第一款实时神经网络语音合成服务

一个月之前,微软发布了基于深度神经网络的文本到语音(text-to-speech,TTS)系统,并且做为 Azure 认知服务中的一项,提供面向客户的预览版本。

就此,我们采访了微软语音、自然语言与机器翻译的技术负责人黄学东,他向我们展示了一系列 TTS 生成的「真假难辨」的语音样例,并分享了微软在 TTS 一途上的经历与考量。

下面的视频里包括了三段录音与三段合成音,你能分辨出机器与人声的区别吗?

机器之心:微软是从什么时候开始提供 TTS 服务的?TTS 与微软语音系统的关系是什么?

事实上,TTS 是微软语音 API(Microsoft Speech API, SAPI)进入大众视野的契机。

1995 年,我作为项目负责人推出 SAPI 1.0 的目标是让人机互动更加自然。而研发 TTS(文本转语音)技术的初衷是为了给残障人士提供更多「无障碍功能」(accessibility)。1996 年,文本转语音功能被纳入 Microsoft NT 4.0 中,那是 SAPI 第一次整合进 Windows,进入大众视野。

机器之心:在神经网络用于 TTS 之前,常用的方法有哪些?

语音合成经历了许多次技术与范式的转移。

第一代 TTS 技术采用的是由麻省理工学院的教授 Dennis Klatt 提出的共振峰合成法(Formant synthesis)。这样的技术生成的语音能够被人们所理解,但是听上去特别机械。已逝的理论物理学巨匠 Stephen Hawking 在失去发声能力之后,就在使用这一套技术对外交流。

这个模型非常非常小,需要的计算资源也非常少,甚至在当时的德州仪器公司(TI)开发的很多玩具中,都有简单的语音合成功能。

第二个阶段是拼接合成法(Concatenation synthesis),把语音的每个单元存下来,拼接到一起。串联法的交接部分会有很多问题,这时候就需要进行很多的处理。从最早的直接对接、平滑(smoothing)到后来使用基于统计的参数合成的隐马尔科夫方法(HMM)进行处理。

选择用 HMM 是因为它在语音识别领域获得了非常不错的结果,因此在语音大领域内都流行了起来。

第三个阶段就是利用深度神经网络了,这是一次飞跃式的进步。谷歌的 WaveNet、Tacotron,百度的 ClariNet,都是基于深度神经网络的 TTS [BD4] 系统,在学术上都取得了一定的突破,但是工程化方面仍然没有一个实时的系统。

机器之心:能否介绍一下微软的深度神经网络 TTS?

微软的深度神经网络 TTS 系统由两部分组成,第一部分是将文本转换成包含语音信息(phonetic)和韵律信息(prosodic)的声学参数(acoustic features)。第二部分是将两部分信息转为声波(waveform)。

我们的系统最大的突破在于,这是第一个实时的神经网络 TTS,并且大家直接可以在 Azure 云上使用。

之前我们的很多与人类相比较的突破不同的是,之前的大部分突破是从研究角度,我们的算法可以达到人类的水平。例如我们在 ImageNet 图像识别数据集、Switchboard 语音识别数据集、SQuAD 问答数据集上的工作都是这一类型。而此次我们除了合成的声音 MOS 分(Mean Opinion Score)非常高,达到了与真人的声音不可区分的水平之外,最值得骄傲的是,我们构建了一个云计算服务系统,可以让大家来实时地使用 TTS。

实时深度神经网络 TTS 能够实现,有几个关键因素:第一是我们的云计算平台,提供了人工智能算力的支持;第二是我们的工程方面的进步,让这样一个序列到序列的过程可以实现实时;最后,我们的系统具有比较强的泛化能力,在实际应用场景中出现错误的概率比一般模型小很多。

机器之心:TTS 的使用文档中提到,用户可以提交训练样本定制自己的声音模型,想要完成定制,用户需要提交什么规模的何种数据?

「定制」是写在微软的基因里的一个概念。

我们第一次推出语音识别认知服务时,就同时推出了量身定制的语音识别系统,自然语言理解系统 LUIS 也是一个量身定制的语言理解系统,除此之外机器翻译、图像识别等等,都有量身定制的功能。

用户提供几百句声音样本数据,就能获得一个「入门」级的声音定制;提供五千句左右,可以进行「标准」的定制,如果能够提供一万句甚至更多,我们就能提供接近人声水平的 TTS 语音定制。

机器之心:TTS 和语音识别算法之间有哪些联系呢?

我们借鉴了很多语音识别领域的做法。

例如,以前李开复在卡内基梅隆大学的博士论文中,一个最大的贡献就是把不同人的声音合在一起,共同训练出一套通用的语音识别系统,而不需要为特定人训练自己的语音识别系统。

我们的语音合成系统也可以把不同人的声音性能整合起来,变成一个通用的、自然的语音合成系统。在这个情况下,要量身定制某一个人的语音就会比较容易。

机器之心:TTS 相比于机器翻译语音识别模型,对算力的需求如何?

相对要求还是要高,这也是为什么其他厂商现在还没有提供实时神经网络语音合成系统的原因。

另一方面,TTS 的质量和对算力的要求是非线性的,想要达到类似人类的水平,需要的算力非常多,但是稍微降低要求,算力需求就小很多。

机器之心:TTS 有哪些应用场景?

最大的应用场景是智能音箱。其次是无障碍功能,Windows 可以读出屏幕中的内容。第三是公共汽车、火车、机场上的报站功能、GPS 导航、语音读物等等。

我们把「产生声音」的能力放在云上之后,人们可以用它进行各种不同的工作。

入门黄学东微软语音合成
1
相关数据
人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

语音合成技术

语音合成,又称文语转换(Text to Speech)技术,是将人类语音用人工的方式所产生,能将任意文字信息实时转化为标准流畅的语音朗读出来,相当于给机器装上了人工嘴巴。它涉及声学、语言学、数字信号处理、计算机科学等多个学科技术,是信息处理领域的一项前沿技术,解决的主要问题就是如何将文字信息转化为可听的声音信息,也即让机器像人一样开口说话。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

云计算技术

云计算(英语:cloud computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

序列到序列技术

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~