一种BP神经网络声音特征信号的识别方法
2012-09-25齐凤河刘辉云
崔 峰,齐凤河,刘辉云
(1.大庆师范学院 物理与电气信息工程学院,黑龙江 大庆 163712;2. 塔里木油田分公司,新疆 库尔勒 841000)
0 引言
声音特征信号识别是声音识别研究领域中的一个重要方面,一般采用模式匹配的原理解决。声音识别的运算过程为:首先,待识别声音转化为电信号后输入识别系统,经过预处理后用数学方法提取声音特征信号,提取出的声音特征信号可以看成该段声音的模式;然后将该段语音模型同已知参考模式相比较,获得最佳匹配的参考模式作为该段声音的识别结果[1-2]。声音识别流程如图1所示:
图1 声音识别流程
声音变换分类系统非线性度较强,又由于多种声音的复合信号具有不确定性、变化规律具有时变性的特点,因此在噪声环境中有效提取声音特征进行分类就显得非常困难。往往当噪声背景或者声音某一特性参数变化后,识别及分类效果恶化,容错能力差。
本文采用误差反向传播训练算法的多层前向神经网络(BP网络),从含噪声环境中提取4种声音特征并分类。由于BP网络通过网络权值和阀值将声音特征存储在网络结构中,并可通过变学习率方法训练调整网络参数[3-6],因此识别分类系统可获得较好的自适应性和容错效果。
1 待识别声音信号
本文采用了民歌、古筝、摇滚乐和流行乐4种不同的声音信号,通过DSP器件采样后,用倒谱系数方法从每种声音信号中提取了500组24维声音特征信号,如图2所示。
为了模拟真实环境中的声音信号,同时便于从上面4中声音中抽取BP网络的训练样本,将声音信号合并后加入随机噪声,如图3所示。所设计的BP网络将从图3中的合成声音信号里选择输入及训练样本点。其中从这2000组信号中选择1500组作为网络训练的数据,另外500组作为网络性能的测试数据。
图2 声音特征信号
图3 合成噪声后的声音特征信号
2 BP网络的建立
2.1 网络的结构
由于待分类的声音信号共有4种,输入的声音特征信号有24维,因此设计网络输入层含24个人工神经元,输出层含4个人工神经元。网络结构如图4所示。
图4 网络结构
2.2 隐含层节点数目
BP网络的隐含层节点数目对网络的分类精度影响较大。如果隐含层节点数目过少,则在训练完成后网络不能完整地体现分类模式;如果隐含层节点数过多,训练时间延长,容易出现过拟合现象。
本文首先利用式(1)所示公式估计隐含层节点数目,然后再依据不同隐含层节点数的网络训练误差率确定隐含层神经元的数目。
(1)
式(1)中,n为输入层节点数,l为隐含层节点数,m为输出层节点数,a为0~10之间的常数。
仿真中让隐含层节点数目在15~30区间内变化,通过观察分类误差的变化,最终选定隐含层神经元为25个。误差随隐含层节点数变化规律如图5所示。
图5 隐含层节点的确定
网络的隐含层和输出层节点均采用Tansig型激活函数,即:
(2)
式(2)中Net表示隐含层或输出某节点的诱导局部域。
3 改进的BP学习算法
在声音信号识别分类中,采用最速下降算法的BP网络可以使权值和阀值向量得到一个稳定的解[7-8],但是学习过程收敛速度慢,网络易陷于局部极小。同时由于BP网络对学习率敏感,单纯的增大学习率以加快收敛,算法可能振荡而不稳定[9-11]。因此,解决上述问题非常重要。
3.1 MOBP算法
动量BP算法(MOBP)在最速下降算法基础上引入动量因子,以前一次的修正结果来影响本次权值和阀值的修正量,这样就可以考虑到前面修正经验的积累。MOBP算法总是试图使在同一梯度方向上的修正量增加,使得收敛速率加快,学习时间变短。对于图4所示的三层BP声音分类网络,隐含层和输出层节点的权值和阀值向量按式(3)附加进行修正:
T(k+1)=T(k)+△T(k+1)+η[T(k)+T(k-1)]
(3)
通过引入动量修正,在网络训练初始化时可以采用较大的学习率,而不会造成学习过程的发散,MOBP算法总是可以使修正量减小,以保持修正方向向着收敛方向进行,同时收敛速度快,学习时间短。
3.2 学习率可变的MOBP算法
MOBP算法中,学习率是一个常数,在整个训练过程中保持不变,学习算法的性能对于学习率的选择非常敏感。学习率过大,算法可能振荡不稳定;学习率过小,则收敛速度慢,训练时间长。而在训练之前,要选择最佳的学习率是不现实的。本文在声音识别网络训练的过程中,使学习率不断变化,使算法沿着误差性能曲面进行修正。
使学习率α的取值在[0,1]之间,学习率α越大,对权值的修改越大。本算法中使α在网络训练的初期较大,网络收敛迅速,随着学习过程的进行,学习率不断减小,网络趋于稳定。实际网络训练学习率α按如下公式调整:
α(k)=0.995-k(0.995-0.015)/1500
(4)
式中α(k)为最速下降法训练第k步迭代的学习率。声音识别网络训练中,最大学习率为0.995,最小学习率为0.015,最大迭代次数1500次。
4 仿真
在MATLAB软件仿真中[12],验证采用动量修正变学习率法的BP网络分类效果。仿真数据首先通过最大最小归一化方法将所有数据转化为[0,1]之间的值,以此取消各维数据间的数量级差别,避免因为输入输出数据数量级差别较大而造成网络预测误差较大。最大最小归一化函数形式如下:
(5)
式中xmin表示输入数据序列中的最小值,xmax表示序列中的最大值。
用倒谱系法获取的2000组声音数据经过归一化后,随机抽取1500组用来训练改进的BP网络,另外500组用来仿真验证网络性能。根据声音信号期望类别标识,网络的期望输出向量如下:
表1 BP网络期望输出向量
用训练好的BP网络分类声音特征信号测试数据,得到的网络分类误差如图6所示。
图6 网络分类误差
进一步分析,改进BP网络分类正确率如表2所示。
表2 网络识别正确率
5 结语
通过以上的介绍可以得到:本文设计了一个改进学习算法BP网络声音识别系统,由于为网络引入了动量修正和学习率调整,网络的分类误差被控制在很小的范围内,声音的识别正确率高。本文所构建的BP网络结构具有一般性,可以应用于其他频率信号的识别分类。
[参考文献]
[1] 张振国, 王晓霞. 神经网络在语音音调识别中的应用研究[J].微电子学与计算,2005, 22(3): 43-49.
[2] 李伟, 陈临强, 殷伟良. 基于自适应学习率的背景建模方法[J].计算机工程,2011, 37(15): 187-190.
[3] Ying He, Baohua Jin, Qiongshuai Lv. Improving BP Neural Network for the Recognition of Face Direction [C].International Symposium on Computer Science and Society,2011: 79-82.
[4] 范佳妮. BP人工神经网络隐层结构设计的研究进展[J].控制工程,2005, 5(12): 105-109.
[5] 周开利, 康耀红. 神经网络模型及MATLAB仿真程序设计[M].北京:清华大学出版社, 2005: 70-82.
[6] 杨伟超,赵春晖,成宝芝. Alpha稳定分布噪声下的通信信号识别[J].应用科学学报,2010, 28(2):111-114.
[7] 郭荣艳, 胡雪惠. BP神经网络在车牌字符识别中的应用研究[J].计算机仿真, 2010, 27(9): 299-301.
[8] Vladimir Nedeljkovic. A Novel Multilayer Neural Networks Training Algorithm that Minimizes the Probability of Classification Error [J].IEEE Trans on Neural Networks,1993, 4(4): 650-660.
[9] Adnan Khashman. A Modified Backpropagation Learning Algorithm With Added Emotional Coefficients [J].IEEE Trans on Neural Networks,2008, 19(11): 1896-2000.
[10] Antoniya Georgieva, Ivan Jordanov. Intelligent Visual Recognition and Classification of Cork Tiles With Neural Networks [J].IEEE Trans on Neural Networks,2009, 20(4): 675-684.
[11] 侯亚丽, 李铁.基于LM优化算法的BP神经网络目标识别方法[J].探测与控制学报,2008, 30(2): 53-57.
[12] 成宝芝,赵春晖,王玉磊.基于四阶累积量的波段子集高光谱图像异常检测[J].光电子.激光,2012,28(3):1582-1588.