语音识别系列前三篇分别介绍了基本原理、混合模型、端到端模型中的CTC模型和Transducer模型。此篇是系列最后一篇,讲讲基于Attention机制(注意力机制)的端到端模型。
\
复习Attention
Attention机制毫不夸张地说是近几年机器学习中的大热门,热门的原因确实是因为它在各种场景中能提高模型的准确率。Attention本身的机制和结构不是本篇文章的重点,网上介绍的文章很多,我公众号之前也专门写了一篇文章介绍 ELMo、Attention、Transformer究竟在讲什么?
\
为方便理解本篇介绍的各种基于Attention的语音识别模型,对需要复习Attention的读者,我在此再系统列举一下当初提出Attention的基本论文和网上解释得最直观和系统的文章链接。最典型的Attention有两大类,一是Bahdanau等提出的用于机器翻译的Bahdanau Attention,二是Transformer模型中的Self-Attention。
Bahdanau Attention:
可视化解释:jalammar.github.io/visualizing…
Transformer:\
原始论文:Attention Is All You Need:arxiv.org/abs/1706.03…
可视化解释:jalammar.github.io/illustrated…
\
回到主题,近5年基于Attention的语音识别模型相关论文众多,本篇主要列举有代表性的模型结构。很多模型只是在基本结构上做修改,或者训练时使用一些特定的技巧,不一一列举。为方便分类,把基于Bahdanau Attention的记为Attention#1,基于Transformer Self-Attention的记为Attention#2。
\
Attention#1:LAS
全称:Listen, Attend and Spell
论文:arxiv.org/pdf/1508.01… (2015年)
作者机构:Carnegie Mellon University, Google Brain
一句话总结模型结构:和Bahdanau Attention的seq-to-seq翻译模型结构一致
Attend and Spell: 也就是decoder,使用基于Attention的LSTM,把从encoder得到的信息解码为文本。
\
实验结果:\
其中,CLDNN-HMM是DNN/HMM混合模型,LM Rescoring是加上语言模型,Sampling是训练中以一定概率从前面预测结果采样作为后续预测输入。从中可以看出,各种情况下性能都差于混合模型。
\
Attention#1:对LAS的改进\
论文:arxiv.org/abs/1609.06… (2017年)
作者机构:Carnegie Mellon University等
一句话总结模型结构:联合使用CTC和Attention
模型利用CTC和attention的优点,在encoder输出上加入CTC。损失函数是CTC和attention损失函数的加权和:
实验结果:\
优于单独的CTC或者Attention。
\
Attention#2:标准Transformer
论文:http://150.162.46.34:8080/icassp2018/ICASSP18_USB/pdfs/0005884.pdf (2018年)
全称:Speech Transformer
作者机构:中科院自动化所,中科院大学
一句话总结模型结构:标准Transformer + 输入使用卷积网络(CNN)
实验结果:\
和其他两个seq-to-seq性能相当,但没有和混合模型以及LAS模型比较。
\
Attention#2:对Transformer的改进\
论文:arxiv.org/abs/1904.13… (2019年)
作者机构:Carnegie Mellon University等
一句话总结模型结构:对Transformer结构做局部改进,另加一些技巧
具体改进:
- 随机加入residual layer。
- encoder层数多于decoder层数(实验证明有效)。
- 加入正则化。
\
实验结果:
好于LSTM with attention(LAS),差于LSTM with LFMMI。
\
Attention#1&2:同时使用两种Attention
论文:arxiv.org/abs/1803.09… (2018年)
作者机构:Karlsruhe Institute of Technology
Carnegie Mellon University
一句话总结模型结构:把LAS中encoder替换为Self-Attention
(a):原LAS中的encoder(第一个比较的baseline)
(b):另一论文对LAS中encoder的改进(第二个比较的baseline)
(c):本论文的enocer结构,使用Transformer Self-Attention
模型中使用的一些技巧:
- 对每一Self-Attention改变形状进行降采样。
- 尝试不同方法提供序列位置信息。
- 对Attention加偏移量,从而限制Attention值。
\
实验结果:
pyramidal: 第一个baseline,LAS原始模型
LSTM/NiN: 第二个baseline
stacked/interleaved hybrid: 本论文两种不同位置信息算法,从结果看WER和原结构相当,只是计算度加快了。
\
结合之前介绍的CTC、Transducer模型,和本次基于Attention的模型, 已经囊括了目前端到端模型的全貌。它们之间的性能比较怎么样呢?\
\
端到端模型总体比较一
作者机构:百度
实验在SWBD上测试,Transducer模型取得的结果最好。
\
端到端模型总体比较二\
论文:pdfs.semanticscholar.org/6cc6/8e8adf… (2019年)
作者机构:Google,Nvidia
此实验是在Google自己的一个测试集上做的。
- Attention based(LAS)在4个模型中最好。
- 没有加入Transformer比较。
- Baseline是CTC+语言模型,4个模型均未加额外的语言模型。
\
总结
本文列举了具有代表性的基于Attention机制的语音识别基本模型,以及在其上的改进,同时总体比较了各种端到端模型的性能。从实验结果来看,没有一种模型结构能在各种测试集上都优于其他模型,具体选用还得根据实际情况。\
到此,关于语音识别系列的文章告一段落。