深度神经网络实现语音识别的原声建模
论文地址:[PDF] Deep Neural Networks for Acoustic Modeling in Speech Recognition | Semantic Scholar
摘要
当前大多数语音识别系统使用隐马尔可夫模型 Hidden Markov models HMMs 来处理语音中的时间变量,使用高斯混合模型 Gaussian Mixture models GMMs 来决策 HMM 状态帧或窗口帧的拟合效果,即对原声输入的表示效果。一种评估拟合效果的替代方法是使用前向传播神经网络,接收几帧系数作为输入,产生 HMM 状态的后验分布作为输出。深度神经网络有许多隐藏层,使用新方法训练,在各种差异很大的语音识别基准上效果优于 GMMs。本文提供一个综述,对四个研究团队在使用 DNNs 处理语音识别的原声建模的观点与过程做出介绍。
简介
新机器学习算法在自动语音识别 automatic speech recognition ASR 领域做出重大进展。最大的单个进展发生在四十年前,引入 expectation maximization EM 算法训练 HMMs。通过 EM 算法,才有可能使用丰富的 GMMs 来开发语音识别系统,表示 HMM 状态之间的关系与原声输入。在这些系统里,原声输入通常被连接的梅尔倒频谱系数 Mel-frequency Cepstral Coefficients MFCCs 或感知线性预测系数 Perceptual Linear Predictive Coefficients PLPs 表示,通过计算其原始波形与一阶、二阶时间差异。这种不具适应性且高度人工预处理的波形特征被设计来排出其中大量对判决无关的信息,压缩剩余信息为可帮助 GMM-HMMs 决策的信息。
GMMs 有许多优点,适用于建模输入特征的概率分布,该分布又与 HMMs 的各个状态有关。通过足够的分量,它们可以建模任何所需准确率层级的概率分布。使用 EM 算法可非常方便地使模型与数据拟合。有大量关于约束 GMMs 方面的研究,寻找方法增加模型计算速度,优化灵活性与训练数据量之间的权衡问题,同时避免过拟合。
GMM-HMM 系统的识别准确率还可进一步提升,通过先训练泛化模型,最大化其在观测数据上的泛化准确率,再微调其判别性,尤其在用于训练的判别目标函数非常接近音素、单词、句子上错误率时。准确率也可通过增强输入特征来提升,方法包括 tandem 或瓶颈特征生成。GMM 的成功是很多新模型的原声建模性能难以比得上的。
除了这些优点,GMM 也有一系列缺点。其对建模数据的统计效率低下,经常得到数据空间的线性或非线性流形。例如,建模一组在某平面上非常接近的点只需要一些参数来估计模型,但需要大量对角高斯或全协方差高斯。调制生成的语音需要动态系统具有相对小的参数量。这意味着其真实底层结构要比直接展示的包含上百个系数的窗口更低维。因此,我们相信其他类型的模型可能在原声建模上要比 GMM 更好,如果它们可以有效利用大窗口帧的嵌入信息。
通过反向传播导数误差的人工神经网络具有从线性或非线性流形数据中学习更好模型的潜力。事实上,二十年前,研究人员已经使用单隐藏层人工神经网络预测某窗口原声系数的 HMM 状态,并取得一些成果。然而,在那时硬件与学习算法都不能支持在大规模数据上训练多层神经网络模型,同时,使用单层神经网络的性能收益不足以挑战 GMM 模型。结果是,神经网络的主要实际贡献是提供额外特征,如 tandem 或瓶颈系统。
过去几年,计算机硬件与机器学习算法的进步促进了更多有效训练 DNNs 的方法,这种网络包含多个非线性隐藏层与大规模输出层。需要大规模输出层来容纳大量 HMM 状态,这些状态来自不同的三音素 HMMs,在将音素建模考虑在内时。即使在这些三音素 HMMs 状态绑定在一起时,也可能有上千种绑定状态。使用新学习方法,不同研究小组都展示了 DNN 在原声语音建模上的性能强于 GMM,在各种数据集上做过测试,包括带有大量词汇表的大规模数据集。
这篇综述文章的目的是展示四个研究小组的共同观点,他们都在研究 DNN 做原声语音建模方面取得了成果。本文以介绍用于训练 DNNs 的两阶段训练过程开始。第一阶段,特征检测器层初始化,一次一层地训练一串 (stack) 生成模型,每一层都有对应的隐含变量。这些被训练的生成模型不需要任何 HMM 的状态信息,通常原声模型使用这些信息来进行决策。第二阶段,每个栈中的生成模型被用来初始化 DNN 中的一个隐藏层,然后整个网络用于判别微调来预测 HMM 状态。这些结果使用基准 GMM-HMM 系统进行强制对齐。
本文,回顾 TIMIT 数据集上的探索实验,通常用来演示两阶段过程在语音建模上的能力。DNNs 在 TIMIT 上效果很好,用于五个不同的大词汇量连续语音识别任务 LVCSR。DNNs 在所有这类任务上的效果都很好,当其与 GMM-HMM 相比时。在其他任务上,与其他最新模型相比,DNNs 效果超出很多。
训练深度神经网络
DNNs 是一种前向、人工神经网络,在输入与输出之间具有多个隐藏层。每个隐藏层 j 通常使用 Logistic 函数将本层输入映射到下层的输入。 为本层输入, 为下一层输入。
是本层偏置项, 为上一层索引, 是上一层单元到本层单元的连接权重。
对于多类型分类,输出单元 j 将其全部输入 转换为多类型的概率 ,通过 softmax 非线性化。
DNNs 可通过反向传播损失函数导数进行判别训练,损失函数度量目标结果与模型输出之间的区分度。当使用 softmax 输出函数时,原始代价函数 C 是预测概率 d 和输出概率 p 的交叉熵。
其中预测概率 d 通常取 0/1 ,属于提供给训练分类器的监督信息。
对于大规模训练集,通常在小规模、随机采样的训练样本 minibatch 上计算导数更高效,而不是在整个训练集上计算,然后取梯度的部分更新权重。随机梯度下降方法可更进一步使用动量 momentum 系数来平滑梯度,可在梯度沟壑之间抑制摆动,在梯度沟壑内加速进程。
为了减少过拟合,大权重在传播时可用其平方度量替代,或在导致验证集效果变差时提前终止训练过程。在全连接 DNNs 里,初始参数给定小随机值来预防某层中所有隐藏单元具有相同梯度。
有多隐藏层的 DNNs 难以优化,在接近初始位置的随机点上进行梯度下降并不是找到最优参数集合的好办法,除非参数初始值被精心设计过。反向传播梯度在不同层里有非常不同的量。除了优化问题,DNNs 在测试集上的泛化性也不行。带有多个隐藏层,每层有大量计算单元的 DNNs 是一种非常灵活的带有大量参数的模型,这些参数使其能建模非常复杂的高度非线性化的输入输出关系。在高质量原声建模时,该能力非常重要,但也可能偶然从训练数据中学到虚假规律,即过拟合。权重惩罚与提前终止可减少过拟合,但也降低了建模能力。非常大的训练集可减少过拟合,提升模型能力,但会增加训练时间。我们需要更好的使用训练集的方法来构建多层非线性检测器。
生成式预训练
不再是设计用于分类的特征检测器,我们开始介绍用于建模输入数据结构的特征检测器。其思路是一次学习一层特征检测器,再输入给下一层特征检测器。在生成式预训练后,该多层特征检测器可用于判别性微调阶段,使用反向传播轻微调整 DNN 的预训练权重。一些生成式预训练的高级特征对判别无用,而另一些可能比原始输入更有助于判别。生成式预训练模型找到权重空间的特殊区域,使判别微调阶段快速收敛,并显著减少过拟合发生。
在训练生成式模型时,单层特征检测器包含其输入数据的隐含信息。目前有两大类生成模型可选。一类为有向模型,首先从先验分布中选择隐含变量状态,然后从条件概率分布中选择给定隐含状态的观测变量状态。有向模型的一个例子是一层隐含变量的因子分析方法,其中隐含变量抽样于球形高斯、GMMs,即抽样于某种离散分布。一类为无向模型,该模型是非常不同的生成模型,不再需要选择一组参数来定义隐含变量的的先验分布,也不再需要选择一组参数来定义给定隐含变量的观测变量的条件分布,无向模型只使用一组参数 W 来定义观测变量 v 与隐含变量 h 的联合向量分布。通过能量函数 E 实现。
如果许多不同的隐含变量通过非线性交互生成每个数据向量,很难用有向模型从观测变量推断隐含变量,因为一种解释性消失 explaining away 的现象。然而,在无向模型中,给定没有关联的隐含变量,更容易推断。这种受限型无向模型更适合做层级预训练,因为每层都有方便的推断过程。
我们先介绍一个估计学习算法,受限玻尔兹曼机 Restricted Boltzmann Machine RBM。该模型的构成包括一层随机二元可视单元层,表示输入数据的二元状态,可视层后接一层随机二元隐藏单元层,学习建模可视单元之间的非独立关联。在可视单元与隐藏单元之间有无向连接,但可视单元与隐藏单元各层内部没有连接。RBM 模型是一类 Markov Random Field MRF,但有一些不同于大多数 MRFs 的特点:它是一种二部图结构,在不同单元之间不共享权重,变量子集是不可见的,即使在训练过程中也是如此。
一种 RBMs 的高效学习过程
联合配置,RBM 中可见单元与隐藏单元的能量函数 E(v, h) 公式如下。
该网络通过能量函数给每一对可见层向量与隐藏层向量分配了概率。而网络给可见层向量配置的概率是所有隐藏层向量的整合。
训练集对数概率的导数表达式如下。
其中 N 是训练样本大小,尖括号表示给定分布的期望。该简单的导数公式产生了非常简单的随机坡度下降的学习规则,用于训练数据的对数概率。
RBM 内缺少隐藏层单元之间的有向连接,导致很容易获得 的无偏采样。给定一个随机选择的训练样本 v,其二元隐藏状态 h 可由以下概率置 1 。
得到的 即为无偏采样。
RBM 内缺少可见层单元之间的有向连接,导致很容易获得给定隐藏层状态下可见层状态的无偏采样。
然而,获取 的无偏采样很困难,可通过交替吉布斯采样 Alternating Gibbs Sampling 花费很长时间算得。
一种更快的学习过程叫对比散度 Contrastive Divergence CD。该方法首先设置可见层单元状态为训练向量,然后并行计算隐藏层单元的二元状态,一旦隐藏层单元状态确定完毕,再对可见层单元执行重构 reconstruction 操作,最后再更新一次隐藏层状态,其权重改变量如下。
一种该学习规则的简化版本使用单独单元状态而非一对乘积,被用在偏置项学习上。
CD 效果很好,即使它只对训练数据的对数概率做了粗略估计。如果在收集学习规则第二项统计量时,使用更多步交替吉布斯采样,RBMs 可以学到更好的生成式模型。为了压缩训练噪声,通常使用实数值概率,而非二元采样值,来重构可见层与后续更新隐藏层。但在第一次计算隐藏层状态时使用二元采样值很重要,因为采样噪声有重要的正则化作用,可预防过拟合。
建模实数值数据
实数值数据,如 MFCCs,更天然地被带高斯噪声的线性变量建模。RBM 能量函数可做一些变动,来适应这种变量,如 Gaussian-Bernoulli RBM GBRBM。
其中 是高斯噪声的标准差。
两个 CD 学习需要的条件分布如下。
其中 为高斯分布。
学习 GRBM 的标准差是很困难的,因此对于使用 CD 的预训练,数据需要归一化,即数据具有零均值和单位方差。标准差置 1 后计算 不会在重构时添加噪声,避免了决策正确噪声层级问题。
堆叠 RBMs 来构建深度信念网络
在数据上训练完 RBM 后,推断的隐藏层单元的状态可被用于另一个 RBM 的训练数据,建模第一个 RBM 隐藏单元之间的重要依赖。该操作可重复数次,产生多层非线性检测器,逐渐表示更复杂的数据统计结构表示。堆叠后的 RBM 组合为名为深度信念网络 Deep Belief Net DBN 的模型。即使每个 RBM 是无向的,构成的 DBN 通常在最上两层是无向的,但其余低层自顶向下有向连接。
为了理解 RBMs 如何组合成 DBN,最好重新上述公式,使其显式依赖 W。
两个 RBMs 连接时,其隐藏层与可见层可互换角色,视为一个独立的 RBM。
如此一来,训练数据的对数概率会绑定一系列变量,而且每当在堆叠上添加一个新的 RBM,添加后更深的 DBN 会比之前的 DBN 显示出更多变化。虽然不断添加绑定是数学问题,但它不解决学到的特征检测器是否更有助于任务判别的实际问题。也不保证使用有效近路训练 RBMs 时可以提升 DBN 性能。
DBN 的一个非常好的属性,使其区分于其他多层、有向、非线性生成模型的属性,是能够在单个前向传播后推断隐藏层单元状态。这种推断并不正确,但相当准确。因此在学习堆叠的 RBMs 组合的 DBN 后,翻转连接方向,可生成权重以初始化用于决策的前向 DNN 的各特征检测器层参数。只用在最后添加一个 softmax 层,然后微调训练该 DNN。
使用 HMM 对接 DNN
在判别性微调 DNN 后,其输出概率可表示 p(HMM State|Acoustic Input) 。但为了计算维特比对齐 Viterbi Alignment 或运行 HMM 的前向反向算法,我们需要似然度 p(Acoustic Input|HMM State) 。该 DNN 输出的后验分布可转换为缩放概率,通过除以 HMM 状态频率,来强行对齐。所有该方法生成的似然度都被同一个未知因子 p(Acoustic Input) 缩放,但不影响对齐效果。尽管该转换似乎在某些训练任务中只有一点效果,它在训练标签不均衡的数据集上很重要。
各种测试
略