未来智库 > 神经网络论文 > 基于ELM神经网络的语音识别研究

基于ELM神经网络的语音识别研究

发布时间:2018-07-01 01:06:00 文章来源:未来智库    
    关键词:语音识别 ELM SVM 时间规整
    中图分类号:TN912.34 文献标识码:A 文章编号:1007-9416(2015)01-0000-00
    近二十年来,语音识别技术取得显著进步,开始从实验室走向市场。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术。
    其中涉及的主要过程分为三步,首先是信号的预处理,其中包括预加重、加窗分帧、端点检测等。然后对其进行特征提取,常用的特征提取方法有Mel频率倒谱系数[1](MFCC),其中MFCC具有较强的抗噪能力以及模拟人耳听觉特性,识别性能较LPCC有一定的提升。最后是对语音信号进行训练识别,目前比较流行的识别技术包括概率统计模型和模板匹配模型2种[2]。
    当语音识别前两步方法相同时,得到的特征参数也相同,最后的训练效果取决于所用训练模型。在模板匹配模型中,比较经典的训练方法是人工神经网络(ANN)算法,该方法具有很多不同的网络,而不同的网络具有不同的优势和缺陷。本文采用的ELM就是一种ANN算法。
    基于ELM的语音识别系统分为以下几个部分:语音信号的采集、预处理、语音信号特征参数的提取和ELM模型的训练和识别。
    1 特征提取及后期处理
    1.1 MFCC参数提取
    MFCC是基于人的听觉机理来分析语音的频谱,人对频率的感觉并不是成线性对应关系,而是一种非线性对应关系。MFCC就是利用这种关系,将原来以Hz为单位的实际频率转换成Mel为单位的感知频率。
    其具体转化关系如下:
    MFCC参数计算流程如下:
    (1)首先对信号进行预处理,一般包括预加重、分帧、加窗;
    (2)对每帧信号进行快速傅里叶(FFT)变换,然后求其频谱,进而求得谱线的能量;
    (3)把每帧信号谱线能量通过Mel滤波器,从而得到输出滤波器后的能量;
    (4)对所有滤波器输出的能量做对数运算,再进一步做离散余弦变换DCT可得到MFCC参数。
    具体原理框图如图1所示。
    图1 MFCC参数提取原理框图
    1.2 特征参数的时间规整
    考虑提取后语音信号的帧数也不同,需要对特征矩阵进行降维,本文采用时间规整算法对数据进行降维。
    若语音信号经过端点检测后有效语音帧数为n,为了使神经网络输入层节点个数固定,需要将其规整到m帧。建立一个时间规整网络,网络输入层有n个节点,最后输出层有m个节点,每个节点对应一帧语音特征向量。从第一层开始分别求相邻特征向量的距离,并把距离最近的两帧向量按照一定的权重合并为一帧送入下一层,而本层其余节点对应的帧向量则直接进入下一层。这样在第一层就少了一帧,按照这种方式每经过一层网络就会压缩一帧语音数据。最后经过n-m层网络后特征参数规整到m帧。
    1.3 特征参数的归一化
    数据归一化是神经网络预测前对数据常做的一种处理方法。本文采用MATLAB8.3中mapminmax函数对特征参数进行归一化,其公式为:
    其中 为需要进行归一化处理的数据, 是一向量数据中的最小值, 是一向量数据中的最大值, 则代表处理后的数据。最后归一化后数据范围为(0,1)。
    2 极限学习机
    2006年,Huang等人提出了极限学习机算法(ELM),该算法是一种快速训练算法,它是在单隐含层神经网络基础上的一种改进算法。
    具有 个隐节点的单隐层前向神经网络(SLFNs)的数学模型为
    其中 是第 个隐含层结点相连的输入权值, 是第 个隐含层结点的偏差, 是第 个隐含层结点与输出层结点之间的权值。 表示关于输入 在第 个隐含层节点的输出。
    给定 个不同样本 ,其中 , 。
    若网络的实际输出等于期望输出,则有
    上述N个等式可以写成如下矩阵形式
    Huang证明[3]:如果激励函数无限可微时,建立网络时设置的输入层到隐含层的权值和阈值为随机数,不管训练多少次,训练稳定时隐含层到输出层的权值是固定不变的值。从而,SLFNs的训练过程,就是寻找线性系统 的最小二乘解 ,根据定理可知该线性系统的最小范数最小二乘解为 。其中 是隐含层输出矩阵H的Moore-Penrose广义逆。
    ELM算法可总结如下[4]。
    给定训练数据集 ,激活函数为 ,隐节点个数 。
    (1)随机选取输入权值 及阈值 , ;
    (2)计算隐层输出矩阵 。
    (3)计算输出权重 ,其中 。
    3 实验及结果分析
    本文的实验是在MATLAB8.3平台上完成的,包括语音的采集以及语音识别系统的训练和识别。
    3.1 语音信号的采集
    语音信号是在安静实验环境下通过GoldWave录音程序进行采集。采样率为8000Hz,采样位数为16bit,编码采用标准PCM。共采集16个人的说话声音(8男,8女),录音内容为0~9十个数字语音,其中每个数字语音每人录6次,其中5个用来训练,1个用来识别。则训练样本为800个,测试样本为160个。
    3.2 语音预处理和特征提取
    首先对样本信号进行预加重,让语音信号通过一阶高通滤波器,其传递函数为: 。再对信号进行加窗分帧,窗函数选用汉明窗,帧长取180个,帧移取60个。采用双门限法进行端点检测,再对每一个信号提取12维MFCC特征参数。经过端点检测后获得的n帧特征参数采用时间规整算法压缩到5帧特征参数,组合形成为60维的特征向量。最后对整个语音库的特征矩阵进行归一化。
         3.3 实验仿真
    建立ELM网络模型,网络输入层节点数为60个,输出层节点数为10个。经过实验仿真,ELM的识别率与隐层节点个数有关,随着节点个数的增加,训练集识别率和测试集识别率上升,当节点个数达到一定数目的时候,训练集识别率会接近100%,而测试集识别率会开始平衡在一个范围内。考虑综合性能,隐层节点数取200个,此时识别效果良好,训练时间短。
    本文采用支持向量机(SVM)与ELM进行实验比较,建立SVM模型,并采用“一对一”方法进行多分类问题延图延拓,即对于本文10分类情况,采用45个二分类器。
    网络每次训练后的测试集识别率跟初始权值有关,即每次训练网络后的测试集识别率会小范围波动,为了增加实验结果的说服性,采用5次实验,5次实验结果均为训练集识别率达到100%时的测试集识别率,实验编号分别为1-5,最后结果取5次实验结果的平均值。为了体现ELM的快速学习性能,测试5次实验训练时间和测试时间总和的平均值,实验结果如表1所示。
    表1 两种算法的性能比较结果
    算法 1 2 3 4 5 识别率(%) 时间(s)
    ELM 96.9 96.3 96.9 96.9 96.3 96.7 0.11
    SVM 95.0 95.0 95.0 95.0 95.0 95.0 11.52
    4 结语
    通过与SVM进行比较,ELM在训练时间上明显短于SVM,SVM训练时间约为ELM的105倍。识别效果上,ELM的识别略高于BP网络。实验表明,ELM具有快速学习能力,对于语音识别具有很大的实用价值。
    参考文献
    [1]Han W, Chan C F, Choy C S, et al. An efficient MFCC extraction method in speech recognition[C]/Circuits and Systems, 2006. ISCAS 2006. Proceedings. 2006 IEEE International Symposium on. IEEE. 2006: 4 pp.
    [2]HUNG H, HUANG Yan, FRIEDLAND G, et al. Estimating dominance in multi-party meetings using speaker diarization[J]. IEEE Transactions on Audio, Speech and Language Processing, 2011, 19(4): 847-860.
    [3]Huang G, Zhu A, Siew C. Extreme learning machine theory and applications[J]. Elsevier Neurocomputing, 2006, 70(1-3): 489-501.
    [4]李彬,李贻斌.基于ELM学习算法的混沌时间序列预测[J].天津大学学报,2011,08:701-704.
    收稿日期:2015-01-15
    作者简介:王威(1990―),男,江西省南城县人,硕士研究生,研究方向:智能自动化;胡桂明(1961―),男,广西桂林人,博士,硕士生导师,研究方向:智能优化控制和智能信息处理。
转载请注明来源。原文地址:https://www.7428.cn/vipzj20734/
 与本篇相关的热门内容: