神经网络声音信号分类ppt课件_第1页
神经网络声音信号分类ppt课件_第2页
神经网络声音信号分类ppt课件_第3页
神经网络声音信号分类ppt课件_第4页
神经网络声音信号分类ppt课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

BP神经网络的数据分类,语音特征信号分类,目录,一、问题的提出 二、程序流程 三、实验结果 四、参数选择对结果的影响 五、神经网络的容错能力 六、并行训练的尝试 七、增加隐含层的尝试 八、总结,一、问题的提出,本任务选取了民歌、古筝、摇滚和流行四类不同音乐,每段音乐都用倒谱系数法提取5OO组24维语音特征信号,用BP神经网络实现对这四类音乐音的有效分类。 基于BP神经网络的语音特征信号分类算法建模包括BP神经网络构建,BP神经网络训练和BP神经网络分类三步,算法流程如图所示。,二、程序流程,神经网络选择24输入,1个隐含层,隐含层中含有25个节点和有4个节点的输出层。 激活函数选择为: 其中a=1,b=1 步长=0.1,动量常数=0.01 样本数量:500个 训练回合数:100次,二、程序流程,为了方便编程和计算,将神经网络中的计算写成向量运算:,三、实验结果(1),首先我们看一下训练中权值的变化 串行训练时,每输入一个样本,都会改变一次网络的权值。对每次隐含层和输出层的权值的变化量 中每个元素求平方和。即可看出每次权值更新时权值变化的大小。 按理来说,随着训练的进行,权值的变化率应该越来越小,最终趋近于0。,三、实验结果(1),这个结果有点怪。每次权值的变化并没有按想象中的那样下降并趋近于0。但是训练后得到的神经网络是正确的。 我对书中给的程序进行了这种尝试,得到的权值也类似,没有明显下降。 据我分析,权值的绝对变化率并不能反映出网络是否趋于稳定。有可能权值变化率很大,但其造成的影响很小。 那下面考察一下权值的相对变化率,即以变化率除以权值的大小。,三、实验结果(1),可见隐含层的权值变化还是很理想的,但输出层同样没趋于0。 也许是样本之间差异太大,输出的函数不连续,所以系统实在无法找到合适的权值,满足每种样本的需求。或者是由于串行训练的局限性造成的。,三、实验结果(2),现在我们来看一下输出误差的变化。我们期望每回合的训练,输出误差的大小 应该逐步减小,直到接近于一个平稳的值。,这个结果还是比较正确的。增加训练回合的次数,可以降低误差,最终在一个比较小的值附近浮动。,三、实验结果(3),下面考察一下分类的正确率: 进行了200次训练和测试,每次对500个样本进行训练,并对2000个样本进行测试。得到每次平均正确分类个数为:1695.6个,标准差为58.9个。可得正确检测率为(843)% 对书上的程序进行测试,得到正确检测率为(854)% 可见,我的结果是正确的。,四、参数选择对结果的影响,在这次神经网络实验中用到了很多参数,它们几乎都会对网络的学习和工作造成极大的影响。 下面主要研究隐含层节点数N、步长、动量常数、激励函数参数a,b,对网络的影响。,从表格中看出,N=5时,网络的运行结果就几乎可以满足要求。随节点数增加,效果也没有特别明显的改善。所以,隐含层选择5个节点就够了。,四、参数选择对结果的影响(1),在不改变其他条件的情况下,更改隐含层的节点数N,考察训练样本的正确检测概率和全部样本的正确检测概率(每组重复5次):,四、参数选择对结果的影响(2),不同步长与动量常数对输出误差收敛的影响: 步长分别选取为0.01,0.1,0.5,0.9,动量常数分别选取为:0,0.01,0.1,0.5。,从图中可见,当步长增大时,输出误差下降变快。但当步长太大时,输出会出现错误。这应该是由于算法发散所造成的。 动量常数增大有时候也会增快误差的下降,但取值过大时候也会造成输出结果的错误。可见对算法的稳定性也有影响。 实验结果表明,在这个网络中,选择=0.1的时候比较合适。,四、参数选择对结果的影响(3),激活函数f=atanh(bx)不同参数a,b对输出误差影响: 分别令a、b=0.6,1,1.5,2。,从图中,可以看出函数参数对输出会产生很大的影响,尽管其影响的效果不是很有规律。 由于网络比较复杂,激活函数也是非线性的。所以其参数造成的影响不是很容易解释。 总体来说,当b值比较大的时候,网络的输出结果将完全错误;当b值比较小时,网络可以正常工作,虽然误差下降的速度很慢。这应该是由于b较大时,激活函数导数的衰减很快造成网络节点达到饱和。 实验的结果表明,取参数a=1,b=1或1.5的时候,效果最好,四、参数选择对结果的影响(3),选择激活函数为f=1/(1+exp(-x)的时候,步长分别选取为0.01,0.1,0.5,0.9,动量常数分别选取为0,0.01,0.1,0.5,的输出误差结果:,可见,选择了不同的激活函数,对网络训练的影响很大。在这个训练中对于步长和动量系数的选取远比之前的双曲正切函数随意。 而且,当参数选择合适时,收敛速度也比双曲正切函数的网络快一些。 从图中看出,当步长选择更大的时候,训练收敛速度更快。而动量常数选择较大的时候,训练的收敛速度也会更快。,五、神经网络的容错能力,将神经网络的一些隐含层损坏,即使其输出为0。检验网络的正确检测率变化。 在损坏一定数量的神经元后,网络的正确检测率不会太剧烈的下降,说明其容错能力很强。 但若有太多神经元同时损坏,则神经网络还是无法使用的,六、并行训练的尝试,尝试了一下并行训练,具体做法是每次输入的样本得到一个权值改变量,每回合结束后,将这些改变量取平均值去更新权值。 分别检验其权值的改变量、输出误差以及参数对其性能的影响。(在不加说明的情况下,参数均与串行训练的参数相同),六、并行训练的尝试(1),可见,在并行训练中,权值的变化总体减小并最终趋近于0。这点看起来要强于串行训练。,首先我们看一下训练中权值的变化: 并行训练时,每回合,都会改变一次网络的权值。 网络权值变化程度的定义同串行训练时一样。,六、并行训练的尝试(2),图中看出,输出误差收敛很慢,并且,其最终收敛到的误差强度也远高于同等参数下,串行训练得到的误差值。 这可能是由于训练陷入了局部最小值。 在这个参数下,检测的正确率也不高,只有(81.20.2)%。不过,比串行训练好的是,对于每次训练,网络的性能差异不大,所以用起来可能会更保险一些。,六、并行训练的尝试(3),不同步长与动量常数对输出误差收敛的影响: 步长分别选取为0.01,0.1,0.5,0.9,动量常数分别选取为:0,0.01,0.1,0.5。,从图中可看出,步长选择较大时,误差收敛较快。而且大部分情况下,动量常数较大时误差收敛更快。但是在步长和动量常数都很大时,输出会出现错误。 另外,相比于串行训练,它在同样的条件下,虽然训练最终逼近的误差比较大,但误差发散的情况少一些。基本不会因为步长和动量常数选取不当而使训练出现错误。,七、增加隐含层的尝试,实验中,将隐含层增加到了两层(24884)和三层(248874),进行测试。 下面分别给出1、2、3层隐含层,进行100、300、1000次迭代得到的输出误差曲线。以及正确检测的概率。,从结果中可看到,对于隐含层只有一层的情况,误差随迭代次数增加,刚开始下降的很快,但是最终的误差维持在较高的高度。 两层隐含层和三层隐含层最终迭代得到的输出误差几乎一样,迭代次数很多时,正确检测概率也相同。 但三层隐含层的网络误差随迭代次数下降的很慢,迭代次数少时正确检测概率不高,而且同样迭代次数,其训练时间更长。所以选择有两个隐含层的网络比较合适。,八、总结,这次用BP神经网络对数据分类的实验,总体上是成功的。实验中,我搭建了神经网络,并通过改变参数来检验其效果。得以下结论: 1、训练得到的神经网络的性能并不固定,会在一定范围内波动。 2、训练时候的步长、动量常数和激活函数对训练的影响非常大。尤其是若激活函数没选好,会严重增加训练的难度。 3、即使输入数据维数很多,网络每层的节点数并不一定要取太多。 4、神经网络的容错性很好,在破坏一定数量的神经元后,网络还可以正常工作。 5、并行计算时,网络训练很慢,并且容易陷入局部最小值。性能不太好,但是更稳定。 6、神经网络的隐含层层数并不是越多越好,有时候增加一层会明显改善网络的性能,但是继续增加反而可能破坏其性能。,八、总结,此外

温馨提示

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

评论

0/150

提交评论