写点什么

百分点感知智能实验室:语音识别技术发展阶段探究

发布于: 5 小时前

编者按:在人工智能飞速发展的今天,语音识别技术成为很多设备的标配,过去五年间,语音识别的需求逐渐爆发。然而,目前语音识别相关的应用及使用场景仍具有局限性,因此,国内外众多企业纷纷开始探索语音识别的新算法新策略。本文中,百分点感知智能实验室从技术发展的角度出发,深入分析了语音识别技术不同发展阶段的模型构建和优化,以及未来发展趋势。

语音识别技术简单的说,就是将计算机接收到的音频信号转换为相应的文字。语音识别技术从上个世纪 50 年代出现,发展到现在已有半个多世纪的历史。经过多轮技术迭代,语音识别已经从最早的孤立数字识别,发展到今天复杂环境下的连续语音识别,并且已经应用到各种电子产品中,为人们的日常生活带来许多便利。

从技术发展的历史来讲,语音识别技术主要经历了三个时代,即基于模版匹配的技术框架、基于统计机器学习的技术框架和最新的端到端技术框架。近年来,得益于深度学习技术突破性的进展,以及移动互联网的普及带来的海量数据的积累,语音识别已经达到了非常高的准确率,在某些数据集上甚至超过了人类的识别能力。

随着识别准确率的提升,研究者们的关注点也从语音识别的准确率,渐渐转移到了一些更加复杂的问题上,比如多语种混合语音识别。该问题涉及到多语种混合建模、迁移学习和小样本学习等技术。对某些小语种来说,由于无法获得足够多的训练样本,因此,如何从小样本数据中构建可靠的语音识别系统成为一个待解决的难题。

针对该问题,百分点科技提出了一系列的算法,针对小语种语音识别系统构建中出现的训练样本获得困难、文本书写规则复杂、发音单元不统一等问题作了相应的优化。基于这些技术,百分点科技已经成功研发出数十种小语种语音识别系统,在支持语种的数量,以及识别准确率上都处于国内领先地位。

接下来的章节中,将重点介绍语音识别技术不同发展阶段经历的重要技术框架,包括传统的 HMM-GMM 和 HMM-DNN,以及最新的端到端方法等。

一、GMM-HMM/DNN-HMM

GMM-HMM

先从 GMM-HMM 开始说,GMM-HMM 基本使用 HTK 或者 Kaldi 进行开发。在 2010 年之前,整个语音识别领域都是在 GMM-HMM 里做一些文章,如图一所示。

图一 GMM-HMM 框架

我们的语音通过特征提取后,利用混合高斯模(GMM)来对特征进行建模。这里的建模单元是 cd-states,cd-states 的具体生成方法如图二所示。

图二 cd-states 的生成方法

建模单元在 GMM-HMM 时代,或者 DNN-HMM 时代,基本没有太多创新,大多使用 tied triphone,即 senone,下图描述了 GMM-HMM 的整体过程。

图三 GMM-HMM 的整体过程

图三展示了基本的训练前准备,此外就是纯训练的过程。纯训练解决的是如何将图三右边的特征向量分配到左边状态序列里的问题。

DNN-HMM

在 2010 年前后,由于深度学习的发展,整个语音识别的框架开始转变成 DNN-HMM。其实就是把原来用 GMM 对特征进行建模,转换成用神经网络去建模。由于神经网络从 2010 年至今不断发展,各种不同的结构不断出现,也带来了不同的效果。DNN-HMM 的基本结构如图四所示。

图四 DNN-HMM 的基本结构

DNN 模型,可以是纯 DNN 模型、CNN 模型或 LSTM 模型等。整个模型层只是在 GMM 基础上做替换。在这个时代,模型结构整体上都是各种调优,最经典的模型结果就是谷歌的 CLDNN 模型和 LSTM 结构。

《Context-DependentPre-Trained Deep Neural Networks for Large-Vocabulary Speech Recognition》是公认的第一篇研究 DNN-HMM 的论文,文中对比了 GMM-HMM 跟 DNN-HMM 的性能,如下表所示。

而后,谷歌、微软等公司在这一算法上不断推进,在模型结构上各种挑战,下面的表格是 Alex Graves 在《Hybrid speech recognition with deepbidirectional LSTM》里 GMM,DNN 和 DBLSTM 的性能对比,该数据集用的是 WSJ。

从上述的实验结果中可以看到,相对传统的 GMM-HMM 框架,DNN-HMM 在语音识别任务上可以获得全面的提升。DNN-HMM 之所以取得巨大的成功,通常被认为有三个原因:第一,DNN-HMM 舍弃了声学特征的分布假设,模型更加复杂精准;第二,DNN 的输入可以采用连续的拼接帧,因而可以更好地利用上下文的信息;第三,可以更好的利用鉴别性模型的特点。

二、端到端语音识别

