基于改进的LSTM深度神经网络语音识别研究

2018-09-13 09:02赵淑芳董小雨
郑州大学学报(工学版) 2018年5期
关键词:短时记忆准确率噪声

赵淑芳, 董小雨

(太原科技大学 计算机科学与技术学院,山西 太原 030024)

0 引言

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%.

1 神经网络

人工神经网络(artificial neural network, ANN)是一种应用类似大脑神经突触链接的结构进行信息处理的数学模型,由大量的节点(神经元)和相互之间的加权连接构成.每个节点代表一种特定的输出函数,称为激励函数(activation function)[8-9].每两个节点间的连接都代表一个通过该连接信号的加权值,称为权重(weight),这相当于神经网络的记忆.网络的输出则根据网络的连接方式、权重值和激励函数的不同而不同.

人工神经网络特别适合因果关系复杂的非确定性推理、判断、识别和分类等问题.可以通过预先提供的一批相互对应的输入输出数据,分析掌握两者潜在的规律,最终根据这些规律,用新的输入数据来推算输出结果[10].人工神经元是一个多输入/单输出的非线性元件,其模型如图1所示.

图1 人工神经元模型Fig.1 Artificial neuron model

2 LSTM深度学习基本思想

2.1 标准LSTM基本思想及模型构建

相比前馈型神经网络DNN,循环神经网络(recurrent neural network,RNN)在隐层上增加了一个反馈连接,可以通过循环反馈连接看到前面所有时刻的信息,RNN通过反馈连接将之前信息的记忆保留在中间的隐藏节点中,影响网络的输出[11].在传统的循环神经网络中,参数训练使用随时间进行反向传播(backpropagation through time,BPTT)算法,假设循环神经网络在每个时刻t都有一个监督信息,损失为Jt,则整个序列的损失为:

(1)

损失J关于U的梯度可以用链式法则得到,

(2)

定义

γ=‖UTdiag(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所示.

2.2 改进的LSTM方法的基本思想

笔者在改进长短时记忆结构的基础上,将改进的结构应用于语音识别系统中,与基于LSTM模型的语音识别系统进行对比[15].

图2 长短时记忆神经网络模型Fig.2 Neural network model for long and short duration memory

LSTM中,当前输入信息的状态不能影响输出门的输出信息,增加当前输入门到输出门的连接,更好地控制每一内存单元输出多少信息.

将遗忘门和输入门合成了一个单一的更新门,耦合遗忘和输入门限由之前的LSTM分开确定什么忘记、添加什么新的信息变为一同做出决定.在输入的时候才进行遗忘,在遗忘某些信息时才将新值添加到状态中[16].长短时记忆神经网络可以选择遗忘之前累积的信息,这样改进的LSTM模型可以学到长时期的历史信息,具有更强的鲁棒性.改进的长短时记忆神经网络模型LSTM如图3所示.

图3 改进的长短时记忆神经网络模型LSTMFig.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)

2.3 改进的LSTM训练过程

改进的LSTM递归神经网络参数训练使用BPTT算法.

设在t时刻,网络的输入向量为x(t),隐含向量是h(t),网络的输出向量是o(t).用V表示输入层与隐含层之间的连接权值,U表示隐含层与隐含层之间的连接权值,W表示隐含层与输出层之间的连接权值,b和a分别表示隐含层和输出层的偏置.

随着时间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)

∂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)

每次更新网络中的所有权值和偏置.

3 实验设计与结果分析

在实验中使用两层的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

笔者设计的实验中,对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

4 结论

提出了基于改进的LSTM递归神经网络系统,增加从当前CEC到输出门的连接,更好地控制每一内存单元输出多少信息,将遗忘门和输入门合成了一个单一的更新门.信息通过输入门和遗忘门将过去与现在的记忆进行合并,长短时记忆神经网络可以选择遗忘之前累积的信息,这样改进的LSTM模型可以学到长时期的历史信息,具有更强的鲁棒性.采用基于改进的LSTM方法,在TIMIT数据集上进行实验.基于改进的LSTM递归神经网络系统有效地提升了识别率,提高了语音识别系统的鲁棒性.

猜你喜欢
短时记忆准确率噪声
舰船通信中的噪声消除研究
基于长短时记忆神经网络的动力电池剩余容量预测方法
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
汽车制造企业噪声综合治理实践
吉林大学考古与艺术博物馆观众短时记忆调查报告
英语听力理解与短时记忆
短时记忆理论的影响