基于Sigmoid学习率BP神经网络的非特定人语音识别算法研究

2017-12-01 08:36戚龙
价值工程 2017年33期
关键词:语音识别BP神经网络

戚龙

摘要:本课题基于非特定人语音识别的原理和过程,结合BP神经网络的建模理论及特点,主要研究了BP神经网络模型在语音模式识别中的应用问题。同时针对标准BP神经网络训练收敛速度慢及容易陷入局部最小的缺点,提出了Sigmoid学习率BP神经网络训练算法,并通过仿真计算,得出在非特定人语音识别应用方面Sigmoid学习率BP神经网络算法的收敛速度要优于标准BP神经网络算法且识别率更高。

Abstract: Based on the principle and process of non-specific speech recognition, this paper focuses on the application of BP neural network model in speech pattern recognition, combined with the modeling theory and characteristics of BP neural network. At the same time, the Sigmoid learning rate BP neural network training algorithm is proposed for the training of BP neural network, and the Sigmoid learning rate BP neural network is obtained by simulating the non-specific speech recognition application. The convergence rate of the algorithm is better than that of the standard BP neural network algorithm and the recognition rate is higher.

关键词:BP神经网络;学习率;语音识别

Key words: BP neural network;learning rate;speech recognition

中图分类号:TP183 文献标识码:A 文章编号:1006-4311(2017)33-0200-03

0 引言

市场上成熟的语音识别产品基本都是基于统计模式识别理论而开发的,但因人工神经网络具有非线性、自适应性、鲁棒性、自学习特性且易于硬件实现的优点,以及具有强大的分类能力和输入输出映射能力,使其应用于语音模式识别领域将有很大的发展潜力,将人工神经网络应用于语音识别,改进现有语音识别系统的性能,是当前语音识别研究的一个重要方向,具有重大的现实意义。

1 标准BP神经网络

BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递,误差反向传导。在向前传导中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP神经网络预测输出不断逼近期望输出。BP神经网络具有非线性无限逼近的特点。

BP神经网络结构如图1所示。

2 网络收敛速度改进方法

BP神经网络属于有导师学习算法,根据期望输出和实际网络输出之间误差来调整神经元间连接的强度或权值。但是BP神经网络标准学习算法在训练时收敛速度较慢,且容易产生过学习现象,而学习率的大小对网络收敛速度和训练结果影响很大。如果学习率太小,则学习速度太慢;如果学习率太大,则容易产生过学习现象。本文在标准BP神经网络算法的基础上对其进行改进,主要是采用变学习率BP神经网络算法,学习率使用Sigmoid函数并用迭代的方法求出,本文把该学习率定义为Sigmoid学习率,具体计算步骤如下。

对步骤4的改进算法如下,u为Sigmoid学习率:

对步骤5的改进算法如下:

3 将改进的BP神经网络算法用于非特定人语音识别系统的设计

语音识别系统的设计有很多种方法,我们采用BP神经网络模型进行语音识别系统的设计,首先要将待识别的语音信号输入识别系统,经过预处理后用数学方法提取语音特征信号,提取的语音特征信号可以看出是语音模式,然后将该语音模式归一化处理,输入BP神经网络语音识别系统进行识别。而基于BP神经网络的语音识别建模又分为BP神经网络构建、BP神经网络训练和BP神经网络分类三个步骤,具体语音识别系统流程如图2所示。

首先我们根据系统输入输出数据特点构建BP神经网络的结构,由于语音特征输入信号有24维,待分类的语音特征信号有10个,所以BP神经网络的结构为24-25-10,即输入层设置24个节点,隐含层设置25个节点,输出层设置10个节点。

然后我们选取10个命令词的语音信号作为训练数据,根据倒谱系数法提取这10个命令词的语音特征信号并存储于数据库文件中,这10个命令词分别用1到10标识,提取出的语音信号分別存储于数据库文件中,每组数据25维,第1维为序号标识,后24维为语音特征信号。根据命令词的序号分别设定不同命令词语音信号的期望输出,如序号为1时,期望输出向量为[1,0,0,0,0,0,0,0,0,0],以此类推,序号为10时输出向量为[0,0,0,0,0,0,0,0,0,1]。

随机提取该命令词的100组不同人的语音数据作为训练样本,并对训练数据进行归一化处理,然后将处理后的语音数据输入系统之中,对改进的BP神经网络语音识别系统进行训练。并另外提取其他50组不同人的该命令词的语音数据作为测试数据,进行语音识别测试。

4 仿真实验及结果分析

本节首先在相同命令词语音信号训练数据的基础上,对标准BP神经网络算法和改进的基于Sigmoid学习率BP神经网络算法在收敛速度和训练误差方面进行比较,验证了改进的基于Sigmoid学习率BP神经网络算法在非特定人语音识别方向上的可行性。经大量计算表明本文提出的基于Sigmoid学习率BP神经网络算法降低了对网络随机初始权值的依赖性,提高了模型训练收敛速度。

图3描述的是在初始权值和激励函数相同的情况下,标准BP神经网络算法和改进的基于Sigmoid学习率BP神经网络算法训练误差和收敛速度结果的比较。其中上方蓝色曲线表示标准BP神经网络算法在训练次数和训练误差二维坐标上生成的二维曲线,下方绿色曲线表示改进的基于Sigmoid学习率BP神经网络算法在训练次数和训练误差二维坐标上生成的二维曲线。分析图3可以看出在训练误差相同的情况下基于Sigmoid学习率BP神经网络算法的训练次数要少于标准BP神经网络算法训练次数,而在训练次数相同的情况下,基于Sigmoid学习率BP神经网络算法的训练误差要低于标准BP神经网络算法的训练误差。随着训练次数逐渐增多,两种算法的训练误差都呈现单调下降的趋势,而基于Sigmoid学习率BP神经网络算法训练误差曲线始终在标准BP神经网络算法训练误差曲线下方。

5 结语

本文介绍了标准BP神经网络模型和算法,并在此基础上针对网络训练收敛速度慢及容易产生过学习现象提出了改进的基于Sigmoid学习率BP神经网络算法,并将其应用于非特定人语音识别研究,实验结果表明基于Sigmoid学习率BP神经网络算法训练收敛速度更快,识别误差更小,识别率更高。

参考文献:

[1]赵力语音信号处理[M].机械工业出版社,2009.

[2]MATLAB中文论坛.MATLAB神经网络30个案例分析[M].北京航空航天大学出版社,2010.

[3]韩力群.人工神经网络教程[M].北京邮电大学出版社,2006.

[4]高红.BP神经网络学习率的优化方法[J].长春师范学院学报,2010.

[5]刘玄和,陈睿,彭伟,等.一种BP神经网络学习率的优化设计[J].湖北工业大学学报,2007,22(3):1-3.endprint

猜你喜欢
语音识别BP神经网络
通话中的语音识别技术
基于LD3320的非特定人识别声控灯系统设计