端到端语音识别,是近年来业界研究的热点,主流的端到端方法包括 CTC,RNN-T 和 LAS,如图五所示。

图五 端到端语音识别方法

CTC

传统的模型训练还是比较繁琐,而且特别依赖 HMM 这套架构体系。真正脱离 HMM 的是 CTC。CTC 在一开始是由 Hinton 的博士生 Grave 发现的。CTC 框架虽然在学习传统的 HMM,但是抛弃了 HMM 中一些复杂的东西。CTC 从原理上就解释的比 HMM 好,因为强制对齐的问题是会存在不确定因素或者状态边界有时是分不清楚的,但 HMM 必须要求分一个出来。

而 CTC 的好处就在于,它引入了一个 blank 概念,在边界不确定的时候就用 blank 代替,用尖峰来表示确定性。所以边界不准的地方我们就可以用 blank 来替代,而我们觉得确信的东西来用一个尖峰来表示,这样尖峰经过迭代就越来越强,如图六所示。

图六 CTC 的工作原理

CTC 在业界的使用有 2 个办法,有人把它当作声学模型使用,有人把它当作语音识别的全部。但目前工业界系统都只把 CTC 当作声学模型来使用,其效果更好。纯端到端的使用 CTC 做语音识别,效果还是不够好。

这里说下 chain 模型,Chain 模型的起源来自 kaldi。kaldi 当时也想做 CTC,但发现 kaldi 体系下 CTC 效果不好,但 CTC 的一些思想特别好,后来 Dan Povey 发现可以在此基础上做一些优化调整,于是就把 chain 模型调好了。但在 kaldi 体系里 chain 模型的效果的确比原来模型的效果要更好,这个在 Dan Povey 的论文中有解释。

CTC 时代的改进让语音识别技术朝着非常好的方向发展,CTC 还有一个贡献就是前面提到的建模单元,CTC 把建模单元从原来的 cd-states 调整为 cdphone,或到后面的音节(syllable),或到后面的字级别(char)。因此,端到端的语音识别系统里就很少用前面细粒度的建模。目前很多公司的线上系统都是基于 LSTM 的 CTC 系统。

CTC 在业界用得最成功的论文是《Fast and Accurate Recurrent Neural NetworkAcoustic Models for Speech Recognition》,论文里探索出来在 CTC 领域比较稳定的模型结构是 5 层 LSTM 的结构。这篇文章从 LSTM 是单向还是双向,建模单元是 cdstate 是 ciphone 还是最终的 cdphone 等问题进行探究。集中建模单元的比较结果,如下面的表格所示。从表格上可以看到,性能最优的是 cdphone 的双向 LSTM 的 CTC 系统。但是由于双向在线上流式处理会不好处理,所以单向 LSTM 的性能也是可以接受的。

谷歌还探索了区分度训练 sMBR 在 CTC 这套系统下带来了多少的性能提升,结果如下面的表格所示。

此外,谷歌在这一阶段还探索了一套教 CLDNN 的模型结构,结构如图七所示。

图七 CLDNN 的模型结构

该模型的整体性能对比如下:


整体 CTC 阶段,以 Alex Graves 的论文为主线,论文中从 timit 小数据集,到最终谷歌上万小时数据集,一步一步验证了 CTC 算法的威力,引领了语音界的潮流。CTC 是语音界一个比较大的里程碑的算法。

LAS

图八 LAS 模型的整体结构

接下来就是注意力机制(attention)。注意力机制天然适合 seq2seq 的模型,而语音天然就是序列问题。LAS 的全称叫做 listen, attended and spell,此模型拉开了纯端到端语音识别架构的序幕,一个 LAS 模型的整体结构如图九所示。LAS 目前应该是所有网络结构里面最好的模型,性能也是最好的,这点毋庸置疑,超过了原来基于 LSTM-CTC 的 baseline。但是 LAS 要求见到所有的输入,这对流式解码来说是不允许的,这一致命的问题影响了这种算法的推进,也引起了众多研究者的关注。当然最好的办法就是把 attention 对输入那块改小点,出了一个叫 Mocha 的算法,该算法以后有机会再做介绍。

CTC 算法虽然是一个里程牌的算法,但 CTC 算法也有缺陷,比如要求每一帧是条件独立的假设,比如要想性能好需要外加语言模型。一开始的 LAS 模型效果也不够好,实验对比的结果如下表所示。


后来谷歌的研究者们经过各种算法演练,各种尝试,最终提出了可流式解码,性能也更好的模型,结果如下表所示。但是严格上来说,谷歌的流式模型也不是 LAS 模型,如果不考虑流式解码,LAS 模型结构肯定是最优的。

RNN-T

