论文地址:

https://arxiv.org/pdf/1707.07167.pdf

以下是完整的论文翻译:

翻译 | 周翔、尚岩奇、姜沂、周科

摘要

近来端对端语音识别越来越受到关注,这种技术可以不进行预定义校准(predefined alignments),直接将语音转换为文本。在本文中,我们探究了如何使用基于注意力机制普通话语音识别编码器—解码器模型,并在业界得出了首个令人满意的结果。通过跳帧和正则化权重,我们减小了源序列的长度,从而使模型获得了更好的泛化和收敛能力。

接着,我们研究了不同注意力机制(卷积注意力机制和注意力平滑化(attention smoothing)机制)的影响,以及模型性能与集束搜索(beam search)间的相关性。我们使用MiTV收集的数据集进行测试,在不使用任何词典或语言模型的情况下,我们实现了 3.58% 的字符错误率(CER)以及 7.43% 的语句错误率(SER)。加上三元语言模型(trigram language model)之后,我们的模型可以达到2.81% 的 CER 和 5.77% 的SER。

关键词:自动语音识别、序列到序列(sequence-to-sequence)模型、基于注意力机制的语音识别


1. 引言

目前深度神经网络(DNN)研究已获得了巨大的成功,并被广泛应用于语音识别技术中,而且通常与隐马尔可夫模型(HMM)[1, 2, 3, 4, 5]结合在一起。这些系统基于一个由声学模型、语音模型和语言模型等单独组元构成的复杂混合体。据我们了解,这些组元进行单独的训练,训练目也各不相同。最近,端对端神经网络自动语音识别(ASR)系统的研究开始涌现,如 CTC(Connectionist Temporal Classification) [6, 7, 8]和基于注意力机制的编码器—解码器模型[9, 10, 11, 12, 13, 14, 15, 16, 17]等。

这些方案都得出了相当理想的结果。CTC 的核心原理是允许标签重复和空标签的出现,而且在每一帧都对标签进行预测。另一种方案——基于注意力机制的编码器—解码器模型则是直接学习声音到字符序列的映射。

基于注意力机制的编码器—解码器模型在处理复杂序列到系列任务时得出了令人满意的结果,这些任务包括机器翻译[18, 19, 20]、文本总结[21]、图片说明[22]、句法分析[23]以及语音识别等。现在,在机器翻译任务中应用这种模型可以取得最高的翻译水准[20]。这种模型可以将长度可变的输入序列映射到长度可变的输出序列。在基于注意力机制的编码器—解码器的方案中,首先编码器将输入序列编码为一个隐藏表征(hidden representation),然后解码器对这个表征进行解码并输出目标序列。

这种方法中的注意力机制用于选择或加权输入序列,以生成输出序列。训练可以直接将获得基于期望目标输出的几率最大化。通常,我们会使用字符级别的交叉熵标准来训练这种模型。

在本研究中,我们探讨了基于注意力机制的编码器—解码器模型在普通话语音识别上的应用。鉴于这种模型进行英语语音识别时的表现非常好,我们提出了很多方案来对其进行优化,例如深度卷积神经网络[14]和不同的注意力机制。[13]探究了如何使用基于注意力机制的模型实现普通话语音识别,结果发现这种模型很难与普通话数据进行衔接。

为了解决这个问题,我们使用了 L2 正则化方法和高斯权重噪音,来改善模型的泛化和收敛能力[24, 25]。而且,我们还将嵌入汉字字符作为解码器的输入,试验证明这种方法可以大大优化模型的收敛能力。[10]证明了长语音(long utterances)会对ASR系统造成负面影响。为了解决这个问题,我们使用帧数亚采样(frame sub-sampling)的方法减小了语音的长度,并对训练和收敛进行了加速。同时,我们还研究了卷积注意力机制[10]和一种平滑处理方法。

总的来说,我们完成了以下工作:

  1. 在基于注意力机制的端对端普通话语音识别上首次取得理想结果;
  2. 通过跳帧减小了输入序列长度;
  3. 用多种正则化方法增强了模型的泛化和收敛能力;
  4. 探究了不同注意力机制的影响。


本文其余内容的结构如下:

  • 第 2 节详细介绍基于注意力机制的模型。
  • 第 3 节介绍了基于注意力机制的端对端普通话自动语音识别)ASR)系统。
  • 第 4 节描述了本实验的具体细节。
  • 第 5 节阐述结论并概述我们接下来的工作。



2. 基于注意力机制的模型

2.1 倾听-注意-拼写(Listen, Attend and Spell)

许多具有挑战性的任务都需要处理可变长度的序列。比如,机器翻译和语音识别, 输入和输出时都会遇到需要处理的可变长度序列;再比如,文本总结时也有很多可变长度序列。LAS(Listen, Attend and Spell)[12]是一个基于注意力机制的编码器-解码器网络,通常用于处理可变长度的输入和输出序列。编码器 (倾听模块) 从可变长度的输入语句中提取可变长度序列的表征。然后注意机制 (注意模块) 产生一个固定长度的上下文向量,解码器 (拼写模块)通过使用编码器提取的表征,产生一个可变长度序列的目标翻译结果。

在图 1 中, 编码器是一个基于双向长短期记忆型的递归神经网络RNN (BLSTM),输入 x,它可以从中生成一个输出序列 h = (h1,..., ht)。这里的解码器通常属于长短期记忆网络(LSTM), 它使用 h 和 y<i 来生成输出序列 y = (y1,..., yL)。在这项工作中, 输出 y 是汉字序列, 输入 x = (x1,..., xT) 是从音频的帧率中提取序列的特征向量:

在图2中:注意-拼写模块是一个基于注意力机制的传感器, 每次生成一个字符 yi:

(3) 式中的 si 是传感器状态(transducer state),其中 yi−1 是 previously emitted token,ci-1 是 previous attention context,si-1是 previous transducer state。

(4)式中,通过基于多层感知器 (mlp) 注意力网络,函数 AttentionContext 可以生成 ci。

(5)式中的 CharacterDistribution 函数是用 softmax 函数计算出的。

图1:编码器模型属于从输入的 x 中提取变量 h 的双向长短期记忆型BLSTM。
训练中采用了帧数亚采样的方法。

 

2.2 注意机制

注意机制通过选择或加权输入帧的方法来生成下一个输出元素。最近所谓的 "神经机器翻译模型" [18] 中也采用了类似的注意机制方法。在这种情况下, 为了生成每个目标词, 网络会计算出一个分数, 将输出 RNN 的隐藏状态与输入序列的每个位置相匹配。对于一个输入序列, 分数均被标准化并加总,处理后的分数可以被解释为每个输入位置的概率,并与当前生成的目标词对齐:

Score 函数是一个多层感知器(MLP)网络, 可以由以下等式描述:

这是在 [18] 中提出的基于内容的注意机制方法。

 

3. 方法

3.1 卷积注意机制

我们建议, 原模型 [18] 中的卷积注意机制在考虑前一步产生的对齐后[10],应该是位置感知的。这是通过以下等式实现的:
 

图2:由多层感知器 mlp (注意力机制) 和长短时记忆型LSTM (解码器模型) 组成的注意-拼写模型。对于每个时间步长 t, 语境向量 ct 都是由 mlp 结合隐藏状态变量 st−1 和输入序列 h 计算得出的,然后生成新的隐藏状态变量 st 和标记 yt。

 

3.2 注意力平滑 (Attention Smoothing)

当输入序列 h 属于长序列时, αi 分布通常在收敛上非常陡峭,因而只集中在 h 的其中几帧上。为了使模型具备多样性, 我们将 softmax 用 σ(logistic sigmoid)代替:

这部分提到的注意平滑可以平滑注意力机制所发现的焦点。

3.3 跳帧(skipping frames)

随着语句逐渐变长,倾听-注意-拼写(LAS)模型的性能会迅速降低。这大概是因为注意-拼写模块很难从大量输入的时间步长(input time steps )中提取相关信息。[11, 12]用金字塔型 BLSTM 解决这个问题,金字塔型 BLSTM 将每个 BLSTM 层数上的时间分辨率减少了 1/2。本文采用框架采样思想 [26,27] 进行快速训练和收敛。在解码过程中, 我们使用所有帧来生成语境 h。

3.4 正则化(Regularization)

在许多任务中, 模型会过度拟合数据,对新数据进行的泛化较差。为了避免这种过度拟合, 我们需要减少权重[24, 25]中的信息。本文中采用的两个主要的方法是: L2 正则化和高斯加权噪声。

L2 正则化的思路是在 cost function 中增加一个额外的项。将高斯加权噪声添加到所有权重中,我们获得了较好的泛化能力, 以及较好的收敛能力。减少参数信息量的意义,在于简化神经网络。

3.5 语言模型 (Language Model)

在每个时步上, 解码器每生成一个字符都依赖于之前生成的字符。然而, 学习一个复杂的语言模型 [11] 是远远不够的, 因此我们建立一个字符级的语言模型, :一个字级语言模型 G 和一个简单地拼写出每个单词字符的词典 L。更具体地说, 我们建立了一个有限状态传感器 (FST) T = min(det(L ◦ G)) 来计算字符序列的对数概率。在解码过程中, 我们将加权 T 添加到编码器输出的损失中:

