语音特征信号的研究_第1页
语音特征信号的研究_第2页
语音特征信号的研究_第3页
语音特征信号的研究_第4页
语音特征信号的研究_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-第1章绪论由于计算机发展的十分迅速,给人们的生活造成了前所未有的改变。从之前的输入设备、输出设备让人们感受到科技的便利与飞速发展;到现在计算机可以识别人的行为,而且可以秉承人们的意识与要求进行基本的控制,这将会成为比较理想的人体输入。所以语音识别和信息分类技术就此产生。根据相关调查,在以后的几年或者几十年里,语音识别与分类技术将要成为最重要的科学发展技术之一。1.1课题背景与意义1.1.1音频信号分类发展历程及研究现状音频信号所包含的方面有很多,如若想要对音频分类,这无疑是非常困难的挑战。但是从音频信号之前的相关调查文案中可以看出,其中对与音频信号的分析是有很大的篇幅。根据调查的对象有所不同,可以将音频分成三个方面,分为语音和音乐的划分、音乐流派的划分以及对于乐器的划分。相对于较早音乐流派的划分大部分是运用人体手工对音乐样本标注来展示的,最具有名气的是由潘多拉网站聘请专业人员所造就的“音乐染色体工程"。但是音频的数据量随着时间持续倍增,这种方法费时费力的缺点立刻显露出来。紧接着就出现了新的方法来弥补这种缺点。1996年,桑德斯凭借短时能量和过零率的统计参数为特征,她为了达到语音和音乐划分的目的,选取并运用了高斯分类器,使用广播进行实时自动监控播放,精确率高达90%。1997年,富特在特征集中加入了12阶MFCC参数,首次通过声学的特征完成了对音频文件的搜索与检查。历经多年的发展,2009年,YizharLavner和DimaRuinskiy在运用基于规则和贝叶斯的三阶筛选法进行划分实验时,对语音和音乐的分类精确率分别高达了99.4%和97.8%。对于音乐流派的分类所研究开始的时间相对前者较晚,开始要回溯到2002年,TzanetakisG和CookP罗列出了音频信号中包括节奏、音色、音调在内的数十项特征,完成了对十种音乐流派的划分研究,但是其分类的精确率也只有61%。在一年之后,李涛和TzanetakisG提出了不同的特征项是会对划分正确率产生影响的。虽然运用线性判别分析和支持向量机进行划分实验的正确率不是很高,但是他们发现了梅尔频率倒谱系数、短时傅里叶变换、节奏、音调等相关数据组成的数据集合能够很好的对音乐进行划分。2011年,VinyCheistantiM等人提取了音频信号中的45项有关音色和音高的特征量,并运用朴素贝叶斯分类器做了相关印度尼西亚的两种音乐流派的划分实验,实验最终精确率高达85.14%。2012年,JustinSalamon等人提出了一种基于音乐旋律的相关特点,他们决定运用高级特点和低级特征混合的数据集的办法,研究表明此类方法对与音乐流派分类的精确率竟然可以高达90%以上。2014年,Yin-FuHuang等人运用自适应和谐检索算法对包括MPEG-7、音调、音色、节奏等在内的32种特征描述符进行特征选择进行研究,并且使用支持向量机校验其对分类精确率能否会造成影响,最终结果表明经过筛选后的特征集对提高分类的精确率有明显效果。在最近几年,在中国对音乐流派分类产生了一系列的革命热潮,华斌等人对于经典的Me1频率倒谱系数进行研究后,得到了各阶系数对音频识别的表征能力不同的结论。所以运用熵值法分析各维系数对于音频识别的帮助,发现了基于熵值法加权的Me1频率倒谱系数,大大提升了音频检索的辨识度。孙辉等人对于支持向量机的核函数优化问题进行了探讨与发现,发布了一种运用加权合成核的新型多核学习支持向量机,并使用音乐流派的划分实验。最终结果表明,分类精确率比传统单核支持向量机提高了6.58%,其分析实验表明了不同特征项对不同流派音乐的分类结果所应用的不同,更有甚者还会有着对分类结果造成破坏的选项。除此之外还有就是对音乐乐器进行的划分,音乐乐器所划分的对象基本是西方乐器,只有少量是东方乐器。J.C.Brown等人调查并提炼出音频信号的谱中心、倒谱系数、自相关系数等相关特征,并运用贝叶斯准则对4种木管乐器进行了划分实验,划分的精准率高达84%。JDDeng等人运用基于特点调查的经验划分方法对仪器进行扫描,并运用设备学习算法对数据集进行扫描。运用所提炼的17个特点,可以分为铜管乐器、木管乐器、弦乐乐器和钢琴,平均精确率可达96.5%。在中国广为流传的乐器的发展应该要回到公元前4世纪,然后运用科技发展对待音乐进行分类。LingyunXie分别将13类中、西方乐器各自划分了管乐器、打击乐器、弦乐器、弹拔乐器四种类型。并使用SVM分类器对这八个类型的中、西方乐器进行划分,并分别使用短时傅里叶变换系数、梅尔倒谱系数等作为特征集进行了对比试验。由此证明运用梅尔倒谱系数进行划分得到的准确率最高。1.1.2BP神经网络发展背景 20世纪80年代BP神经网络最早是由鲁迈哈特和麦克莱伦率领的科学家组成提出的。这是一个由误差反向传播算法训练的多层前馈网络,是当今世界上使用最多的神经网络模型。人工神经网络的再发展是BP神经网络,这是它的历史延续。1940年人工神经网络就已经开始了研究,以下以人名人物和卓越的研究成果为线索,按历史顺序介绍研究科研者的发展史。20世纪40年代,神经生物学家麦卡洛克W.S和青年数学家皮茨W.A首次合作指出开发——工神经元模型,并据此抽象化神经元数理模型。此模型成为人工神经网络研究的基石,为描述多稳定性、自激冲击和混沌等非线性现象提供了新的方法,具有非常重要的应用价值。1945年,存储程序电子计算机原型机研制成功,宣布了电子计算机时代的开始。vonneumann的研究团队在工作中对比了人类大脑组成与存储程序计算机的基本区别,并提出了一种由简单神经元组成的再生自动机网络结构。1959年,人工神经网络首次使用到现实世界当中,这个项目是由F.罗森布拉特设计的一种多层神经网络“感知器”。1969年,研究进入低潮。由于技术上和研究上的局限,没有办法解决某些领域的根本问题,就有了许多人对人工神经网络项目撤资,在之后又有了集成电路、微电子技术等新兴技术的出现,对人工神经网络的研究产生了冲击,很多科研者在1979年后才陆续重新回到神经网路的研究上。著名的霍夫菲尔德模型的理论发表在1982年在美国国家科学院学报上,开启了神经网络理论研究的新时代。霍布斯菲尔德网络依靠输入部的反馈,终于达到了稳定的状态,实现了联想记忆功能,当时的神经网络越来越接近实际神经网络。2000年以来计算机技术得到了快速发展,神经网络理论迎来了它的发展达到了当前世界水平的顶峰。具有联想记忆功能的神经元已逐渐能够模拟人类大脑进行数据处理,联想记忆神经网络这一模型,已进入了目前科学研究的热点领域。1.1.3课题研究意义随着大数据时代的到来,越来越多的信息被转化成数据存储在网络中,互联网中的数据量也急剧增长。由音频、文本和图像共同组成的多媒体数据无疑是互联网中的流量担当,面向音频的自动化和智能化系统越来越多的出现在多媒体应用中,如小米蓝牙音箱通过语音交流实现人机交互,听从我们的命令;智能手机的语音拨号功能,只需我们对着手机告诉它拨打某个联系人的姓名即可。语音分类是人工智能的一个重要组成部分,语音信号分类的研究涉及机器学习、信息处理、人工智能等众多领域。在物联网的大时代背景下,能够从嘈杂的外界环境中准确快速的分辨出我们的语音信息并进行分类,必然是一个充满了巨大挑战的课题。当今社会,人工智能正随着网络的普及迅速发展,越来越多的音频资源通过网络渠道送到各家各户。语音分类主要分为两方面,一方面是在人工智能的应用,主要表现为智能手机语音功能、蓝牙音箱小爱同学、家电语音控制等,语音分类在其中担当了不可或缺的角色,为我们的生活提供了很大的便利;另一方面是音频的智能检索功能,网络中的音乐多种多样,大多数时候我们仅需要自己喜爱的类型,所以语音分类显得尤为重要。我的课题通过数据网络算法进一步提高语音分类的正确率,在以上所述的情况下显然已经成为当下研究的热门。1.2研究内容本课题是把BP神经网络的数据分类作为基本理论,主要研究语音的分类,并且着重研究了BP神经网络在语音分类中的模型建立、训练识别等多过程中的应用,通过MATLAB软件编程激活BP网络模型,提出基于BP网络的语音分类模型和算法。这种方式把BP神经网络应用到语音分类领域,获得了较好的分类效果的同时,还表现出了它在语音分类中的优势。本课题论文内容的安排如下:第一章介绍了本课题语音特征信号的研究背景,概括了完成该课题的目的已及研究的意义所在。通过对国内外语音分类研究现状及发展趋势的论述,简单的介绍了语音信号分类和BP神经网络的发展历史。第二章介绍了BP神经网络的拓扑结构,BP神经网络的预测及预测前进行网络训练的步骤,还简明扼要的介绍了BP神经网络在应用中的一些优点。第三章介绍了语音特征信号如何识别以及分类步骤,语音信号提取的操作过程如下:首先,利用音频软件将自己录入的音频文件转换为待识别语音转换为*wav格式,然后通过MATLAB软件输入提取语音信号的程序,运行后原来的音频就会存储在MATLAB的数据库中,方便后续的使用。音频分类一般分为音频信号预处理、特征提取、训练分类器、分类结果测试这一共四个步骤。第四章介绍了BP神经网络训练步骤,语音分类模型的构建和利用MATLAB编程实现这种算法模型。简单阐述了建模方法以及BP神经网络算法流程,其中包括隐含层节点数的确定。最终利用MATLAB编程实现语音分类的目的。第五章是结论。对本课题的完成情况进行全面的汇报,包括研究成果以及存在的不足。第2章BP神经网络概述2.1BP神经网络系统背景2.1.1BP神经网络算法简介BP神经网络是1980年前后被提出的一种多层前馈神经网络,同时它也是一种误差反向传播神经网络,顾名思义,它与一般的仅能够进行单向运算的人工神经网络是不一样的,它通过每次前项传递的信息反馈回的误差对隐含层的权值和阈值进行修正。纵观所有人工神经网络,BP算法的分类模型不仅具有良好的鲁棒性,还拥有以任意精度逼近任何非线性函数的映射能力,因此,BP神经网络是当下人们应用最多的人工神经网络之一。网络初始化网络初始化输入训练数据输入训练数据修改权重计算训练误差修改权重计算训练误差否否训练误差是否达到预期值训练误差是否达到预期值是是训练完毕训练完毕图2.1BP神经网络流程图上图2.1是构建BP神经网络的流程图,从图中可以看出第一步是将网络初始化,然后将已提取的语音信号训练数据导入输入层,训练数据经隐含层和输出层计算出的误差反馈给隐含层,修改网络权值和阈值,再重新将训练数据输送至输出层,如此往复,直到满足误差要求停止网络训练。2.1.2BP神经网络的拓扑结构说到BP神经网络,我们印象最深的就是它的拓扑结构,它的特别之处就是简单,大多数BP神经网络都只有三层或者四层,而且它的拓扑结构就有且仅有三部分:数据输入层、调整权值和阈值的隐含层和结果输出层。BP神经网络不光只有拓扑结构简单,它的算法也是十分容易上手的,二者结合就能够方便快速有效地实现算法。下图就是一个四层神经网络,除了一个输入层和一个输出层,还包括两个隐含层。输入层隐含层输出层图2.2BP神经网络拓扑结构图输入层:输入的数量直接决定有多少个单元。比如说我们一张图像传进去,图像其实就是一个二维的矩阵,所以对于一张8x8像素的图片,那么就应该有64个输入,因为这张图像的每一个像素就等于是一个输入。隐含层:最关键的一层。在隐含层中,每一层的所有单元都是自己来定义的,有多少层也是你自己定义的。而具体需要有多少层,都是要看具体情况。一般情况下,层数越多,每一层的单元越多,神经网络的效果就越好。但要注意一个过拟合问题。我们口中的“过拟合”,简单来说就是识别精度很高,听上去挺好听,但其实就和我们人“想过头”是一样的。那么按道理来说,识别精度高不是很好吗?但是要注意一个问题。举一个例子,比方说我做人脸识别,神经网络经过训练之后可以使用了,然后拿去识别。因为你的训练集里面的图像都是你的正脸,所以你正脸面对的时候,很快识别出来了,这个人就是你,精度很高没毛病,换个人来都不管用,就算和你长得差不多也没用。然而当你转个脸或者带个眼镜的时候,完了,识别失败,他认为这个和它认识的你不一样,所以判断为不是你。这个就是认知不足,因为误差率很小而导致的“过拟合”现象。有“过拟合”就有“欠拟合”。欠拟合就是和过拟合相反,就是识别精度不够高,即使有点像你也被认为就是你。所以有时候也并不是精度越高越好。输出层:数据处理完毕,输出结果。同样举例图像识别,我识别手写字体,一张图像传进去,那么输出层传出来的就应该是结果,就是这个究竟是什么字。2.1.3BP神经网络的训练过程训练网络对于BP网络模型语音信号分类是必不可少的过程,训练网络是一个BP网络自主学习的过程,训练使网络获得联想、记忆以及预测的能力,这样才能保证BP网络模型语音分类的正确率。步骤一:网络结构初始化,确定各层节点的个数,将各个权值和阀值的初始值设为比较小的随机数。步骤二:输入样本和相应的输出,对每一个样本进行学习,即对每一个样本数进行步骤到步骤三的过程。步骤三:根据输入样本算出实际的输出及其隐含层神经元的输出。H式中,l为隐含层节点个数;f为隐含层的激励函数,这个激励函数有诸多种表达方式,本课题所选函数为:fO步骤四:计算实际输出与期望输出之间的差值,求输出层的误差和隐含层的误差。e步骤五:根据步骤四得出的误差来更新输入层——隐含层节点之间、隐含层——输出层节点之间的连接权值和阈值。ωω上式中,ηQUOTE为学习速率。ab步骤六:求误差函数,判断是否收敛到给定的学习精度以内,如果满足,则学习结束,否则,转向步骤二继续进行。2.2BP神经网络的优点所谓人工神经网络,字面意思就是它模拟了人类的神经组织而开发出来的计算机系统,就像若干个神经元连接在一起,人工神经网络具有众多的处理单元来实现它自学习、自组织、分布式处理等诸多功能。基于它以上所述强大的能力,被应用到图像识别、语音分析等领域,并在各方面做出了大量的贡献。最近的十几年来看,网络科技正大步迈向我们的生活,人工神经网络也以肉眼可见迅速的发展起来,很明显的是它即将成为模式识别的快速有效的工具之一。神经网络的崛起,让我们现在可以选择BP神经网络这种简单高效的网络模型解决本课题所要求的分类问题,以下是BP神经网络的几点优势,也是我选择这个课题的原因之一。BP神经网络具有以下几个优点:1)非线性映射能力:从根本上来说,BP神经网络就是一个可以实现输入到输出映射功能的函数,它的能力强大到难以置信,仅仅一个最简单的三层神经网络就可以一点点逼近任何你想得到的非线性连续函数,而且是以任意精度。我们把这种十分强悍的能力称为非线性映射能力,这对于它求解内部机制复杂的问题变得简单。2)自学习和自适应能力:训练网络时,BP神经网络具有自主学习的功能,大量的训练数据为它自动提取并学习输入与输出之间的存在的规律奠定了基础,这种学习能力会表现为隐含层的权值与阈值的不断更新,逐渐趋近我们课题所需的要求。这完完全全的体现了BP神经网络具有高度的自学习与自适应的能力。3)泛化能力:这里所说的泛化能力是我们在编程设计分类模型时,它的自主学习能力不仅要满足我们对精度的要求,还要考虑到训练了大量数据的BP网络模型,能否在从未见过的模式或者有噪声污染的模式下,依然可以进行正确的分类。也就是BP神经网络具有能够将学习成果应用到新知识的能力。4)容错能力:大多数其他人工神经网络部分的神经元被破坏,像一台大机器或一辆大货车少了零件,就不能正常工作或降低工作效率。而BP神经网络则不同,它拥有严谨的算法,即使局部神经元被破坏,依旧可以正常工作,而且不会对全部的训练造成明显的影响。这完全表现了它强大的容错能力。第3章语音特征信号3.1语音特征信号识别语音识别是一门交叉学科,又是一个把人类的声音通过机器转换为数字模式,机器提取声音信号再转换成文字或指令的过程。语音识别是模式识别的一个研究领域,更是本课题实现语音分类的必经之路,就像泥瓦匠盖房子,只有先从地基开始,才能陆续的添砖加瓦,把房子盖成。这语音识别就好比房子的地基,不仅先从它开始,而且还要扎稳地基才能保证房子的稳固。3.1.1倒谱系数法人们运用人们本身的听觉感官的人体机理在梅尔标度频率域提炼出的信号,其倒谱参数为梅尔倒谱系数。而他的主要实验因素是凭借人们的听感对于音频信号的反应运用研究。梅尔刻度是运用人体听觉感官对于高音的反应变化为判定基础所总结出的非线性频率刻度,它与信号频域频率f的关系可以表达如下:F其中,Fmel是以Me1为单位的感知频率,f预处理FFT预处理FFT音频mfcc求对数DCTMel滤波能量谱线能量音频mfcc求对数DCTMel滤波能量谱线能量信号信号图3.1梅尔倒谱系数特征参数提取原理框图如图3.1所示,这是MFCC特征参数提取的过程,第一步是预处理,主要操作是分帧、加窗;第二步是傅里叶变换,傅里叶变换的对象是预处理后的帧信号;第三步是通过谱线能量模块与Mel滤波器能量模块;最后将Mel滤波器能量模块出来的信号取对数后就得到了梅尔倒谱系数参数。3.1.2基于MATLAB的语音特征信号提取1)MALTAB提取语音信号打开MATLAB系统界面,我们利用audioread函数在命令窗口输入已经获取的语音特征信号提取程序,同时直接设置好采样频率与采样点数。接下来我们需要提前将一段音频截取并保存在容易找到的文件夹内,方便之后的调取,获取的音频格式应该是*mp3或其他格式,我使用软件千千静听将音频截取为小于8K的文件并转为*wav格式。然后,我们可以将已经处理好的音频文件及文件所在地址放入码好的程序中,就可以实现语音信号的提取了。Matlab程序源代码如下图3.2所示:图3.22)语音特征信号波形分析虽然语音特征信号提取系统的设计思想理念是相同的,但是它在每个子模块间的内容和分析过程是不同的。所以我们需要对语音的信号特征进一步展开讨论:(1)频谱分析很多时候时域分析会遇到瓶颈,总不能满足我们想要达到的目的,这就需要我们换一个思路,将时域信号转换到频域,会发现更多的语音特征供我们进一步研究,这就是所谓的频谱分析。傅里叶变换是我们完成信号从时域到频域转换的重要工具,可以把时域上连续的模拟信号被分解为包含不同频率分量的频谱,从而可以根据不同信号中包含频谱的不同进行音频的辨别和分类。不过它有缺陷,不能分析非平稳信号。为了实现本课题的目标,我又发现了一种短时傅里叶变换,它能够确定不规律的信号中信号段波形的频率和相位信息,得到傅里叶变换短时谱,可以看做是对各平稳信号波形频谱的近似。Matlab源程序代码如下图3.3所示:图3.3(2)倒谱分析倒谱参数是一个具有悠久历史的语音特点参数,是经过语音信号进行同态滤波的诞生物。同态滤波还有一个名字,为同态处理。他能把卷积关系提炼成求和关系,也就是人们所说的反卷积。倘若我们要运用反卷积对语音信号进行加工,就能运用其他提炼声门激励、通道响应信息,最终可以得到通道共振特性和基音周期,可以将其用于语音系统的编程、组合和辨别。Matlab源程序代码如下图3.4所示:图3.43.1.3语音识别的应用就目前互联网的大形势来说,现如今,科技的发展日新月异,语音识别的正确率几乎超过90%,语音识别技术已经逐渐完善,而在我们生活的各个方面都已经融入了语音识别技术。语音识别技术也已经成为了一个成熟的体系。语音识别的应用领域主要包括以下几个方面:1)智能家居。无需手动操作,无需使用遥控器,随时一个口令就可以给家中的电器(电视机、空调等)发号命令,操作简单易行,这对于有老人、儿童以及残疾人的家庭提供了不小的便利。2)语音拨号。现在智能手机已经充满了整个社会,几乎人手一个,当然智能手机的语音拨号功能也在慢慢渗透到大家的生活中。相信不久的将来,无论老人还是小孩应该都可以使用手机语音拨号了。3)智能玩具。孩子们玩得许多玩具,比如芭比娃娃、小汽车、变形金刚等等,如果孩子们可以直接与它们对话,不仅为家长减轻了照顾孩子的负担,孩子们的童年也会变得丰富多彩。我们还可以发明具有语音功能的电子看门狗,根据主人的声音就可以开门,我们出门再也不怕把钥匙落在家里了。4)自动驾驶汽车。随着当今社会科技的不断进步,不久的将来一定能够研制出一款自动驾驶的汽车,显而易见的是,这款汽车一定会配有语音智能控制系统来实现自动驾驶。这样它就能够听懂我们发出的命令,比如启动、停车、提速、降速等。不仅如此,我们只需要通过说话就能控制开窗、关门、放音乐、开大灯等诸多操作。5)智能医疗器械和工业自动化。工作人员只需坐在电脑面前发出命令,各个工作单位就可以自动的工作起来;对于医疗人员,当他们正在手术,手里拿着手术刀,就不再需要护士为他擦汗,也不需要自己去转动手术照明灯,语音控制即可。这种通过语音操作机器的方式极大地缩减了人力资源。3.2语音特征信号分类3.2.1音频分类的一般步骤简单介绍一下语音分类的一般方法如下:音频信号预处理、特征提取、训练分类器、分类结果测试。下图3.5是语音分类系统结构图,预处理特征提取训练音频预处理特征提取训练音频信号输入信号输入分类结果分类器分类结果分类器测试音频预处理特征提取测试音频预处理特征提取信号输入信号输入图3.5音频分类系统结构图以下对语音分类的步骤进行详细的讲解:1)音频信号预处理:原始的语音信号样本中可能存在着比较嘈杂的噪音,会影响到最终的分类正确率。所以我们要对语音信号进行预处理,也是语音分类可以顺利进行的根本,预处理过程能够降噪、统一信号格式,它保证了语音分类中提取的语音信号的可靠性。2)语音特征信号提取:语音特征提取是整个主程序中最先进行的部分,语音提取直接决定BP网络分类是否可行。我们需要先利用外部软件千千静听把音频从*mp3格式转为*wav格式,然后以MFCC理论为基础利用MATLAB编程的方式将*wav格式的音频提取为数据库存储于主程序所在文件夹。3)训练BP网络:训练BP网络也是决定模型分类好坏的关键步骤之一,利用特征提取后构建的MATLAB数据库,1500组训练数据,达到训练网络并能实现语音精确分类的目的。4)分类结果测试:训练后的BP网络可以测试它的分类性能了,将已提取的2000组数据除去训练数据的500组拿来测试,通过对分类结果的检测,分析BP神经网络的可行性,分类正确率是否满足课题要求,不断尝试,不断优化我们的分类模型。

