王家 龙冬梅
摘要:深度学习已经逐渐成为语音识别领域重要的技术手段,有着广阔的应用前景,开展语音识别技术研究对推动自然语言处理及人工智能的发展具有重要的理论价值和现实意义。文中对深度学习在语音识别中的应用给予综述。介绍近年来深度学习在语音识别领域取得的研究成果,探讨了传统语音识别模型与现在的深度学习模型之间的关联,对深度学习在语音识别领域中的发展趋势进行分析,指出了深度学习模型需要吸收传统语音识别模型中处理语音的思想,从而能够更好地构建基于深度学习模型的语音识别系统。
关键词:语音识别;深度学习;LAS
中图分类号: TP181 文献标识码:A
文章编号:1009-3044(2020)34-0191-02
引言
随着语音识别系统广泛应用于移动设备、智能家居等众多领域,同时国内外的语音识别的商业产品层出不穷,例如科大讯飞的语记,百度的小度,谷歌语音助手,苹果siri等。而语音识别领域的迅速发展离不开深度学习模型在语言识别领域的应用,本文研究目标是深度学习模型在语音识别领域的应用及其发展趋势,通过研究揭示深度学习与传统语音识别技术的关系,探索深度学习技术在语音识别领域的主要研究方向和手段,比较每个方向的优点与局限。
传统的语音识别模型结构复杂并且需要占用大量的计算和存储资源,使得语音识别系统难以进入普通人的生活,但是随着深度学习被引入到语音识别领域,使得训练模型的复杂度大大下降,甚至可以将一个深度学习的语音识别模型装入到移动设备中,如谷歌语音助手模型的大小为80M。深度学习推动了语音识别技术在人们日常生活中的应用。接下来介绍深度学习中的一些关键模型。
1 深度学习
循环神经网络(Recurrent Neural Network, RNN),又名时间递归神经网络[1]是最早应用于语音识别[2]和手写字识别[3],并且取得了显著效果,RNN主要用于解决输入数据的类型为序列,并且输出数据同为序列类型的机器学习问题。RNN在发展的过程中也出现了各种改进模型,如长短时记忆网络(LSTM),GRU,双向RNN等模型,这些模型也被应用到语音识别中,并且在不同应用中取得了不错的效果。
卷积神经网络(Convolutional Neural Network,CNN)是一种特殊的深层前馈网络。CNN模型主要包含输入层、卷积层、池化层、全连接层以及输出层[4]。CNN最先应用于图像识别领域,随着深度学习与语音识别的融合,CNN也被应用到语音识别中,它被作为语音特征提取的过滤器,CNN与RNN相比更有利于并行计算。通过多卷积层的使用,能够让CNN在语音识别过程中获取整段语音输入后再给出输出,这使得CNN与RNN拥有了相同的获取上下文信息的能力。CNN通过池化层解决音频输入的数据量大并且重复率高的问题,池化层能够让多个相近的语音合并为一个输出信号,从而减少了语音识别过程的计算量大的问题。
注意力机制是一种算法,它被应用在深度学习的模型中,通过注意力机制能够计算事物的部分在整体中的重要程度。它可以单独应用到深度学习模型中,通过计算概率分布,从而确定输入数据权重的分配,让输入的数据更有利于模型的训练。
自注意力机制(self-attention)是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性,并且具有和RNN相同的获取上下文信息的能力,近年来自注意力机制的逐渐取代了RNN被广泛地应用与语言识别领域,因为自注意力机制具有并行计算的能力,能够大大加速语音识别模型的训练,而RNN不能进行并行计算。
2 语音识别技术
传统语音识别模型多数采用隐马尔科夫高斯混合模型(HMM-GMM)[5],建立在似然和概率的理论基础之上。传统语音识别模型在前端语音预处理阶段需要使用语音信号和数字模型的关系,需要使用抽样语音信号的组合来预测信号,需要使用线性预测的分析方法。由于不同语言,不同性别,不同的年龄的人的发音不同,造成语音信息提取的复杂性,使得传统语音识別中预处理模型难以适应这些不同场景。
深度学习可以充分利用特征之间的关联性,将连续帧的语音特征合并后进行训练,使语音识别系统的识别率大幅度提高[6]。图1所示为传统语音识别模型的结构,传统语音识别结构较为复杂,由多个不同的组件组成。
在深度学习与语音识别结合的初期,研究人员将深度学习模型加入图1的结构中,使用深度学习模型来优化语音识别的数据,如Tandem的方法用来在前端语音预处理之后加入深度学习模型,使得输出的特征值更有利于语音解码阶段的处理。这种方法不破坏原有的语音识别模型。
接下来,研究人员尝试用将深度学习模型融入已有的组件中,如DNN-HMM Hybrid方法使用深度学习模型来取代HMM中的GMM结构,将深度学习模型与语言解码组件进行结合。
再后来,研究人员尝试用深度学习模型取代传统语音识别模型的组件,如使用深度学习模型来实现传统语音识别中的语音模型,以及使用深度学习模型来实现语言模型。
最后,深度学习模型被用来取代整个语音识别模型,如后文所提到的LAS结构,这种尝试还在研究阶段还有很多未解决的问题需要研究人员继续研究。
3 深度学习模型在语音识别中的应用
本节将介绍深度学习在语音识别中,具有里程碑意义的一些模型结构,讨论它们的优缺点。
Connectionist Temporal Classification (CTC)为基于神经网络的时序类分类模型。CTC可以实现在线学习,即当接收到语音输入后,它不用等待整个语音片段的全部输入就能够得到相应的输出,在传统语音识别系统中声学模型训练属于监督学习,需要知道每一帧语音的输入对应的标注的输出,才能进行有效的训练,训练数据准备阶段必须将语音与标注进行对齐,而要将语音的每一个输入和输出进行对应是很难完成的任务,但是对于一个序列数据就比较容易判断出对应的标注发音。CTC模型解决了逐一对应的问题,该方法只需要一个输入序列和一个输出序列即可以训练。CTC采用在标注符号集合中加入了一个空白符号,然后利用RNN进行标注,最后把空白符号和预测出的重复符号消除,如图2为CTC模型的结构,深度学习模型使用RNN,并且通过线性分类模型进行文本的输出。
CTC有两点优点:第一是不需要将数据和标注进行逐一对齐;第二是CTC直接输出序列预测的概率,不需要进行额外的处理。
第二个模型是RNN Transducer (RNN-T)结构,该模型提供了语言模型建模能力,能够将语音模型与语言模型进行联合优化,便于实现在线语音识别。
RNN-T模型的深度学习模型有两个部分构成,一个RNN结构实现声学模型的结构,另一个RNN实现语言模型的结构。RNN-T模型将传统HMM中的语言模型与声学模型整合在一起,利用深度学习对两个模型进行同时训练优化,从而减轻了模型训练的难度。如图3所示,RNN-T在输入数据时通过声学模型输出的结果并不是一一对应的,而是一个输入结果可以有多个输出结果,输出结果的多少由语言模型来控制。
第三个模型为Listen,Attend,and Spell (LAS),它是完全使用深度学习模型将语音转换成字符的模型结构。LAS并不是在传统的DNN-HMM模型之上应用深度学习,而是完全使用深度学习模型来实现语音识别。LAS系统有三个组件:一个编码器相当于encode,Attend(注意力机制)和一个解码器相当于decode。Listener是接受音频作为输入,通过深度学习模型如RNN来提取高级的特征信号;注意力机制抽取出特征,在进行解码之前,能够获取上下文与当前特征的关联信息,speller也是一个深度学习模型构成,可以使用self-attention结构,它接受Attend后的输入特征并且输出文字的概率分布。
4 结语
深度学习引入语音识别领域最初只是对于HMM模型中某一个部分输出结果进行优化,如Tandem,接着,深度学习模型被用于完成HMM模型中某一个结构的功能,如DNN-HMM Hybrid,然后发展到使深度学习模型完成HMM核心功能结构,如CTC,最近逐渐发展到使用深度学习模型来实现整个语音识别结构,也就是从语音输入直接到语言文字的输出,如LAS。LAS是现在学术界研究的主要方向,但是在过程中同样会应用传统HMM模型中的相关成果来辅助LAS模型的训练,提高模型的语音识别的准确率。语音识别领域中使用深度学习模型有两个研究方法,第一个方向是将新的深度学习模型应用到已有的语音模型中,另一种研究方向是搭建完全由深度模型构成的语音识别模型。
参考文献:
[1] Lipton Z C.A critical review of recurrent neural networks for sequence learning[EB/OL]. (2015) [2019].https://arxiv.org/abs/1506.00019v1.
[2] 朱小燕王昱徐偉.基于循环神经网络的语音识别模型[J].计算机学报,2001,24(2):213-218.
[3] 张剑,屈丹,李真.基于词向量特征的循环神经网络语言模型[J].模式识别与人工智能,2015,28(4):299-305.
[4] 郑远攀,李广阳,李晔.深度学习在图像识别中的应用研究综述[J].计算机工程与应用,2019,55(12):20-36.
[5] Rodríguez E,Ruíz B,García-Crespo ?,et al.Speech/speaker recognition using a HMM/GMM hybrid model[M]//Audio- and Video-based Biometric Person Authentication.Berlin,Heidelberg:Springer Berlin Heidelberg,1997:227-234.
[6] 陈晋音,叶林辉,郑海斌,等.面向语音识别系统的黑盒对抗攻击方法[J].小型微型计算机系统,2020,41(5):1019-1029.
【通联编辑:唐一东】