aihot  2017-11-04 22:03:05  机器学习 |   查看评论   

隐马尔可夫模型及其变体

  前面的文章已经详细的讲过了HMM的基础内容,这里着重说一下之前没有覆盖到的部分。

  先说什么是马尔可夫链的稳态分布。

  我们讲过HMM有初始条件概率分布矩阵π和状态间转移概率矩阵a,这部分就源自马尔可夫链。考虑这样一个问题,我们可以直观的感受到,从一个固定的初始状态出发,马尔可夫链第n步之后的分布和初始状态以及n都是相关的,同时与初始状态的相关性会随着时间增长而衰减。但在理论研究和实际应用的很多情形下,我们并不希望第n步后的分布取决于初始位置和n。

  所以由此引出了一种具有稳态分布的马尔可夫链,这种马尔可夫链满足一定的条件,使得该马尔可夫链之于这个稳态分布是渐进无偏的,也即无论初始分布如何,马尔可夫链到它的稳态分布都是渐进收敛的。具有稳态分布的马尔可夫链,从任何初始状态出发,第n步分布在n趋于无穷的时候都会趋近于同样的稳态分布。

  另一点对于HMM要提到的,如果HMM各个状态的观测概率分布没有任何重叠,那么这样的序列便不是一个隐马尔可夫模型,因为尽管状态有了随机性,但对一个特定的状态而言,由于概率分布没有重叠,某个固定范围内的观察值总能找到唯一的状态与之对应,那在这种情况下,HMM便退化成了马尔可夫链,也即相当于只有单重随机过程。

  前面简单的提到了GMM与HMM的结合,这里详细说一下。GMM用于描述HMM中给定状态下的符号发射概率,有多少种状态就有多少个GMM,每个状态自己独占一个GMM。然后相当于我们有了一张GMM分布图,是这个状态下的不同符号的发射概率,这样给定输出符号就能在相应的GMM图中找到该状态产生该指定符号的概率,横坐标就是输出符号,纵坐标是生成概率。当然如果M=1,那混合高斯分布就退化成了高斯分布。

  在HMM中,输出序列用于描述语音特征向量,而状态序列代表相应的文字,所以语音识别问题就是HMM中的解码问题,在HMM中,我们用维特比算法来解码,得到概率最大的状态序列。

  维特比算法所找到的针对一个从左到右传播的HMM的最佳状态转移路径,等价于确定最优HMM状态分割所需要的信息。状态分割的概念在语音建模和识别中最常用于从左到右传播的HMM,其中每个HMM状态通常与较大数量的连续帧数的观察向量序列相对应。

  传统的认为,图像和视频是高维信号,相比之下,语音是一维时间信号。这种观点过于简单,语音实际上应被视为二维信号,其中空间(即频率或音位)和时间维度有很不一样的性质。

  尽管GMM-HMM在语音建模和识别中取得了巨大成功,但20世纪90年代,人们开始开发可以捕捉更多现实的语音在时域中的动态属性的统计模型,比如隐藏动态模型、轨迹分段模型等等。

  这些HMM模型变体的共同之处在于模型中都包含了时间的动态结构,它们依赖对语音时序相关结构不同的先验知识简化假设。根据这种结构的特点,我们可以把这些模型分为两类,第一类模型关注表层声学级别的时间相关结构;第二类由较深的隐藏的动态结构组成,其中底层的语音产生机制被用作一种先验知识来描述可观察的语音模式的时间结构。

  在其中很多生成性动态/轨迹模型中,时间跨度通常由一系列语言标签决定,它们将整句从左到右的分成多个段。因此是分段模型。

  这里有些难理解,我提出我自己的理解,也许不正确。在传统GMM-HMM中,我们为每个状态训练一个GMM来描述符号发射概率,但即便是同样的状态,不同时序下的GMM也应该是有一定区别的,可HMM中有有限历史性假设和输出独立性假设,无法考虑到更多的信息,所以我们考虑通过引入一些先验知识来优化这块的假设,增加对时间的动态结构的考虑。所谓分段,大概是对该时间段内状态所对应的符号发射概率进行统一的调整,以更贴近真实情况。

深度神经网络

  DNN在《浅谈深度学习基础》中也有过详细的讲解了,这里也是着重说一下之前没有覆盖到的内容。

  像权重衰减、dropout、mini-batch、bagging、boosting、momentum,自适应学习速率这些都有讲过,还缺一个数据预处理。

  数据预处理在许多机器学习算法中都扮演着重要的角色,常见的有样本特征归一化全局特征标准化,也都很好理解。

  如果每个样本均值的变化与处理的问题无关,就应该将特征均值归零,减小特征相对于深度神经网络模型的变化,例如,减去一张图片的强度均值,可以减弱亮度引起的变化。

  全局特征标准化的目标是使用全局转换缩放每维数据,使得最终的特征向量处于相似的动态范围内,例如在图像处理中,经常将[0, 255]范围内的色值缩放到[0, 1]范围内。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自浅谈语音识别基础

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]