Syllable-Based Acoustic Modeling with CTC-SMBR-LSTM翻译

摘要

我们探讨了用音节而不是音素作为输出来训练长期短期记忆(LSTM)循环神经网络(RNN)的可行性。音节是建模自然语言(例如普通话)声学模型语言单位的一种自然选择,这是因为音节作为基本发音结构的固有性质以及此类语言的音节集合的大小有限(普通话约为1400个音节) 。我们的模型使用异步计算的随机梯度下降法(ASGD),通过并行计算基础结构进行大规模训练,并使用连续时序分类(CTC)和状态级最小贝叶斯任务(sMBR)损失进行了训练。我们的声学模型在每30毫秒计算一次的特征帧上运行,这使其非常适合于对音节建模,而不是音素建模,因为音素的持续时间较短。另外,与词级建模相比,音节能够避免OOV问题的产生。我们对普通话语音搜索任务的实验表明
  (1)音节输出模型的性能要优于上下文无关(CI)音素输出模型,并且可以获得与我们最新的上下文相关(CD)模型相似的性能;
  (2)此外,音节输出模型的解码比CI模型或CD模型的解码要快得多。
  我们证明,当训练模型以识别普通话音节和英语音素时,这些改进得以保持。

1.介绍

在用于语音识别的声学建模中,通常在上下文无关(CI)音素或上下文相关(CD)音素HMM状态级别构建模型。音素的选择是由于以下理由而引起的:音素是对应于语音信号相对静止部分的子词单元。当然,这种平稳性过分简化了,因为连续语音中音素的声学实现会受到协同发音效应的影响。为了解决这个问题,上下文相关的声学模型试图学习一组在上下文中状态声学音素,例如绑定状态三音素,并通过决策树聚类来选择状态。对于传统的高斯混合模型(GMM),由于没有明确的机制来模拟语音或声音序列随时间的演变,因此希望在单音素下具有相对平稳性。
  在本文中,我们关注的是比音素/三音素更长的声学单元的建模。声学单元的选择通常部分地受所建模的目标语言的驱动,在这项工作中,我们在音节级别上探索语音建模。诸如普通话这样的基于音节的语言的特殊之处在于其语音的逻辑单元是该语言固有的。每个书面字符都对应一个音节,并且有固定数量的此类音节(在我们的系统中,我们使用拼音作为方便的内部表示形式,尽管另一个语音字母可以互换使用)。由于音节是发音的逻辑单元,因此构造声学模型以输出音节是对此类语言进行建模的自然方法。在中文中,有18240个唯一字符,每个字符对应一个音节。考虑到音调,在这18240个字符中,有1384个是唯一发音的。忽略音调,有410个无声音节。1384个音节可以进一步分解为75个音素,并在元音上加上音调。我们的实验比较了这三种选择的声学模型输出。
  使用音节作为建模单元的声学模型已经研究了十多年。 [3]是最早的尝试之一,表明使用GMM,基于音节的声学模型可以在性能方面击败基于CD-phone的声学模型。 [4,5]使用基于音节的GMM对普通话进行建模的实验,发现基于CD音节的声学模型可以提供有前途的性能。由于普通话中大约有1400个音节,因此使用类似三音素的三音节来建模上下文依存关系是不现实的,因此他们提议使用首字母和结尾,普通话音节的子结构来建模音节间的上下文依存关系。但是,首字母和结尾的使用很难推广到其他语言。因此,在这项工作中,我们探索了基于CI音节的声学模型的性能,该模型可以轻松扩展到除中文之外的其他语言。
  近年来,深度神经网络(DNN)的兴起导致采用这样的体系结构作为自动语音识别(ASR)中声学建模的选择。近年来,在ASR任务中,诸如长期短期记忆(LSTM)之类的循环神经网络(RNN)体系结构已显示出比常规前馈神经网络更好的性能。在基本的RNN方法中,网络接收特征向量的序列,并尝试通过使用有关特征向量本身的信息以及网络记忆中的循环“状态”,用正确的语音标签来标记每个特征向量。但是,这些网络没有试图学习必须产生以产生正确转录本的标签的实际序列的概念。
  最近,已采用连续时序分类(CTC)技术来弥补标准RNN的局限性。CTC模型尝试了解生成正确转录本所需的标签序列,但不尝试对应提供给特定特征向量的标签进行建模,也不尝试以强制对齐方式输出语音信号标签。
  最近的研究也已经将深度神经网络(DNN)应用于基于音节的声学模型的研究。例如,[10]发现基于DNN音节的声学模型明显优于GMM模型。我们认为使用最新开发的神经网络(如LSTM RNN)将带来更大的改进。这种观点的动机是RNN的状态性质允许在声学模型中明确地对较长语言单元的声学轨迹进行建模。我们还认为更长的单元和循环拓扑的组合还有助于将上下文敏感度引入声学模型内部,从而使从CI转换为CD建模的影响更小。
  在对英语音素进行建模时,已经广泛研究了LSTM和CTC标准,而对于音节却做得很少。最近的工作在输出中英文字符的声学模型中尝试了各种体系结构变体。在这项工作中,我们证明了CTC LSTM方法和体系结构也可以用于在音节级别上训练准确的模型。 我们还在基于音节的AM,基于无音节的AM以及基于音素的CI和CD之间进行比较。我们的实验表明,基于音节的模型大大优于基于CI音素的模型,并且可以接近基于CD音素的模型的最新性能,同时大大减少了解码所需的计算资源。我们还证明,当普通话音节集与英语音素结合以产生混合声学模型时,基于音节的模型可以保持其性能和解码速度优势
  本文的其余部分安排如下。在第2节中,我们概述了训练过程的组织方式。在第3节中,我们解释了声学模型输出单元的选择,并讨论了所涉及的各种折衷。在第4节中,我们概述了实验设置并介绍了实验结果,并在第5节中进行了总结。

