N-Gram语言模型是一种简单有效的统计语言模型,因其简单、易用、高效,在实际应用中一直发挥重要作用.N-Gram语言模型将词看作离散的符号,容易出现数据稀疏问题.随着N-Gram语言模型阶数的增长,需要估计的参数量会急剧增加并存在数据稀疏问题,无法有效利用长距离的上下文信息,且无法捕捉词与词之间的相似性[1].
基于神经网络语言模型的连续空间建模方法首先基于分布式假设条件,通过投影矩阵将离散的词映射到连续空间,形成相应的词矢量(word embedding)特征,以此为基础,将分布式的上下文矢量信息输入到神经网络,并在输出层预测下一个词出现的概率[2-3].
递归神经网络语言模型输入层不仅包含了当前输入,而且加入了当前词的全历史词信息.递归神经网络语言模型理论上可以考虑无限个历史词信息,但是随着不断引入新词,存在记忆衰退严重问题,针对这一问题,有学者提出了基于LSTM结构的神经网络语言模型.LSTM-DNN语言模型在隐藏层引入了LSTM结构单元[4-5],这种结构单元包含将信息储存较久的存储单元,这个记忆单元被一些特殊的门限保护[6-7],可以选择性地记忆网络误差回传参数,对历史信息有良好的记忆功能.
由于LSTM中当前CEC的状态不能影响到输出门的最后输出信息,所以笔者增加从当前CEC到输出门的连接更好地控制每一内存单元输出多少信息,将遗忘门和输入门合成一个单一的更新门.信息通过输入门和遗忘门将过去与现在的记忆进行合并,长短时记忆神经网络可以选择遗忘之前累积的信息,这样改进的LSTM模型可以学到长时期的历史信息,具有更强的鲁棒性.笔者采用基于改进的LSTM方法,解决了LSTM方法的缺点,在TIMIT数据集上,错误率降低了5%.
人工神经网络(artificial neural network, ANN)是一种应用类似大脑神经突触链接的结构进行信息处理的数学模型,由大量的节点(神经元)和相互之间的加权连接构成.每个节点代表一种特定的输出函数,称为激励函数(activation function)[8-9].每两个节点间的连接都代表一个通过该连接信号的加权值,称为权重(weight),这相当于神经网络的记忆.网络的输出则根据网络的连接方式、权重值和激励函数的不同而不同.
人工神经网络特别适合因果关系复杂的非确定性推理、判断、识别和分类等问题.可以通过预先提供的一批相互对应的输入输出数据,分析掌握两者潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果[10].人工神经元是一个多输入/单输出的非线性元件,其模型如图1所示.
图1 人工神经元模型
Fig.1 Artificial neuron model
相比前馈型神经网络DNN,循环神经网络(recurrent neural network,RNN)在隐层上增加了一个反馈连接,可以通过循环反馈连接看到前面所有时刻的信息,RNN通过反馈连接将之前信息的记忆保留在中间的隐藏节点中,影响网络的输出[11].在传统的循环神经网络中,参数训练使用随时间进行反向传播(backpropagation through time,BPTT)算法,假设循环神经网络在每个时刻t都有一个监督信息,损失为Jt,则整个序列的损失为:
(1)
损失J关于U的梯度可以用链式法则得到,
(2)
定义
γ=‖UT diag(f′(hi-1))‖.
(3)
公式(3)即为γt-k,若γ<1,当(t-k)→∞时,γt-k→0会出现梯度消失.当传播的时间比较长时,网络权重更新缓慢,参数训练时梯度需要随着时间进行反向传播,存在梯度爆炸和消失问题,无法体现RNN的长期记忆效果,因此需要一个存储单元来存储记忆,LSTM模型由此被提出.
长短时记忆网络(LSTM network)又称长短时记忆循环神经网络(LSTM RNN),在深度学习中使用比较广泛.
(1)在长短时记忆神经网络(long short-term memory neural network,LSTM)中,引入一组称为记忆单元(memory units)的循环连接子网络来替换传统网络中的隐层节点.用一个记忆细胞来进行线性的反馈传递.
(2)引入门机制(gating mechanism)控制信息的累积速度,提供对记忆细胞的写、读和重置操作,遗忘门ft控制每一个内存单元需要遗忘多少信息,用来选择忘记过去某些信息[12].输入门it控制每一个内存单元加入多少新的信息,用来记忆现在的某些信息.输出门Ot控制每一个内存单元输出了多少信息[13].
信息通过输入门和记忆门将过去与现在的记忆进行合并,输出门最后输出信息.LSTM通过“控制门”的结构来去除或者增加信息到细胞状态[14],让信息选择式通过.长短时记忆神经网络可以选择遗忘之前累积的信息,这样LSTM模型可以学到长时期的历史信息.
在t时刻,记忆单元Ct记录了到当前时刻为止的所有历史信息,并受3个“门”控制:输入门it,遗忘门ft和输出门Ot.3个门的元素值在[0,1]之间.在t时刻LSTM的更新方式如下:
it=σ(Wixt+Uiht-1+Vict-1),
(4)
ft=σ(Wfxt+Ufht-1+Vfct-1),
(5)
Ot=σ(Woxt+Ufht-1+Vfct-1),
(6)
(7)
(8)
ht=OtΘtan h(Ct).
(9)
标准长短时记忆网络就是一种包含许多扩展记忆块的循环神经网络模型.长短时记忆网络模型如图2所示.
笔者在改进长短时记忆结构的基础上,将改进的结构应用于语音识别系统中,与基于LSTM模型的语音识别系统进行对比[15].
图2 长短时记忆神经网络模型
Fig.2 Neural network model for long and short
duration memory
LSTM中,当前输入信息的状态不能影响输出门的输出信息,增加当前输入门到输出门的连接,更好地控制每一内存单元输出多少信息.
将遗忘门和输入门合成了一个单一的更新门,耦合遗忘和输入门限由之前的LSTM分开确定什么忘记、添加什么新的信息变为一同做出决定.在输入的时候才进行遗忘,在遗忘某些信息时才将新值添加到状态中[16].长短时记忆神经网络可以选择遗忘之前累积的信息,这样改进的LSTM模型可以学到长时期的历史信息,具有更强的鲁棒性.改进的长短时记忆神经网络模型LSTM如图3所示.
图3 改进的长短时记忆神经网络模型LSTM
Fig.3 Improved short duration memory neural
network model LSTM
在t时刻LSTM的更新方式如下:
ft=σ(Wf·[ht-1,Xt]+bf),
(10)
Ot=σ(Wo[Ct,ht-1,Xt]+b0),
(11)
(12)
(13)
ht=OtΘtanh(Ct).
(14)
改进的LSTM递归神经网络参数训练使用BPTT算法.
设在t时刻,网络的输入向量为x(t),隐含向量是h(t),网络的输出向量是o(t).用V表示输入层与隐含层之间的连接权值,U表示隐含层与隐含层之间的连接权值,W表示隐含层与输出层之间的连接权值,b和a分别表示隐含层和输出层的偏置.
hl(t)表示第l个样本在t时刻的隐含变量;ol(t)表示第l个样本在t时刻的输出变量;δl(vl(t))表示第l个样本在t时刻输出层的误差反向信号变量;δl(ul(t))表示第l个样本在t时刻隐含层的误差反向信号向量,和分别表示对权值W、V和U的偏导;分别表示对偏置a和b的偏导.
首先随机初始化所有的权值和偏置,初始化
随着时间t从1到T正向传播,对第l个样本在t时刻的隐含变量和输出变量进行定义.在 t=0时刻,定义隐含变量都为0,随着时间的展开,更新样本在t时刻的隐含变化量和输出变量.
hl(t)=f(ul(t))=f(Vxl/(t)++Uhl(t-1)+b),
(1≤t≤T);
ol(t)=g(ul(t))=f(Whl(t)+a).
(16)
随着时间t从T到1反向传播,计算第l个样本在t时刻输出层的误差反向信号变量和隐含层的误差反向信号变量.对权值w、v、u和偏置a、b的偏导进行更新.
∂l(vl(t))=(ot)-yl(t)·g′(vl(t)),
(17)
∂l(ul(t))=[(W)T∂l(vl(t))]·f′(ul(t)),
(18)
(19)
(20)
(21)
(22)
(23)
每次更新网络中的所有权值和偏置.
在实验中使用两层的LSTM递归神经网络和改进的LSTM神经网络,每层节点数为1 024,该LSTM递归神经网络模型参数数量为16.0 Million,在TIMIT数据集上进行实验.输入为36维的MFCC原始声学特征.MFCC特征提取中帧长取256,窗函数使用汉明窗.使用动量梯度下降学习函数,动量更新设置为0.5,时延第一层设置为-1,第二层设置为-2.在TIMIT数据集上将训练好的模型进行测试,如表1所示.基于改进LSTM递归神经网络语音识别系统的错误率TER为56.0%,与两层的LSTM递归神经网络相比较降低了5.0%,表明改进的LSTM识别准确率显著高于标准LSTM的准确率.
表1 基于改进LSTM递归神经网络语音识别系统
Tab.1 A speech recognition system based on improved
LSTM recurrent neural network
系统描述TER/%LSTM-RNN61.0改进LSTM-RNN56.0
笔者设计的实验中,对LSTM与改进的LSTM进行测试,比较不同迭代次数的LSTM和改进LSTM的准确率.迭代次数设置为1~10次,随着迭代次数的增加,识别的准确率同时增加,改进的LSTM准确率高于LSTM的准确率.比较不同迭代次数的LSTM和改进LSTM的准确率的实验结果如图4所示.
图4 比较不同迭代次数的LSTM和改进LSTM的
准确率
Fig.4 Compare the LSTM of different iterations and
the accuracy of the improved LSTM
图5 在有噪声和无噪声环境中对标准的LSTM进行
测试的识别准确率
Fig.5 identification accuracy of test for standard LSTM
in a noisy and noiseless environment
在有噪声和无噪声环境中对标准的LSTM进行测试,随着迭代次数的增加,识别准确率上升,在无噪声环境中测试标准的LSTM的准确率普遍高于在有噪声环境中测试的准确率.在有噪声和无噪声环境中对标准的LSTM进行测试的识别准确率如图5所示,结果表明改进的LSTM识别错误率较标准的LSTM识别错误率降低了5%.
在有噪声和无噪声环境中对改进的LSTM进行测试,随着迭代次数的增加,识别的准确率上升,在无噪声环境中测试改进的LSTM的准确率普遍高于在有噪声环境中测试的准确率.在有噪声和无噪声环境中对改进的LSTM进行测试的识别准确率如图6所示.
图6 在有噪声和无噪声环境中对改进的LSTM进行
测试的识别准确率
Fig.6 identification accuracy of test for improved
LSTM in a noisy and noiseless environment
提出了基于改进的LSTM递归神经网络系统,增加从当前CEC到输出门的连接,更好地控制每一内存单元输出多少信息,将遗忘门和输入门合成了一个单一的更新门.信息通过输入门和遗忘门将过去与现在的记忆进行合并,长短时记忆神经网络可以选择遗忘之前累积的信息,这样改进的LSTM模型可以学到长时期的历史信息,具有更强的鲁棒性.采用基于改进的LSTM方法,在TIMIT数据集上进行实验.基于改进的LSTM递归神经网络系统有效地提升了识别率,提高了语音识别系统的鲁棒性.
[1] LEI Y,SCHEFFER N,FERRER L. A novel scheme for speaker recognition using a phonetically-aware deep neural network[C] ∥Proc of IEEE International Conference on Acoustics, Speech and SignalProcessing.2014:1695-1699.
[2] SAK H, SENIOR A, BEAUFAYS F. Long short-term memory recurrent neural network architectures for large scale acoustic modeling[J]. Computer Science, 2014(11):338-342.
[3] SAKH,SENIOR A,BEAUFAYS F. Long short-term memory recurrent neural network architectures for largescale acoustic modeling[C]∥Proc of Annual Conference of International Speech Communication Association.2014:338-342.
[4] HINTON G,DENG L,YU.Deep neural networks for acoustic modeling in speech recognition[J]. IEEE signal processing magazine, 2012,29(6):82-97.
[5] 陶佰睿,郭琴,苗凤娟,等.基于自适应mel滤波器组的MFCC特征提取的SOC设计[J]. 郑州大学学报(工学版),2016,37(3):11-15.
[6] 余凯,贾磊,陈雨强,等.深度学习的昨天、今天和明天[J].计算机研究与发展,2013,50(9): 1799-1804.
[7] 史笑兴,顾明亮,王太君,等.一种时间规整算法在神经网络语音识别中的应用[J]. 东南大学学报,1999,29(5): 47-51.
[8] CHEN K,YAN Z J, HUO Q. Training deep bidirectional LSTM acoustic model for LVCSR by a context sensitive-chunk BPTT approach[R]. In Proceedings of Interspeech,2015.
[9] CHEN X, WANG Y Q, LIU X Y, et al. Efficient gpu-based training of recurrent neural network language models using spliced sentence bunch[R]. Proceedings of Interspeech, 2014.
[10] PASCANU R, GULCEHRE C, CHO K, et al. How to construct deep recurrent neural networks[C]. Ar Xiv:1312.6026, 2013.
[11] 孙志军,薛磊,许阳明,等.深度学习研究综述[J].计算机应用研究,2012,29(8): 2806-2810.
[12] SCHMIDHUBER J. Deep learning in neural networks: An overview[J]. Neural networks, 2015(61):85-117.
[13] DU J,DAI L R,HUO Q. Synthesized stereo mapping via deep neural networks for noisy speech recognition[C]∥2014 IEEE International Conference on Acoustics,Speech anold Signal Processing (ICASSP) . Washington DC: IEEE,2014: 1764-1768.
[14] XU Y,MO T,FENG Q.Deep learning of feature representation with multiple instance learning for medical image analysis[C]∥Proceedings of IEEE International Conference on Acoustics,Speech and Signal Processing (ICASSP). Washington DC: IEEE, 2014: 1626-1630.
[15] ABDEL-HAMID O, MOHAMED A, JIANG H, et al. Applying convolutional neural networks concepts to hybrid NN-HMM model for speech recognition[C]∥In Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2012:4277-4280.
[16] BAHDANAU D, CHO K, BENGIO Y. Neural machine translation by jointly learning to align and translate[C].arXiv preprint arXiv:1409.0473, 2014.