人工智能:语音识别理解与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.6 隐马尔可夫模型和生成语音识别模型的变体

隐马尔可夫模型在语音识别中的流行来自其作为语音声学特征的生成序列模型的能力。参看HMM用于语音建模和识别应用的若干非常好的综述文章[7, 41, 45, 83, 85, 86]。在语音建模和相关语音识别应用中一个最有趣且特别的问题就是声学特征序列的长度可变性。语音的这个独特性质首先取决于它的时序相关性,即语音特征的实际值与时间维度的伸缩性相关。因此,即使两个单词序列相同,语音特征的声学数据也通常有不同的长度。例如,由于语音的产生方式及说话的速度不同,对应相同句子内容的不同声学特征通常在时间维度上是不同的。进一步讲,语音中不同类别的鉴别线索通常分散在一个相当长的时间跨度上,它经常跨越相邻的语音单元。语音还有一个特殊方面是声学线索与发音单元的类别相关。这些声学线索通常在多种时间跨度上,语音分析中不同长度的分析窗和特征提取就是为了反映这种性质。

传统观点认为,图像和视频是高维信号,相比之下,语音是一维时间信号。这种观点过于简单,并且没有抓住语音识别问题的本质和困难。语音其实应被视为二维信号,其中空间(即频率或音位)和时间维度有很不一样的性质,相比之下图像的两个空间维度性质相似。语音中的“空间”维度与频率分布和特征提取的数学变换相联系,它包含多重声学上的变化属性,例如,来自环境的因素、说话人、口音、说话方式和速率等。环境因素包括麦克风特性、语音传输信道、环境噪声和室内混响,后几种因素则包括空间和时间维度的相关性。

语音的时间维度,尤其是它与语音的空间或频域的相关性构成了语音识别中一个独特的挑战。隐马尔可夫模型在有限程度上解决了这个挑战。本节作为各种隐马尔可夫模型的扩展,将介绍一些高级生成模型。其中贝叶斯方法将用于提供时序方面的约束,以反映人类语音产生的物理过程的先验知识。

3.6.1 用于语音识别的GMM-HMM模型

在语音识别中,最通用的算法是基于混合高斯模型的隐马尔可夫模型或GMM-HMM[41, 45, 52, 53, 60]。正如前面讨论的,GMM-HMM是一个统计模型,它描述了两个相互依赖的随机过程,一个是可观察的过程,另一个是隐藏的马尔可夫过程。观察序列假设是由每一个隐藏状态根据混合高斯分布生成的。一个GMM-HMM模型的参数集合由一个状态先验概率向量、一个状态转移概率矩阵和一个状态相关的混合高斯模型参数组成。在语音建模中,GMM-HMM中的一个状态通常与语音中一个音素的子段关联。在隐马尔可夫模型应用于语音识别的历史上,一个重要创新是引入“上下文依赖状态”[6, 114],其主要目的是希望每个状态的语音特征向量的统计特性更相似,这个思想也是“细节性”生成模型的普遍策略。使用上下文依赖的一个结果是隐马尔可夫模型的状态空间变得非常巨大,幸运的是,可以用正则化方法(如状态捆绑、控制等)来控制复杂度。上下文依赖在本书后面将讨论的语音识别的鉴别性深度学习[13, 115-118]中也会发挥重要作用。

20世纪70年代中期,如文献[83, 84]中所讨论和分析的,在语音识别领域引入隐马尔可夫模型和相关统计模型[85, 86]被视为这个领域中最重要的范式转变。一个早期成功的主要原因是EM算法[111]的高效性,我们在本章前面已经讨论过。这种最大似然方式被称为Baum-Welch算法,它已经成为2002年以前最重要的训练隐马尔可夫模型的语音识别系统的方法,而且它现在仍然是训练这些系统时的主要步骤。有趣的是,作为一个成功范例,Baum-Welch算法激发了更一般的EM算法[55]在后续研究中被使用。最大似然准则或EM算法在训练GMM-HMM语音识别系统中的目标是最小化联合概率意义下的经验风险,这涉及语言标签序列和通常在帧级别提取的语音声学特征序列。在大词汇语音识别系统中,通常给出词级别的标签,而非状态级别的标签。在训练基于GMM-HMM的语音识别系统时,参数绑定通常被当作一种标准化的手段使用。例如,三音素中相似的声学状态可以共享相同的混合高斯模型。

采用HMM作为生成模型描述(分段平稳的)动态语音模式,以及使用EM算法训练绑定的HMM参数,构成了语音识别中生成学习算法应用的一个成功范例。事实上,HMM不仅已经在语音识别领域,也在机器学习及其相关领域(如生物信息学和自然语言处理)中成了标准工具。对很多机器学习和语音识别的研究者来说,因为HMM在描述语音动态特性时有众所周知的弱点,它在语音识别中的成功有一点令人吃惊。后面将介绍用于语音建模和识别的更多的高级动态生成模型。

