JOINT UNSUPERVISED AND SUPERVISED TRAINING FOR MULTILINGUAL ASR
研究机构:google
文章来源:[2111.08137] Joint Unsupervised and Supervised Training for Multilingual ASR (arxiv.org)
研究背景
自监督语音预训练模型在下游任务(如ASR)表现出很好的性能,目前的预训练方法采用2阶段式,包含pre-train和fine-tune。pre-train段主要优化自监督损失函数,fine-tune阶段主要优化有监督损失函数。在这边文章中,作者提出了端到端联合无监督和有监督方法优化方法(JUST),具体而言包含supervised RNN-T loss、self-supervised contrastive loss和masked language modeling(MLM) loss。然后在Multilingual librispeech(MLS)多语种有监督数据集上验证了方法的有效性。
2阶段式训练的策略,其实存在潜在的问题,模型可能出现灾难性遗忘(catastrophic forgetting)。比如当一个模型无监督预训练完成之后,并且finetune的有监督数据比较大时,模型可能忘记在预训练中学到的信息。这种情况在multilingual ASR任务中可能更容易出现。因为语种不相同并且数据量不平衡。
仔细想想,其实是在现有有监督训练方法(有标签数据)的基础上,额外添加了对比学习loss和MLM loss。此方法并没有利用额外的无标签数据。
主要创新点
文章提出的模型结构如图1所示,输入特征为80维的fbank特征,feature encoder和wav2vec2.0中的结构一样(7层卷积),经过7层卷积进行1/4下采样。Contrastive net为8层conformer block,MLM net为16层conformer block,decoder为2层LSTM。模型总参数600M。feature encoder输出mask策略和wav2vec2.0相同,额外引入的loss位置在图中也是很直观。
Contrastive 损失函数:
MLM损失函数为 L m L_m Lm,所有的自监督损失函数为 L u L_u Lu:
最终所有的损失函数为
L
L
L,其中
L
s
L_s
Ls为有监督RNN-T loss,
L
u
L_u
Lu为自监督损失函数:
实验结果
实验所采用的数据均为有监督数据(MLS数据集),无额外数据。在wav2vec2.0额外用了无监督数据的情况下,此种训练方式比wav2vec2.0、XLSR-53两阶段式性能更好。
红色第1行结果:
β = 0 \beta=0 β=0 时,此时相当于不采用无监督损失函数。在全部的有监督数据上进行有监督训练的结果。
红色第2行结果:
采用两阶段式w2v2模型,无监督pre-train和纯有监督fine-tune。
红色第3行结果:
采用两阶段式w2v-bert模型,无监督pre-train和纯有监督fine-tune。
红色第4行结果:
采用两阶段式w2v-bert模型,无监督pre-train,无监督和有监督 joint fine-tune。
红色第5行结果:
采用w2v2模型supervised和unsupervised loss joint train。
红色第6行结果:
采用JUST方式从随机初始化joint 训练。
红色第7行结果:
采用JUST方式从随机初始化joint 训练,然后再在预训练过的模型,采用supervised loss finetune。
结论
- 第2,3,4行都是2阶段训练式的结果,在MLS这个数据集上,都没有1阶段式的性能好(第6行)。
- 第6行相比于第1行结果,表明了unsupervised loss 和 supervised loss joint train的重要性。
- 第6行和第5行结果相比,性能还是有略微提升,说明MLM loss还是能够起到一定作用,但是总体结果差别不大。
- 第7行和第6行结果相比,性能提升较大,采用JUST方式从随机初始化joint 训练,然后再在预训练过的模型上,采用supervised loss finetune性能还能有进一步的提升。
- 另外作者还发现,unsupervised loss最低的预训练checkpoint在下游任务上不一定是最优的。