第4章模型建立与实现4.1建模方法4.1.1基于人工神经网络的建模搭建模型是实现语音特征信号分类的最重要的部分之一,它就像汽车的四个轮胎,没有它我们将寸步难行,这里也是一样的道理,没有模型,我们就无法实现本课题的目标。模型的搭建下面分几步分析:第一步:确定输入和输出。模型输入参数是根据课题研究而定,在这里我们的输入是语音特征信号被提取的数据,同时我们的数据是25维的,其中后24维是语音特征信号,故输入节点为24;模型输出参数是根据神经网络模型的最终目的来确定的,本文我们要进行的是将语音分为四类,所以我们的输出为语音类别,且输出节点为4。第二步:隐含层节点的确定。隐含层是BP网络拓扑结构中最重要的部分,是实现模型自主学习的关键。下一节我们会详细介绍隐含层节点的确定方法。第三步:确定数据范围。我选择扩大训练数据的利用范围来保证BP神经网络可以充分利用边界的范围,从而达到提高可靠性的效果。相反的,我们的测试数据一定要选择在可利用范围内,以保证分类的正确率。第四步:网络训练。BP网络训练是建立模型最重要的步骤,它与最终的分类结果息息相关。网络训练是BP模型自主学习的过程,通过这种方式来实现我们选择BP网络可以更简单地进行分类的期待。我们已提取的语音特征信号有2000组,随机选择其中的1500组作为我们的训练数据,以充分达到我们训练网络的目的,并将网络分类的误差尽量降低到最小。4.1.2BP神经网络算法流程无论是三层或者四层的神经网络,其传播路径分为两种:前向传播和逆向传播。前向传播:数据输入经由模型的输入层,再由输入层和隐式层之间的权重系数,在线性转换后输入隐式层。而隐式层的输出也还需要跟输出层权重系数进行线性变换,最后才能得到模型的计算结果;逆向传播:将模型的计算结果同实际值的误差从输出层传输到隐式层再传入输出层,再由误差调整各层之间的权重系数,使得最后的误差结果变低。我们通过大量训练数据对BP模型的反复学习,才能够得到我们需要的把输出误差降到最低的模型设置参数,完成相应的模型构建。基于BP神经网络的语音特征信号分类算法一共分为三部分:BP神经网络构建、训练和分类,算法流程图如图4.1所示。BP神经网络构建BP神经网络构建BP神经网络训练N构建合适的BP神经网络BP神经网络初始化BP神经网络训练构建合适的BP神经网络BP神经网络初始化BP神经网络训练结束系统建模系统建模系统建模BPBP神经网络分类BP神经网络分类BP神经网络分类Y测试数据测试数据图4.1算法流程4.1.3隐含层节点数的确定为达到降低网络误差,提高精度的目的,一般有两种方法可以实现。第一种是增加隐含层数,这种方法会造成网络复杂化,导致网络的训练时间延长和增大“过拟合”出现的可能性;第二种在3层网络的前提下,增加隐含层节点数,在达到同样的训练效果时,这种方法更容易实现。因此,本课题将网络层设置为3层。隐含层神经元的个数也是决定网络能否成功建立的关键。当神经元个数较少时,BP神经网络无法充分提取训练样本的相关特征,获取足够的信息进行仿真,从而大大降低网络的可靠性:当神经元个数过多时,则会产生训练数据过度拟合、训练时间过长的问题。目前并没有一个理想的解析式来确定合理的隐含层节点数,在理论上也还没有科学的和普遍的确定方法。一般认为,隐含层节点与求解问题的要求、输入输出单元多少都有直接的关系,需综合多方面的因素进行设计,在具体设计时比较实际的做法是通过对不同神经元数进行训练对比以及不断的数据测试得到个相对接近实际的估算值。因此,可参考下列经验公式:(1)i=0nCMi>k,k为样本数,M为隐含层神经元个数,n(2)M=n+m+P,m和n分别为输出层和输入层的神经元个数,(3)M=log2如果不能满足上述要求,BP网络模型的系统误差就会趋近于零,而与训练样本的特性无关,这也就失去了它本身的实用价值。同时,样本也需要分成几部分并采用“轮流训练”的方法才可能得到可靠的BP神经网络模型。根据以上所述要求,我选择隐含层节点数从10开始试验,然后在这个值的基础上逐渐增加,一共做了20组数据如下表4.1所示。通过比较每次BP神经网络给出的正确率,最后我选择隐含层节点数为25,相对来说,这四类语音的分类效果比较稳定。表4.1隐含层节点数及正确率正确率隐含层节点第一类第二类第三类第四类100.96031.00000.40520.9423110.40831.00000.99140.8905120.99261.00000.21370.8583130.90161.00000.66390.9291140.85341.00000.76520.8980150.96551.00000.35480.9449160.68291.00000.83100.8293170.76761.00000.70730.9450180.94871.00000.27070.8806190.77971.00000.86050.8140200.47151.00000.97370.9071210.69231.00000.90300.9459220.89831.00000.59520.8984230.71961.00000.83330.8898240.86291.00000.60710.8413250.74401.00000.81250.9725260.27351.00001.00000.9440270.94071.00000.30770.9291280.92131.00000.51180.9068290.65521.00000.91340.9060BP神经网络的构建与系统输入输出的数据特点密切相关,我们已经提取的语音特征信号是24维的,输入节点就是24,我们需要将已提取语音信号分为四类,所以输出节点就是4,根据以上逐步实验得到的隐含层节点是25,所以我们的BP神经网络结构为24-25-4。现在已经一共提取了2000组待分类的语音特征信号,其中可选择1500组数据作为训练数据提供给BP网络模型学习,剩余500组数据将作为测试数据检验已构建的BP网络模型的分类能力是否能达到我们课题的要求。4.2MATLAB实现BP网络模型MATLAB是被国际公认的,最实用的,最优秀的数学应用软件,它的功能分为数值分析、信号处理及矩阵运算等若干项,给使用的用户以方便的、界面友好的体验。自从MATLAB应用市场以后,相继为各领域推出了实用有效的工具箱,上百种工具箱让我们能够直观、方便地分析、仿真等工作。同时,它也为我们的课题提供了以神经网络为基础的MATLAB神经网络工具箱,其中包含了大量简单的BP网络算法函数,能够为我们课题的研究提供便利有效的工具。显然,通过神经网络工具箱更容易实现BP神经网络,但在这里我们将按照BP神经网络理论,在MATLAB软件中编程实现语音特征信号分类算法。通过编程的方式对于BP神经网络的实现上可能会有一定的困难,过程相对来说会有一些繁琐,不过对于我们在实质上深刻理解BP神经网络有很大的帮助。4.2.1归一化方法及MATLAB函数训练完成后,我们需要对已经训练好的BP网络模型进行测试。测试前,一件必要的事情是将测试数据归一化,目的是避免造成较大的网络预测误差。由于各维数据间数量级差别较大,所以我们将所有测试数据都转化为[0,1]之间的数即可。下面根据数据归一化的两种方法进行了简单的对比并最后选择了最大最小法来帮助我们完成课题研究。最大最小法。函数形式如下:x上式中,xmin是数据序列中的最小数;x平均数方差法。函数形式如下:x上式中,xmean是数据序列的平均值;x选择最大最小法作为本课题的归一化方法,我们采用MATLAB自带函数mapminmax,该函数使用简单,有很多种形式,它还可以用于测试数据的归一化和反归一化,最常见的使用方式如下图4.2、4.3所示:图4.2图4.34.2.2数据选择和归一化利用预先下载好的四类语音片段,其中包括流行、摇滚、民谣和古筝,根据梅尔倒谱系数法,通过MATLAB软件编程提取出四类音乐的语音特征信号,转换为数据的格式为500×25的,并分别存储在归属于MATLAB当前文件夹的data1.mat,data2.mat,data3.mat,data4.mat数据库文件中,以便我们后续程序中的引用。将四类语音信号打乱重新组合为一组,就是一共2000组25维的数据,其中第一维是类识别标识,后24维是语音特征信号。随机选取1500组作为训练数据供BP网络模型学习,另外500组作为最后分类实验的测试数据,并对训练数据进行归一化处理。4.2.3BP神经网络结构初始化主程序运行之初,没有具体权值和阈值,我们随机赋予BP神经网络初始权重。程序见附录。4.2.4BP神经网络训练在执行本课题的网络训练是我发现了BP算法的一些不足,比如收敛速度比较慢、需要大量的训练时间等。查阅资料后,我学习了一种增加动量项的方法,从理论上来看这种方法可行而且操作简单,只需在原程序上稍加改动即可。实验过程中可以看出这种方法是很有效果的,多次试验过后,我找到了随着学习率和动量因子的变化,所需的学习次数的规律,如表4.2所示。

