Transformers with convolutional context for ASR
(1) 论文思路
将原来sinusoidal 的位置编码用卷积学到的输入表征所代替,相对于原来的绝对位置表征,这种相对位置的编码效果更有利于后面的transformer 去发现长距离的依赖关系(避免了浅层transformer层在位置信息方面的学习)。具体效果:在LIbrispeech 无LM模型条件下WER达到4.7%(clean)和12.9%(other).
(2) 模型结构
左边的结构为transformer 一个layer的组成:
右边的结构为加入context后整个transformer的组成: encoder端:K个2D 卷积+layernorm +relu 后再接一个2-D max pooling.
Decoder 端:每个transformer block 采用多个对encoder context 的多头注意力层,并对之前预测结果进行1d卷积,共N层。
(3) 实验结果
输入为10ms with 25ms window 计算的80D log mel-filterbank coefficients +3 个基本频率特征
2 个 2D 卷积block:每个block包含两层卷积 ,kernel size 3, max-pooling kernel 2. 第一个block feature map 64, 第二层128; decoder 端1d卷积有三层,无max pooling 层。
第一行为论文的卷积context 的配置,第二行实验采用将decoder端的卷积context换成绝对位置编码,效果明显变差,并且两者的拼接(第三行)也并有带来任何提升; 增加encoder layer层对提升效果至关重要,增加encoder decoder的relu层对模型效果也有提升,但是增加encoder与decoder 的multi head 数量对效果有一定负面影响。
在相同参数量的情况下,采用更宽的context size/ 更深的卷积层的效果是更好的。
增加encoder的层数可以让模型更关注声音内容,忽略一些噪音和环境声音,对模型的提升最明显。 decoder 层数的增加虽然提升有限,但还是有益处的。
通过与其他模型的结果对比可以发现,本文采用的模型在dev other 和 test other 两个数据集上相对于其他的no LM model分别有12% , 16%的提升,说明convolutional transformer 这种配置更能学好speech data、环境噪声等特征之间的长距离依赖,从而更好地分辨。 对于clean 的数据,还需要外部text建立的LM来进一步带来效果提升。