文档库 最新最全的文档下载
当前位置:文档库 › 基于BP神经网络语音识别方法研究

基于BP神经网络语音识别方法研究

基于BP神经网络语音识别方法研究
基于BP神经网络语音识别方法研究

基于BP神经网络语音识别方法研究

摘要:神经网络是近年来信息科学、脑科学、神经心理学等诸多学科共同关注和研究的热点。由于其具有良好的抽象分类特性,现已应用于语音识别系统的研究和开发,并成为解决识别相关问题的有效工具。文章在讲述语音识别过程的基础上重点讨论利用BP神经网络对语音进行识别,用MATLAB完成对神经网络的训练和测试,并获得满意的结果。

关键词:语音识别;模式识别;BP神经网络,

1 绪论

计算机的飞速发展,使人们的生活方式发生了根本性的改变,鼠标、键盘,这些传统的人机接口使人们体会到了生活的便利。科学技术日新月异,假如让“机器”能够听懂人的语言,并根据其信息去执行人的意图,那么这无疑是最理想的人机智能接口方式,因此语音识别作为一门极具吸引力的学科应运而生,很多专家都指出语音识别技术将是未来十年信息技术领域十大重要的科技发展技术之一。

1.1 研究背景及意义

语言在人类的智能组成中充当着很重要的角色,人与人之间的交流和沟通大部分是通过语言的方式有效的完成。作为人与人之问交流最方便、自然、快捷的手段,人们自然希望它成为人与计算机交流的媒介。随着数字信号处理及计算机科学的飞速发展,人们对实现人机对话产生越来越迫切的要求,使得语音识别技术近年来得到了迅速的发展,语音识别技术的研究进入了一个比较成熟的时期。语音识别是一门交叉科学,它综合了声学、语言学、语音学、生理科学、数字信号处理、通信理论、电子技术、计算机科学、模式识别和人工智能等众多学科。也是人机交互最重要的一步。

1.2 语音识别的国内外研究现状

通过语音传递信息是人类最重要,最有效,和最方便的交换信息的形式,语音识别主要指让机器转达人说的话,即在各种情况下,准确的识别出语音的内容,从而根据其信息,执行人的各种意图。

广义的语音识别包括说话人的识别和内容的识别两部分。这里所说的语音识别,是指内容识别方面。采用计算机进行语音识别到现在已经发展了50年。

从特征参数上改进,采用各种办法进行语音增强是一个研究方向,但是到目前为止,还没有一种办法能把语音信号完美地从噪音环境提取出来。语音识别有广泛的商业化运用前景,主要可以分为通用场合和专用场合两个方面。

1.3研究内容

本文研究的主要内容是结合模式识别的基本理论,研究BP神经网络孤立词语音识别的问

题,实现1-5共5个数字的识别。分析了语音信号的预处理,特征提取及BP神经网络算法实现。

2 语音识别技术

2.1 语音识别系统结构

孤立词语音识别是对特定的不连续的词语作为处理单元。语音识别系统的基本组成一般可以分为预处理模块、特征值提取模块及模式匹配三个模块。如图2.1所示为语音识别系统结构框图。

图2.1 语音识别系统结构框图

从图2.1的系统整体架构可以看到,建立基于BP神经网络的语音识别系统可分为两个阶段,即训练阶段和识别阶段。首先由用户通过麦克风输入语音形成原始语音,然后系统对其进行预处理。预处理包括预加重,加窗分帧和端点检测三个过程。系统的前端采用了端点检测,目的是在一段语音信号中确定起点和终点。在特征提取部分,本系统采用了MFCC作为特征参数,用于有效地区分数字1-5.

在训练阶段,通过说话人多次重复语音,本系统从原始语音样本中去除冗余信息,提取说话人的特征参数并存储为BP神经网络的输入样本,在此基础上建立输入与输出的BP神经网络模型。在识别阶段,待测语音经过预处理,使用已经训练好的BP神经网络进行识别得到结果。

2.2 语音信号预处理

图2.2是语音信号的预处理的流程图。从图2.2可以看到预处理模块包括预加重,加窗分帧和端点检测。前级预加重、加窗分帧及端点检测是语音识别的准备工作,每一个环节对整个识别系统的性能有着重要的影响。前级预处理主要是对信号进行一定的滤波和分帧;加窗分帧就是将语音信号进行分段处理,使语音信号连续并保持一定的重叠率:端点检测是确定语音有用信号的起始点与终止点,并通过一定的手段处理,将没有意义的语音信号去除,从而减少语音匹配识别模块的运算量,同时也可以提高系统的识别率。预处理不合理或语音起

止点及终止点判别不够准确都会使后续的特征矢量提取及模式匹配过程等工作受到很大的影响,甚至达不到语音识别的效果,因此预处理工作作为语音识别的第一步工作,必须达到所需的要求,为下一步的特征参数提取做好铺垫。

图2.2 语音信号预处理流程图

2.2.1 语音信号的采样

Matlab环境中语音信号的采集可使用wavrecord(n,fs,ch,dtype)函数录制,也可使用Windows的“录音机”程序录制成.wav文件然后使用wavread(file) 函数读入。在本实验中,使用matlab的语音工具包录取1-5共5段语音,。如图2.3所示为数字0的训练语音00.wav的信号波形图,第(I)幅图为完整的语音波形,第(II)、(III)幅图分别为语音的起始部分和结束部分的放大波形图。

2.2.2语音信号的分帧

语音信号是一种典型的非平稳信号,它的均值函数u(x)和自相关函数R(xl,x2)都随时间而发生较大的变化。但研究发现,语音信号在短时间内频谱特性保持平稳,即具有短时平稳特性。因此,在实际处理时可以将语音信号分成很小的时间段(约10~30ms),称之为“帧”,作为语音信号处理的最小单位,帧与帧的非重叠部分称为帧移,而将语音信号分成若干帧的过程称为分帧。分帧小能清楚地描绘语音信号的时变特征但计算量大;分帧大能减少计算量但相邻帧间变化不大,容易丢失信号特征。一般取帧长20ms,帧移为帧长的1/3~1/2。

2.2.3语音信号的预加重

预加重是指在A/D转换后加一个6dB/倍频程的高频提升滤波器,语音信号的平均功率谱由于受声门激励和口鼻辐射的影响,高频端大约在800Hz以上按6dB/Oct(倍频程)跌落。

所以求语音信号频谱时,频率越高相应的成份越小,高频部分的频率比低频部分的难求。因

此,预加重的目的是加强语音中的高频共振峰,使语音信号的短时频谱变得更为平坦,还可

以起到消除直流漂移、抑制随机噪声和提高清音部分能量的效果,便于进行频谱分析和声道

参数分析。此外,通常的方法是使用一阶零点数字滤波器实现预加重,其形式为:

(2-1) ()()()1y n x n x n α=--

频域相对应的形式为:

(2-2) ()11,[0.90,0.98]H z z αα-=-=

其中,a 为预加重系数。

2.2.4 基于短时能量和过零率的端点检测

在语音信号的预处理中,端点检测是关键的一步,语音信号的模型参数和噪声模型参数

以及自适应滤波器中的适应参数都得依赖对应的信号段(语音段或噪声段)来计算确定。因此,

只有准确地判定语音信号的端点,才能正确地进行语音处理。

