A COMPARISON OF TRANSFORMER AND LSTM ENCODER DECODER MODELS FOR ASR
1.论文摘要
在解决asr任务常用的端到端的模型中对比了Trasnformer 和 Lstm 两种模型结构的效果,并得出了以下结论:
(1)Transformer 相比LSTM来说训练更加稳定但容易过拟合。
(2)采用两层lstm结构作为Transformer encoder中的位置编码的效果更好。
(3)在训练两个模型的过程中需要采用一些预训练和其他策略调整的trick,使得训练稳定且容易收敛。
(4)SpecAugment变体的数据增强方法使得Transformer模型提升了33%, LSTM提升了15%。
最终模型在TED-LIUM-v2数据集上达到了attention based 的端到端模型的最好结果。
2.模型介绍
LSTM-Based
-
Encoder
采用多层双向LSTM,不同层之间添加了可选的max-pooling 层做下采样。本文中时间域上下采样6倍。
-
Decoder
采用了MLP attention的计算方法, v是可训练的向量,W是可训练矩阵, β i , t \beta_{i,t} βi,t是一个attention 权重的反馈变量
其他计算权重 α \alpha α,context vector 方法与其他论文一致。计算decoder state的方法
其中 M L P r e a d o u t = l i n e a r ⋅ m a x o u t ⋅ l i n e a r MLP_{read_out}=linear · maxout· linear MLPreadout=linear⋅maxout⋅linear
同时在encoder端还增加了辅助的ctcloss, 起到帮助收敛以及regularization的效果,但是不将其结果用在decoding中。 -
pretraining
预训练帮助收敛的技巧:(1)先采用一个小的encoder, 然后step by step 的增加encoder 中的哥哥参数比如depth,number of layers, hidden dimensions 等。 (2)采用learning rate warmup 以及一些正则化的方法例如dropout 和 label smoothing (开始设置较低或disabled 后买你逐渐放开)。(3)采用 curriculum learning的方法 -
initial convolutional network
在BLSTM layers之前增加卷积层,可能会增加训练的不稳定性,但是能够提高最终的模型效果。
*stable MLP attetion projection
计算energy 的时候设置v为非负的, 因此考虑用下式来计算。
- decoupled decoder LSTM
为了减少训练时间,提出了一种变体,decoder LSTM 只关注ground truth, 而不考虑attention context. 同时不考虑weight feedback,并用dot attention 代替MLP attention.
Transformer-Based
encoder 采用多层self-attention layer + Feedforward layer的组合,其中每一个layer前都要过一个layer normalization ,并且残差连接之前要过一个dropout 层。同时Transformer layer 采用LSTM 作为位置编码,并且与上一个模型一致都做了max-pooling 来做下采样。
- Decoder
- pretraining
encdoer 与 decoder layer 从1开始增加,每迭代一轮layer数增加一倍, hidden dimension采用线性增加的方法。
其他操作
- 数据增强
沿时间轴与feature axis 做随机mask.可以显著减少overffitting. - 语言模型融合+EOS penalty
3.实验结果
不同配置的对比实验,可以看出LSTM配置在相同12.5Epoch 的模型结果更好,Transformer 在足够训练时长并添加LM+EOS配置的最终模型效果更好。
Transformer baseline 相比于lstm 更容易出现过拟合的现象, 数据增强可以缓解过拟合的影响。
使用LSTM作为positional embedding 以及辅助CTC可以帮助加快收敛并且提升模型的效果。
最终结论:
Transformer based 端到端模型相对于lstm 训练速度更快更稳定且模型效果更好,但容易出现过拟合,可通过数据增强来减少这方面的影响。time reduction使得收敛更快,效果更好。CTC 辅助loss 对两种模型也都有正面作用。