摘 要: 针对Baum-Welch算法依赖于初始值的选取而容易陷入局部最优解的问题,基于全局优化的思想,提出了一种改进的HMM语音识别算法。该算法将遗传算法应用到HMM模型训练中,得到了全局最优解。实验结果表明,所提出的算法使用有效,识别率显著提高。
关键词: 遗传算法;HMM模型;语音识别
近年来,随着语音识别技术的不断发展,语音识别系统的性能不断提高,隐马尔可夫模型方法是当中的一个主要识别方法。语音识别系统的识别率十分依赖于模型的训练,而经典的训练算法(Baum-Welch算法)有一个致命的弱点,即最终所得的解十分依赖于初始值的选取,所以总是局部最优解,影响了整个系统的识别率。本文将遗传算法植入HMM模型参数的优化当中,使得整个语音识别系统的识别效果大大改善。
1 遗传算法
遗传算法将自然界的生物进化原理引入待优化参数形成的编码串联群体中,按所选择的适应度函数通过遗传中的复制、交叉及变异对个体进行筛选,使得适应度高的个体被保留下来,组成新的群体。通过不断迭代,保留下的个体适应度不断提高,直到满足一定的条件。从数学的角度解释,可以简单地认为,基因重组使子代基因趋向于局部最优解,而基因变异能使子代基因突破局部范畴,经过多代的交叉和变异,达到全局最优解。
根据待优化问题的数学模型,定义适应度函数F(ai),其中ai为其中的一条染色体,则F(ai)就是判断该染色体优劣的依据。对于每一代基因,计算所有染色体的适应度函数,进行排序,选择一定数目的优秀染色体,用于产生子代的父代样本。
复制操作只能从旧种群中选择出较优秀的染色体,但是不能创造出新的染色体。交叉操作模拟了生物进化过程中的交配过程,通过两条染色体的分离重组,产生新的优良物种。图1为多点交叉重组的示意图。交叉过程为:在匹配池中任选两条染色体,随机选择一点或多点交换点,然后交换双亲染色体交换点右边的部分,即可得到两条新的子代染色体。
最佳基因是在一代一代的基因重组和基因变异中产生的。基因突变用来模拟生物在自然的遗传环境中由于各种偶然因素引起的变异突变,它以很小的概率随机地改变染色体编码串中的某一位。变异算法有利于局部最优处跳出,防止算法过早地收敛。
遗传算法的具体实现步骤如下:
(1)随机产生最初的染色体群体p={a1,a2,…,aL},ai为其中的一条染色体。
(2)计算各个染色体的适应度函数F(ai),并对适应度函数F(ai)进行排序,根据设定的门限选取一定数目的优秀染色体作为产生子代染色体的父代样本。
(3)以一点或多点交叉产生新的子代染色体,交叉点随机生成。
(4)设定变异概率门限,根据生成的随机数决定染色体中的某个变量是否有突变发生。
2 HMM说话人识别系统
识别主要有两个任务:一个是对每个HMM模型的训练,也就是计算HMM参数;另一个是识别任务,也就是已知了参考模型的HMM参数,决定未知模式与哪个参考模式是最佳匹配。训练采用Baum-Welch算法,识别采用Viterbi算法。
4 实验结果分析
实验基于HMM进行语音识别,训练数据取自10人,在不同SNR下获取语音数据,时间长度为5 s,采样率为8 kHz,A/D转换精度为16 bit,单声道。遗传算法的优化过程中适应度函数F的变化过程如图3所示。语音识别系统识别结果如表1所示。
表1中,系统I为基于HMM的语音识别系统,系统II为基于遗传算法改进的HMM语音识别系统。从实验结果可以看出,基于遗传算法改进的HMM模型对语音识别率有较大改善,平均提高了4~5个百分点。
本应用基于HMM语音识别算法,结合遗传算法进行HMM模型训练并将其应用于到语音识别中。经过实际验证,计算简单,效果好,基本达到了设计目的和现实要求。
参考文献
[1] 张思才,张方晓.一种遗传算法适应度函数的改进方法[J].计算机应用与软件,2011,23(2):108-110.
[2] MANIEZZO V. Genetic evolution of the topology and weight distribution of neural networks[J]. IEEE Transactions on Neural Networks, 1994, 5(6):900~909.
[3] TERASHIMA R, YOSHIMURA T, WAKITA T. Prediction method of speech recognition performance based on HMM-based speech synthesis technique[J]. IEEE Transactions on Electronics, Information and Systems,2010,130: 557-564.
[4] 胡广书. 现代信号处理教程[M].北京:清华大学出版社,2004.