具备记忆单元的Transformer ASR (SAN-M)
"SAN-M: Memory Equipped Self-Attention for End-to-End Speech Recognition"这篇文章巧妙的将DFSMN记忆单元、融合到Transformer ASR模型中,取得了显著的改进效果。
Paper地址:https://arxiv.org/abs/2006.01713
Introduction
- 传统ASR方案采用混合架构,包含了单独的AM、PM、LM;
- 端到端的ASR方案(将AM、PM、LM集成到一个模型),主要有两种方案:
- AM+CTC:通常需要额外的LM(如n-gram),用以增强序列生成效果;
-
Attention-based Model:
- 通常是seq2seq模型,内含LM;
- Encoder+decoder架构,encoder输出声学特征,decoder按自回归或非自回归方式解码生成序列;
-
基于LSTM的方法(attention-based):
- 沿时间循环反馈,以捕获声学特征的长时依赖;
- Decoder中的attention模块,可实现encoder输出特征与decoder隐层状态之间的交互;
- LSTM的计算复杂度相对较高,且容易遭遇梯度消失等问题;
- 近期ASR的发展:
- 基于前馈型神经网络进行序列建模,通常作为声学模型,捕获sequence中的correlation或context信息:
- TDNN:全卷积网络,通常采用conv1d捕获序列信息(局部context);
- DFSMN:在CFSMN基础上,进一步引入了skip-connection,允许网络加深;
- CFSMN:为了减少Memory block的记忆容量,引入project模块、对hidden states进行降维;
- FSMN:在基本的前馈网络基础之上,引入Memory block (FIR filter),用来保存历史或未来信息,适合捕获局部依赖信息;为了捕获长时依赖信息,需要堆叠更多layer,或增加FIR filter的阶数;
- TDNN-f:TDNN的改进,采用了低秩矩阵分解、与skip connection;
- 基于前馈型神经网络进行序列建模,通常作为声学模型,捕获sequence中的correlation或context信息:
- 端到端的Transformer通过Self-attention,能够以相对更低的计算复杂度,捕获context信息,并具备较强的长时依赖捕获能力;能够端到端实现ASR功能,内含LM;
- DFSMN适合捕获局部信息,Self-attention模块具备较强的长时依赖捕获能力,因此二者存在互补性:
- SAN-M通过将两个模块的特性融合在一起,实现了优势互补;
- 在Aishell-1与20000h工业级语音数据集上做了验证;
The Proposed Methods
Overview
- SAN-M表示Self-attention与DFSMN记忆单元的融合;
-
Biasic Sub-layer表示包含了SAN-M的Self-attention layer;
Multi-Head Attention
Memory Block
- DFSMN记忆单元:
- FIR filter:抽头系数为可训练变量;
- 本质上为一维卷积,但DFSMN记忆单元对全序列执行运算;
- GitHub:https://github.com/huyanxin/DFSMN/blob/master/model/dfsmn.py
Comparing Self-Attention and Memory Blocks
- Self-attention的context信息编码可表示为、序列中不同时刻特征的加权求和,与scalar FSMN Memory Block类似:
- 相区别的地方在于:
-
Self-attention的加权系数,是基于特征、动态计算获得的(CD:Context Dependent),self-attention的计算复杂度为
;
-
DFSMN Memory Block的加权系数,是基于数据集训练学习得到的(CI:Context Independent),Memory Block的计算复杂度为
;
-
Self-attention的加权系数,是基于特征、动态计算获得的(CD:Context Dependent),self-attention的计算复杂度为
- Self-attention与DFSMN Memory Block的信息编码特点:
- 不同Encoder layer的Self-attention系数分布如下,呈现出对角聚焦特性,主要捕获局部context:
- 不同Encoder layer的DFSMN系数分布如下,也主要捕获局部或短时依赖:
- 不同Decoder layer的Self-attention系数和DFSMN系数分布如下:
- Self-attention表现出更强的长时依赖捕获能力,且Decoder对长时context的需求更强,主要体现在自回归解码的需求;
- DFSMN倾向于捕获短时依赖;
- 不同Encoder layer的Self-attention系数分布如下,呈现出对角聚焦特性,主要捕获局部context:
Memory Equipped Self-Attention
-
SAN-M基本模块:DFSMN添加在values后面,其输出与Multi-head Attention相加:
Experiments
- SpecAugment作为数据增强策略;
- Aishell-1:
- 20000h工业级语音数据集(Mandarin speech recognition task):