语音识别基础

      传统的语音识别主要基于HMM(隐马尔可夫模型)以及GMM(高斯混合模型)。

      HMM主要由三个要素构成,初始概率、转移概率与观测概率。比如玩游戏抛硬币,有两个硬币放在盒子中,硬币1与硬币2,每次选取一个硬币,抛掷并观测其正反面。在这个游戏中,由于最终玩家只能知道硬币的正反,并不知道这个硬币是硬币1与硬币2,因此这个游戏总共有两个隐藏状态,硬币1与硬币2。初始概率即选取硬币1的概率与选取硬币2的概率。转移概率即选择硬币1与选择硬币2之间的动作转移概率。观测概率即观测到抛掷硬币的正反概率。HMM作了两个假设:1、在任意时刻t的状态仅依赖于前一时刻的状态。2、任意时刻的观测只与当前时刻的状态有关,与其他状态及观测无关。HMM主要解决三个基本问题:1、概率计算问题2、学习参数问题3、预测问题,也称为解码问题。其中,概率计算问题即给定模型参数求解观测序列出现的概率,在抛硬币游戏中即已知初始概率,硬币之间的转移概率,求解观测到硬币抛掷为正正反的概率。一般采用前向或后向算法解决该问题。学习参数问题即已知观测序列求解模型参数,在游戏中,即已知观测的正正反的概率,求解硬币游戏中参数的过程,该过程一般采用EM算法,基于当前模型参数的估计值,求解目标函数,给定目标函数,最大化目标函数,求解参数值,不断迭代,直至收敛。预测问题即给定模型与观测序列,求最优可能的隐状态序列。在游戏中,即给定游戏中的初始概率、观测概率及转移概率,多次观测到的硬币的正反面概率,求解这些次观测到硬币的正反面来自于硬币1还是硬币2。

       语音识别的过程一般是将语音转到文字的过程。语音首先被分成多段,每一段称为一帧,帧与帧之间一般会有重叠。将每一帧波形转化为多维特征进行描述,一般会转化为MFCC的特征。多个帧会组成一个状态,多个状态会组成一个音素,一个音素一般由三个状态构成。多个音素组成一个词。语音识别的过程一般通过最大似然求得:

       给定语音特征Y,通过最大似然,求解最有可能对应的文字。由于p(w|y)直接求取比较难,一般通过贝叶斯公式转化求解,其中分母p(y)与w无关:

       其中p(y|w)主要通过通过声学模型求解,p(w)即句子的概率,主要通过语言模型求解。

       声学模型一般通过HMM与GMM求解,语言模型一般通过n-gram或者神经网络求解。

       在声学模型中,主要是求解给定句子,对应语音的概率最大的语音。一个句子可以由多个发音Q成,每种发音又可以有q1…qn多个音素构成。每个音素的发音可由多个状态构成。因此可以将每个音素进行HMM建模。

       由于音素有多种发音,音素的观测概率可以通过高斯混合分布进行拟合。高斯混合分布一般由多个高斯函数进行线性组合,能够拟合任意的分布。

       给定一种发音Q,就可以转化为多个音素的状态转换。其中x为这种发音中的所有状态。

       其中p(x,y|q)可由HMM计算得到

       通过给定观测的语音特征,通过EM算法可以求解每个音素对应的HMM的模型参数。在实际应用中,往往音素之间不是独立的,如five与nine中的ai读音会随上下文而变化,因此往往通过上下文音素与当前音素共同建立一个HMM模型。

       语言模型由n-gram求解

       当n=2时

       通过最大似然求解最可能的词语组合。这样求解容易受数据的影响,当数据比较稀疏时,由于最大似然没有考虑先验概率,导致容易过拟合。因此会采用一些平滑方法。

       HMM主要解决三大问题,对于HMM求解参数的过程中,已经涉及两个问题。HMM中学习参数问题即根据给定语音和模型结构,求解模型参数的过程。HMM的求解隐状态的过程即解码过程在语音识别中的使用,主要是给定语音求解最可能的音素序列的过程(对齐过程),这个主要在训练模型的E步expectation涉及到。一般采用动态规划算法求解,如维特比算法,对每个状态计算上个状态到该状态的最大概率,记录对应最大值的上个状态值,到达最后一个状态时,进行回溯得到最可能的序列。为了减少计算量,可以采用beam search的方式,只计算前几个概率最大的状态。HMM的求值问题即给定语音和模型,求这段语音的概率,比如每个音素都有一个HMM模型,将某段语音输入到模型中,选择观测概率最大的模型作为识别的音素。

       这篇记录仅仅介绍了基础的语音识别知识,之后会有更加深入理解的内容。

[1] HMMS AND RELATED SPEECH RECOGNITION TECHNOLOGIES

[2] 语音识别技术的前世今生 王赟

[3] 统计学习 李航

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值