3.6.2 基于轨迹和隐藏动态模型的语音建模和识别

尽管GMM-HMM在语音建模和识别中取得了巨大成功,但它们的弱点在语音建模和识别的应用中众所周知,比如条件独立和分段平稳假设[57, 89, 101, 104, 106, 119-121]。在20世纪90年代早期,语音识别领域的研究者开始开发可以捕捉更多现实的语音在时域中的动态属性的统计模型。这类扩展的HMM模型有各种名称,例如随机分段模型(Stochastic Segment Model)[119, 120]、趋势或非平稳状态隐马尔可夫模型(Trended or Monstationary-state HMM)[57, 106, 108]、轨迹分段模型(Trajectory Segmental Model)[107, 120]、轨迹隐马尔可夫模型(Trajectory HMM)[97, 98]、随机轨迹模型(Stochastic Trajectory Model)[105]、隐藏动态模型(Hidden Dynamic Model)[66, 81, 89, 90, 122-126]、掩埋马尔可夫模型(Buried Markov Model)[127-129]、结构化语音模型(Structured Speech Model)和隐藏轨迹模型(Hidden Trajectory Model)[66, 99, 109, 121, 130-132],它们依赖于对语音时序相关结构不同的“先验知识”简化假设。所有这些HMM模型变体的共同之处在于模型中都包含了时间的动态结构。根据这种结构的特点,我们可以把这些模型分为两类。第1类模型关注“表层”声学级别的时间相关结构。第2类由较深的隐藏的动态结构组成,其中底层的语音产生机制被当作一种先验知识来表示可观察的语音模式的时间结构。当从隐藏动态层到可见层的映射被限制为线性和确定的时,第2种类型中的生成性隐藏动态模型则退化为第1种类型。

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

一般而言,轨迹和隐藏动态的分段模型都利用了状态空间转换的思想,文献[80, 133-138]中有很好的研究。这些模型利用时间的递归来定义隐藏动态特性z(k),它可能对应人类语音产生过程中的发音动作。这些动态特性的每个离散的区域或分段s由与s相关的参数集合Λs描述,其中“状态噪声”被标记为ws(k)。无记忆的非线性映射函数用于描述隐藏动态向量z(k)和观察到的声学特征向量o(k)之间的关系,其中“观察噪声”被标记为vs(k)。下面这部分“状态等式”和“观察等式”组成了一个一般的基于状态空间转换的非线性动态系统模型:

z(k)=qk[z(k−1), Λs]+ws(k−1)  (3.51)

o(k′)=rk′[z(k′), s′]+vs′(k′)  (3.52)

其中,角标kk′表示函数q[.]和r[.]是随时间变化的,并且可能彼此异步。同时,ss′表示离散的与语言学类别相关的动态区域,这些离散语言区域要么对应音位变体(就像在标准的GMM-HMM系统[6, 45, 114]中一样),要么对应基于发音动作的音韵学特征的基本单元[78, 100, 102, 139-141]

语音识别文献已经报告了很多开关式非线性状态空间模型的研究,有理论的,也有实验的。函数qk[z(k−1), Λs]和rk′[z(k′), s′]的具体形式及它们的参数是由语音时序方面的先验知识决定的。特别地,状态等式(3.51)考虑了自发语音的时间伸缩性和在隐藏语音动态(如发音位置或声道共振频率)中的“空间”属性的相关性。例如,这些隐藏变量不会在音素边界时间区域中振荡,并且观察公式(3.52)中包含了从发音到声学的非线性映射知识,这是一个在语音产生和语音分析研究中被密切关注的研究主题[142-145]

当非线性函数qk[z(k−1), Λs]和rk′[z(k′), s′]退化为线性函数时(并且当这两个等式的同步性被消除后),开关式非线性动态系统模型退化为它的线性等价物,即开关式线性动态系统。这种简化系统可以被看作标准HMM和线性动态系统的综合体,它关联每一个HMM状态。其一般数学表述写为

z(k)=Asz(k−1)+Bsws(k)  (3.53)

o(k)=Csz(k)+vs(k)  (3.54)

其中,角标s表示从左到右的HMM状态或在线性动态中转换状态的区域。在语音识别中有一系列关于开关式线性动态系统的有趣工作。早期的研究[119, 120]是对生成语音建模和语音识别的应用。更多最近的研究[136, 138]在噪声鲁棒语音识别上应用开关式线性动态系统,并且探索了几种近似推理的技术。在文献[137]中,应用了另一种近似推理技术(一种特殊的吉布斯采样方法)解决语音识别问题。

3.6.3 使用生成模型HMM及其变体解决语音识别问题

