Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

历史注记

到 20 世纪 40 年代末和 50 年代初,已经出现了许多语音识别系统。Bell Labs 的早期系统可以识别单个说话人的 10 个数字中的任意一个(Davis et al., 1952)。该系统存储了 10 个依赖说话人的模式,每个数字对应一个模式;每个模式大致表示数字中的前两个元音共振峰。系统通过选择与输入具有最高相对相关系数的模式,达到 97%–99% 的准确率。Fry(1959)和 Denes(1959)在伦敦大学学院构建了一个音位识别器,基于类似的模式识别原理识别 4 个元音和 9 个辅音。Fry 和 Denes 的系统首次使用音位转移概率来约束识别器。

20 世纪 60 年代末和 70 年代初出现了若干重要的范式转变。第一类是许多特征提取算法,包括高效的快速傅里叶变换(FFT)(Cooley and Tukey, 1965)、倒谱处理在语音中的应用(Oppenheim et al., 1968),以及用于语音编码的 LPC 的发展(Atal and Hanauer, 1971)。第二类是处理变形的各种方法:在与存储模式匹配时,对输入信号进行拉伸或压缩,以处理说话速度和片段长度的差异。解决这一问题的自然算法是动态规划;正如附录 A 所见,该算法曾多次被重新发明以解决这一问题。语音处理中的首次应用由 Vintsyuk(1968)完成,但其结果没有被其他研究者采用,后来 Velichko and Zagoruyko(1970)以及 Sakoe and Chiba(1971, 1984)重新发明了这一方法。不久之后,Itakura(1975)把这一动态规划思想与此前只用于语音编码的 LPC 系数结合起来。所得系统从输入词中提取 LPC 特征,再使用动态规划将其与存储的 LPC 模板匹配。使用非概率动态规划将模板与输入语音匹配的方法称为动态时间规整。

这一时期的第三项创新是 HMM 的兴起。大约在 1972 年,隐马尔可夫模型似乎由两个实验室独立应用于语音。一个应用来自统计学家,尤其是普林斯顿国防分析研究所的 Baum 及其同事;他们把 HMM 应用于各种预测问题(Baum and Petrie, 1966;Baum and Eagon, 1967)。James Baker 了解到这项工作,并在 CMU 研究生期间把该算法应用于语音处理(Baker, 1975a)。与此同时,Frederick Jelinek 及其合作者借鉴受 Shannon(1948)影响的信息论模型研究,在 IBM Thomas J. Watson 研究中心将 HMM 应用于语音(Jelinek et al., 1975)。早期的一个差异是解码算法:Baker 的 DRAGON 系统使用 Viterbi(动态规划)解码,而 IBM 系统使用 Jelinek 的栈解码算法(Jelinek, 1969)。Baker 后来短暂加入 IBM 小组,随后创办了语音识别公司 Dragon Systems。

HMM 与作为语音成分的高斯混合模型(GMM)结合后,逐渐在语音领域传播,并在 20 世纪 90 年代成为主流范式。其中一个原因是 ARPA(美国国防部高级研究计划局)的推动。ARPA 于 1971 年启动了一个为期五年的项目,目标是构建词汇量 1,000、语法受限、少数说话人的语音理解系统(Klatt, 1977),并资助了 4 个竞争系统。其中,卡内基梅隆大学的 Harpy 系统(Lowerre, 1976)使用 Baker 的基于 HMM 的 DRAGON 系统的简化版本,是受测系统中最好的。ARPA(后来是 DARPA)资助了许多新的语音研究项目,从词汇量 1,000 的说话人无关朗读语音任务开始,如 Resource Management(Price et al., 1988);随后包括《华尔街日报》(WSJ)朗读句子识别、Broadcast News 领域(LDC, 1998;Graff, 1997,即转写实际新闻广播,其中包括街头采访等非常困难的片段),以及 Switchboard、CallHome、CallFriend 和 Fisher 领域(Godfrey et al., 1992;Cieri et al., 2004,即朋友或陌生人之间的自然电话对话)。每项 ARPA 任务大约每年举行一次竞赛,让系统相互评估。由于很容易看出哪些思想减少了前一年的错误,ARPA 竞赛促使不同实验室广泛借鉴技术,可能也是 HMM 范式最终传播的重要因素。

到大约 1990 年,基于早期使用神经网络进行音位识别和其他语音任务的实验,出现了 HMM/GMM 架构的神经替代方案。这些架构包括时延神经网络(TDNN)——首次将卷积网络用于语音(Waibel et al., 1989;Lang et al., 1990);RNN(Robinson and Fallside, 1991);以及混合 HMM/MLP 架构,其中前馈神经网络训练为语音分类器,其输出作为 HMM 架构的概率估计(Morgan and Bourlard, 1990;Bourlard and Morgan, 1994;Morgan and Bourlard, 1995)。

虽然混合系统的性能接近标准 HMM/GMM 模型,但问题在于速度:在当时的 CPU 上,大型混合模型训练太慢。例如,最大的混合系统是一个前馈网络,其隐藏层受限于 4,000 个单元,只能对几十个单音素输出概率。但训练这一模型仍要求研究小组设计专门的硬件板来进行向量处理(Morgan and Bourlard, 1995)。后来的分析研究表明,即使控制参数总数,ASR 中这种简单前馈 MLP 在隐藏层超过 1 层后,性能也会急剧提高(Maas et al., 2017)。但当时的计算资源不足以支持更多层。

接下来的二十年里,摩尔定律和 GPU 的兴起共同推动了多层深度神经网络的发展。到 2009 年,在 TIMIT 音位识别等较小任务上,性能已经接近传统系统(Mohamed et al., 2009);到 2012 年,混合系统的性能已经超过传统 HMM/GMM 系统(Jaitly et al., 2012;Dahl et al., 2012 等)。最初人们似乎认为,使用深度信念网络等技术对网络进行无监督预训练很重要;但到 2013 年,研究者已经清楚,对于混合 HMM/GMM 前馈网络,真正重要的只是大量数据和足够多的层,不过另有一些组件确实能改善性能:使用对数 Mel 特征而不是 MFCC,使用 dropout,以及使用整流线性单元(Deng et al., 2013;Maas et al., 2013;Dahl et al., 2013)。

与此同时,早期工作在 2006 年提出了 CTC 损失函数(Graves et al., 2006);到 2012 年,RNN-Transducer 被定义并应用于音位识别(Graves, 2012;Graves et al., 2013),随后应用于端到端语音识别重评分(Graves and Jaitly, 2014)和识别(Maas et al., 2015),并出现专门的束搜索等进展(Hannun et al., 2014)。(本章对 CTC 的描述借鉴了 Hannun(2017),建议感兴趣的读者阅读该文。)

大约在同一时期,两个不同研究组将编码器—解码器架构应用于语音:Chan et al.(2016)的 Listen Attend and Spell 系统,以及 Chorowski et al.(2014)和 Bahdanau et al.(2016)的基于注意力的编码器—解码器架构。到 2018 年,Transformer 被纳入这一编码器—解码器架构。Karita et al.(2019)很好地比较了 ASR、TTS 和语音到语音翻译中编码器架构的 RNN 与 Transformer。

语音处理常用工具包包括 Kaldi(Povey et al., 2011)和 ESPnet(Watanabe et al., 2018;Hayashi et al., 2020)。