2.训练阶段

我们的训练包括三个阶段:首先训练高斯混合模型(GMM),然后使用来自GMM的对齐,我们继续使用CTC损失训练神经网络,最后通过使用sMBR损失的序列训练对模型进行微调。在标准CTC公式中,不需要固定或现有的对齐,因为在训练过程中,模型会连续比对每个可能的标签序列,并尝试使所有有效标签序列的总概率最大化。但是,现有的对齐至少在两个方面仍然有用:第一,当笔录有多种替代发音时(由于同音词或单个书面形式笔录的多种语言形式实现),正确的发音可以是通过使用现有模型应用维特比对齐来选择。其次,固定时间对齐可用于约束CTC-LSTM模型观察到的输出结果和相应标签之间允许的延迟:在以英语训练的上下文相关(CD)LSTM模型中,已经观察到,在实践中LSTM学会了改变声学和输出之间的延迟,以便在有助于优化总序列概率时使用更大的未来上下文。这在诸如语音搜索之类的实时任务中是不可取的,在这总任务中,当用户说话时会向用户显示部分识别结果。避免这种延迟的一种方法是将前向后向算法中使用的搜索路径集限制为CTC标签和“现有固定”对齐方式之间的延迟不超过给定阈值的搜索路径。

3.声学模型输出单元

在这里插入图片描述
  中文有18240个唯一字符,每个字符对应一个音节。这些音节中有1384个是唯一发音的,我们将它们用作音节模型的输出。作为baseline,我们训练了CI音素(75个音素,带有音调)以及最先进的CD音素(聚类三音素,带有音调)模型。我们使用Young et al的标准迭代决策树构建算法。使用我们在训练过程开始时西门的CI-音素GMM模型生成的对齐来构建CD项。CTC模型使用特殊的空白符号“ this”和表示静音的“sil”,从而使音节模型,CI音素模型和CDphoneme模型的输出总数分别为1386、77和13811。在基于音素的模型中,通常少量的训练数据样本(约200K语音)足以为每个音素提供足够的观测值以训练GMM。但是,对于音节模型,我们使用了所有可用的训练数据(有关训练数据的详细信息,请参见第4.1节),并且我们仍然面临数据稀疏的问题。在过去基于字符的语言的研究中,例如[13],已经表明,具有足够大的训练语料库情况下,从模型输出单元中省略训练样例中很少见到的符号并不会导致很大的OOV率。在我们的实验中,我们还省略了在GMM训练过程中没有足够观察的音节,并且观察到较低的OOV率(请参见第4节)。我们还尝试了忽略音调(将一个音节的所有音调变化映射为一个音调),并使用无声音节作为输出来解决数据稀疏性问题。无声音节模型的输出大小为410。
  仅音节模型不能建模英语(在语音搜索过程中经常使用的英语单词,例如Google,Facebook)。我们研究了如何训练具有混合输出层(包括音节和音素)的声学模型。汉字到拼音音节的映射仅包含一个简单的表查找。相比之下,我们使用音素而不是字母来建模英语单词-这使得在词典中处理将英语拼写法映射到发音的任务很简单。表1总结了本文研究的不同输出单位。