在本章的结尾,让我们来关注生成模型相关的讨论,比如使用标准的隐马尔可夫模型和刚刚介绍的它的扩展版本,去解决鉴别分类问题(如语音识别)。更多关于这个重要话题的细节讨论可以在文献[87, 88, 146]中找到。特别是在本章中忽略了HMM生成模型的鉴别性学习的话题,这是在基于GMM-HMM和相关结构的自动语音识别系统的开发中非常重要的部分。相关的大量话题可以在文献[10, 11, 65, 72, 92, 93, 108, 147-165]中找到。本章省略的另一个重要话题是在自动语音识别中使用生成性的基于GMM-HMM的模型做各类噪声模型的整合。完成多种模型整合的能力自然是GMM和HMM这类统计生成模型的强项之一,关于这个话题,我们也留了大量综述文章给读者阅读[71-76, 91, 94, 95, 136, 166-174]

输入数据和它们对应标签的联合概率是生成性统计模型的特征,联合概率可以被分解为标签(如语音类别标签)的先验概率和数据(如语音的声学特征)的条件概率。通过贝叶斯定理,给定观察数据后,类别标签的后验概率可以很容易得到,并且成为分类决策的基础。这种生成模型的方法在分类任务中成功的一个关键因素是模型对数据真实分布估计的好坏。HMM被证明是一种相当好的可以估计语音声学序列数据的统计学分布的模型,尤其是声学数据的时间特征。因此,从20世纪80年代中期开始,HMM在语音识别领域中已经成为一种流行的模型。

但是,作为语音的生成模型,标准HMM有几个缺点已经众所周知,例如,每个HMM状态上的语音数据的时间独立性假设,缺少声学特征和语音产生方式(如说话速度和风格)之间的严格相关等。这些缺点促进了HMM的多种扩展模型的研究,本节讨论了其中一些。这些扩展的主线是用更真实的、时间相关的动态系统或非平稳的轨迹模型替代每个HMM状态上的独立同分布的高斯或类高斯,所有的方法都引入了基于隐藏的连续值域的动态结构。

在开发这些用于语音识别的隐藏轨迹和隐藏动态模型时,很多机器学习技术,尤其是近似变分推理和学习技术[133, 135, 175, 176],被改进后采用,以适应特定的语音属性和语音识别应用。但是,在多数情况下,只有小型任务能够获得成功。将这些生成模型成功地应用于大规模语音识别的困难(和新机会)有4个主要方面。第一,关于可能的发声语音动态和它更深层次的发声控制机制的精确本质的科学知识还很不完整。由于语音识别应用对训练和解码时高效计算的需求,这类知识被强制再次简化,导致模型的能力和精确性进一步降低。第二,这个领域的多数工作采用生成学习方法,由于上下文依赖和协同发音,这些方法的目标往往是使用少量(小的参数集合)的语音变量。相反,本书的重点(深度学习)是将生成性和鉴别性学习统一在一起,并且可以采用大量参数,而不是少量参数。这也使得协同研究有了很大的可能性,尤其是变分推理的最新进展,有望提升深度生成模型和学习的质量[177-181]。第三,多数隐藏轨迹或隐藏动态模型仅仅关注人类发声机制深层的语音动态特性的某些孤立方面,并且使用相对简单和标准的动态系统,特别是在推理阶段,没有足够的结构和有效的学习方法避免未知的近似错误。第四,缺乏刚才讨论过的改进的变分学习方法。

从功能上说,语音识别是一个从序列的声学数据到单词或另一种语言标签序列的转换过程。从技术上说,这个转换过程需要很多子过程,包括使用离散时间戳(通常被称为帧)来特征化语音波形或声学数据、使用分类的标签(如单词、音素等)来索引声学数据序列。语音识别中的基本问题在于这些标签和数据的本质。清楚地了解语音识别的独特属性非常重要,就输入数据和输出标签而言,从输出的视角看,自动语音识别产生包含个数不定的单词的句子。因此,至少在原则上,分类的可能类别(句子)的数量非常大,以至于不可能不使用一定的结构化模型来描述完整句子。从输入的视角看,声学数据也是一个变长的序列,输入数据的长度通常不同于输出标签的长度,这引起了分段或对齐的特殊问题,是机器学习中的“静态”分类问题没有遇到的。综合输入和输出的视角,我们认为,语音识别的基本问题是一个结构化的序列分类任务,其中一个(相对长的)声学数据序列被用于推断另一个(相对短的)语言单元序列,如单词序列。对于这类结构化的模式识别,标准的HMM和本章讨论的它的变体都可以捕捉到一些语音问题的主要属性,尤其是在时间建模方面,它们在实际的语音识别中有一定程度的成功。但是,这个问题的其他关键属性难以被本章讨论的多种类型的模型所捕捉。本书剩余章节将致力于解决这个不足。

本节,我们将生成性统计模型HMM与实际的语音问题建立了联系,讨论了它的建模和分类/识别之间的关系。我们指出了标准HMM的缺点,它促进了HMM的各种扩展变体的产生,每个HMM状态上的语音数据的时间独立性被使用了隐藏结构的、更真实的、时间相关的动态系统所替代。非线性动态系统模型的状态空间思想提供了一个有趣的架构,与循环神经网络产生了联系,我们将在第12章详细讨论循环神经网络。