和 LAS 模型类似的,还有一个叫 RNN-T 算法,它天然适合流式解码。RNN-T 也是 Grave 提出的,此算法在 2012 年左右就提出来了,但是并没有受到广泛关注,直到谷歌把它运用到 pixel 手机里才开始流行起来。RNN-T 相比 CTC,继承了 blank 机制,但对原来的路径做了约束。相比 CTC 来讲, RNN-T 的约束更合理,所以整体性能也比 CTC 好。但是 RNN-T 较难训练,一般需要把 CTC 模型当作预训练模型的基础再进行训练。此外,RNN-T 的显存极易爆炸,因此有很多人在改进显存的应用。谷歌在 2020 ICASSP 里的论文里写着用 RNN-T 结合 LAS,效果超过了基于 LSTM-CTC 的 baseline 方案。图九表示了从 HMM 的路径扩展,到 CTC 约束的路径,再到 RNN-T 的路径约束。

图九 HMM、CTC 和 RNN-T 的路径约束

RNN-T 最初在 timit 上的模型性能如下表所示。

后来,谷歌在大数据上各种尝试,比如预训练、模型结构优化等,最终性能达到了比 CTC 好的性能,谷歌的 RNN-T 模型的结构如图十所示。

图十 谷歌的 RNN-T 模型的结构

谷歌最终在大数据集上验证了性能比基线好。这是一个里程碑,但这些都是 Alex Graves 工作的延展。由于 RNN-T 天然具备流式,外加 RNN-T 模型效果好,谷歌不断的宣传这个模型结构,此模型最终也被谷歌上线到 pixel 手机上。

Transformer/Conformer

transformer 和 conformer 是目前性能最好的模型。transformer 模型是从 NLP 借鉴到 ASR 领域,从 ESPnet 的论文里证明, transformer 模型在各个数据集上效果比 RNN 或者 kaldi 的模型都好,如图十一所示。

图十一 transformer 模型在各个数据集上效果

此外,图十二表示了在 librispeech 数据集上各个模型的性能对比(错误率),大家可以自己来看,目前最好的系统就是 conformer LAS 模型。

图十二 在 librispeech 数据集上各个模型的性能对比(错误率)图片来源于https://github.com/hirofumi0810/neural_sp

同样,在谷歌的论文《FastEmit: Low-latency Streaming ASR with Sequence-levelEmission Regularization》里,同样在 librispeech 上,conformer 模型比 LSTM 或者 transformer 模型好,如图十三所示。

图十三 conformer 模型在 librispeech 上的错误率

最后,为什么要去大家都去研究端到端模型,其实可以从两方面来考虑:第一,端到端模型把原来传统的模型简化到最简单的模型,抛弃了传统的那些复杂的概念和步骤;第二,其实整个端到端模型用很小的模型结构大小就达到原来几十 G 模型的效果。谷歌论文的原文里写着:

In this section, we compare the proposed RNN-T+LAS model (0.18G inmodel size) to a state-of-the-art conventional model. This model uses alow-frame-rate (LFR) acoustic model which emits contextdependent phonemes[11] (0.1GB), a 764k-word pronunciation model (2.2GB), a 1st-pass 5-gramlanguage-model (4.9GB), as well as a 2nd-pass larger MaxEnt language model(80GB) [31]. Similar to how the E2E model incurs cost with a 2nd-pass LASrescorer, the conventional model also incurs cost with the MaxEnt rescorer. Wefound that for voice-search traffic, the 50% computation latency for the MaxEntrescorer is around 2.3ms and the 90% computation latency is around 28ms. InFigure 2, we compare both the WER and EP90 of the conventional and E2E models.The figure shows that for an EP90 operating point of 550ms or above, the E2Emodel has a better WER and EP latency tradeoff compared to the conventionalmodel. At the operating point of matching 90% total latency (EP90 latency + 90%2nd-pass rescoring computation latency) of E2E and server models, Table 6 showsE2E gives a 8% relative improvement over conventional, while being more than400-times smaller in size.

但端到端模型真正与业务相结合时,遇到的问题还是很明显,比如:不同场景下模型需要如何调整?遇到一些新词的时候 LM 如何调整?针对此类问题,学术界和工业界都在寻找新的解决方案。

参考资料

[1]谷歌 end-to-end speech recogntion

https://docs.google.com/presentation/d/1RFfws_WdT2lBrURbPLxNJScUOR-ArQfCOJlGk4NYaYc/edit?usp=sharing

[2]A Streaming On-Device End-to-End Model Surpassing Server-Side ConventionalModel Quality and Latency :https://arxiv.org/pdf/2003.12710.pdf

[3]几个端到端的开源代码地址:espnet,wenet,speechbrain,wav2letter,

https://github.com/hirofumi0810/neural_sp

https://github.com/cywang97/StreamingTransformer

[4]Towards End-to-End Speech Recognition

[5]李宏毅老师的课程:https://speech.ee.ntu.edu.tw/~hylee/dlhlp/2020-spring.html


用户头像

还未添加个人签名 2020.10.09 加入

还未添加个人简介

评论

发布
暂无评论
百分点感知智能实验室:语音识别技术发展阶段探究