石鑫华视觉论坛

 找回密码
 注册会员
查看: 4019|回复: 3

[图像处理] 基因算法训练连续隐马尔柯夫模型的语音识别

[复制链接]
  • TA的每日心情
    擦汗
    昨天 08:04
  • 签到天数: 3382 天

    连续签到: 4 天

    [LV.Master]2000FPS

    发表于 2013-5-19 16:31:40 | 显示全部楼层 |阅读模式 来自:广东省东莞市 联通

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    隐马尔柯夫模型(HMM)方法现已成为语音识别的主流技术,该方法在语音识别时识别速度较快,并且有较高的识别率。

    在HMM中,又分为离散HMM(DHMM)和连续HMM(CHMM)。由于CHMM直接以帧语音特征向量本身为观测序列,而不是像DHMM那样先将语音特征向量经矢量量化为观测符号,因此CHMM有优于DHMM的识别精度。然而,由于CHMM参数多,传统的训练方法采用迭代法,先假设初始值,用语音信号的观测序列对该初始值进行训练,也即按照一定的方法对这些估值进行提纯,对提纯了的估值要接着进一步的提纯,直到再没有改进的余地,达到某个局部最佳值为止。传统的训练方法不保证训练得到全域最优解,而且训练所需要的时间非常巨大。本文着重研究了基因算法[4,5],并按照CHMM的特点构造染色体,用基因算法对CHMM进行训练。基因算法自身的特点使得训练结果趋向于全域最优解。同时,由于只需要用Viterbi算法计算语音的观测序列对某一CHMM模型的相关概率,用作基因算法的适应函数,故该算法可以提高CHMM的训练速度。

    一、算法的理论基础

    基因是生物学概念,之所以将基因算法引入HMM的训练中,是因为HMM的训练过程实际上是一个在特定范围内将HMM模型进行一次次的迭代提纯,选择最优模型的过程。这和自然界物种间互相竞争、优胜劣汰的现象是相似的。
    生物的遗传基因包含在染色体中,染色体总是成对的出现,父代生物的染色体各自复制自己的基因传给子代,经过一定的交叉,基因重组形成下一代生物的染色体,来自父代的基因特性能够在子代上体现并保持下去。而在遗传的同时,又有一定的基因突变。基因突变造成生物体突变现象,打破了旧有的平衡,突破了旧的基因的活动区域,对物种的进化有很大的影响。生物进化的动力来自于遗传和选择,不论是正常的基因重新组合,还是突发的无方向性的基因突变,都可以控制对子代基因中有害淘汰,而只将有益的保留下来,使生物向好的方向进化。将较优的基因保留下来,一代又一代不断选择的结果使子代的基因收敛于某个单一的基因形式,这个基因型就是在特定优化问题的最优解。从数学的角度解释,可以简单地认为,基因重组使子代基因趋向于局部最优解,而基因突变使子代基因突破局部的范围,经过很多代的遗传和选择,达到全域最优解。
    传统的CHMM训练算法的实质是选择一个CHMM模型为初始值,也即选择初始状态向量π。状态转移矩阵A和每个状态的输出概率密度函数bj(o)=∑cjk N(o,μjk,Ujk),将其数值与观测序列一起运算,求出一个新的、优于旧CHMM的估计模型,反复迭代,直到局部最优解。可以采用几个不同的初始值,希望能够到达更好的最佳值。

    将基因算法引入CHMM的训练,就是基于将CHMM看作在特定域的有约束的寻找最佳匹配点的问题。CHMM的状态转移矩阵A和输出概率密度函数中的混合系数c矩阵的每一行向量之和为1.0,可看作是优化问题的约束条件。如果在选取CHMM的初始值时,不是选取一个初始值,而是选取一组分布于不同区域的初始值,以某一种特定的训练方法,使其趋向于全域最优解,那么最终也同样可以完成对CHMM的训练。

    二、基因算法的实现

    在自然界中,生物进化的动力来自于遗传和选择。在基因算法中,主要的操作就是模拟遗传的基因重组和基因突变,以及模拟自然选择的样本选择。

    根据待优化问题的数学模型,定义适合函数F(ai)。其中ai是某一条染色体,则适合函数F(ai)就是该染色体与目标函数的距离,或是判断该染色体优劣的依据。
    对每一代基因,计算所有染色体的适合函数,进行排序选择一定数目较优秀的染色体,作为生成下一代基因的父代样本。
    自然界中染色体成对出现,交配时一对染色体分离、重组。图1为多点交叉重组的示意图。多点交叉在实现时,可以设定交叉概率门限为ρc。染色体的长度为L,对于随机数0≤rj≤1 (j=1,2,…,L),如果rj≥ρc,那么下一个变量属于另一条基因,否则下一个变量与前一个变量属于同一条基因。

    图1多点交叉示例
    Fig.1Multi points crossover
    最佳基因是在一代一代的基因重组和基因突变中形成的,是在选择的作用下最适应的个体。基因突变有利于从局部最佳处跳出,防止算法的过早收敛。设定突变概率门限为ρm,对于随机数0≤rj≤1 (j=1,2,…,L),如果rj≤ρm,那么染色体中第j个变量有突变现象发生;否则,复制原染色体的第j个变量。

    下面给出基因算法的具体实现步骤:

    • 产生随机数,组成最初的染色体p0=(a1,a2,…,aL)。其中ai为一条染色体,由数学模型中所有的参数按某一特定的排列方式组成。
    • 计算各条染色体的适合函数F(ai)。并选其适合函数F(ai)进行排序,设定门限,选取新的父代染色体p′t。
    • 以随机方式选取染色体交叉。
    • 在自然界的生物进化过程中,基因变异是很重要的。由于某一两个元素的突变,可能导致子基因比父基因有较大的适应能力。表现在基因算法中,染色体以
    • 比较小的突变率进行小单位的变异。
    • 计算各子代基因的适应函数,是否达到结束的条件,否则转到(2)进行下一步的运算。
    三、基因算法训练CHMM

    HMM是用一个有限状态系统作为语音特征参数的生成模型,每个状态能产生连续的输出特征。HMM实际上是一个特征参数发生器,依据其产生的参数与观察到的语音参数的比较,从而识别语音。在识别时的判决依据是HMM模型的生成概率。

    在将基因算法引入CHMM训练的过程中,首先要解决的是染色体的构造问题。将CHMM模型的所有参数排列成一串,构成染色体.对于语音识别,采用自左向右的HMM模型,本文中为5状态自左向右只含一阶跳转的CHMM模型。CHMM模型中参数由初始状态向量π,状态转移矩阵A和每个状态的输出概率密度函数组成。

    向量π共含5个元素,在A矩阵中,共有元素5×5=25个,其中不为0的参数为12个。
    较为复杂的是各状态的输出概率密度函数bj(o)=∑cjkN(o,μjk,Ujk)。其中:j代表第j个状态;cjk为混合系数;N()为高斯函数;μjk为平均矢量;Ujk为协方差矩阵。语音信号由微机Sound Blaster声霸卡录音采样获得,生成wav文件采样频率为11.025 kHz.分析帧长为256点,每帧帧移为128点。采用10阶LPC倒谱,选取bj(o)为5个高斯概率密度函数的混合。将向量π、短阵A和混合系数矩阵c的参数共5+12+25=42个按行组成一串,形成染色体的前一部分,将平均矢量μ和协方差矩阵U共5×5×(10+10×10)=2 750个参数按行组成一串,形成染色体的后一部分。
    在CHMM模型中,染色体前一部分的行向量之和均为1。也就要求在产生染色体时,需对其进行一定的控制。在生成每一代染色体时,对这一部分行向量所对应的每一段染色体进行归一化,则可以满足CHMM的约束条件。

    Viterbi算法在通常的CHMM语音识别中是作为识别算法的,换句话说,使观测序列与CHMM模型经Viterbi算法的运算结果最大即为优化目标.基于这样的思想,基因算法的适合函数为:所有该CHMM对应的观测序列用Viterbi算法求其观测概率之和,运算结果越大,则该染色体越优秀。
    在实验中染色体的前一部分依概率进行二点或多点交叉,而后一部分染色体只进行多点交叉,多点交叉概率ρc=0.8。染色体前一段的基因突变概率ρm=0.1;而对于染色体的后一部分,取ρm1=0.01,对应于以一个参数为单位发生基因突变;
    ρm2=0.08,以行向量为单位发生基因突变。经基因交叉或基因突变后,对染色体的前一部分需要进行各行向量的归一化处理。每一代基因的数目为300,从中选出60条优秀的染色体作为新的父代基因,经基因重组和基因突变生成240条染色体,共同组成新一代染色体。CHMM模型的训练问题已转化为求其对观测序列适应概率最大值的问题,用基因算法求解。

    表1语音识别系统测试结果
    Tab.1Recognition rate of speech recognition system
    0123456789
    Ne1211312312
    Nr49484949474948474948
    R(%)98969898949896949896

    四、实验结果及讨论

    实验在微机上完成,由3名实验者作小字库语音识别。实验中选取0~9十个数字作为待识别语音,训练数据取自3人(A、B、C),训练时对每个字音A读40遍,B、C各读30遍。表1列出了系统的识别能力测试结果。其中,对每个字音A、B各测试20次,C测试10次。在表中,Nr、Ne分别代表正确、错误的次数,R%表示识别率。

    由表1可见,总的平均识别率为96.6%。在同样的实验条件下,用传统的CHMM训练方法,得到的识别率为93.0%,可见,用基因算法训练CHMM可在一定程度上提高识别率。这是基因算法训练时收敛于全域最优点的缘故。

    在实验中,达到以上的识别率,GA算法所用训练时间只是传统训练算法的1/5。这是因为,传统的HMM训练方法中要以每一观测序列为训练单位进行大量迭代的矩阵运算。在传统的HMM训练方法中,用某一观测序列进行训练时,首先需要计算对每一时间点的前向递推概率αt(i)和后向递推概率βt(i),该过程是迭代进行的。而后求出辅助概率函数γt(i,j),对应于状态i在t时间的第j个混合概率函数。最后还要经过大量的矩阵运算才能分别求出所有的HMM模型参数。而在GA算法中,由于只需要匹配概率,用Viterbi算法求出各观测序列对应匹配概率的log值相加即可,变乘法运算为加法运算;同时,训练是批量进行的,GA算法需要更多的内存以储存一些中间值,以存储量换取速度,因此,该算法可以节省训练时间。

    参考文献
    • Bahl L R, Jelinek F, Mercer R L. A maximum likelihood approach to cont inuous speech recognition. IEEE Trans on PAMI, 1983,5(2):179~190
    • Bourlard H, Wellekens C J. Links between markov models and multilay er perceptrons. IEEE Trans on PAMI,1990,12(12):1167~1178
    • Lee K F, Hon H W. Speekerindependent phone recognition using hidden markov models. IEEE Trans on ASSP,1990,37(11):1641~1648
    • Hung S L, Adeli H. A parallel genetic/neural network learning algorith m for MIMD shared memory machines. IEEE Trans on Neural Networks,1994,5(6):900~ 909
    • Maniezzo V. Genetic evolution of the topology and weight distribution of neural networks. IEEE Trans on Neural Networks,1994,5(1):39~53

    回复

    使用道具 举报

  • TA的每日心情

    2014-4-28 09:16
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]400FPS

    发表于 2013-12-29 21:02:23 | 显示全部楼层 来自:上海市 电信
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2014-4-28 09:16
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]400FPS

    发表于 2013-12-29 21:03:07 | 显示全部楼层 来自:上海市 电信
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 08:04
  • 签到天数: 3382 天

    连续签到: 4 天

    [LV.Master]2000FPS

     楼主| 发表于 2013-12-29 21:06:27 | 显示全部楼层 来自:广东省东莞市 联通
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-21 01:40

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表