专栏首页人工智能前沿讲习SFFAI分享 | 田正坤 :Seq2Seq模型在语音识别中的应用

SFFAI分享 | 田正坤 :Seq2Seq模型在语音识别中的应用

导读


随着神经机器翻译的兴起,基于Attention的Seq2Seq模型由于其强大的建模变长序列直接转换问题的能力,也在其他领域获得了极大的关注。语音识别问题本质上也是两个变长序列直接转换的问题,Seq2Seq模型的提出为解决语音识别问题开辟了另一条道路,其优雅的模型结构和强大的性能使得语音识别问题有希望彻底摆脱语言模型和发音词典,真正的进行端到端的联合优化。

作者简介


田正坤,中国科学院自动化智能交互课题组,研究方向是语音识别,迁移学习,另外对于自然语言处理也有很大的兴趣。

1、Introduction


1.1 Background

最近几年神经机器翻译(NMT)取代了传统统计机器翻译(SMT)方法成为了主流。神经机器翻译的核心方法就是Sequence-to-Sequence(Seq2Seq)模型[1], Seq2Seq模型取得这么多的关注,得益于其强大的序列建模能力以及建模两个变长序列之间转换的能力。语音识别(Automation SpeechRecognition, ASR)与机器翻译一样,实际上也可以看成两个序列之间转换的问题。语音识别实际上的目标就是把输入的音频序列转录为对应的文本序列,音频序列可以描述为

其中oi表示每一帧语音特征,t表示音频序列的时间步(通常情况下,每秒语音会被分为100帧,每帧可以提取39维或者120维的特征),同样的,文本序列可以描述为

其中n表示语音中对应的词数(不一定是词,也可能是音素等其他建模单元)。由此可见,语音识别问题也可以用序列到序列的模型建模。

1.2 Related Works

传统的语音识别问题是DNN-HMM的混合结构[3],并且还需要语言模型、发音词典和解码器等多个部件共同建模。其中发音词典的构建需要大量的专家知识,多个模型组件之间也需要单独训练不能进行联合优化。Seq2Seq模型给语音识别建模提供了一种新的解决思路[ 3, 4]。将Seq2Seq模型应用于语音识别问题有很多明显的优势。

1.2.1 可以进行端到端联合优化。

1.2.2 彻底摆脱了马尔科夫假设

1.2.3 不需要发音词典(发音词典很昂贵)

2、Methods


2.1 Seq2Seq模型与Attention机制简介

图1 Sequence-to-Sequence Model

Seq2Seq模型通常包含两部分,一部分是Encoder, 另一部分是Decoder。Encoder和Decoder通常都采用RNN及其变体作为基本结构。采用Seq2Seq模型建模语音识别问题的思路很简单,首先,通过模型的Encoder结构将语音序列编码成固定长度的向量(这个向量最后一个时间步的RNN的输出),然后Decoder根据Encoder的输入的句子表示以及上一时刻解码逐步输出生成下一时刻的标记。用公式描述就是下面的结构,红框中标出的就是源序列的编码表示。

注意力机制[1]带给Seq2Seq模型一个极大的性能提升。与纯Seq2Seq模型的差异是,基于注意力机制的序列到序列模型在每一步解码时都会计算一个上下文向量ci,它是从Encoder每一步编码输出的加权和,表示解码当前标记需要注意源序列中的信息。权重表示当时解码状态与Encoder每一时刻编码输出的相关性。实际上可以解读为一个查询机智,根据Decoder当前时刻状态去Encoder输出中查找最匹配的信息。对应的是生成公式中的c被上下文向量ci代替。

图2 Attention-based Sequence-to-SequenceModel

注意力机制计算方法如下:

针对Decoder输出状态Si-1(有时也用Si)与第j时刻Encoder输入hj计算相似度,然后针对所有相似度进行Softmax归一化

上下文向量表示为Encoder总计T个时刻输入的加权和

2.1 A Review of Attention-based Seq2seq Model

注意力模型在机器翻译等领域取得了重大进展,也出现了多个变体,但是其整体的发展方向可以概括为不同的Encoder结构,不同Attention机制(不同计算相似度方法,不同结构)。Decoder结构是自回归模型,相对变化比较少。

2.1.1 不同的Encoder结构

• 采用卷积结构代替RNN结构。

其中最经典的方法是Facebook的ConvS2S[5]。整个模型采用CNN代替了RNN,模型解决了RNN不能充分利用GPU性能的问题,同时提高了模型的精度。利用CNN代替RNN结构对序列建模会是序列丢失掉时序信息,因此最关键的一步是对源序列进行位置编码扩充的原有的特征中。

