您的位置:首页 > 其它

关于HMM的相关论文(2)-声学模型

2019-08-22 15:53 183 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/mengjianmuzi/article/details/99646271

本文中关于论文的部分不是逐字逐句翻译的,有的是按照对论文的理解,自己说的,有不准确的地方,欢迎指正。
接上回,2.1节 Feature Extracion(特征提取)
特征提取阶段旨在提供语音波形的compact representation。This form should minimise the loss of information that discriminates between words, and provide a good match with the distributional assumptions made by the acoustic models.举例,如果将对角协方差高斯分布用于状态输出分布,feature应该被设计为高斯和不相关的。

Feature vectors are typically computed every 10 ms using an overlapping analysis window of around 25 ms.(语音信号是变化快的,傅里叶变换适用于分析平稳的信号语音。信号分帧,每帧做傅里叶变换。一般帧长取20~50ms,一帧内有足够多的周期,又不变化剧烈。每帧信号通常要与一个平滑的窗函数相乘,这样可取得更高质量的频谱。帧和帧之间的时间差常取为10ms,这样帧与帧之间会有重叠。否则,由于帧与帧连接处的信号会因为加窗而被弱化,这部分的信息就丢失了。)

最简单常用的编码方式是梅尔倒谱系数,即MFCC。These are generated by applying a truncated discrete cosine transformation (DCT离散余弦变换) to a log spectral estimate computed by smoothing an FFT with around 20 frequency bins distributed non-linearly across the speech spectrum. 非线性的频率范围通常被称之为梅尔范围(mel scale), 符合人耳的听觉特性。DCT是为了平滑频谱估计并且对特征元素去相关。经过余弦变换,第一个元素表示频带的对数能量平均值。这有时会被帧的对数能量所取代,或者完全删除。

Further psychoacoustic constraints are incorporated into a related encoding called perceptual linear prediction (PLP感知线性预测). PLP根据感知加权的非线性压缩功率谱来计算线性预测系数,然后将线性预测系数转换为倒谱系数。PLP根据感知加权的非线性压缩功率来计算线性预测系数,然后将线性预测系数转换为倒谱系数。在嘈杂的环境里,PLP比MFCC表现好,for many systems PLP是更好的编码方式。

除了频谱系数,一阶(delta)和二阶回归系数通常也被添加到启发式的尝试中,以补偿由基于HMM的声学模型产生的条件独立性假设。如果原始的特征向量为yts,那么delta参数为:

其中n是窗口长度,wi是回归系数。Δ2ystdelta-delta系数,但是用不同的delta参数。同理,当我们把上述放在一起时候如下:最后的结果是一个大约40维度的特征向量,他们平行但是不是完全相互独立。
yt =[ytsT ΔytsT Δ2ytsT]^T
这一节是讲特征向量提取的部分,只是概述,没有细讲。

继续看2.2节 HMM Acoustic Models HMM声学模型
每个词w分解成含有kw个基本音素的序列(kw不是固定的数值,而是根据每个词的不同音素来确定的)。这个序列是它的发音序列q1:kw(w)=q1,…qKw。(例如"我"这个词,它的发音序列q是w,o两个发音序列)。因为有的词具有多种发音,所以计算p(Y|w)需要考虑一个词不同的发音。(例如处这个词:住处,处理。针对写错字或者不同地方方言的问题,会有相应发音词典,对每个字的发音进行规定),


求和是词w所有可能发音序列。Q是特定发音序列,其中每个q(wl)是词wl的有效发音(即发音词典里的发音)。多重发音的wl很少,上式(2.5)求和就相对容易。


每个音素q都可以被下图的HMM建模,其中{aij}表示转移概率,{bj}表示输出的观测概率分布[本文中,HMM有状态序列sj(隐状态),观测序列Y(观测值),初始概率,观测概率bj(y1),转移概率aij]。


HMM中从状态si到状态sj的概率是转移概率{aij}表示。状态生成特征向量(Y)的概率是观测概率{bj()}.(找的理解:每一个音素以一定的概率密度函数生成观测向量。GMM-HMM中,用高斯混合函数bj(y)去拟合这样的概率密度函数)。对音素HMM建模,需要进行条件独立性假设:
• 在知道前一个状态的前提下,本状态和其他状态都是相互条件独立的。
• 在给定生成观测序列的状态的前提下,观测序列都是条件独立的。

观测概率的高斯函数:

上述式子u(j)是状态sj均值,Σ(j)是协方差,后面第三章再讨论高斯函数。

θ = θ0, . . . , θT+1是模型中的状态序列

下面的等式中θ0 and θT+1对应Fig 2.2中HMM模型的输入和输出状态。为了简化,可以ignoret。主要看θ1, …,θT状态。(2.2中HMM是三状态)

声学模型参数λ = [{aij},{bj()}]可以通过训练语料用forward–backward(EM算法的一种)估算得来。对于每个 Y(r),r=1,…,R,(r个语音),语音长度T(r)。
算法的第一步:E-step。
前向概率:α(rj)t = p(Y1:t(r) ,θt = sj ;λ)和后向概率:β(rj)t = p(Yt+1(r):T® |θt = sj ;λ)。 可以通过下列公式递归计算,i和j是所有状态的总和。对于长语段,递归时公式可能会下溢,可以用log避免这个问题。

给出前向和后向概率,在时刻t,状态为sj的概率有

其中P^( r)^ = p(Y(r);λ). 这些状态的occupation probabilities,也叫做occupation counts,表示模型状态和数据之间的a soft alignment of()。高斯函数参数如下[见文献83]:
转移概率公式:

算法的第二步,M-step(算法一共两步)。初始参数开始,λ(0),通过EM算法连续的产生参数集:λ(1),λ(2),…,这能把likehood up to some local maximum。初始参数λ(0)的 a common choice 是将数据的global均值和协方差分配给高斯输出分布并将所有转移概率设置为相等,这被叫做flat start模型。(就是根据EM算法迭代,直到前后参数的变化量小于某个值,或者参数变化趋于稳定)

单因素模型缺点是,虽然有相同的音素,但因为前后文的影响,发音不同。如:cool,mood。解决方法是建立三因素模型,即对每个音素的左右两个音素也进行建模。只是这样的话,如果有N个音素,那么就需要建立N3个三因素模型。为了降低参数的数量,可以对音素进行聚类(fig2.3),并进行状态绑定(fig2.4)。

x-q+y表示q的前一个音素是x,后一个音素是y,状态绑定(聚类)通常是根据决策树来决定。根据决策树的问题(决策树规则,根据情况变化),选择合适的叶子节点。


上图中,s-aw+n和t-aw+n分配给叶子节点3,在模型中,他们享有相同的状态模型。有一个缺点,这样分类会比较粗糙,可以用soft-tying解决。
总结,语音识别声学模型的核心是HMM-GMM,主要有以下几个步骤:

  1. 单音素高斯HMM模型,模型的均值和方差等于训练数据的均值和方差。
  2. 单音素高斯模型的参数通过步骤3或者步骤4的EM迭代被估计。
  3. 每一个单高斯单音素q对于训练数据集中的每个不同的triphone x-q+y都拷贝复制一份。
  4. 三音素训练数据的结果集triphones被EM算法又重新估计一遍,同时最后一次state occupation counts被记录下来。
  5. 每个音素中的每个状态创建一个决策树,training-data triphones被映射为一个数量更少tie-state,triphones,同时用EM算法迭代重估计。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: