APP下载

基于深度学习的声学模型研究∗

2021-03-22沈东风张二华

计算机与数字工程 2021年2期
关键词:声学矩阵神经网络

沈东风 张二华

(南京理工大学计算机科学与工程学院 南京 210094)

1 引言

语言是人类最重要的信息交流工具,是人们进行沟通、表达的主要方式。语音是语言的外部形式,也是最直接记录人的思维活动的符号体系。随着科学技术的不断发展,语音交流已经不再局限于人与人之间,人与机器之间同样需要信息的交流。语音识别技术能够将人类的声音信号转化为文字或指令,这样一来,人类就能轻松地和机器进行语音交流。

语音识别技术最早诞生于20 世纪50 年代,早期的研究主要是简单的孤立词语音识别系统。20世纪80年代,GMM-HMM[1]模型的出现促进了语音识别从孤立词识别到连续语音识别的发展,并且,GMM-HMM 语音识别框架成为了语音识别系统的主导框架。

进入21 世纪后,基于GMM-HMM 的语音识别系统框架已经趋于完善,但是在将语音识别从标准的朗读转向日常交流时,由于字和字之间的间隔时间短、连续语音的相互影响、无法准确切分等问题,识别率大幅下降,实用效果受到很大影响,语音识别研究进入瓶颈期。2006 年,随着深度置信网络(Deep Belief Network,DBN)[2]的提出,深度学习的崛起突破了这一瓶颈。经过几年的研究和探索,卷积神经网络(Convolutional Neural Networks,CNN)和循环神经网络等在语音识别中取得了显著效果[3~4]。

2 深度学习

2006 年,深度学习理论在机器学习中的成功应用引起了人们的极大关注,随后,机器学习领域的研究热点转向了深度学习。深度学习的历史可以追溯到19 世纪40 年代,深度学习的概念来源于人工神经网络(Artificial Neural Network,ANN)[5]。它从信息处理角度对人类大脑的神经元网络进行抽象,从而达到模拟人脑的认知和学习能力的目的。人工神经网络经历了三次发展浪潮[6]。

20世纪40~60年代,深度学习的雏形出现在控制论中。1958 年,Rosenblatt 提出了感知机模型(perceptron),掀起了第一次人工神经网络研究的热潮。感知机是第一代神经网络,但是当时缺少好的学习算法用于训练多层感知机(Multi-Layer Per⁃ceptron,MLP)[7],导致第一代神经网络的研究走向低谷。

20世纪80~90年代,人工神经网络表现为联结主义,它的核心思想是模拟生物的神经系统,通过将大量的简单计算单元连接在一起从而实现智能行为。这一阶段,误差反向传播算法(Back Propa⁃gation,BP)[8]被成功应用于训练MLP。但是经过一段时间的研究,研究人员发现借助BP算法,MLP的训练也非常困难,性能较差,神经网络进入第二次衰退,并一直持续到2006年。

2006 年,Hinton 等学者提出的DBN 是一种无监督的概率生成模型,通过逐层训练受限波尔兹曼机(Restricted Boltzmann Machine,RBN)[9]得到。对于训练好的DBN,添加一个和目标相关的输出层就可以构成一个深度神经网络(Deep Neural Network,DNN)。基于DBN 的初始化使得DNN 的训练优化变得容易,深层结构的模型优势开始展现,机器学习领域又一次掀起了研究热潮。

2.1 循环神经网络(RNN)

循 环 神 经 网 络(RNN)[10]是Jordan,Pineda.Williams,Elman 等于20 世纪80 年代末提出的一种神经网络结构模型,它是一种节点定向连接成环的人工神经网络。RNN 之所以称为循环神经网络,指一个序列当前的输出与前面的输出有关,具体表现为网络会对前面的信息进行记忆并应用于当前输出的计算中。以前,无论是ANN,还是CNN,隐藏层之间的节点是无连接的,而RNN 隐藏层之间的节点是有连接的,隐藏层的输入不仅包括输入层的输入,还包括上一时刻隐藏层的输出。理论上,RNN能够对任何长度的序列数据进行处理。

图1 RNN结构