图3 ConvS2S Model

• 更加深的Encoder结构

采用更深层的Encoder结构的基本假设就是在深度学习中,通常增加网络的层数能够获得更好的模型精度和泛化性能。例如[6]中就采用了8层以上的网络进行语音序列编码。

• 减少源序列时间步的探索

对于语音任务,实际上源序列通常长度为几百步,目标序列通常几十步,源序列与目标序列之间的巨大的长度差异限制了序列编码能力和Attention的查找能力。LAS[4]采用了金字塔结构的Encoder,每经过一层编码,时间步就会缩小一倍,时间步缩小会大大减少注意力机制的计算量,同时更容易在源序列中查找出有效的信息。

图4 Pyramidal Encoder

2.1.2 不同的注意力机制

• 不同的计算相似度方法

a. Dot(两个向量直接点乘)

b. General(解码状态需要进行线性变换)

c. Concat (两个向量拼接在一起后进行间接计算相似度)

d.Location-aware Attention[7](计算注意力机制是也考虑上一解码时刻注意力权重,相当于进行Soft-alignment,这种方法被应用于语音领域)

• 不同的注意力结构

注意力有好多结构,包括Soft-Atttention[8], Hard-Attention[9], Global-Attetion[10], Local-Attention[10], Multihead-Attention[11], Self-Attetion[11]等,限于篇幅,这里主要描述一下最后两种,其余的请看一下最后的补充文档。

a. MultiHead-Attention

每个注意力机制实际上能够注意到的信息是有限的,那么可以通过增加多个注意力机制来使得模型能够注意到源序列的不同信息。每个注意力头的计算方法是一样的。

图5 Multi-Head-Attention

但是在实际中怎么能确保每个注意力头都能学习到不一样的方面,而避免每个注意机制都注意到同一个地方呢?[12]提出对多头注意力权重A增加惩罚。描述如下:

增加惩罚项约束了注意力学习的过程,强迫每个注意力权重注意不同的内容,注意力权重直接尽量不相关。

b. Self-Attention

Self-attention因为Attention Is All You Need这篇文章而大火,Self-attention实际上提供了一个快速使得每个序列单元都快速获得序列全局信息的方法,极大的利用了GPU的性能,同时摆脱了RNN结构。关于Self-Attention的详细介绍,建议大家参考阅读以下这个博客The Annotated Transformer

