声学模型学习笔记(一) HMM

来源:互联网 发布:网络英语课招聘 编辑:程序博客网 时间:2024/05/29 02:36

“声学模型学习笔记”是《automatic speech recognition a deep learning approach》这本书的读书笔记,会有少量的个人理解和公式详细推导,声学入门狗一枚,不具有指导意义,具体以原书和列出的参考文献为准,欢迎指导和讨论。

HMM含义

Markov Chains

马尔科夫链,表示一个状态到另一个状态转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质
假设状态空间qts(j),j=1,2,...,N,马尔科夫性质可以表示如下:

P(qt+1=s(t+1)|q0=s0,...,qt=st)=P(qt+1=s(t+1)|qt=st)

转移概率可以定义如下:
P(qt=sj|qt1=si)=aij(t),i,j=1,2,...,N

如果转移概率跟t无关,只由i和j决定,那么说马尔科夫链是齐次(homogeneous)的,转移概率矩阵可以写成一下形式:
A=[aij],whereaij0,i,j;andj=1Naij=1,i

Hidden Markov Sequences

马尔科夫链关注的状态转移概率。比如天气的三个状态分别是{sun, cloud, rain},状态转移概率矩阵如下:

suncloudrainsun0.500.250.25cloud0.3750.1250.375rain0.1250.6250.375

马尔科夫链求解的问题是:如果今天晴天(sun),后天下雨(rain)的概率。
马尔科夫链的观察序列和状态序列是一一对应的,具有确定性(比如今天是sun,那么sun的概率将会是1,不可能为cloud或者rain),从而导致马尔科夫链很难去拟合有些现实问题。
为了增加马尔科夫链的随机性,对每一个状态,增加一个观察值的生成概率函数,即为隐马尔科夫序列。使用隐马尔科夫序列去建模解决实际问题,称为Hidden Markov model(HMM)。
同样以上面的例子来讲,比如在封闭的小黑屋里面,无法观察到天气状况,但是小黑屋里面有种的水藻,水藻的状态和天气的存在一定的概率关系,如下:
suncloudraindry0.600.250.05dryish0.200.250.10damp0.150.250.35soggy0.050.250.50

此时,我们可以把天气状况当成隐状态,把水藻的状况当成观察值,通过观察值来预测隐状态(天气状态)的序列,马尔科夫链转变成为隐马尔科夫模型。
不难隐马尔科夫模型有两方面的随机性:底层隐藏的随时间改变的马尔科夫过程(天气状态的变化过程);与隐藏状态存在某种映射关系的可观察状态集合(天气状态和水藻状态的关系)。

HMM公式

假设状态序列qT1=(q1,...,qT),观察序列oT1=(o1,...,oT),hmm的三要素λ=(A,B,π)
- 转移概率A=[aij]
- 初始状态概率分布π=[πi]
- 观察概率B=[bi(k)]:状态i生成观察值vk的概率

hmm需要解决的三个问题
- 概率计算问题:已知λoT1,求解P(oT1|λ)
- 学习问题:已知oT1qT1,求解λ
- 预测问题:已知λoT1,求解概率最大的(qT1)

问题一:为问题二的求解打基础

观察概率用混合高斯建模,可以表示如下:
bi(ot)=Mm=1ci,m(2π)D/2|i,m|1/2exp[12(otμi,m)T1i,m(otμi,m)]
其中i表示状态下标,m表示高斯分量的下标。
1.似然概率:
P(oT1|qT1)=Tt=1Mm=1ci,m(2π)D/2|i,m|1/2exp[12(otμi,m)T1i,m(otμi,m)]
2.状态概率
P(qT1)=πq1T1t=1aqtqt+1
3.联合概率
P(oT1,qT1)=P(oT1|qT1)P(qT1)
4.观察概率
P(oT1)=qT1P(oT1,qT1)
随着T的增大,穷举状态序列qT1将会指数增加,P(oT1)求解的复杂度也会指数增加,考虑引入前后向算法解决P(oT1)的求解问题。

1.前向变量

前向概率定义为从开始到t时刻状态i的所有路径的概率和,定义如下:
αt(i)=P(qt=i,ot1),t=1,...,T
初值:α1(i)=πibi(o1)
递推关系:αt(j)=Ni=1αt1(i)aijbj(ot),t=2,3,...,T
终止:P(oT1)=Ni=1αT(i)

2.后向变量

后向概率定义为从t时刻状态i点出发到结尾的所有路径概率和,定义如下:
βt(i)=P(oTt+1|qt=i),t=1,...,T1
初值:βT(i)=1
递推关系:βt(i)=Nj=1βt+1(i)aijbj(ot+1),t=1,2,...,T1
终止:P(oT1)=Ni=1πibi(o1)β1(i)