图1 展示的是RNN 的结构,图中X 表示输入的向量,S 为隐藏层的值,O 表示输出向量,U 表示输入层到隐藏层的权重矩阵,V 表示隐藏层到输出层的权重矩阵,W 是隐藏层与上一层的权重矩阵。如果没有W,那么该网络结构就变成了最普通的全连接神经网络。将图1的RNN结构按照时间线展开,得到如图2所示的结构。

图2 RNN时间线展开图

由图2 可知,RNN 在t时刻接收到输入Xt后,得到隐藏层的值St,输出层的值Ot,而隐藏层的值St不仅取决于当前的输入Xt,还取决于上一隐藏层St-1的值,计算公式如式(1)和式(2)所示。其中,soft⁃max 和TanHyperbolic(tanh)是激活函数,softmax 将多个神经元的输出,映射到(0,1)区间内,可以看成是当前输出是属于各个分类的概率,主要用于神经网络最后一层,作为输出层进行分类,tanh 常用于隐层神经元输出,加入非线性因素,提高神经网络对模型的表达能力。

在RNN 的训练过程中,如果要预测t 时刻的输出,首先利用上一时刻(t-1)的记忆和当前时刻的输入,得到t 时刻的记忆,然后利用当前时刻的记忆,通过softmax分类器输出每个词出现的概率。

RNN 由于其特有的记忆性,能够利用上文的信息辅助进行语音识别,进一步提高语音识别的准确率。但是RNN 与其他类型的神经网络一样还面临梯度消失的问题,只不过这种消失问题表现在时间轴上,即如果输入序列的长度很长,将很难进行有效的梯度更新,也就是对长度的依赖。为解决该问题,先后出现了一系列有效的处理方案,如LSTM等[11]。

2.2 长短期记忆网络(LSTM)

长短期记忆网络(Long Short Time Memory,LSTM)[12]由Schmidhuber 等人于1997 年提出,这是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件,能够有效解决RNN 的长度依赖问题。该模型中,常规的神经元被存储单元替代,每个存储单元都增加了一个细胞状态,细胞状态是LSTM 的关键,它类似于一条传送带,直接在整个链上运行,进行线性交互。标准RNN 每一时刻的计算节点只包含一个tanh 函数,而LSTM 中的重复模块包含四个相互作用的激活函数,如图3所示。

图3 LSTM的存储单元

图3 展示了3 个相连的存储单元,以中间的存储单元为例,三条虚线指示的就是存储单元中负责向单元移除或添加信息的三个门限,从左至右分别是遗忘门、输入门和输出门,门限由sigmoid 激活函数和逐点乘法运算组成,LSTM 的工作依靠这三个门来实现。LSTM 的核心是细胞状态,也就是位于图3 中上方,贯穿整个图的水平线,它表示了从t-1状态到t状态,再到t+1状态的记忆信息更新和传递。

以t-1 状态到t 状态为例,正向传递的第一步是遗忘门限层,它决定了上一时刻的值有多少被保留下来。计算如式(3)所示,其中ft是遗忘门,Whf是遗忘门与前一单元隐含层输出之间的权重矩阵,Wxf是遗忘门与当前输入之间的权重矩阵,ht-1是上一个时间节点隐含层的输出,xt是t 时刻输入层的输入,bf是遗忘门的偏移值。

正向传递第二步包括两个部分,分别是生成临时状态和更新原来状态,计算公式如式(4)、式(5)和式(6)所示。其中it是输入门,控制当前输入有多少能进入记忆单元,Whi是输入门与前一单元隐含层输出之间的权重矩阵,Wxi是输入门与当前输入之间的权重矩阵,bi为输入门的偏移值是临时状态,包含进入记忆单元的候选值,Wc和bc分别为临时状态的权重矩阵和偏移值;Ct是更新后的状态。

正向传递第三步是输出,计算公式如式(7)和式(8)所示。其中ot是输出门,控制记忆单元中输出的记忆值所占比例,Who是输出门与前一单元隐含层输出之间的权重矩阵,Wxo是输出门与当前输入之间的权重矩阵,bo分别为输出门的权重矩阵和偏移值;ht为当前时刻的输出。