(http://nlp.seas.harvard.edu/2018/04/03/attention.html),它提供了一对于这篇论文详细的解读以及代码实现。

3、Take Home Message


语音识别问题与机器翻译问题还是有着很大的区别的。

3.1 语音识别问题中两种序列来自于同一种语言,源序列与目标序列的语序是一致的,但是机器翻译的源序列与目标序列来自于两种语言,他们之前存在着语序的差异。

3.2 相对于机器翻译来讲,语音识别是一个高噪声且差异大的序列。高噪声指的是同一个人在不同环境下发出同一个声音是不一样的。差异大描述的是不同人对于同一个声音的表达也存在着很大的差异。这两个问题都增加了建模难度。

3.3 语音识别中源序列没有办法对词单元建模,因为目前没有办法在一段连续的声音里面获取一个完整词的语义表示。而机器翻译建模单元是词的Embedding信息,其中包含大量的语义信息,能够辅助建模。

3.4 最后一个问题就是序列长度差异,对于语音识别任务来说,源序列是声音序列,假如一句话5秒钟,那么源序列长度为500。而翻译一句话也就十几个词。更长的源序列长度带给模型的序列建模能力以及Attention机制的检索能力极大的考验。

即使存在着这么大的差别,但是目前应用于语音识别的Attention-based Seq2Seq方法与机器翻译中的方法差别不是很大,个人倾向于针对Seq2Seq方法在语音识别领域做更多特定的优化。另外有些工作将其他语音识别方法与Seq2Seq模型进行组合[13,14],也获得了很好的效果,同时给我们极大的启发。

如果你想了解关于Seq2Seq模型在语音识别建模中的发展或者对序列建模感兴趣的话,请看我之前写的文档(链接:https://github.com/ZhengkunTian/An-Review-of-Attention-based-Seq2Seq-Model-For-ASR)或者联系我(zhengkuncasia@163.com)。

4、Reference


[1] Bahdanau, Dzmitry, K. Cho, and Y. Bengio."Neural Machine Translation by Jointly Learning to Align andTranslate." Computer Science (2014)

[2] Luong, Minh Thang, H. Pham, and C. D.Manning. "Effective Approaches to Attention-based Neural MachineTranslation." Computer Science (2015).

[3] Yu, Dong, and J. Li. "RecentProgresses in Deep Learning Based Acoustic Models." IEEE/CAA Journal ofAutomatica Sinica 4.3(2017):396-409.

[4] Chan, William, et al. "Listen, Attendand Spell." Computer Science (2015).

[5] MLAGehring, Jonas, et al."Convolutional Sequence to Sequence Learning." (2017).

[6] Zhang, Yu, W. Chan, and N. Jaitly."Very Deep Convolutional Networks for End-to-End Speech Recognition."(2017):4845-4849.

[7] Chorowski J, Bahdanau D, Serdyuk D, et al.Attention-Based Models for Speech Recognition[J]. Computer Science, 2015,10(4):429-439.

[8] Chiu, Chung Cheng, et al."State-of-the-art Speech Recognition With Sequence-to-SequenceModels." (2017).

[9] Xu, Kelvin, et al. "Show, Attend andTell: Neural Image Caption Generation with Visual Attention." ComputerScience (2015):2048-2057.

[10] Luong, Minh Thang, H. Pham, and C. D.Manning. "Effective Approaches to Attention-based Neural MachineTranslation." Computer Science (2015).

[11]Vaswani, Ashish, et al. "Attention IsAll You Need." (2017).

[12] Lin, Zhouhan, et al. "A STRUCTURED SELF-ATTENTIVESENTENCE EMBEDDING." international conference on learning representations(2017).

[13] Sei Ueno et al.,acoustic-to-wordattention-based model complemented with character-level ctc-based model,ICASSP2018, http://sap.ist.i.kyoto-u.ac.jp/lab/bib/intl/UEN-ICASSP18.pdf

[14] Shiyu Zhou, et al. "Syllable-BasedSequence-to-Sequence Speech Recognition with the Transformer in MandarinChinese." (2018).

本文分享自微信公众号 - 人工智能前沿讲习(AIFrontier),作者:田正坤

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【阅读笔记】用于可控文本生成的句法驱动的迭代拓展语言模型

    论文标题:Syntax-driven Iterative Expansion Language Modelsfor Controllable Text Gene...

    马上科普尚尚
  • SFFAI分享 | 邵晨泽:非自回归机器翻译【附PPT与视频资料】

    非自回归神经机器翻译是一种新兴的翻译技术。传统的自回归机器翻译模型是逐词产生译文的,每一步的译文单词的生成都依赖于之前的翻译结果,而非自回归模型对每个译文单词的...

    马上科普尚尚
  • 语音关键词检测方法综述【附PPT与视频资料】

    随着智能音箱、语音助手等应用的出现,普通人也可以像科幻场景一样使用语音与机器进行交流。语音关键词检测是实现人机语音交互的重要技术,被广泛地应用于各类智能设备、语...

    马上科普尚尚
  • 机器翻译不可不知的Seq2Seq模型

    Seq2Seq,全称Sequence to Sequence。它是一种通用的编码器——解码器框架,可用于机器翻译、文本摘要、会话建模、图...

    机器学习算法工程师
  • (1)TBtools | 序列工具之序列信息提取

    ①reads:就是我们测序产生的短读序列,通常一代和三代的reads读长在几千到几万bp之间,二代的相对较短,平均是几十到几百bp。

    生信real
  • 访谈 | 与吉林大学统计系教授聊聊时间序列分析

    本文由经管之家CDA数据分析师独家整理,转载请注明来源 前不久,经管之家邀请到了吉林大学数据学院概率统计系教授朱复康博士参与了论坛的线上互动问答,与广大坛友就时...

    CDA数据分析师
  • 腾讯安全团队:谷歌AI学习系统有安全漏洞

    腾讯安全平台部Blade团队日前对外发布消息称,该团队在对谷歌人工智能学习系统Tensorflow进行代码审计时,发现该系统存在重大安全漏洞,利用该系统进行编辑...

    企鹅号小编
  • WebUploader 一个页面多次实例化封装

    上传图片网上找了比较好的插件WebUploader,但是在一个页面中2次实例化会有问题,现把插件封装了下,例子直接copy可以使用。如果上传失败再次需要上传的话...

    tianyawhl
  • 【AlphaGo Zero 核心技术-深度强化学习教程代码实战02】理解gym的建模思想

    点击上方“专知”关注获取更多AI知识! 【导读】Google DeepMind在Nature上发表最新论文,介绍了迄今最强最新的版本AlphaGo Zero,不...

    WZEARW
  • PageRank 算法

    PageRank算法是图的链接分析(link analysis)的代表性算法,属于图数据上的无监督学习方法。

    Michael阿明

扫码关注云+社区

领取腾讯云代金券