时间:2024-07-28
陶 洁,张会林
(上海理工大学 光电信息与计算机工程学院,上海 200090)
近年来,随着语音识别技术的不断发展,语音识别系统的性能不断提高,隐马尔可夫模型方法是当中的一个主要识别方法。语音识别系统的识别率十分依赖于模型的训练,而经典的训练算法(Baum-Welch算法)有一个致命的弱点,即最终所得的解十分依赖于初始值的选取,所以总是局部最优解,影响了整个系统的识别率。本文将遗传算法植入HMM模型参数的优化当中,使得整个语音识别系统的识别效果大大改善。
遗传算法将自然界的生物进化原理引入待优化参数形成的编码串联群体中,按所选择的适应度函数通过遗传中的复制、交叉及变异对个体进行筛选,使得适应度高的个体被保留下来,组成新的群体。通过不断迭代,保留下的个体适应度不断提高,直到满足一定的条件。从数学的角度解释,可以简单地认为,基因重组使子代基因趋向于局部最优解,而基因变异能使子代基因突破局部范畴,经过多代的交叉和变异,达到全局最优解。
根据待优化问题的数学模型,定义适应度函数F(ai),其中 ai为其中的一条染色体,则 F(ai)就是判断该染色体优劣的依据。对于每一代基因,计算所有染色体的适应度函数,进行排序,选择一定数目的优秀染色体,用于产生子代的父代样本。
复制操作只能从旧种群中选择出较优秀的染色体,但是不能创造出新的染色体。交叉操作模拟了生物进化过程中的交配过程,通过两条染色体的分离重组,产生新的优良物种。图1为多点交叉重组的示意图。交叉过程为:在匹配池中任选两条染色体,随机选择一点或多点交换点,然后交换双亲染色体交换点右边的部分,即可得到两条新的子代染色体。
图1 多点交叉重组
最佳基因是在一代一代的基因重组和基因变异中产生的。基因突变用来模拟生物在自然的遗传环境中由于各种偶然因素引起的变异突变,它以很小的概率随机地改变染色体编码串中的某一位。变异算法有利于局部最优处跳出,防止算法过早地收敛。
遗传算法的具体实现步骤如下:
(1)随机产生最初的染色体群体 p={a1,a2,…,aL},ai为其中的一条染色体。
(2)计算各个染色体的适应度函数 F(ai),并对适应度函数 F(ai)进行排序,根据设定的门限选取一定数目的优秀染色体作为产生子代染色体的父代样本。
(3)以一点或多点交叉产生新的子代染色体,交叉点随机生成。
(4)设定变异概率门限,根据生成的随机数决定染色体中的某个变量是否有突变发生。
识别主要有两个任务:一个是对每个HMM模型的训练,也就是计算HMM参数;另一个是识别任务,也就是已知了参考模型的HMM参数,决定未知模式与哪个参考模式是最佳匹配。训练采用Baum-Welch算法,识别采用Viterbi算法。
给定一个观察值序列 O=o1,o2,…,oN,以及一个需要通过训练进行重估参数的 HMM模型 M={A,B,π}。重估公式如下:
利用式(1)、(2),训练步骤如下:
(1)给未知模型假设初始条件,计算 P(X|S)。
(2)使用式(1)、(2),由当前的模型参数的估计值,重新估计新的模型S的参数。
(3)计算 P(X|S)。 如果 P(X|S)-P(X|S)>ε,S=S 并且回到步骤(1),否则停止。
给 定 一 个 观 察 值 序 列 O=o1,o2, … ,oN, 以 及 一 个HMM模型M={A,B,π},在最佳的意义上确定一个状态序列 S=s1,s2,…,sN。 这里的“最佳”是指使 P(O,S|M)最大。 P(O,S|M)计算式为:
观察式(3),定义每步转移的代价为
基于遗传算法改进的HMM系统的设计模型如图2所示。
图2 改进型HMM系统
在将遗传算法引入HMM训练的过程中,首先要解决的是染色体的构造问题。将HMM模型的所有参数排列成一串,构成染色体。对于语音识别,采用自左向右的HMM模型,本文中为5状态自左向右只含一阶跳转的HMM模型。HMM模型 λ={A,B,π},参数由初始状态向量π、状态转移矩阵A及每个状态的输出概率密度函数组成。向量π含有5个元素,转移矩阵A中共含有元素25个,其中不为0的参数为9个。各状态的输出概率密度函数 bj(o)=ΣcjkN(o,μjk,Σjk)。 其中 j代表状态,cjk为混合系数,N()为高斯分布,μjk为平均矢量,Σjk为协方差矩阵。语音特征参数采用24阶Mel倒谱系数,选取为5个高斯概率密度函数的混合。将初始状态向量π、转移矩阵A和混合系数矩阵c的参数共5+9+25=39个按行组成一串,形成染色体的前一部分,将平均矢量μjk和协方差矩阵Σjk共 5×5×(10+24×24)=14 650 个参数按行组成一串,形成染色体的后一部分。在染色体前一部分的行向量之和均为1。因此,需要在生成每一代染色体前,对这一部分行向量所对应的每一段染色体进行归一化,以满足HMM的约束条件。
实验中,染色体的前一部分依概率进行二点或多点交叉,而后一部分染色体只进行多点交叉,多点交叉概率为 ρc=0.8。染色体前一部分的变异概率为 ρm=0.1,后一部分变异概率为ρm=0.04。此外,设置系统最大进化代数为 100。
实验基于HMM进行语音识别,训练数据取自10人,在不同SNR下获取语音数据,时间长度为5 s,采样率为8 kHz,A/D转换精度为16 bit,单声道。遗传算法的优化过程中适应度函数F的变化过程如图3所示。语音识别系统识别结果如表1所示。
图3 适应度函数F变化过程
表1 两种系统不同SNR下识别率比较
表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.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!