端点检测的目的是从包含语音的一般信号中确定出语音的起点以及终点,一般采用平均

能量或平均幅度值与过零率相乘的方法来判断。这种利用短时能量和短时平均过零率两种特

征共同参与检测,也被称为双门限法。

(1)短时能量

设S(n)为加窗语音信号,第t 帧语音的短时平均能量为: ()1

2

1

0()N t

n Eng t S n -==∑ (2-5) ()1

1

0()N t

N n Eng t S n -==∑ (2-6)

其中N 为分析窗宽度,S t (n )为第t 帧语音信号中的第n 个点的信号取样值。上面两式原

理是相同的,但后式有利于区别小取样值和大取样值,不会因为取平方而造成很大的差异。

短时平均能量是时域特征参数,把它用于模型参数时,应进行归一化处理,本文将取其对数

值后使用,使计算和识别结果均取得了较好的效率和结果。

(2)短时过零率

短时过零表示一帧语音信号波形穿过横轴(零电平)的次数。对于连续语音信号,过零意

味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值的改变符号则称为过零。过

零率就是样本改变符号次数,定义语音信号寿(m)的短时过零率Zn 为:

∑-=--=1

|)]1(sgn[)](sgn[|21N m n n n m x m x Z (2-7)

(2-8)

(3)双门限检测的方法 在开始进行端点检测之前,首先为短时能量和过零率分别确定两个门限。一个是比较低的门限,其数值比较小,对信号的变化比较敏感,很容易就会被超过。另一个是比较高的门限,数值比较大,信号必须达到一定的强度,该门限才可能被超过。低门限被超过未必就是语音的开始,有可能是时间很短的噪声引起的。高门限被超过则可以基本确信是由于语音信号引起的。

整个语音信号的端点检测可以分成四段:静音、过渡段、语音段、结束。在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进入过渡段。在过波段中,由于参数的数值比较小,不能确信是否处于真伪的语音段,因此只要两个参数的数值回落到低l 、J 限以下,就将当前状态恢复到静音状态。而如果在过渡段中两个参数中的任一个超过了高门限,就可以确信进入语音段了。当前状态处于语音段时,如果两个参数的数值降低到低门限以下,而且总的计时长度小于最短时间门限,则认为这是段噪音,继续扫描以后的语音数据。否则就标记好结束端点,并返回。从而达到抗干扰的目的、提高识别率。如图2.4所示。

图2.3 语音信号的端点检测图

2.3 特征参数提取

特征值的提取是对原始的语音信号运用一定的数字信号处理技术进行适当的处理,从而得到一个矢量序列,这个矢量序列可以代表原始的语音信号所携带的信息,初步实现数据压缩。

特征参数主要有:能量、幅度、过零率、频谱、倒谱和功率谱等,另外考虑到其他因素1 (x ≥0) -1 (x ≤0) sgn[x ]={

的影响,还有许多基于基本参数的参数,本文选用了MEL 频率倒谱系数(MFCC)进行提取特征参数。

MFCC 系数的计算是以“bark ”为其频率基准的,它和线性频率的转换关系是:

)700

1(log 259510f f mel += (2-9) MFCC 系数也是按帧计算的,首先要通过FFT 得到该帧信号的功率谱S(n),转换为Mel 频率下的功率谱。这需要在计算之前先在语音的频谱范围内设置若干个带通滤波器:

NHm(n) m=0,1,…,M-1; n=0,1,…,N/2-1

(2-10)

M 为滤波器的个数,通常取24,与临界带的个数一样;N 为一帧语音信号的点数,为了计算FFT 的方便,通常取256。滤波器在频域上为简单的三角形,其中心频率fm 在Mel 频率轴上是均匀分布的。

从图2.5就可以看到MFCC 系数的计算过程如下:

(1) 预处理:确定每一帧语音采样序列的长度(如N=256),并对每帧序列s(n)进行预加重、

分帧和加窗处理;

(2) 计算离散功率谱:对预处理的每帧进行离散FFT 变换得到其频谱,再取模的平方作

为离散功率谱S(n);

(3) 将功率谱通过滤波器组:计算S(n)通过M 个H m (n)后所得的功率值,即计算S(n)和

H m (n)在各离散频率点上的乘积之和,得到M 个参数P m ,m=0,1,……M-1;

(4) 取对数:计算P m 的自然对数,得到L m ,m=0,1,……M-1;

(5) 离散余弦变换:对L m 计算其离散余弦变换,得到D m ,m=0,1,……M-1,舍去代表

直流成份的D 0,取D 1,D 2,……,D k 作为MFCC 参数。

图2.4 语音信号MFCC 系数的算法流程图

3 基于BP 神经网络语音识别算法实现

3.1 BP 神经网络原理

BP 神经网络又称误差反向传递神经网络。它是一种依靠反馈值来不断调整节点之间的连接权值而构建的一种网络模型。它的整个体系结构如图1所示,分为输入层、隐藏层和输出

层,其中隐藏层根据具体情况的需要,可以是一层结构也可为多层结构。BP算法的基本思想是:学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输人层传人,经各隐藏层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐藏层向输入层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始的进行的。权值不断调整的过程,也就是网络的学习训练过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。

图3.1 BP神经网络体系结构

3.2 输入层神经元个数的确定

将数字图像的特征向量作为神经网络的输入,所以神经网络的输入层神经元个数等于特征向量的维数,数字语音识别提取的MFCC特征是一个行数row不确定,列数为24的二位向量,用此row×20=all个元素组成一个数字字符的列矩阵,即数字字符的特征向量,由于row都不一样,所以根据经验使all=600,不够600的直接用零补充。即600个输入神经元。输出层神经元个数的确定因为要识别5个数字,因此输出选择为5×1的矩阵,即输出节点数为5。当数字图像1—5输入神经网络后在输出神经元对应的位置上为1,其他的位置为0。输人数字0,第1个输出神经元为1,其他为0;输入数字1,第2个输出神经元为1,其他为0;以此类推。

3.3网络隐含层数的确定

隐含层数越多,神经网络学习速度就越慢,根据Kosmogorov定理,在合理的结构和恰当的权值条件下,3层BP网络可以逼近任意的连续函数,因此,我们选取结构相对简单的3层BP 网络。

3.4隐含层神经元个数的确定

一般情况下,隐含层神经元个数是根据网络收敛性能的好坏来确定的,在总结大量网络结构的基础上,得出经验公式:s=sqr(0.43nm+0.12m +2.54n+0.77m+0.35+0.51)其中n为输人层神经元个数,m为输出层神经元个数,根据以上公式,可以得出隐含层神经元个数为53。

3.5 BP神经网络构造

建立一个前向BP神经网络函数newff: net=newff(minmax(P),[600,53,5],{‘logsig’,‘logsig’,‘logsig’},‘traincgb’);其中minmax(P)为神经网络的对它的600个输入

元素的最大值和最小值的限制。P为训练样本集合。[600,53,5]为该神经网络的层结构。{‘logsig’,‘logsig’,‘logsig’}为神经网络的各层的转移函数,均设置为对数S型激活函数。训练函数采用 traincgb ,即采用Powel1-Beale共轭梯度法训练。

3.6 BP神经网络的训练

3.6.1训练样本集合和目标值集合

数字语音识别提取的MFCC特征,由1~5这10个数字的特征列向量组成一个600×5的输入矢量,记为:sample_group=[1,2,?,5 ];式中的1,2,?,5代表数字的特征列向量。与输入矢量对应的目标矢量是希望每一个数字输入神经网络后在输出神经元对应的位置上为1,其他的位置为0。为此取目标矢量为对角线上为1的5×5的单位阵,用matlab命令实现为:targets=eye(5);

本文中1—5共5类数据,每类取4个做训练样本,即4组输入矢量构成训练样本集合训练神经网络,训练样本集合如下:P=[samples_groupl,samples_group2,?,samples_group5];P=double(P);与训练样本集合相对应的目标值集合由20组目标矢量构成,目标值集合如下:T=[targets,targets,?,targets,targets]

3.6.2 网络训练

本文神经网络训练误差性能目标值设置为0.0001,当神经网络训练次数达到最大值1 000或者神经网络的误差平方降到0.0001以下,终止训练。程序代码如下:net.trainParam.epochs=1000;%最大训练次数

net.trainParam.show=20;%显示的间隔次数

net.trainParam.min_grad=le-10;%最小执行梯度

net.trainParam.goal=0.0001;%性能目标值

net.1ayers{1}.initFcn=‘initwb’;%网络层的初始化函数选为‘initwb’,使下面的输入层初始化语句randnr’有效

net.inputWeights{1,1}.initFcn=‘randnr’;%输入层权值向量初始化

net.1ayerWeights{2,1}.initFcn=‘randnr’;%第1网络层到第2网络层的权值向量初始化

net=init(net);%初始化网络

[net,tr]=train(net,P,T);%网络训练

其中[net,tr]中的net为更新了权值的神经网络,tr为训练记录(次数和每次训练的误差)。从相关的神经网络训练中可以看出,当神经网络的误差平方0.0000718时,小于性能目标值0.0001,神经网络训练结束,开始进行系统的性能测试。图3为学习误差曲线图。

图3.2 神经网络学习误差曲线

3.7网络训练

测试函数为神经网络仿真函数,testout=sim(net,test_sample)其中net为训练完成了的网络,test_sample为测试样本的特征向量,testout为神经网络的输出。部分程序代码如下:

testout=sim(net,t est_sample);%神经网络的仿真

max_value=max(testout);%输出神经元最大值

if(max_value>0.7) %输出神经元的最大值大于0.7才进行数字识别,小于0.7时拒绝识别testout=compet(testout);

number=find(testout= =1);%数字识别结果

end

3.8 语音的识别结果

本系统测试时,通过话筒直接输入测试语音1,2,3,4,5,系统会先提取的语音特征,然后根据事前存好的输入样本自动训练网络,最后测试样本,得到输出结果。

表3.1 BP神经网络算法识别率

其中可以看出1,3,5这三个语音的识别率都是为100%。完全识别正确。2,4这两个语音段的识别率都为80%,识别正确了4次,错误了1次。造成这种情况的原因可能是:(1)外界环境的干扰,噪声的干扰。

(2)每次说话的语调,语音的不同。

4总结与展望

4.1总结

通过对孤立词语音识别系统中各个模块的MATLAB仿真,可知每个模块都能满足系统的识别要求;从语音信号的端点检测看出,对不同人和不同的孤立词,该方法能准确的检测出起始点和终止点,为信号的特征参数提取做准备工作;而特征参数的提取通过MFCC算法也能很好的提取对信号识别的参数值;

应用BP神经网络算法对语音进行模式匹配,从仿真的结果和数据分析,可以清楚的看到各个语音的识别率。最后通过对一些孤立词语音进行识别的验证,得出整个系统在实际应用当中的可行性。

参考文献

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

[2]蔡莲红, 黄德智, 蔡锐. 现代语音技术基础与应用[M] . 北京: 清华

[3]张雄伟,陈亮,杨吉斌. 现代语音处理技术及应用[M]. 北京:机械工业出版社, 2003.

[4]朱淑琴,裘雪红.一种精确检测语音端点的方法.计算机仿真,2004,22(3):214-216

[5]刘长明,任一峰.语音识别中DTW特征匹配的改进算法研究.中北大学学报(自然科学舨),2006,27(1):37-40

[6]王让定,柴佩琪.语音倒谱特征的研究[J].计算机工程,2003,29(13):31 - 33.

[7]徐望,丁琦,王炳锡.一种基于特征空间能量熵的语音信号端点检测算法.通信学报,2003,24(11):125-129

[8]谭保华,熊健民,刘幺和.语音识别技术概述[J].郧阳师范高等专科学校学报,2004.

[9]朱淑琴. 语音识别系统关键技术研究[硕士学位论文][D].西安电子科技大学,2004

[10]万春.基于DTW的孤立词语音识别研究和算法改进.集美人学学报(自然科学版),2002(6):104—108.

[11]We iH an, Cheong- Fat Chan, Ch iu- S ing Choy, et a.l A n effic ientMFCC extraction method inspeech recogn ition [C] . IEEE Internat iona l Symposium on C ircu its and Systems, 2006: 145.

[12]Yu Hongzhi A research on recognit ion of T ibetan speakers based on MFCC and Delta features. International Forum on Computer Sc ience- Techno logy and App lications, 2009: 234.

[13]H Hermansky, HMorgan. RASTA p rocessing of speech[J]. IEEETrans on Speech and Audio Processing, 1994, 2(4) : 578 - 589.

[14]HUANG Xuedong, A Acero, H W Hon. Spoken - Language -Processing[M]. Prentice Hall, 2001.

[15]马莉,党幼云.特定人孤立词语音识别系统的仿真与分析.西安工程科技学院学报.2007,21(03):10-12.

神经网络模式识别Matlab程序

神经网络模式识别Matlab程序识别加入20%噪声的A-Z26个字母。(20%噪声情况下,完全能够识别)clear;close all; clc; [alphabet,targets]=prprob; [R,Q]=size(alphabet); [S2,Q]=size(targets); S1=10; P=alphabet; net=newff(minmax(P),[S1,S2],{'logsig''logsig'},'traingdx'); net.LW{2,1}=net.LW{2,1}*0.01; net.b{2}=net.b{2}*0.01; T=targets; net.performFcn='sse'; net.trainParam.goal=0.1; net.trainParam.show=20; net.trainParam.epochs=5000; net.trainParam.mc=0.95; [net,tr]=train(net,P,T); netn=net; netn.trainParam.goal=0.6; netn.trainParam.epochs=300; T=[targets targets targets targets]; for pass=1:10; P=[alphabet,alphabet,... (alphabet+randn(R,Q)*0.1),... (alphabet+randn(R,Q)*0.2)]; [netn,tr]=train(netn,P,T); end netn.trainParam.goal=0.1; netn.trainParam.epochs=500; netn.trainParam.show=5; P=alphabet; T=targets; [netn,tr]=train(netn,P,T); noise_percent=0.2; for k=1:26 noisyChar=alphabet(:,k)+randn(35,1)*noise_percent; subplot(6,9,k+floor(k/9.5)*9); plotchar(noisyChar); de_noisyChar=sim(net,noisyChar); de_noisyChar=compet(de_noisyChar);

基于BP神经网络的语音识别技术

海事大学 神经网络与语音识别 院系: 物流工程学院 课程名称: 制造与物流决策支持系统学生姓名: 学号: 时间:

目录 一.绪论 (3) 1.1 研究背景及意义 (3) 1.2 语音识别的国外研究现状 (3) 1.3研究容 (4) 二.语音识别技术 (5) 2.1语音信号 (5) 2.2语音信号的数学模型 (5) 2.3 语音识别系统结构 (6) 2.4 语音信号预处理 (7) 2.4.1 语音信号的采样 (8) 2.4.2语音信号的分帧 (8) 2.4.3语音信号的预加重 (9) 2.4.4 基于短时能量和过零率的端点检测 (9) 2.5 特征参数提取 (12) 三.基于BP神经网络语音识别算法实现 (14) 3.1 BP神经网络原理 (14) 3.2 输入层神经元个数的确定 (14) 3.3网络隐含层数的确定 (15) 3.4隐含层神经元个数的确定 (15) 3.5 BP神经网络构造 (15) 3.6 BP神经网络的训练 (16) 3.6.1训练样本集合和目标值集合 (16) 3.6.2 网络训练 (16) 3.7网络训练 (17) 3.8 语音的识别结果 (18) 四.总结 (19) 参考文献 (20) 附录 (21)

一.绪论 计算机的飞速发展,使人们的生活方式发生了根本性的改变,鼠标、键盘,这些传统的人机接口使人们体会到了生活的便利。科学技术日新月异,假如让“机器”能够听懂人的语言,并根据其信息去执行人的意图,那么这无疑是最理想的人机智能接口方式,因此语音识别作为一门极具吸引力的学科应运而生,很多专家都指出语音识别技术将是未来十年信息技术领域十大重要的科技发展技术之一。 语音识别(Speech Recognition)是指,计算机从人类获取语音信息,对语音信息进行分析处理,准确地识别该语音信息的容、含义,并对语音信息响应的过程。语音信号具有非稳定随机特性,这使得语音识别的难度大。目前人类甚至仍没有完全理解自身听觉神经系统的构造与原理,那么要求计算机能像人类一样地识别语音信号很有挑战性。 1.1 研究背景及意义 语言在人类的智能组成中充当着很重要的角色,人与人之间的交流和沟通大部分是通过语言的方式有效的完成。作为人与人之问交流最方便、自然、快捷的手段,人们自然希望它成为人与计算机交流的媒介。随着数字信号处理及计算机科学的飞速发展,人们对实现人机对话产生越来越迫切的要求,使得语音识别技术近年来得到了迅速的发展,语音识别技术的研究进入了一个比较成熟的时期。语音识别是一门交叉科学,它综合了声学、语言学、语音学、生理科学、数字信号处理、通信理论、电子技术、计算机科学、模式识别和人工智能等众多学科。也是人机交互最重要的一步。 1.2 语音识别的国外研究现状 通过语音传递信息是人类最重要,最有效,和最方便的交换信息的形式,语音识别主要指让机器转达人说的话,即在各种情况下,准确的识别出语音的容,

数学建模_BP神经网络算法模板

1.1 BP 神经网络原理简介 BP 神经网络是一种多层前馈神经网络,由输入、输出、隐藏层组成。该网络的主要特点是信号前向传递,误差反向传播。在前向传递中,输入信号从输入层经隐藏层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP 神经网络预测输出不断逼近期望输出。结构图如下: 隐藏层传输函数选择Sigmoid 函数(也可以选择值域在(-1,1)的双曲正切函数,函数‘tansig ’),其数学表达式如下: x e 11)x ( f α-+=,其中α为常数 输出层传输函数选择线性函数:x )x (f = 1.隐藏层节点的选择 隐藏层神经元个数对BP 神经网络预测精度有显著的影响,如果隐藏层节点数目太少,则网络从样本中获取信息的能力不足,网络容易陷入局部极小值,有时可能训练不出来;如果隐藏层节点数目太多,则学习样本的非规律性信息会出现“过度吻合”的现象,从而导致学习时间延长,误差也不一定最佳,为此我们参照以下经验公式: 12+=I H ]10,1[ ,∈++=a a O I H I H 2log = 其中H 为隐含层节点数,I 为输入层节点数,O 为输出层节点数,a 为常数。 输入层和输出层节点的确定: 2.输入层节点和输出层节点的选择 输入层是外界信号与BP 神经网络衔接的纽带。其节点数取决于数据源的维数和输入特征向量的维数。选择特征向量时,要考虑是否能完全描述事物的本质特征,如果特征向量不能有效地表达这些特征,网络经训练后的输出可能与实际有较大的差异。因此在网络训练前,应全面收集被仿真系统的样本特性数据,并在数据处理时进行必要的相关性分析,剔除那些边沿和不可靠的数据,最终确定出数据源特征向量的维度。对于输出层节点的数目,往往需要根据实际应用情况灵活地制定。当BP 神经网络用于模式识别时,模式的自身特性就决定了输出的结果数。当网络作为一个分类器时,输出层节点数等于所需信息类别数。(可有可无) 训练好的BP 神经网络还只能输出归一化后的浓度数据,为了得到真实的数据

神经网络在语音识别上应用

Harbin Institute of Technology 神经网络与智能信号处理 实验报告 神经网络实验报告 1、实验名称: 神经网络在语音识别上的应用 2、实验目的: 进一步了解神经网络在语音识别上的应用,了解神经网络的基本原理,学习神经网络的算法,还可以进一步分析不同的隐节点数以及训练步数对误差性能的影响。 3、实验要求: 1、设计一个标准的BP学习算法网络来对语音信号26个字母进行识别。 2、在训练时采用不同的隐含层神经元个数,分析其对网络性能、语音识别系统的识别率的影响。 3、用所创建的BP神经网络进行26个字母的语音识别,观察并记录结果,并分析其误差。 4、实验步骤: 1、语音识别的基本原理

语音识别的总体流程如下: 语音输入时要先经过预处理,包括预加重、分帧加窗等。然后进行特征提取,该实验中的特征参数为MFCC 参数。语音特征参数的时间序列构成语音的模式,将其与获得的参考模式逐一比较,获得最佳匹配的参考模式便是识别结果。 由于语音信号的复杂性,所以在一开始在语音信号输入语音识别系统时需要进行预处理,预处理包括预加重,分帧加窗,端点检测等。预加重的目的是为了加强语音的高频部分,以便在特征提取阶段进行频谱分析。分帧加窗的目的是为了使帧与帧之间平滑过渡,保持连续性以及保持语音信号的短时平稳性,降低由于不连续而产生的Gibbs 效应。端点检测的目的就是从语音信号序列中截取实际有效的语音信号。 特征提取阶段,是从语音数据中提取能反映语音信号特征和变化规律的参数,以唯一表征语音,这儿选用的语音信号特征参数为MEL 频率倒谱系数,即MFCC 。MEL 频率倒谱的实现过程如下图所示: (1)对语音信号进行预处理,加窗、分帧将其变为短时信号。 (2) 将短时时域信号转变为频域信号,并计算其短时能量,离散傅立叶变换。将时域信号后补若干0形成长为N 的序列,再经过离散傅立叶变换得到线性x(n)频谱,变换公式: X (k ) 0n,k N-1 X (k )=∑N ?1n =0x(n)e ?j2πk n ≤≤(3)在频标内三角带通滤波器个加于坐标得到滤波器组,转化关系为f mel =2595log (1+f hz 700) (4)求对数能量。为了使计算结果对噪声和谱估计噪声有更好的鲁棒性,一般将上述经过Mel 频谱取对数能量。则由线性频谱得到对数频谱的总的X(k)S(m)传递函数为:

BP神经网络算法步骤

B P神经网络算法步骤 SANY GROUP system office room 【SANYUA16H-

传统的BP 算法简述 BP 算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。具体步骤如下: (1)初始化,随机给定各连接权[w],[v]及阀值θi ,rt 。 (2)由给定的输入输出模式对计算隐层、输出层各单元输出 (3)计算新的连接权及阀值,计算公式如下: (4)选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。 第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e ,给定计 算精度值 和最大学习次数M 。 第二步,随机选取第k 个输入样本及对应期望输出 ()12()(),(),,()q k d k d k d k =o d ()12()(),(),,()n k x k x k x k =x 第三步,计算隐含层各神经元的输入和输出 第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数()o k a δ 第五步,利用隐含层到输出层的连接权值、输出层的()o k δ和隐含层的输出计算误差函数对隐含层各神经元的偏导数()h k δ 第六步,利用输出层各神经元的()o k δ和隐含层各神经元的输出来修正连接权值()ho w k 第七步,利用隐含层各神经元的()h k δ和输入层各神经元的输入修正连接权。 第八步,计算全局误差211 1(()())2q m o o k o E d k y k m ===-∑∑ ε

语音识别技术文献综述

语音识别技术综述 The summarization of speech recognition 张永双 苏州大学 摘要 本文回顾了语音识别技术的发展历史,综述了语音识别系统的结构、分类及基本方法,分析了语音识别技术面临的问题及发展方向。 关键词:语音识别;特征;匹配 Abstact This article review the courses of speech recognition technology progress ,summarize the structure,classifications and basic methods of speech recognition system and analyze the direction and the issues which speech recognition technology development may confront with. Key words: speech recognition;character;matching 引言 语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别是一门交叉学科,所涉及的领域有信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等,甚至还涉及到人的体态语言(如人民在说话时的表情手势等行为动作可帮助对方理解)。其应用领域也非常广,例如相对于键盘输入方法的语音输入系统、可用于工业控制的语音控制系统及服务领域的智能对话查询系统,在信息高度化的今天,语音识别技术及其应用已成为信息社会不可或缺的重要组成部分。 1.语音识别技术的发展历史 语音识别技术的研究开始二十世纪50年代。1952年,AT&Tbell实验室的Davis等人成功研制出了世界上第一个能识别十个英文数字发音的实验系统:Audry系统。

基于BP神经网络的语音识别技术

上海海事大学神经网络与语音识别 院系: 物流工程学院 课程名称: 制造与物流决策支持系统学生姓名: 学号: 时间: 目录

一.绪论 计算机的飞速发展,使人们的生活方式发生了根本性的改变,鼠标、键盘,这些传统的人机接口使人们体会到了生活的便利。科学技术日新月异,假如让“机器”能够听懂人的语言,并根据其信息去执行人的意图,那么这无疑是最理想的人机智能接口方式,因此语音识别作为一门极具吸引力的学科应运而生,很多专家都指出语音识别技术将是未来十年信息技术领域十大重要的科技发展技术之一。 语音识别(Speech Recognition)是指,计算机从人类获取语音信息,对语音信息进行分析处理,准确地识别该语音信息的内容、含义,并对语音信息响应的过程。语音信号具有非稳定随机特性,这使得语音识别的难度大。目前人类甚至仍没有完全理解自身听觉神经系统的构造与原理,那么要求计算机能像人类一样地识别语音信号很有挑战性。 研究背景及意义 语言在人类的智能组成中充当着很重要的角色,人与人之间的交流和沟通大部分是通过语言的方式有效的完成。作为人与人之问交流最方便、自然、快捷的手段,人们自然希望它成为人与计算机交流的媒介。随着数字信号处理及计算机科学的飞速发展,人们对实现人机对话产生越来越迫切的要求,使得语音识别技术近年来得到了迅速的发展,语音识别技术的研究进入了一个比较成熟的时期。语音识别是一门交叉科学,它综合了声学、语言学、语音学、生理科学、数字信号处理、通信理论、电子技术、计算机科学、模式识别和人工智能等众多学科。也是人机交互最重要的一步。 语音识别的国内外研究现状 通过语音传递信息是人类最重要,最有效,和最方便的交换信息的形式,语

人工神经网络模式识别

人工神经网络模式识别 一、人工神经网络模式识别 1、人工神经网络的概述 人工神经网络从人脑的生理学和心理学角度出发,通过模拟人脑的工作机理,实现机器的部分智能行为,是从微观结构和功能上对人脑进行抽象和简化,是模拟人类智能的一条重要途径。具体的模式识别是多种多样的,如果从识别的基本方法上划分,传统的模式识别大体分为统计模式识别和句法模式识别,在识别系统中引入神经网络是一种近年来发展起来的新的模式识别方法。尽管引入神经网络的方法和引入网络的结构可以各不相同,但都可称为神经网络模式识别。而且这些识别方法在解决传统方法较难处理的某些问题上带来了新的进展和突破,因而得到了人们越来越多的重视和研究。 人工神经元网络(Artificial Neural Network)简称神经网络,是基于日前人们对自然神经系统的认识而提出的一些神经系统的模型,一般是由一系列被称为神经元的具有某种简单计算功能的节点经过广泛连接构成的一定网络结构,而其网络连接的权值根据某种学习规则在外界输入的作用下不断调节,最后使网络具有某种期望的输出特性。神经网络的这种可以根据输入样本学习的功能使得它非常适合于用来解决模式识别问题,这也是神经网络目前最成功的应用领域之一。 2、神经网络进行模式识别的方法和步骤 神经网络模式识别的基本方法是,首先用己知样本训练神经网络,使之对不同类别的己知样本给出所希望的不同输出,然后用该网络识别未知的样本,根据各样本所对应的网络输出情况来划分未知样本的类别。神经网络进行模式识别的一般步骤如图2-1所示,分为如下几个部分: 预处理 样本获取常规处理特征变换神经网络识别 图 2-1 神经网络模式识别基本构成 1、样本获取 这一步骤主要是为了得到一定数量的用于训练和识别的样本。

BP神经网络的基本原理+很清楚

5.4 BP神经网络的基本原理 BP(Back Propagation)网络是1986年由Rinehart和 McClelland为首的科学家小组提出,是一种按误差逆传播算 法训练的多层前馈网络,是目前应用最广泛的神经网络模型 之一。BP网络能学习和存贮大量的输入-输出模式映射关系, 而无需事前揭示描述这种映射关系的数学方程。它的学习规 则是使用最速下降法,通过反向传播来不断调整网络的权值 和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结 构包括输入层(input)、隐层(hide layer)和输出层(output layer)(如图5.2所示)。 5.4.1 BP神经元 图5.3给出了第j个基本BP神经元(节点),它只模仿了生物神经元所具有的三个最基本 也是最重要的功能:加权、求和与转移。其中x 1、x 2 …x i …x n 分别代表来自神经元1、2…i…n 的输入;w j1、w j2 …w ji …w jn 则分别表示神经元1、2…i…n与第j个神经元的连接强度,即权 值;b j 为阈值;f(·)为传递函数;y j 为第j个神经元的输出。 第j个神经元的净输入值为: (5.12) 其中: 若视,,即令及包括及,则

于是节点j的净输入可表示为: (5.13)净输入通过传递函数(Transfer Function)f (·)后,便得到第j个神经元的输出 : (5.14) 式中f(·)是单调上升函数,而且必须是有界函数,因为细胞传递的信号不可能无限增加,必有一最大值。 5.4.2 BP网络 BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成。正向传播时,传播方向为输入层→隐层→输出层,每层神经元的状态只影响下一层神经元。若在输出层得不到期望的输出,则转向误差信号的反向传播流程。通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误差函数达到最小值,从而完成信息提取和记忆过程。 5.4.2.1 正向传播 设 BP网络的输入层有n个节点,隐层有q个节点,输出层有m个节点,输入层与隐层之间的权值为,隐层与输出层之间的权值为,如图5.4所示。隐层的传递函数为f (·), 1 (·),则隐层节点的输出为(将阈值写入求和项中): 输出层的传递函数为f 2

模式识别在神经网络中的研究

摘要:基于视觉理论的神经网络模式识别理论的研究一直是非常活跃的学科,被认为是神经网络应用最成功的一个方面,它的发展与神经网络理论可以说是同步的。几乎所有现有的神经网络物理模型都在模式识别领域得到了成功的应用,神经网络理论取得进步会给模式识别理论的发展带来鼓舞;相反,模式识别理论的进步又会大大推动神经网络理论的长足发展。它们的关系是相互渗透的。 关键词:神经网络;模式识别 Abstract: The research of pattern recognition theories according to the neural network mode of sense of vision theories has been very active in academics, neural network has been thought one of the most successful applications , its development can been seen as the same step with the neural network theories.Almost all existing physics model of the neural network all identified realm to get success in the mode of application, neural network theories' progress will give the development of the pattern recognition theories much encourage;Contrary, the pattern recognition theories of progress again consumedly push neural network theories of substantial development.Their relations permeate mutually. Key word: neural network; pattern recognition

BP神经网络计算的题目

对如下的BP 神经网络,学习系数1=η,各点的阈值0=θ。作用函数为: ? ? ?<≥=111 )(x x x x f 。 输入样本0,121==x x ,输出节点z 的期望输出为1,对于第k 次学习得到的权值分别为1)(,1)(,1)(,2)(,2)(,0)(2122211211======k T k T k w k w k w k w ,求第k 次和1+k 次学习得到的输出节点值)(k z 和)1(+k z (写出计算公式和计算过程)。 y 2 )(11=k w 1)(22=k 11=x 02=x 计算如下: 1. 第k 次训练的正向过程如下: 1 )0()0210()()(12 1 11==?+?==-=∑=f f net f x w f y j j j θ) ()(i j i j ij i net f x w f y =-=∑θ

2 )2()0112()()(22 1 22==?+?==∑==f f net f x w f y j j j 3 )3()2111()()(2 1 ==?+?==∑==f f net f y T f z l i i i 2)31(2 1 2=-=E 2. 第k 次训练的反向过程如下: 212)3()31()(')(''-=?-=?-=-=f net f z z l l δ li l l i i T net f ∑=δδ)('' 1)2(01)2()0(')(''111=?-?=?-?==f T net f l δδ 2 1)2(11)2()2(')(''222-=?-?=?-?==f T net f l δδ 1 1)2(11)()()1(11111-=?-?+=+=?+=+y k T T k T k T l ηδ ) ()(l i l i li l net f y T f O =-=∑θ

神经网络在语音识别上的应用

H a r b i n I n s t i t u t e o f T e c h n o l o g y 神经网络与智能信号处理 实验报告 神经网络实验报告 1、实验名称: 神经网络在语音识别上的应用 2、实验目的: 进一步了解神经网络在语音识别上的应用,了解神经网络的基本原理,学习神经网络的算法,还可以进一步分析不同的隐节点数以及训练步数对误差性能的影响。 3、实验要求: 1、设计一个标准的BP学习算法网络来对语音信号26个字母进行识别。 2、在训练时采用不同的隐含层神经元个数,分析其对网络性能、语音识别系统的识别率的影响。 3、用所创建的BP神经网络进行26个字母的语音识别,观察并记录结果,并分析其误差。 4、实验步骤: 1、语音识别的基本原理

语音识别的总体流程如下: 语音输入时要先经过预处理,包括预加重、分帧加窗等。然后进行特征提取,该实验中的特征参数为MFCC 参数。语音特征参数的时间序列构成语音的模式,将其与获得的参考模式逐一比较,获得最佳匹配的参考模式便是识别结果。 由于语音信号的复杂性,所以在一开始在语音信号输入语音识别系统时需要进行预处理,预处理包括预加重,分帧加窗,端点检测等。预加重的目的是为了加强语音的高频部分,以便在特征提取阶段进行频谱分析。分帧加窗的目的是为了使帧与帧之间平滑过渡,保持连续性以及保持语音信号的短时平稳性,降低由于不连续而产生的Gibbs 效应。端点检测的目的就是从语音信号序列中截取实际有效的语音信号。 特征提取阶段,是从语音数据中提取能反映语音信号特征和变化规律的参数,以唯一表征语音,这儿选用的语音信号特征参数为MEL 频率倒谱系数,即MFCC 。MEL 频率倒谱的实现过程如下图所示: (1)对语音信号进行预处理,加窗、分帧将其变为短时信号。 (2) 将短时时域信号转变为频域信号,并计算其短时能量,离散傅立叶变换。将时域信号 后补若干0形成长为N 的序列,再经过离散傅立叶变换得到线性频谱,变换公式: 0n,k N-1 (3)在频标内三角带通滤波器个加于坐标得到滤波器组,转化关系为

7基于神经网络的模式识别实验要求

实验七基于神经网络的模式识别实验 一、实验目的 理解BP神经网络和离散Hopfield神经网络的结构和原理,掌握反向传播学习算法对神经元的训练过程,了解反向传播公式。通过构建BP网络和离散Hopfield 网络模式识别实例,熟悉前馈网络和反馈网络的原理及结构。 二、实验原理 BP学习算法是通过反向学习过程使误差最小,其算法过程从输出节点开始,反向地向第一隐含层(即最接近输入层的隐含层)传播由总误差引起的权值修正。BP网络不仅含有输入节点和输出节点,而且含有一层或多层隐(层)节点。输入信号先向前传递到隐节点,经过作用后,再把隐节点的输出信息传递到输出节点,最后给出输出结果。 离散Hopfield神经网络的联想记忆过程分为学习和联想两个阶段。在给定样本的条件下,按照Hebb学习规则调整连接权值,使得存储的样本成为网络的稳定状态,这就是学习阶段。联想是指在连接权值不变的情况下,输入部分不全或者受了干扰的信息,最终网络输出某个稳定状态。 三、实验条件 Matlab 7.X 的神经网络工具箱:在Matlab 7.X 的命令窗口输入nntool,然后在键盘上输入Enter键,即可打开神经网络工具箱。 四、实验内容 1.针对教材P243例8.1,设计一个BP网络结构模型(63-6-9),并以教材图8.5 为训练样本数据,图8.6为测试数据。 (1)运行train_data.m和test_data.m文件,然后从Matlab工作空间导入(Import)训练样本数据(inputdata10,outputdata10)和测试数据(testinputdata,testoutputdata),其次新建一个神经网络(New Network),选择参数如下表1,给出BP神经网络结构图。

基于BP神经网络的语音识别技术

上海海事大学 神经网络与语音识别 院系: 物流工程学院 课程名称: 制造与物流决策支持系统学生姓名: 学号: 时间:

目录 一.绪论 (3) 1.1 研究背景及意义 (3) 1.2 语音识别的国内外研究现状 (3) 1.3研究内容 (4) 二.语音识别技术 (5) 2.1语音信号 (5) 2.2语音信号的数学模型 (5) 2.3语音识别系统结构 (6) 2.4语音信号预处理 (7) 2.4.1 语音信号的采样 (8) 2.4.2语音信号的分帧 (8) 2.4.3语音信号的预加重 (9) 2.4.4 基于短时能量和过零率的端点检测 (9) 2.5 特征参数提取 (13) 三.基于BP神经网络语音识别算法实现 (16) 3.1 BP神经网络原理 (16) 3.2 输入层神经元个数的确定 (16) 3.3网络隐含层数的确定 (17) 3.4隐含层神经元个数的确定 (17) 3.5 BP神经网络构造 (17) 3.6 BP神经网络的训练 (18) 3.6.1训练样本集合和目标值集合 (18) 3.6.2 网络训练 (18) 3.7网络训练 (19) 3.8 语音的识别结果 (20) 四.总结 (21) 参考文献 (22) 附录 (23)

一.绪论 计算机的飞速发展,使人们的生活方式发生了根本性的改变,鼠标、键盘,这些传统的人机接口使人们体会到了生活的便利。科学技术日新月异,假如让“机器”能够听懂人的语言,并根据其信息去执行人的意图,那么这无疑是最理想的人机智能接口方式,因此语音识别作为一门极具吸引力的学科应运而生,很多专家都指出语音识别技术将是未来十年信息技术领域十大重要的科技发展技术之一。 语音识别(Speech Recognition)是指,计算机从人类获取语音信息,对语音信息进行分析处理,准确地识别该语音信息的内容、含义,并对语音信息响应的过程。语音信号具有非稳定随机特性,这使得语音识别的难度大。目前人类甚至仍没有完全理解自身听觉神经系统的构造与原理,那么要求计算机能像人类一样地识别语音信号很有挑战性。 1.1 研究背景及意义 语言在人类的智能组成中充当着很重要的角色,人与人之间的交流和沟通大部分是通过语言的方式有效的完成。作为人与人之问交流最方便、自然、快捷的手段,人们自然希望它成为人与计算机交流的媒介。随着数字信号处理及计算机科学的飞速发展,人们对实现人机对话产生越来越迫切的要求,使得语音识别技术近年来得到了迅速的发展,语音识别技术的研究进入了一个比较成熟的时期。语音识别是一门交叉科学,它综合了声学、语言学、语音学、生理科学、数字信号处理、通信理论、电子技术、计算机科学、模式识别和人工智能等众多学科。也是人机交互最重要的一步。 1.2 语音识别的国内外研究现状 通过语音传递信息是人类最重要,最有效,和最方便的交换信息的形式,语音识别主要指让机器转达人说的话,即在各种情况下,准确的识别出语音的内容,

神经网络在语音识别中的应用

Information Technology ? 信息技术Electronic Technology & Software Engineering 电子技术与软件工程? 249【关键词】智能终端 神经网络 语音识别 语音特征 现阶段智能终端与用户之间的人机交互方式仍然是触屏、键盘或鼠标,传统操作式的人机交互已经无法满足信息时代对信息快速交互的需求,创新式语音交互技术不仅提高了人机交互效率,而且属于人类所习惯的交互方式。语音交互的核心技术为语音识别技术,语音识别技术优劣直接决定了语音交互方式是否可用。截止目前,关于语音识别技术的研究已有数十载,基于英语的语音识别技术的准确率已接近98%,而基于汉语的语音识别技术的准确率却相对较低,主要是由于汉语的复杂度相对应用更广,同音字较多且发音较短致使语音识别精度降低。神经网络凭借其神经网络拓扑结构在识别方面具有更好的识别效果,基于此,本文对神经网络在语音识别的应用展开了研究。 1 语音识别系统研究 语音识别系统是通过对语音信号进行分析,与词汇语音进行匹配处理,使得计算机能理解语音信号所传递的信息。经典的语音识别系统结构主要包括信号预处理、特征提取、数据训练、匹配计算、识别判决。 通过对语音识别系统的结构进行分析可知,可将其划分为三个模块,信号预处理模块、语音特征提取模块、训练与识别模块。神经网络在语音识别中的应用 文/冀瑞国 (1)信号预处理处于系统的前端,语音 信号的预处理将便于语音的特征提取,主要包括采样滤波、预加权、信号分帧、端点检测。其中本文的采样滤波的频率为8KHz ,并选择预加权方式对高频阶段的语音进行加权处理,从而有效地提高其信噪比。在信号分帧方面,本文所采纳的时间段为20ms ,并通过端点检测方法实现词汇信号与噪声信号的分割,从而完成语音信号的预处理。(2)语音特征提取模块主要是为语音数据训练与识别提供分析数据,所以语音特征的合理选择不仅能提升识别模型的训练效率,而且能有效提高模型的识别精度。本文基于特征独立性、信号有效表征和精简计算的原则选择的语音特征主要包括线性预测系数(LPC )、线性预测倒谱系数(LPCC )、美儿频率倒谱系数(MFCC )、改进的混合MFCC 。(3)训练与识别模块作为语音识别系统的核心,主要是对特征进行分析得到信号归属词汇。目前常用的识别模型主要有神经网络、支持向量机、深度学习和人工智能,支持向量机的识别精度相对较低,深度学习与人工智能需要大量的训练样本且实时性较差。由于语音识别对识别精度和实时性要求较高,因此本文选择神经网络作为语音识别模型。2 神经网络应用于语音识别神经网络由输入层、隐层和输出层构成,网络基本单元为神经元,输入层的神经元为所提取的语音信号特征,隐层的神经元通过样本训练构建,输出层的神经元为语音识别词汇。通过对神经网络的结构分析可知,神经网络具有很强的非线性映射能力、泛化能力和容错能力。神经网络进行语音识别之前需要对模型进行科学的训练,神经网络的训练流程如图1所示,首先需要准备大量词汇的语音特征,对词汇进行编号,然后将准备的语音特征作为模型训练的输入,将特征对应的词汇编号作为参考数据,最后检查模型训练的输出数据与参考数据之间的误差,当两者之间的数据误差低于所设置的阈值时停止训练,保存隐层神经元的阈值,以及各个神经元之间的链接权值,从而实现神经网络模型的建立。语音识别系统首先对语音信号的进行采样滤波、预加权、信号分帧、端点检测操作;其次提取预处理数据的LPC 、LPCC 、MFCC 、改进MFCC 值;最后训练构建的神经网络模型根据语音信号特征识别语音所对应的词汇,至此实现语音信号的识别。3 结论本文先对语音识别系统展开了研究,语音识别系统由信号预处理、语音特征提取、模型训练与识别三个模块构成,并分析了神经网络相对于支持向量机、深度学习和人工智能的优势,基于此设计了一套基于神经网络的语音识别系统。识别系统首先借助大量词汇的语音特征完成识别模型的训练,再利用训练合格的语音识别模型对从预处理数据中提取的LPC 、LPCC 、MFCC 、改进MFCC 的语音信号特征进行语音识别。参考文献[1]吴进,张青等.一种改进的孤立词语音识别系统设计[J].西安邮电大学学报,2016,21(01):76-80.[2]佘明洪.系统辨识中神经网络应用的初步研究与讨论 [J].科技展望,2016,26(34).[3]金超,龚铖,李辉.语音识别中神经网络声学模型的说话人自适应研究[J].计算机应用与软件,2018(02):200-205.作者简介冀瑞国(1991-),男,山东省聊城市人。大学本科学历。工程师。研究方向为人工智能语音识别。作者单位北京智合大方科技有限公司 北京市 100070 图1:BP 神经网络训练流程

(完整版)bp神经网络算法.doc

BP 神经网络算法 三层 BP 神经网络如图: 目标输出向量 传递函数 g 输出层,输出向量 权值为 w jk 传递函数 f 隐含层,隐含层 输出向量 输 入 层 , 输 入 向量 设网络的输入模式为 x (x 1 , x 2 ,...x n )T ,隐含层有 h 个单元,隐含层的输出为 y ( y 1 , y 2 ,...y h )T ,输出 层有 m 个单元,他们的输出为 z (z 1 , z 2 ,...z m )T ,目标输出为 t (t 1 ,t 2 ,..., t m )T 设隐含层到输出层的传 递函数为 f ,输出层的传递函数为 g n n 于是: y j f ( w ij x i ) f ( w ij x i ) :隐含层第 j 个神经元的输出;其中 w 0 j , x 0 1 i 1 i 0 h z k g( w jk y j ) :输出层第 k 个神经元的输出 j 此时网络输出与目标输出的误差为 1 m (t k z k ) 2 ,显然,它是 w ij 和 w jk 的函数。 2 k 1 下面的步骤就是想办法调整权值,使 减小。 由高等数学的知识知道:负梯度方向是函数值减小最快的方向 因此,可以设定一个步长 ,每次沿负梯度方向调整 个单位,即每次权值的调整为: w pq w pq , 在神经网络中称为学习速率 可以证明:按这个方法调整,误差会逐渐减小。

BP 神经网络(反向传播)的调整顺序为:1)先调整隐含层到输出层的权值 h 设 v k为输出层第k个神经元的输入v k w jk y j j 0 ------- 复合函数偏导公式 1 g'(u k ) e v k 1 (1 1 ) z k (1 z k ) 若取 g ( x) f (x) 1 e x,则(1e v k) 2 1e v k 1e v k 于是隐含层到输出层的权值调整迭代公式为:2)从输入层到隐含层的权值调整迭代公式为: n 其中 u j为隐含层第j个神经元的输入: u j w ij x i i 0 注意:隐含层第j 个神经元与输出层的各个神经元都有连接,即涉及所有的权值w ij,因此 y j m (t k z k )2 z k u k m y j k 0 z k u k y j (t k z k ) f '(u k )w jk k 0 于是: 因此从输入层到隐含层的权值调整迭代为公式为: 例: 下表给出了某地区公路运力的历史统计数据,请建立相应的预测模型,并对给出的 2010 和 2011 年的数据,预测相应的公路客运量和货运量。 人数 ( 单位:机动车数公路面积 ( 单公路客运量公路货运量 时间( 单位:万位:万平方公( 单位:万( 单位:万万人 ) 辆 ) 里) 人 ) 吨 ) 1990 20.55 0.6 0.09 5126 1237 1991 22.44 0.75 0.11 6217 1379 1992 25.37 0.85 0.11 7730 1385 1993 27.13 0.9 0.14 9145 1399 1994 29.45 1.05 0.2 10460 1663 1995 30.1 1.35 0.23 11387 1714 1996 30.96 1.45 0.23 12353 1834 1997 34.06 1.6 0.32 15750 4322 1998 36.42 1.7 0.32 18304 8132 1999 38.09 1.85 0.34 19836 8936 2000 39.13 2.15 0.36 21024 11099 2001 39.99 2.2 0.36 19490 11203 2002 41.93 2.25 0.38 20433 10524 2003 44.59 2.35 0.49 22598 11115 2004 47.3 2.5 0.56 25107 13320 2005 52.89 2.6 0.59 33442 16762 2006 55.73 2.7 0.59 36836 18673

BP神经网络算法java实现

BP神经网络算法java实现 package backp; import java.*; import java.awt.*; import java.io.*; import java.util.Scanner; //by realmagician import org.omg.CORBA.portable.InputStream; public class backpro { public static void main(String args[]) { String filename=new String("delta.in"); try { FileInputStream fileInputStream=new FileInputStream(filename); Scanner sinScanner=new Scanner(fileInputStream); int attN,hidN,outN,samN; attN=sinScanner.nextInt(); outN=sinScanner.nextInt(); hidN=sinScanner.nextInt(); samN=sinScanner.nextInt(); //System.out.println(attN+" "+outN+" "+hidN+" "+samN); double samin[][]=new double[samN][attN]; double samout[][]=new double[samN][outN]; for(int i=0;i

实验七:基于神经网络的模式识别实验

实验七:基于神经网络的模式识别实验 一、实验目的 理解BP神经网络和离散Hopfield神经网络的结构和原理,掌握反向传播学习算法对神经元的训练过程,了解反向传播公式。通过构建BP网络和离散Hopfield网络模式识别实例,熟悉前馈网络和反馈网络的原理及结构。 综合掌握模式识别的原理,了解识别过程的程序设计方法。 二、实验内容 熟悉模式识别的理论方法,用选择一种合适的识别方法,对图像中的字符(英文字母)进行识别,能够区分出不同的形态的26个字母。 在Matlab中,采用BP神经网络,对读取的数据进行训练,进而识别。 1. 程序设计 (1)程序各流程图 实验中主程序流程图如图4-1所示:

图4-1主程序流程图 其中图像预处理的流程如图4-2 所示: 图4-2图像预处理的流程神经网络训练的具体流程如图4-3所示:

图4-3 神经网络训练流程 (2)程序清单 %形成用户界面 clear all; %添加图形窗口 H=figure('Color',[0.85 0.85 0.85],... 'position',[400 300 500 400],... 'Name','基于BP神经网络的英文字母识别',... 'NumberTitle','off',... 'MenuBar','none'); %画坐标轴对象,显示原始图像 h0=axes('position',[0.1 0.6 0.3 0.3]); %添加图像打开按钮 h1=uicontrol(H,'Style','push',... 'Position',[40 100 80 60],... 'String','选择图片',... 'FontSize',10,... 'Call','op'); %画坐标轴对象,显示经过预处理之后的图像 h2=axes('position',[0.5 0.6 0.3 0.3]); %添加预处理按钮

相关文档
相关文档 最新文档