目前语音识别的技术现状是怎样的
扫描二维码
随时随地手机看文章
(文章来源:36kr)
目前,主流语音识别框架还是由 3 个部分组成:声学模型、语言模型和解码器,有些框架也包括前端处理和后处理。随着各种深度神经网络以及端到端技术的兴起,声学模型是近几年非常热门的方向,业界都纷纷发布自己新的声学模型结构,刷新各个数据库的识别记录。由于中文语音识别的复杂性,国内在声学模型的研究进展相对更快一些,主流方向是更深更复杂的神经网络技术融合端到端技术。
2018年,科大讯飞提出深度全序列卷积神经网络(DFCNN),DFCNN 使用大量的卷积直接对整句语音信号进行建模,主要借鉴了图像识别的网络配置,每个卷积层使用小卷积核,并在多个卷积层之后再加上池化层,通过累积非常多卷积池化层对,从而可以看到更多的历史信息。
2018年,阿里提出 LFR-DFSMN(Lower Frame Rate-Deep Feedforward Sequential Memory Networks)。该模型将低帧率算法和 DFSMN 算法进行融合,语音识别错误率相比上一代技术降低 20%,解码速度提升 3 倍。FSMN 通过在 FNN 的隐层添加一些可学习的记忆模块,从而可以有效的对语音的长时相关性进行建模。而 DFSMN 是通过跳转避免深层网络的梯度消失问题,可以训练出更深层的网络结构。
2019 年,百度提出了流式多级的截断注意力模型 SMLTA,该模型是在 LSTM 和 CTC 的基础上引入了注意力机制来获取更大范围和更有层次的上下文信息。其中流式表示可以直接对语音进行一个小片段一个小片段的增量解码;多级表示堆叠多层注意力模型;截断则表示利用 CTC 模型的尖峰信息,把语音切割成一个一个小片段,注意力模型和解码可以在这些小片段上展开。在线语音识别率上,该模型比百度上一代 Deep Peak2 模型提升相对 15% 的性能。
开源语音识别 Kaldi 是业界语音识别框架的基石。Kaldi 的作者 Daniel Povey 一直推崇的是 Chain 模型。该模型是一种类似于 CTC 的技术,建模单元相比于传统的状态要更粗颗粒一些,只有两个状态,一个状态是 CD Phone,另一个是 CD Phone 的空白,训练方法采用的是 Lattice-Free MMI 训练。该模型结构可以采用低帧率的方式进行解码,解码帧率为传统神经网络声学模型的三分之一,而准确率相比于传统模型有非常显著的提升。
远场语音识别技术主要解决真实场景下舒适距离内人机任务对话和服务的问题,是 2015 年以后开始兴起的技术。由于远场语音识别解决了复杂环境下的识别问题,在智能家居、智能汽车、智能会议、智能安防等实际场景中获得了广泛应用。目前国内远场语音识别的技术框架以前端信号处理和后端语音识别为主,前端利用麦克风阵列做去混响、波束形成等信号处理,以让语音更清晰,然后送入后端的语音识别引擎进行识别。
语音识别另外两个技术部分:语言模型和解码器,目前来看并没有太大的技术变化。语言模型主流还是基于传统的 N-Gram 方法,虽然目前也有神经网络的语言模型的研究,但在实用中主要还是更多用于后处理纠错。解码器的核心指标是速度,业界大部分都是按照静态解码的方式进行,即将声学模型和语言模型构造成 WFST 网络,该网络包含了所有可能路径,解码就是在该空间进行搜索的过程。由于该理论相对成熟,更多的是工程优化的问题,所以不论是学术还是产业目前关注的较少。