在解码过程中, 我们会结合基于注意力机制的模型(AM)和语言模式 (LM)以及可调参数 γ,将损失 C 最小化。

3.6 优化 (Optimization)

我们优化模型的参数, 以最大化正确的汉字序列的对数似然值:

传统上, 该模型是使用字符级熵标准进行训练的。基于此, 损失函数定义如下:

其中是第 k 个字符标签在时间 i 的参考标准(ground truth)。

3.7 解码(Decoding)

在解码过程中,一种简单的从左向右的波束搜索算法表现良好。我们从 start-of-sentence <sos> 标记开始, 保留 n 个最佳候选假设列表。对每一个时步 t,波束中的每一个假设都与可能的字符一起拓宽了, 只有 n 个最有可能的波束被保留。end-of-sequence <eos> 标记发出时, 将停止波束搜索。我们发现波束越宽,好处越少。

表1:光束大小为 30, τ = 2 ,γ = 0.1时,我们得到的基于注意力机制的模型结果。

 

4. 实验

4.1 数据

在实验中,我们使用的数据集包含了大概 400 万条 MiTV 搜索语音数据(大概3000个小时)。作为测试数据集和交叉验证数据集,我们分别随机挑选了 3000 条搜索语音数据。作为输入特征,我们使用 80 Mel(唛耳,音调单位)滤波器组系数,针对每一位说话者,每 10ms 计算一次 Δa 和 ΔΔa, 以及均值和方差标准化。对于解码模型,我们使用了 6925 个标签:6922个常见的中文字,一个未知标记,两个已知标记。

4.2 训练

我们构建了一个常见的基于注意力的 ASR 模型。模型的编码器函数是一个 3 层的 BLSTM,每个方向有 256 个 LSTM 单元(或者说,总共有 512 个计算单元)。解码器是拥有 256 个 LSTM 单元的单层 LSTM。所有权重矩阵用归一化初始化进行初始化[28],偏置向量初始化为 0。梯度范数的限幅为 1,然后加上高斯加权噪声, L2 权重衰减 1e-5。

我们使用了 ADAM 以及默认参数,但是,当模型收敛过后,我们把学习速率从 1e-3 衰减到1e-4。模型损失结合了 softmax 的输出和交叉熵损失。

4.3 结果

表1表明在中文 ASR 方面,我们的模型表现优异。基于上下文的注意力模型的 CER 为 4.05%,SET 为9.1%。通过使用注意力平滑模型,我们把 CER 提升到了 3.58%,或者说相对于基于上下文的注意力模型性能提升了 11.6%。我们还观察到,基于注意力的模型经常输出非常陡峭的预测。Sigmoid 函数保证了模型的多样化,平滑了注意力机制的关注点。卷积注意力模型的性能也非常好,其 CER 为 3.82%, SER 为 8.17%。

图3

此外,我们也分析了波束搜索宽度对于解码准确度的重要性。图 3 给出了,在测试数据集上解码波束宽度对于 WER/SER 的影响。在波束宽度为 30 的时候,CER 为 4.78%,这之后我们再也没有观察到任何明显的提升。注意力平滑模型也有相似的结果。我们观察到较窄的波束宽度可以获得更好的性能表现(波束设为 30 已经足够了)。

同时,我们还观察了 Softmax 函数温度超参数的影响。我们发现,温度超参数可以用来平滑文字概率分布。我们通过温度超参数 t 来改变文字概率分布:

图4

图4表明,t=2 时性能最佳。当我们不断增加温度超参数时,并没有获得额外的性能提升。

与此同时,我们研究了语言模型的影响。在解码部分,我们使用了拓展三元语言模型,并获得了一个更好的结果。并且,在 r=0.1 时,注意力平滑取得了最好的性能。


5. 总结

基于注意力的编码器-解码器模型的端对端中文语音识别,我们已取得第一个佳绩。对于语音搜索任务,我们的模型 CER 为 3.58%,SER 为 7.43%。为了加速训练和收敛过程,我们采用了亚采样的方法。与此同时,使用 L2 正则化和高斯加权噪音以获得更好的泛化和收敛能力。此外,我们也探索了上下文注意力(content attention)和卷积注意力(convolutional attention)标准化的问题。

研究表明,基于注意力的编码-解码模型在中文 ASR 性能优越。通过结合本文提出的模型和一些现有的技术,比如深度卷积神经网络,性能有望得到进一步的提升。这将是我们将来的研究方向。


6. 致谢

在这里,我们要感谢张羽以及李健的建议和技术支持。此外,还要感谢小米云平台运维团队,和小米深度学习组,他们提供了深度学习平台。

 

作者:AI科技大本营
链接:https://juejin.im/post/597afdf55188253dfa500a6c
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