参考[3],不难得出以上关系。
t时刻处在状态i的概率可以用前后向变量表示如下:
P(qt=i,oT1)=αt(i)βt(i)
从而可以达到我们的终极目标,求解:
P(OT1)=Ni=1αt(i)βt(i)
前后向算法的基本原理是利用递推关系,复用了中间的变量,减少了重复计算。不需要穷举所有的路径就可以完成P(OT1)的求解。

3.中间变量

两个变量(后面的EM会用到)定义如下:
t时刻处于状态qi的概率:γt(i)=αt(i)βt(i)Nj=1αt(j)βt(j)
t时刻处在状态qi并且t+1时刻处在qj的概率:ξt(i,j)=αt(i)aijbj(ot+1)βt+1(j)Ni=1Nj=1αt(i)aijbj(ot+1)βt(j)

问题二:求解hmm的参数

首先参考[3],简单介绍EM算法:
EM是expectation-maximization的简称,是一种最优化问题的迭代算法,1977年由Dempster等人总结提出,简介参考之前的博文
目标函数采用极大似然估计,极大化观测数据Y关于参数θ的对数似然函数

Lmax(θ)=logP(Y|θ)=logZP(Y,Z|θ)=log(ZP(Y|Z,θ)P(Z|θ))

由于含有隐变量Z,所以没有解析解,只能通过迭代的方式求解。假设第i次迭代以后模型参数为θi,我们希望满足L(θ)>L(θi),即每一次迭代都使得似然函数变大,慢慢逼近极大值点,即:
L(θ)L(θi)>0

L(θ)L(θi)=log(ZP(Y|Z,θ)P(Z|θ))logP(Y|θi)

=log(ZP(Z|Y,θi)P(Y|Z,θ)P(Z|θ)P(Z|Y,θi))logP(Y|θi)

Jenssen不等式满足:
logjλjyjjλjlogyi,λi0,jλj=1

所以
L(θ)L(θi)ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)logP(Y|θi)

=ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)P(Y|θi)

定义L(θ)的下限
B(θ,θi)=L(θi)+ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)P(Y|θi)

满足
L(θ)B(θ,θi)

L(θi)=B(θi,θi)

θi点,L(θ)B(θ,θi)两个曲线相交,其他点L(θ)曲线在B(θ,θi)曲线的上方,如下图:
这里写图片描述
为了获得更接近L(θ)的极大值点,使用B(θ,θi)对应的极大值点作为θi+1,当然不能保证此时的θi+1L(θ)的极大值点,如上图所示。
θi+1=argmaxθ(B(θ,θi))

忽略一些不含θ的项,可得
θi+1=argmaxθQ(θ,θi)

其中Q函数:
Q(θ,θi)=ZP(Z|Y,θi)logP(Y,Z|θ)

Q函数的数学意义其实就是logP(Y,Z|θ)在已知Yθi条件下关于隐变量Z的均值,即
Q(θ,θi)=ZP(Z|Y,θi)logP(Y,Z|θ)=EZ[logP(Y,Z|θ)|Y,θi])

E步的含义是构造logP(Y,Z|θ)在已知Yθi条件下关于隐变量Z的均值函数(物理意义是找出L(θ)的下限函数),即为Q函数。M步的含义是对E步构造出的均值函数求极大值,以期望最大程度上逼近L(θ)函数的极大值。
考虑到HMM求解的时候涉及到隐变量qt即某一帧特征属于哪个状态是位置的,所以采用Baum-Welch(EM算法)来进行求解。
完全数据集定义为y=[oT1,qT1],由观测变量oT1和隐变量qT1状态序列共同构成,单高斯的HMM的模型参数θ=[aij,i,μi],由状态的转移概率、高斯均值和方差组成。
E步:首先构造Q函数
Q(θ,θ0)=qT1P(qT1|oT1,θ0)logP(oT1,qT1|θ)

M步:然后Q函数分别构造拉格朗日函数,对模型参数θ=[aij,i,μi]求导等于0,可得最后的参数(自己没有推导出来,直接上结果吧)
- 转移概率
a^ij=T1t=1ξt(i,j)T1t=1γt(i)

- 方差
^i=Tt=1γt(i)(otμ^i)(otμ^i)TTt=1γt(i)

- 均值
μ^i=Tt=1γt(i)otTt=1γt(i)

问题三:求解最优状态序列

对应于解码,动态规划的思想,比较简单。

HMM局限性

  • the temporal independence of speech data conditioned on each HMM state
    HMM观察独立性假设,任意时刻的观察只依赖于该时刻的马尔科夫链的状态,与其他观测和状态无关
  • lack of lawful correlation between the acoustic features
    高斯的方差是用的对角阵,假设特征维度之间是相互独立的

参考文献

[1]《automatic speech recognition a deep learning approach》 chapter2-3
[2]HMM理解例子
[3]《统计学习方法》 李航 第10章

0 0
原创粉丝点击