陈伟+田一明+王喜太+陈晓振
摘要:针对应用传统BP神经网络在语音识别中训练速度慢、容易陷入局部最优解的问题。该文提出了基于粒子群优化算法的BP神经网络语音识别模型。首先对不同噪声条件和词汇量下的语音样本进行特征提取,然后利用PSO算法对BP神经网络输出权值和阈值参数进行优化,最后利用获得的PSO-BP模型对不同词汇量下的语音样本进行测试。实验结果表明PSO-BP模型对语音的识别率明显高于未经参数优化的BP神经网络分类器,并且对高噪声具有更好的鲁棒性。
关键词:语音识别;BP神經网络;粒子群算法;参数优化
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2018)01-0187-02
1 概述
语音识别是基于语音信号处理和模式识别技术下产生的一种能够实现人机交互的关键技术[1]。语音识别技术能够实现机器对人类的语言信息的识别、基本理解以及做出相应动作响应。目前,语音识别技术已经在医疗机器人、国防、家庭服务等领域得到广泛应用。随着计算机技术的发展,语音识别研究进一步走向深入, 具有代表性的是以HMM模型和人工神经网络(ANN)在语音识别中的成功应用。滕云等[2]比较了循环神经网络以及多层感知器在语音识别中的准确性问题。夏妍妍等[3]提出了一种基于RBF神经网络的语音识别方法,但是此种方法训练速度较慢。杨景花等[4]提出一种人工智能和神经网络技术相结合的语音识别方法,该方法主要通过学习的方法对神经网络模型的权重进行求取,以达到较好的识别效果。斯芸芸等[5]利用遗传算法对小波神经网络的参数进行优化,不仅缩短了对语音的识别时间,还提高了网络训练速度和语音的识别率。以上研究均通过神经网络对语音进行识别,但是采用常规BP神经网络进行训练时,常会出现网络早熟、训练时间过长等问题,限制了其在语音识别实际中的应用范围。BP神经网络的参数对其性能有重要的影响,本文利用PSO算法的全局所及搜索以及局部细致搜索的能力,对BP神经网络的参数进行优化。利用所获得PSO-BP模型,应用在语音识别问题中,通过实验证证明了本文所提方法能够提高网络的训练速度以及识别率。
2 基本算法
2.1 BP神经网络
BP 神经网络是一种多层前馈神经网络,其结构包括输入层、输出层以及隐含层。BP 神经网络通过梯度下降法对权值和阈值经行不断地调整,使得最终得到网络模型的实际输出值和期望输出值的均方误差值最小。其训练过程包括以下步骤:
a) 对网络经行初始化。这包括确定网络输入层节点数n、隐含层节点数l、输出层节点数m,输入层与隐含层、隐含层与输出层神经元之间的连接权值ωij,ωjk,隐含层阈值α,输出层阈值b。
b) 隐含层输出hj的计算。
e) 阈值更新。根据网络输出和期望输出,对aj和bk进行更新。
f) 判断算法是否满足性能要求,若没有满足则返回步骤(b)继续迭代。
2.2 粒子群优化算法
粒子群优化(Particle Swarm Optimization, PSO)算法是一种仿生优化算法。PSO算法中每个粒子知道自己的位置方向和距离最优解最近的粒子的位置,在搜索过程中,动态调整粒子位置和速度,直到找到全局最优解。每个粒子由本身的位置向量pi和速度向量vi表示,这些粒子可以记住它们在运动过程中的局部最优位置p*i和整个粒子群的全局最优位置p*g,粒子的速度和位置通过迭代进行更新,如下式所示:
其中ω是惯性因子,该参数随着更新代数的增长而逐渐降低,c1是用于调整粒子自身经验的学习因子,c2是用于调整粒子社会经验的学习因子,两个参数均为正数。r1和r2在[0, 1]内均匀取值,用来保持粒子的多样性。当新一代粒子产生后,需要计算并且同时更新粒子的适应度函数f (x),粒子的局部最优位置p*i(t+1)按式(8)。同时需要考虑更新整个粒子群的全局最优位置p*g。
2.3 粒子群优化BP神经网络参数
通过PSO算法,能够得到使BP神经网络误差最小的权值和阈值的最优值,用于BP神经网络的训练和识别。PSO 优化BP神经网络主要包括种群初始化、寻找初始极值、迭代寻优等操作,其具体步骤为:
a) 初始化BP神经网络的权值和阈值;设置粒子群参数,包括种群规模、迭代次数、惯性因子等;
b) 初始化所有粒子的速度和位置并计算样本中每个粒子对应的适应度值;对粒子的速度和位置进行更新;
c) 直到满足迭代条件,利用输出的权值和阈值对BP神经网络进行训练。
3 实验方法及结果分析
3.1 实验数据及特征
本文的实验数据为孤立词语音库,采样信号频率为11.025kHz,帧长N=256点,帧移M=128点。数据库包含20个人在不同信噪比下的语音数据来做实验,其中包括15dB、20dB、25dB、30dB以及无噪声数据。实验中采用ZCPA作为特征提取方法,经过处理后得到1024维语音向量作为BP神经网络的输入,网络的输入节点数与特征向量的维数相一致,网络的输出节点数为待分类的模式识别数,即为待识别的词汇数。
3.2 网络结构及参数设置
BP神经网络输入节点数目为1024,输出层节点数根据待识别词汇数而不同,隐藏层的神经元节点数根据公式来确定。输入层与隐含层之间采用S型函数,隐含层与输出层之间采用S型函数。在PSO算法中,设置种群数量为80,最大迭代次数为200,两个学习因子c1=1.5,c2=1.5,最大最小惯性权重ωmax=1.2,ωmin=0.7。
3.3 实验结果及分析
表1给出了BP神经网络模型、PSO-BP模型在不同词汇量以及不同噪声条件下对语音识别的实验结果。从表1可以看出在不同词汇量下,本文所建立的PSO-BP模型在识别效果上均要比传统的BP神经网络要好,传统的BP神经网络在处理词汇量较小的语音识别问题时,表现与PSO-BP性能较小,但随着词汇量的增大,BP模型的识别性能下降明显,与PSO-BP差距明显加大。其次,本文所提方法在处理不同等级噪声的语音识别问题时,相对于BP模型具有更高的鲁棒性。因此可以分析出,通过粒子群算法对BP神经网络的参数经行优化有利于增强达词汇量下的识别效果并且提高高噪声下的识别鲁棒性。
表2给出了BP神经网络模型、PSO-BP模型在不同词汇量以及不同噪声条件下对语音识别的时间测试结果。从表2可见,噪声对两种模型的识别时间影响较大,当词汇量为10并且不存在噪声的情况下,对应两种识别模型的最短识别时间。在同一词汇量不同噪声条件下,本文提出的方法与BP神经网络的识别时间消耗相差并不明显,但是在同一噪声不同词汇量时,本文所提方法在识别时间上较传统的BP神经网络优势明显。这表明参数优化对于BP神经网络处理复杂的语音识别问题有着较为重要的意义。
4 结论
目前,以BP神经网络为代表的人工神经网络模型已广泛应用于语音识别领域,然而由于语音识别问题的特殊性,一般的BP神经网络往会出现网络训练时间过长、过早出现最优解等问题。BP神经网络其性能很大程度上取决于其参数的合理组合与选择,因此,本文提出利用PSO优化BP神经网络的权值和阈值,克服了传统BP神经网络参数选择方法中很难精确找到最优参数的缺点。通过实验表明PSO-BP模型比传统的BP神经网络模型有更好的语音识别效果,并且对噪声的鲁棒性也得到了提高。
参考文献:
[1] 张正丽.基于复合神经网络的语音识别研究[D].贵阳:贵州大学, 2015.
[2] 滕云,贺春林,岳淼.基于神经网络的语音识别研究[J].重庆师范大学学报:自然科学版, 2010, 27(4):73-76.
[3] 夏妍妍,黄健,尹丽华.基于径向基函数神经网络的语音识别[J].大连海事大学学报,2007, 33(增刊):157-159.
[4] 杨景花,王双喜,周思方.基于神经网络的智能语音识别研究[J].微型机与应用,2016, 35(17):52-54.
[5] 斯芸芸,徐道连,周卓然.基于遗传算法和小波神经网络的语音识别研究[J].微型机与应用, 2011,30(16):68-71.endprint