《基于深度学习神经网络的孤立词语音识别的研究.docx》由会员分享,可在线阅读,更多相关《基于深度学习神经网络的孤立词语音识别的研究.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第 32卷第 8期 2015年 8月 计算机应用研究 ApplicationResearch ofComputers Vol. 32 No. 8 Aug. 2015 基于深度学习神经网络的孤立词语音识别的研究 $ 王山海,景新幸,杨海燕 1 (桂林电子科技大学信息与通信学院,广西桂林 5耵 0 4) 摘要:为了提高语音识别系统性能,研究提出将自编码器深度学习神经网络应用于语音识别中。该网络结构 引入贪婪逐层预训练学习算法,通过预训练和微调两个步骤提取出待识别语音信号的本质特征,克服传统多层 人工神经网络模型在训练时存在易陷入局部极小值且需要大量标签数据的问题;经过规整网络,将任意长度帧 的语
2、音特征参数规整到某一特定帧,输入到分类器中进行语音识别。对反向传播神经网络和自编码神经网络分 别进行了仿真实验,结果表明深度学习神经网络识别准确率较传统神经网络有 20. 0%的提升,是一种优良的语 音识别模型。 关键词:语音识别;人工神经网络;深度学习;自编码器;规整网络 中图分类号: TP391.42 文献标志码 : A 文章编号: 1001-3695(2015)08-2289-03 doi : 10. 3969/j. issn. 1001-3695.2015.08. 011 Study of isolated speech recognition based on deep learni
3、ng neural networks Wang Shanhai, Jing Xinxing, Yang Haiyan (School of Information & Communication, Guilin University of Electronic Technology, Guilin Guangxi 541004, China) Abstract : To improve the performance of the conventional speech recognition system, this paper introduced the autoencoder deep
4、 learning neural networks which was applied to speech recognition. The neural networks based on deep learning introduced greedy layer-wise learning algorithm by pretraining and fine-tuning. It could extract the essential features of speech signal which was needed to recognition. It could overcome th
5、e shortcomings of the conventional multilayer artificial neural networks which easily trapped into leal optimum when training the model. And they needed a large number of labeleddata. Then the structured alignment net-works could align arbitrary frames of features to fixed frames. And it input these
6、 features toa classifier to speech recognition. TMS paper didsome experiment with back propagation neural networks and autoencoder neural networks respectively. The results illustrate that the deep learningneural networks can outperform the conventional neural networks by 20.0% inaccuracy. It is an
7、exccllent speech recognition model. Key words: speech recognition; artificial neural networks; deep learning; autoencoder; alignment networks 引言 语音识别是为了让计算机理解人类语言的命令,达到人机 交互智能化的目的。随着计算机技术的不断发展和广泛应用, 语音识别技术得到了迅速发展,语音识别的研究越来越受到人 们的关注。 目前常用的识别方法主要有动态时间规整 ( dynamc tme warping,DTW)方法、矢量量化 ( vector quanti
8、zation,VQ)方法和 隐马尔可夫模型 ( hidden Markov model,HMM)方法。 2世纪 80年代末期,人工神经网络 ( artificial neural networks,ANN)的 研究逐渐兴起 ,它是一种分布式并行信息处理系统,实验表明 这种方法比较适合于语言信号处理 1。但随着研究的深人, 传统神经网络本身的局限性也逐步暴露出来,如易陷人局部极 小值、需要大量标记数据等问题。 Hmto等人 2在 2006年提 出了深度学习的概念,从此,深度学习的研究在语音、图像、信 息检索等领域逐步开展起来。将深度学习算法应用于多层神 经网络 ,可以为各层神经网络提供较好的初始
9、权值及偏置,使 得网络能够很快地收敛于合理的极值点 ,从而解决传统神经网 络的不足。 1人工神经网络 !1神经网络简介 人工神经网络 ( ANN)是由大量简单的处理单元 神经 元按照某种方式连接而成的自适应的非线性系统。这种网络 具有与人脑相似的学习记忆、知识概括和信息特征抽取能力。 神经元的结构如 图 1所示。神经网络的输人 /输出关系可以用 下列公式表示: N U: 厂心 7 = 1 yifiu) 其中代表神经元与神经元 j之间连接的强度,被称做连接 权重代表神经元 1的活跃值,即神经元状态 ;yi代表神经元 的输出,即是神经元 1的一个输出; i代表神经元 1的阈值 ;; 称做激励函数。
10、激励函数有多种选择,常用的是 sgmod函数, 也叫做 S型函数,函数严格单调递增,函数表达式为 y:,“) : i+C-B (3) 收稿日期: 2014-06-08;修回日期: 2014-07-25 基金项目:广西自然科学基金项目 ( 2012GXNSFAA053221);广西千亿元产业产学研用 合作项目 ( 信科院 0168) 作者简介:王山海( 1982-),男,河南长垣人,硕士研究生,主要研究方向为语音信号处理;景新幸 ( I960-),男,教授,博士,主要研究方向为语 音信号处理、非线性电路、集成电路设计;杨海燕( 1975-),女(通信作者),副教授,硕士,主要研究方向为语音信号处
11、理 ( yhygueedu.n) 2290 计 算 机 应 用 研 究 第 32卷 其中,参数 A称为 sigmoid函数的增益,该函数是可微的,它的 取值在 01内连续变化 3。 ! 2神经网络的训练过程 大量神经元组合在一起可以构成一个神经网络。神经网 络的训练一般通过下面的步骤进行: a) 输人信息 ,根据 式 ( 1) (3)从输人层经隐层逐层计算 各单元的输出值。 b) 为误差反向传播阶段。令 :n (一为输人 ()时神经 元A在时刻 的实际输出 ,t(一表示期望的输出,则误差信号 可以表示为 ek (n ) =dk (n ) Jk(n ) (4) 误差反向传播的最终目的是使某一基于
12、 4的目标函 数达到最小 , 以使网络中每一输出单元的实际输出在某种统计 意义上逼近期望输出。一旦选定了目标函数形式 , 误差纠正学 习就变成了一个典型的优化问题。 神经网络训练过程中,需要通过多次对上述过程迭代计 算 ,直到网络的训练误差达到所设定的阈值时训练结束。但现 实问题是求误差函数的导数是一个高度非凸优化问题 ,往往会 陷人局部极小值的难题 ;另外 , 使用反向传播方法计算导数时, 随着网络深度的增加 , 反向传播的梯度幅度值会急剧地减小, 结果造成了整体的损失函数相对于最初几层的权重的导数非 常小。这样 ,当使用梯度下降法时 , 最初几层的权重变化非常 缓慢,以至于它们不能够从样本
13、中进行有效的学习 。因此, 需要一种高效的算法来训练多层神经网络。 2深度学习的基本思想和方法 2.1深度学习神经网络 深度学习是机器学习研究中的一个新的领域 , 它的概念源 于人工神经网络的研究 。深度学习利用多层神经网络模 型 ,通过有监督和无监督的学习 , 对原始信号进行非线性变换, 提取共特征进行模式分类或识别。深度学习的概念由 Hmton 等人于 206年提出 , 基于深度信念度网络 ( deep belief networks,DBN) 的非监督贪心逐层训练算法 , 为解决深层结构相 关的优化难题带来希望 , 随后提出多层自动编码器 ( atoencod- er, AE)深层结构
14、67。深度学习网络在进行有监督学习前要 先进行非监督学习 ,然后 将非监督学习学到的权值当做有监督 学习的初值进行训练。文献 8提出利用基于 DBN的深度学 习神经网络来进行语音识别 , 较传统语音识别系统性能有较高 提升。自编码神经网络是另外一种典型的深度学习网络,与 DBN的不同之处在于网络误差函数的定义。本文利用这种网 络结构进行语音识别研究。 2.2自编码网络工作原理 自编码器是一种前向传播神经网络 , 采用无监督学习 , 使用 了反向传播算法,并让目标值等于输人值。设输人样本为向量 X,通过以下函数可以求出隐藏层和输出层单元的激活情况。 n = s( Wx+b) (5) Z = S(
15、 WIx+b) (6) 其中 : (X)S slgm m函数,两个公式中的权值矩阵 W、 W1 互 为转置,为偏置量。与传统神经网络的有监督学习算法不 同,自编码器学习的目标是使得输出值等于输人值,即使得 z 尽量等于 *。使用 KL散度 ( Kullback-Leibler divergence,又称做 KL距离)来作为损失函数: L(X, Z) = | z.) (7) i -1 其中 :X表示由 个样本向量组成的矩阵, KL“ , | Zl)表示输人向 量和输出向量之间的 KL散度,用来度量它们之间的距离 9。 自动编码器采用随机梯度下降算法来进行训练 , 权重更新 公式如下: 其中:为更
16、新步长,参数 b用同样的方法进行更新。 在使用自动编码器时,通常的做法是引人额外的约束,以 限制隐层神经元的激活数目,使得对于一个样本只有少部分隐 层神经元被激活。这是对数据进行稀疏编码的实现方式之一, 稀疏编码被证明有可能提高模型效果 10。在本文中,引人对 隐含层的稀疏编码约束后 ,损失函数表达式如下所示。 L(X,Z) -JKLi |,) +!&( | p) (9) 其中 :: i表示第 i个隐层单元的激活率,为设定的初始值,一 般取一个比较小的数,如 0. 05 ,表示小概率事件;表示稀疏值 惩罚的权重。 将训练好的多个稀疏自编码器堆叠起来就构成了深度自 编码器网络 ( DAE)。 自
17、编码神经网络的参数是通过采用逐层 贪婪训练算法 ( prerniig)得到的 , 即先利用原始输人来训练 网络的第一层,得到参数妒 ,妒 1, ), (1, (12);然后网络 第一层将原始输人转换成为由隐藏单元激活值组成的向量 (假设该向量为 A),接着把 A作为第二层的输人,继续训练得 到第二层的参数妒 , 妒 22), b(21), b(22);最后 , 对后面的各 层采用同样的策略,即将前层的输出作为下一层输人的方式依 次训练。 对于上述训练方式,在训练每一层参数的时候,会固定其 他各层参数保持不变。所以,如果想得到更好的结果 ,在上述 预训练过程完成之后,可以通过反向传播算法同时调整
18、所有层 的参数以改善结果 , 这个过程一般被称做微调 ( fine-tirnig )。 这样把最后一个隐层的输出作为分类器的输人,就可以进 行分类了,分类器的分类错误的梯度值就可以直接反向传播给 编码层来进行参数调整。本文就是利用含有两层隐层的自编 码神经网络最后叠加一个 sftmax分类器来实现语音识别 的 。一个完整的自编码神经网络如图 2所示。 3 仿真与实验 文献 2中对深度神经网络作了如下的定义 :在输人层 和输出层之间如果存在多于一个隐层的神经网络则称做深度 神经网络。本 文在 MATLABR2012a软件环境下,分别构建了 第 8期 王山海,等:基于深度学习神经网络的孤立词语音识
19、别的研究 2291 一个含有单隐层的 BP神经网络和含有两个隐层的深度神经 网络进行仿真实验。 3.1建立语音库及提取语音特征参数 在实验室环境下进行语音材料的录制。实验采用七个说 话人分别朗读 9十个数字,每个数字朗读三遍。采样率设 为 16 kHz, 每采样点进行 16 bk量化 , 声道为单声道 , 共 210个 样本文件作为训练和识别的语料库。其中第一遍和第三遍朗 读样本作为训练集,总共 140个样本 ;第二遍朗读样本作为测 试集,总共 70个样本。 对语音信号进行预处理后提取特征参数。本文采用 Mel 频率倒谱系数 (MFCC)参数作为识别的特征参数。 3.2特征参数规整网络 语音信
20、号具有很强的随机性,对同一个发音单元提取到的特 征参数的帧数也不一定相同 ,但一个确定结构的神经网络具有固 定的输人神经元。因此在进行语音识别时 ,有必要首先对语音信 号进行规整,使得每个发音单元有相同个数的特征参数帧。 具体的规整算法描述如下 :设 4, , 是输人语音 信号的特征矢量,以表示第 A帧和第 A + 1帧特征参数矢量 合并时的权重,其中 i=0,1, , -斤; =1,2, , ra-i。 特别 地,当 i = 0时有m = 1( A = 1, 2, , ra) 。以表示矢量与 灰 + 1之间的距离,即 4= MA-U。从 j=0开始重复下 述过程直至i=ra-iV-1。 a)
21、 计算 dj(A = 1, 2, , ra - i - 1 )并找出 j, 使得 J c)计算 mj+1 ( A = 1, , ra - j - 1) mj+1 =mj A 通过规整网络 ,可以将任意帧的特征参数规整到某一个固 定的帧数 ,在孤立词识别的实际应用中,分段数通常取为 4 813,本文将特征参数都规整到 5帧。 3.3实验结果与分析 传统 BP神经网络进行语音识别步骤如下: a) 构造单隐层的 BP神经网络,因为每个数字的语音都被 规整到 5帧 , 每帧采用 24阶 MFCC参数 , 所以输人为 120个神 经元 ;输出 4个神经元,用 4位二进制代码表示 0 9十个数字。 b)
22、隐层神经元个数、学习速率、迭代次数、目标误差值等 训练参数设置为不同的组合,训练神经网络。 c) 将规整好的特征参数输人到神经网络中进行识别。实 验结果如表 1所示。 表 1 BP神经网络实验结果 隐层单元数 识别率 /% 运行时长 /s 10 66.67 3.281 50 76.67 3.533 60 76.67 4.251 220 66.67 10.584 1 63.33 98.004 利用深度自编码器神经网络进行语音识别步骤如下: a) 用稀疏自编码器构成含有两个隐含层的神经网络。原 始输人数据作为输人,训练出第一个隐含层结构的网络参数, 并用训练好的参数算出第一个隐含层的输出。 b)
23、把步骤 a)的输出作为第二层网络的输人,用同样的方 法训练第二个隐含层网络的参数。 C用步骤 b)的输出作为多分类器 S ftmax的输人,然后利 用原始数据的标签训练出 softmax分类器的网络参数。 d) 计算包括两个隐含层和 softmax分类器在内的整个网络 的误差函数,及其对各个参数的偏导值,更新连接权重及偏置。 用上述步骤训练出的参数作为整个网络参数初始值,然后 用LBFGS优化算法迭代求出网络的最优值,网络训练结束。 f)将规整好的特征参数输人到训练好的神经网络中进行 识别,结果如表 2所示。 表 2自编码 ( AE)神经网络实验结果 隐层单元总数 识别率 /% 运行时长 /s
24、 40 60 3.703 80 63.33 4. 858 220 86.67 13.324 400 90 33.719 500 96.67 43.561 1 000 93.33 151.288 通过实验对比可以看到,自编码神经网络最高识别率为 96. 67% ,而 BP神经网络最高识别率只有 76. 67% ,深度神经 网络识别效果明显优于 BP神经网络 ;另外,本实验中自编码 神经网络采用具有两层隐层的结构,因此隐层神经元个数可以 有不同的组合,通过实验发现第一隐层神经单元个数为 400, 第二隐层神经单元为100时可以取得最好的识别效果 ;同时可 以看到,识别率并不是随着隐层神经元个数的增
25、加而增高,当 神经元个数增加到一定个数时,识别率不再增加甚至下降,但 程序运行时长会随着神经元个数的增加而增长。两种神经网 络的识别率与神经单元个数变化关系如图 3所示。 9&67%933396 50 60 200 神经元个数 图 3 BP网络神经元个数与 识别率关系图 40 80 200 400 5001000 神经元个数 图 4自编码神经网络 神经元个数与识别率关系图 4 结束语 基于神经网络的语音识别算法具有很大的潜力,是解决现 有语音识别算法瓶颈问题的有效途径和思路。本文尝试利用 深度自动编码器 ( DAE)神经网络进行语音识别,初步验证了 深度学习算法的优越性,克服了传统神经网络的不
26、足。 本文针对深度学习算法用于语音识别只是经过了简单的 尝试 ,其中还有许多理论和应用问题需要继续深人探讨。在本 实验中,学习样本和识别样本都是在室内理想情况下采集所 得 ,而实际语音识别系统应用时会存在噪声的影响;实验中使 用的语音样本为数字 9,要想取得更准确的识别效果 , 应该收 集更多采样数据 ;另外随着网络深度及神经元 ( 下转第 2298页) 2298 计 算 机 应 用 研 究 第 32卷 表 8分类率提高值统计 /% 提高值 A =5 A =10 A =20 分类率 2提高值 2.53 1.43 0.29 平均值 1.41 表 9 迭代次数统计 次 算法 A =5 A =10
27、A =20 平均值 CV-S3VM 245.6 232. 8 27 228.47 SS-AL 22.6 21 32 25.2 SSC-IAL 47.2 30.6 42.6 40. 13 通过表 2、 4、 6中分类率提高值可以看出,虽然 SSC-IAL相 对 SSL-AL算法迭代次数有所增加(增加不大,如表 9所示 ) , 但是 SSC-IAL算法提高了分类率 r, 平均提高了 1.41 % (表 8)。 这是因为 SSL-AL算法中采用的是基于投票熵的主动学习策 略 , 而SSL-IAL算法中采用的是本文提出的基于改进的投票熵 的主动学习策略。这说明 SSC-IAL算法中采用的改进的基于 投
28、票熵的主动学习策略能从投票熵为的样本中选取一些信 息量丰富的样本进行标记,增加标记样本数目,进一步提高分 类精度,同时排除了一些孤立点对分类精度的影响,表明 1.2 节对基于投票熵的主动学习策略进行改进是有效的。 另外 , 在一些样本的分类中 , SSC-IAL算法的分类率甚至 超过使用大量无标记样本进行学习的 CV-S3VM算法,如使用 prnia样本实验时出现这种情况。这也进一步说明 , SSC-IAL算 法能较好地选取信息量丰富的样本 ,减少噪声样本 , 在迭代次 数很小的情况下能达到更高的分类精度。通过实验也可以看 出 , 两者分类率收敛于 CV-S3VM算法的分类率 , SSC-IA
29、L算法 收敛性更好。 本文还使用其他半监督学习算法 ,如文献 14,15中的提 到的半监督分类算法 Tri-Training、 Co-S30M,与本文提出的改 进的主动学习策略相结合 ,实验结果也表明本文提出的算法具 有有效性。这里由于篇幅的原因 ,实验结果不再一一列出。 4 结束语 本文将主动学习算法和半监督学习进行结合 , 选取信息量 丰富的样本 , 用半监督学习进行自动标注 ,减少人工干预。并 针对主动学习算法存在孤立点和冗余点的缺点 , 对其进行改 进。实验表明 ,算法操作简单,能有效地缩减样本规模 ,较容易 实现对未标记样本的标记,性能良好。 参考文献: 1 吴伟宁,刘扬,郭茂祖,等
30、 .基于采样策略的主动学习算法研究进 展 叼 .计算机研究与发展 ,012,49(6):1162-1173. 2 周志华 .基于分歧的半监督学习 J.自动化学报 ,013,39(11): 1871-1878. 3 Balcan N, Berlind C, Ehrlich S,et al. Efficient semi-supervised and active learning of disjunctions C /Proc of the 30th International Conference on Machine Learning. 2013 : 633-641. 4 朱岩,景丽萍,于剑
31、 一种利用近邻和信息熵的主动文本标记方法 /计算机研究与发展, 2012,49(6) :1306-1312. 5 陈荣,曹永锋,孙洪 基于主动学习和半监督学习的多类图像分类 J.自动化学报 ,011, 37(8):954-962. 6 Leng Yan, Xu Xinyan, Qi Guanghui. Combining active learning and semi-supervised learning to construct SVM classierJ. Knowledge- Based Systems, 2013,44:121-131. 7 Minton M S, Knoblock
32、 C A. Active learning with multiple viewsJ. Journal of Articicil Intelligence Research,2006,27(1) : 203-233. 8 程圣军,刘家锋,黄庆成,等 .基于样本条件价值改进的 Co-tmining 算法 J.自动化学报, 2013 ,39(0) :1665-1673. 9 Melville P, Mooney R J. Diverse ensembles for active learingfC/ Proc of the 21st International Conference on Mach
33、ine Learing. New York: ACM Press,2004: 584-591. 10 白龙飞,王文剑,郭虎升 一种新的支持向量机主动学习策略 J南京大学学报 : 自然科学版, 2012,48(2) :182-189. 11 唐明珠,阳春华,桂卫华 基于改进的 QBC和 CS-SVM的故障检 测 J.控制与决策, 2012,27(10) :1489-1493. 2 赵悦,穆志纯 .基于 QBC的主动学习研究及其应用 .计算机工 程, 2006 ,32(24) :23-25. 3 赵建华 一种基于交叉验证思想的半监督分类方法 J西南科 技大学学报:自然科学版, 2014,29(1)
34、 :34-38. 14 ZHOU Zhi-hua, LI Ming. Tri-Training: exploiting uulabeled data using three classifiers J IEEE Trans on Knowledge and Data Engineering ,2005,17(11): 1529-1542. 5赵建华,李伟华 .一种协同半监督分类算法 Co-S30M J计算机 应用研究 ,013 ,30(11) :3237-3239,3252. (上接第 2291页)个数的增加,计算负荷也随之增加,需要研究 合理的并行计算方式。 参考文献: 1 孙宁,孙劲光,孙
35、宇 基于神经网络的语音识别技术研究 J计算 机与数字工程, 2006,34(3):58-61. 2 Hinton G E , Salakhutdinov R R. Reducing the dimensionality of data with neural networksJ. Sci ; nce,2006 ,313(5786) :504-507. 陈国良,韩文廷 人工神经网络理论研究进展 J.电子学报, 1996,24(1) : 70-75. 4胡晓林,朱军 .深度学习 一一机器学习领域的新热点 J中国计 算机学会通讯, 2013,9(7):64-69. 余凯,贾磊,陈雨强,等 深度学习的
36、昨天、今天和明天计算机 研究与发展 ,013,50(9):1799-1804. 6 Hinton G E, Osindero S, Teh Y. A fast learning algorithm for deep belief netsJ. Neural Computation, 2006,18(7) :1527-1554. 7孙志军,薛磊,许阳明,等 .笨度学习研究综述 J计算机应用研 究, 2012,29(8) :2806-2810. 8 Mohamed A R, Dahl G E, HintonG E. Deep belief networks for phone recognitio
37、n C/Proc of NIPS Workshop on Deep Learning for Speech Recognition. 2009:230-239. 9 张开旭,周昌乐 基于自动编码器的中文词汇特征无监督学习 .中文信息学报, 2013, 27(5)1-7. 10 Coates A, Ng A Y, Lee H. An analysis of single-layer networks in unsupervised feature learing C /Proc of International Conference on Artificial Intelligence and Statistics. 2011 : 215-223. 11 陈硕 .深度学习神经网络在语音识别中的应用研究 D.广州:华 南理工大学, 2013. 12 Hinton G E, Deng Li, Yu Dong, etal Deep neural netvorks for acoustic modeling in speechrecognition :the shared views of four re search gr upsJ. IEE Signal Processi