总结起来,LSTM的计算思路为:输入门作用于输入信息,遗忘门作用于之前的记忆信息,二者加权和,得到单元的状态信息;通过输出门决定输出信息;由单元的状态信息和输出信息得到单元的隐含层输出,并传递给下一单元。所有的权重矩阵,偏置向量都通过训练得到,这和普通的循环神经网络没有区别,根据随时间反向传播算法(Backpropa⁃gation Through Time,BPTT),就能得到这些参数的梯度值。

2.3 LSTM应用于语音识别

语音信号是一种复杂的时变信号,而LSTM 能够在处理时间序列数据的同时,选择性地记住有效信息,丢弃无用信息,在语音识别上显示出强大的优越性[13~14]。但是,LSTM 只利用了上文(前一时刻)信息,未利用下文(下一时刻)的信息,存在不足,而连续语音受上下文的影响,有协同发音现象。因此,本文采用双向长短期记忆网络(BLSTM)来构建声学模型,BLSTM 充分考虑了正向时序信息和反向时序信息的影响,提高了鲁棒性。文献[15]证明,在语音识别上,BLSTM 的识别率高于LSTM。BLSTM的结构如图4所示。

图4 BLST模型

图4 矩形框中的LSTM就是2.2节中的LSTM存储单元,位于图上方的虚线框为正向传递,位于图下方的虚线框是逆向传递,Xt-1、Xt、Xt+1分别为t-1、t、t+1 时刻的输入,ht-1、ht、ht+1分别为正向传递过程中t-1、t、t+1时刻的输出,ht-1*、ht*、ht+1*分别为逆向传递过程中t-1、t、t+1 时刻的输出,以t 时刻为例,BLSTM 的输出为ht和ht*两者的直接拼接,即假设ht和ht*两者为m×n 的矩阵,拼接后得到的是2m×n的矩阵,该矩阵同时包含了上文信息和下文信息。

3 连续语音识别及声学模型

3.1 连续语音识别的基本步骤

连续语音识别,就是将一段语音信号转换成相对应的文本信息。这一过程中主要包含特征提取、声学模型及语言模型三大部分,此外为了更有效地提取特征往往还需要对语音信号进行滤波、分帧等预处理工作,为提高识别的准确率,还需要对连续语音进行准确的切分,即将连续语音切分成单个汉字[16~17]。

特征提取是指提取能反映语音信号本质的一组特征参数。本文选取的特征参数是24 维梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC),MFCC 充分考虑了人耳的听觉特征,首先对时域信号做傅里叶变换,得到频谱,再利用Mel滤波器组将线性频谱映射到基于听觉感知的Mel非线性频谱中,然后进行倒谱分析,即对振幅取对数后,再做离散余弦变换得到MFCC。

声学模型根据语音特征参数计算每一个特征向量在声学特征上的得分,得到当前语音最有可能对应的汉字语音,由于汉语中普遍存在多音字现象,一个音可能对应多个汉字,所以还需要根据语言模型进行音-字的转换。

语言模型就是基于语料库统计出各种词串出现的概率,结合声学模型的结果,得到最可能的文本表示,具体过程如图5 所示,图中上方的虚线框为语音信号的训练过程,下方的虚线框为实际语音的识别过程。

3.2 声学模型的构建

声学模型是语音识别的重要组成部分,是提高识别率的重要环节。本文实验采取GMM-HMM 模型和BLSTM 模型分别进行声学模型构建[18],对比分析识别率。

图5 连续语音识别流程图

声学模型的构建过程:首先对语音信号进行分帧、加窗等预处理;其次对信号进行汉字切分,得到单个字的起始位置;然后分别提取每个字的24 维MFCC 作为特征参数,输入模型进行训练,得到对应单字有调音节的声学模型。

4 实验过程及结果对比分析

实验语料库采用南京理工大学NJUST603语音库的一段汉语文本录音,文本内容为刘绍棠的散文《师恩难忘》,共596 个汉字,剔除重复的汉字后剩余245 个不重复的汉字。由于样本数量限制,本文选取切分好的100 个汉字作为实验对象,每个汉字135个样本,其中随机选取120个样本进行训练,用其余的15个样本进行测试。正确率计算公式如下:

4.1 GMM-HMM训练

隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计分析模型,是在马尔科夫链的基础上发展起来的[19]。HMM 模型通过两个相互关联的随机过程来描述信号的统计特性,一个是具有有限状态的马尔科夫链,用来描述状态的转移,是隐含的不可观测的;另一个是与马尔科夫链的状态相关联的特征矢量的随机过程,用来描述状态和特征值之间的统计对应关系,是可观测的。基于这两个随机过程,HMM 模型就可以辨识不同平稳信号段的特征参数。

HMM 模型考虑了语音信号的时变特征,但在语音识别系统中,所有状态的观察值概率矩阵很难直接给出,高斯混合模型(Gaussian Mixture Model,GMM)可以利用高阶多维高斯分布描述连续空间的概率分布,因此HMM 的观察值概率分布可以用GMM 描述。一般将各个观察值序列划分到N(状态数)个空间中去,将每个空间的特征参数映射为高斯混合模型,每个状态对应的观察值分布是高斯混合分布。

实验利用人工切分好的数据对每个汉字分别建模;然后提取切分好的测试语音的MFCC 参数,利用HMM 模型进行识别,统计每个音节最可能的识别结果,最终正确率为85.6%。

4.2 BLSTM训练

实 验 使 用TensorFlow 搭 建BLSTM 模 型[20~21],TensorFlow 是一个采用数据流图进行数值计算的开源软件库,被广泛应用于各类机器学习算法的编程实现。由于每个汉字的语音长短不同,MFCC 序列也就不同。因此,需要按最长序列进行存储,不足长度的后面补0,并将真实长度存放在一个向量中。

BLSTM 模型的输入有两项,一是补0后的所有样本的训练数据,将全部数据读入后重组为(batch_size,n_steps,n_input)的 张 量。 其 中batch_size 是一次性输入到神经网络中训练,完成一次参数计算和更新的个数,这里取batch_size=200;n_steps 是构造的BLSTM 总共有多少个时间上的输入,这里取训练样本中序列最长的样本的帧数;n_input是一次输入的数据维数这里取n_input=24。二是对应的每个训练样本实际长度的向量。

这是一个多分类问题,本文的实验对象为100个汉字,也就是100 个类别,BLSTM 的输出是一个向量,包含当前语音属于每一类别的计算值。本文采取交叉熵损失函数计算损失J(θ),公式如式(10)所示,其中,m 为训练样本的总数,x(i)和y(i)分别表示第i 组数据经BLSTM 后的输出和期望的输出,x(i)=(1,x1(i),x2(i),…,x100(i))T,因考虑到偏置项,x(i)的第一项为1,模型的参数为θ=(θ0,θ1,θ2,…,θ100)T,θ0为偏置项。J(θ)对第j 个参数分量θj求偏导可得式(12)。

本文在最优参数θ的求解上采取Adam 优化算法,对梯度的一阶矩和二阶矩进行综合考虑,计算出更新步长,它能够在训练数据迭代过程中更新神经网络的参数,得到全局最优解。

利用训练好的神经网络对测试样本进行测试,最终正确率为92.3%。

4.3 训练结果对比

实验结果如表1 所示,基于深度学习的声学建模技术相比于传统GMM-HMM 技术正确率提高了6.7%,可见深度学习在声学建模上确实具有明显的优越性。

表1 两种声学模型的识别率对比

虽然BLSTM 模型的训练结果优于传统的GMM-HMM 模型,但还存在一些不足,表2 列举了BLSTM模型测试结果中部分识别错误的例子。

表2 部分识别错误实例

从表2 分析可得,汉字的韵母相同或相近的音在识别过程中容易混淆,还需进一步改进。

5 结语

本文通过对比分析基于传统的GMM-HMM 声学模型和基于BLSTM 的声学模型在识别中的正确率,发现后者明显优于前者。BLSTM 模型解决了一般RNN 模型的梯度爆炸和长度约束问题,充分利用了上下文信息,所以性能更佳。由于本文实验所用的语音数据集较小,后续研究还需进一步扩大数据集,使实验结果更加令人信服。

猜你喜欢

声学矩阵神经网络
基于神经网络的船舶电力系统故障诊断方法
基于振动声学方法的高压开关机械缺陷诊断技术
基于人工智能LSTM循环神经网络的学习成绩预测
MIV-PSO-BP神经网络用户热负荷预测
12bZM12BC2020102_p26
多项式理论在矩阵求逆中的应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
2014年中考声学预测题
2016年中考声学预测题
矩阵