遗传神经网络在语音识别中的应用研究

时间:2022-04-24 11:57:45

遗传神经网络在语音识别中的应用研究

摘要:针对语音识别的特点,对BP神经网络在语音识别技术中的应用进行了探索性研究,进而结合人工智能领域较为有效的方法――遗传(GA)算法,针对传统BP算法识别准确率高但训练速度慢的缺点,对BP网络进行改进,构建了一种基于遗传神经网络的语音识别算法(GABP),并建立相应的语音识别系统。仿真实验表明,该算法有效地缩短了识别时间,提高了网络训练速度和语音的识别率。

关键词:语音识别;神经网络;遗传算法;遗传神经网络

中图分类号:TP183文献标识码:A文章编号:1009-3044(2008)22-774-03

Research of Speech Recognition Based on Genetic Neural Network

ZHAO Feng

(Computer School of Wuhan University,Wuhan 430081,China)

Abstract:This Paper mainly studies the application of the BP neural network in the research of speech recognition. BP neural network can get higher identification precision, but its training speed is very low. a new recognizing algorithm based on BP algorithm by combining with the good effect method in ANN which named genetic algorithm(GA) was proposed and used to improve the BP neural network . Experiment results show that the training speed can be accelerated by the method and the recognition performance is also promoted.

Key words: speech recognition; neural network; genetic algorithm; genetic neural network

1 引言

语音识别SR(Speech Recognition)是指让机器听懂人说的话,即在各种情况下,准确地识别出语音的内容,从而根据其信息,执行人的各种意图[1]。现代语音识别技术以神经网络为主要发展趋势,进入20世纪90年代以来,神经网络已经成为语音识别的一条重要途径。由于神经网络反映了人脑功能的基本特征,故具有自组织性、自适应性和连续学习能力等特点,特别适合于解决像语音识别这类模拟人的认知过程和智能处理能力,难以用算法来描述而又有大量样本可供学习的问题[2]。

人工神经网络(ANN)是采用大量的简单处理单元广泛连接起来构成的一种复杂信息处理网络。网络的训练学习是应用一系列输入矢量,通过已确定的算法逐步调整网络的权值,最终达到期望的目标。BP神经网络是神经网络中前向神经网络的核心部分,BP算法的学习过程由信号的正向传播和误差的反向传播组成。随着误差逆传播修正的不断进行,网络对输入模式响应的正确率不断上升。然而BP算法是一种梯度下降算法,梯度下降存在多极值问题,且BP网络学习训练速度慢,容易陷入局部最小或振荡。因此,参数的选择非常重要。为克服标准BP算法存在的各种缺点,本文研究用BP算法结合人工智能领域较为有效的方法――遗传(GA)算法来训练网络进行语音识别,仿真实验表明,GABP算法使BP网络在收敛速度上有了很大提高,尤其是克服了容易陷入局部最小值的缺点,基于GABP的语音识别系统的最高识别率和平均识别率都有了很大的提高。

2 语音识别的基本原理

大部分基于神经网络的语音识别系统实现识别功能都要经过从特征参数提取到应用识别算法进行识别的过程,该过程如下图1所示:

图1 语音识别系统原理框图

该文主要面向孤立数字识别系统作一些改进研究,其基本识别过程也符合上图1描述:输入的语音信号首先进行预处理,包括抗混叠滤波、声音的预加重、加窗分症处理与端点检测等。预加重的目的是在于滤出低频干扰,尤其是50Hz或60Hz的工频干扰,将对于语音识别更为有用的高频部分的频谱进行提升,以便于语音参数分析。

预加重滤波器传递函数为: H(Z)=1-0.9375Z-1(1)

若S(n)为预加重前语音信号,则经过预加重滤波器后得到的信号■(n)为:

■(n)= S(n)-0.9375 S(n-1)(2)

该文主要完成孤立数字识别,所要求识别的字数不多,对环境的噪声的适应能力的要求也并不高,因此采用了目前比较流行的双门限端点检测算法,借助于语音信号短时平均能量和短时过零率来判定语音有效范围的开始和结束。

语音信号经过预处理后,接下来很重要的一环就是进行特征提取,常用的特征包括短时平均能量和幅度、短时平均过零率、线性预测系数(LPC)、短时傅里叶变换和Mel频率倒谱系数(MFCC)。语音特征参数的时间序列构成了语音的模式,将其与通过应用一系列已知信号训练提取的参考模式逐一进行比较,获得最佳匹配的参考模式便是识别结果。本文中对于预处理的每个有效语音信号段,都要提取其12个一阶MFCC系数,提取过程为:用汉明窗将语音切割成长短一致的语音帧,对每帧语音进行正反傅里叶变换,经对数和离散余弦变换后取前12个数作为MFCC系数来描述每一个帧。最后将每个语音信号对应的MFCC系数序列用K-means聚类算法进行聚类,分为4个聚类,使得每个语音信号都得到相应的12个4维一阶MFCC系数,即可作为语音的特征参数成为神经网络的输入信号。

3 语音识别中的BP网络构造

语音识别中的BP网络构造主要包括输入层、隐层、输出层、初始权值、学习速率与期望误差的选取几个方面的问题。

1) 网络层数:理论上,在不限制隐层节点数的情况下,两层(只有一个隐层)的BP网络可以实现任意非线性映射。当模式样本很多时,减小网络规模,增加一个隐层是必要的,但BP网络隐层数一般不超过两层。本文所要求识别的模式样本不多,因此一个隐层已经足够。

2) 输入层节点数:在BP网络语音识别系统中,输入层节点数与选取的语音信号特征参数的维度和阶数有关。本文中每个语音信号都得到相应的12个4维一阶MFCC系数,故输入层的节点数为12×4=48。

3) 输出层节点数:输出层的节点数取决于输出数据的类型和表示该类型所需的数据大小。当BP网络用于语音识别时,以二进制形式来表示不同的识别结果,则输出层的节点数可根据训练模板的语音数来确定。本文设定输出节点数为10,分别对应于0~9这10个数字。

4) 隐层节点数:通过采用一个隐层,增加其神经元数的方法来达到网络训练精度的提高,这在结构上,要比增加更多的隐层简单的多。但究竟选取多少个隐层节点才合适?在理论上并没有个明确的规定。在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当的加上一点余量[4]。一般可利用下面式子决定:

n1=■+a(3)

其中n1为隐层节数;m为输入节点数;n为输出节点数;a为取1~10的常数。本实验中输入节点数为48,输出节点数为10,a选取为常数4,因此隐层节点数n1=12。

5) 初始权值:由于系统是非线性的,初始值对于学习是否达到局部最小、是否能收敛以及训练时间的长短关系很大。一般总是希望经过初始加权后的每个神经元的输出值都接近于零。所以,一般取初始值在(-1,1)之间的随机数。

6) 学习速率与期望误差的选取:学习速率决定每一次循环训练中所产生的权值变化量。小的学习速率虽然会导致收敛速度慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小值。所以,一般情况下,学习速率的选取范围在0.01~0.8之间。期望误差0.000001。

解决了上述几个方面的问题后,本文采用三层结构神经网络,如图2所示:输入层各节点将输入信号经权重藕合到隐层的每个节点,隐层各节点对来自前一层的信号加权,经激发函数转换后再藕合到输出层。

4 基于遗传神经网络的语音识别

本文研究引用遗传算法对网络的初始连接权值进行优化处理,用BP算法完成给定精度的学习。

4.1 个体编码方案

编码对于网络进化过程的性能和效率影响很大,因此,编码技术是连接权值进化过程中学解决的首要问题和关键步骤。本文中考虑到BP网络的节点数和结构已经固定,可以采用实数编码方案,将网络的权值和各节点的阀值依此排列得到一个向量。

假设一个具有m个节点的n层BP网络,如果第i个节点对应的权值分别为vi(vi[-1,+1]),则一个个体用实数向量表示为X=(v1,v2,…vm)。

4.2 适应度函数的选择

一个网络连接权值优劣的标准,是根据网络对一组输入得到的实际输出与期望输出之间的误差大小来制定的。BP网络中误差平分和小,则表示该网络性能比较好。本文中适应度函数为:

f(x)=■(4)

其中,E为神经网络的输出误差,即:

■(5)

其中n为学习样本总数,yk,■k为第k个个体的期望输出和实际输出向量。

4.3 进化参数

连接权的进化过程中所涉及到的主要进化参数有:种群规模、交叉率、变异率和进化代数等等。交叉是最主要的进化操作,交叉率是指各代中交叉产生的后代数与种群规模之比。常用的交叉率取值范围为0.6~1.0。变异率是指种群中变异的基因数占总基因数的比例,其值控制了新基因引入的比例。常用变异率的数量级范围为0.1~0.001。 种群规模是连接权进化过程首先需要确定的参数,是算法会否陷入局部解的主要影响因素。综合考虑BP网络的初始连接权值和交叉率、变异率的选择,这里选择种群规模为50。

5 仿真实验结果

仿真实验为针对非特定人的孤立数字词语音识别。语音数据由二男二女(0到9共10个数字的普通话发音)通过PC话筒输入,每个音每人发20遍,共计1000次发音,其中以每人每个音的前10次作训练样本,后10次作测试样本,录音环境为安静实验室,采样频率为11.025kHz。

经过反复实验,不断改善实验环境,基于演化神经网络的识别得到了相对较高的识别率。对实验结果分析可知,结合了GA算法的BP网络通过GA全局搜索得到一个权值最优解,只迭代了151次便使得误差值为0.000001 ,而普通BP算法要迭代517才能勉强达到期望误差,由此可知,结合了GA算法的BP网络避免了局部极小,减低了学习速率,提高了收敛速度。

表1 基于遗传神经网络与普通BP网络语音识别系统对比表

通过表1对比可知,基于演化神经网络识别算法的语音识别系统无论是在训练时的收敛速度还是在最后的识别率上,都要优于普通的BP网络语音识别系统。

6 结论

语音信号处理和神经网络均是目前研究的热点,文章主要针对语音识别的特点,结合人工智能领域两种比较有效的方法――BP网络和GA算法,构建了一种基于遗传神经网络的语音识别算法。仿真实验结果表明,该算法避免了传统BP算法容易陷入局部极小的缺点,减低了训练时间,有效的提高了系统识别率。

参考文献:

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

[2] 蔡莲红,黄德智,蔡锐.现代语音技术基础于应用[M].北京:清华大学出版社,2003.

[3] 易克初.语音信号处理[M].北京:国防工业出版社,2000.

[4] 孙宁,孙劲光,孙宇.基于神经网络的语音识别技术研究[J].计算机与数字工程,2005,34(3):58-61.

[5] 何英.Matlab扩展编程[M].北京:清华大学出版社,2002.

[6] 夏克文,李昌彪,沈钧毅.前向神经网络隐含层节点数的最优算法[J].计算机科学,2005,32(10):143-145.

[7] Lippman R P.Review of Neural Network for Speech Recognition[J].Neural Computation,1989,1(1):1-38.

上一篇:基于WEB的《数据结构》在线学习平台的设计与实... 下一篇:使用Flash 8结合Photoshop CS制作拼图小游戏