表4.2不同学习率和动量因子下所需的学习次数ηα0.010.020.030.040.050.3795040412702204516500.4681734442320175814210.5568328751941147511950.645492307156511969750.73142174211959277690.822661181843678568通过上述表格可以轻易地得出以下结论:当动量因子或者学习率中有一项保持不变,相应改变另一项,可以达到减少学习次数的效果,同时还改善了我们课题的BP网络的学习速度。根据以上所述分析的情况,为了可以有效地解决训练过程复杂的问题,本课题使用增加动量的方式,带附加动量的权值学习公式如下:ω上式中,ωk、ωk−1、ωk−2分别为k、k-1、k-2图4.4用训练数据训练BP神经网络,在训练过程中根据输出层和隐含层对比得出的网络预测误差调整网络模型的权值和阈值。程序见附录。4.2.5BP神经网络分类用已经学习了1500组训练数据的BP神经网络分类模型对其他500组测试数据进行分类,并分析分类结果。程序见附录。4.3结果分析BP神经网络分类误差如图4.5所示。图4.5

分类结果如图4.6所示。图4.6BP神经网络分类正确率如图4.7。图4.7从以上程序运行结果可以明显的看出,BP神经网络模型基本可以实现本课题的要求,能够将提取的语音信号分类,并且还有接近90%的正确率。

结论在语音信号处理领域,语音特征信号分类是一个十分重要的研究。本课题中使用MATLAB软件以梅尔倒谱系数法为依据提取出语音特征信号,然后通过构建BP神经网络、训练网络,最后实现了对语音特征信号的分类,结果分析显示我们算法的平均分类正确率能够达到88%,尤其是第二类语音的分类效

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论