4.实验结果

4.1 实验设置

我们使用神经网络架构和类似的输入来探索CTC-SMBR LSTM模型。我们的模型有5层,每层包含600个单元,每个单元都有自己的门。输入为80维对数梅尔滤波器组能量,每10ms在25ms窗口上按合适的上下文长度7计算(即,将8帧的特征堆叠在一起),并以3为系数进行下采样,即,将声学特征每30毫秒一帧馈入到网络。所有训练均使用异步随机梯度下降(ASGD)进行,该训练利用大型分布式计算平台进行大规模训练。
  我们的训练数据包括人类转录的280万条实时流量匿名语音,以及同一流量中290万条无监督的高可信度语音。这总共增加了7800个小时的训练数据。在训练期间,这些语音会通过室内模拟器进行噪声处理,该模拟器会添加人工噪声(例如,来自YouTube视频的非语音音频)和混响。我们为每种话语生成20种不同的带噪版本。我们将所有模型训练为收敛,CTC大约需要10天,sMBR大约需要5天。
  我们使用来自同一流量的7500条语音作为测试集(10小时)来测量单词错误率(WER)。对于纯音节模型(及其相应的CI-音素baseline),我们删除包含拉丁语的语音,这使得我们获得了480万条训练语音(6600小时)和5000条测试语音(7小时)。通过这些训练数据,我们观察到测试集中包含了160个OOV音节。但是,这些音节对应的汉字非常少见:在我们的测试集中,只有20个语音包含任何此类字符。对于解码,我们对所有模型都使用0.1的单词插入罚分和最大7000个弧数。

4.2 CTC结果

在这里插入图片描述
  表2显示了经过CTC训练后的模型的标签错误率(LER)和词错误率(WER)。纯音节模型在训练过程中获得的LER与CI-音素模型相当接近,这是令人鼓舞的,因为音节模型的输出库存更大。但是,WER结果并未显示出预期的改善。我们研究了在解码过程中对搜索空间有贡献的其他因素,并发现将“空白”符号的后验缩放更大的值可以显着改善基于音节的模型的WER结果。我们发现,对于音节模型,最佳的“空白”缩放值基本上出现在音素模型的典型范围之外。一种可能的解释是,在音节级别的模型中,与音素级别的模型相比,模型输出的非空白标签更少。在用于基于音素模型的词典中,每个音节(拼音)都映射到平均2.45个音素。因此,我们预计音节级模型中的非空白标签比音素级别模型少2至3倍。这说明在音节模型中需要更多的缩放比例。图1显示了针对基于音节的模型,增加空白对WER的影响。
在这里插入图片描述

4.3 使用sMBR进行微调

在这里插入图片描述
  验证了基于CTC训练的纯音节模型可以产生合理的WER,我们开始使用序列判别训练对模型进行微调。我们将sMBR损失函数与用于晶格解码的bigram语言模型一起使用。表3显示了sMBR训练后获得的WER结果。对于所有类型的模型,我们将sMBR训练期间的“空白”缩放值固定为相同的恒定值。通过我们的实验,我们发现NN学会根据此值缩放后验。因此,不需要在sMBR训练之前为这些中间模型找到并使用最佳的“空白”缩放值。我们观察到,sMBR之后,纯音节模型在性能上比CI-音素模型有所提高。无声音节模型然表现不佳。

4.4 混合模型

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_28385535/article/details/107155275