美文网首页深度学习笔记
利用LWF实现对语码转换的语音识别

利用LWF实现对语码转换的语音识别

作者: 湘港记者 | 来源:发表于2020-06-24 22:15 被阅读0次

论文题目: Learning to Recognize Code-switched SpeechWithout Forgetting Monolingual Speech Recognition.
论文链接

在对单语语音ASR模型进行微调后,模型会忘记(catastrophic forgetting)单语语音的分布,而倾向于语码转换语音,对原单语语音的识别性能下降。

因此,本文研究在对语码转换识别进行微调的情况下如何保证原单语语音的识别性能。通过在三种印度语与英语的混合数据上进行实验,提出将LWF应用于单语模型的微调,可以实现与直接在单语-CS混合数据上训练E2E模型相近的性能,而不需要原单语数据(通常较大)。


问题

  • 从头训练高成本:单语语音模型训练成本很高(大量数据+长时间),无法重新end2end训练,例如将code-switched数据与单语数据混合。
  • 微调影响性能:ASR模型在针对code-switched语音进行fine-tuning,在原单语语音上的性能会降低。例如对四川话微调后的模型,其普通话识别率会下降。

方法

论文方法基于CTC-based E2E模型进行语音识别。

Model: 2 * CNN --> 5 * BLSTM(1024d) --> FC --> softmax

LWF: Learning Without Forgetting

针对只有单语模型,没有单语数据, 无法端到端重新训练pooled模型。

  • LWF目标:在保留旧知识的基础上学习新的知识。
  • 具体方法:知识蒸馏+微调;将模型在原任务上的输出记录下来,作为引导信息,从而使得网络尽可能少忘记在原任务上的表现。

在本文中,共享参数\theta_s;原任务参数\theta_m;新任务参数\theta_c,具体而言算法流程为:

  • 初始化阶段:用原模型(MONO)直接识别CS数据,记录下来
  • 热身阶段:固定原模型参数\theta_s, \theta_m,使用CS数据在前5个epochs训练\theta_c
  • 微调阶段:使用CS数据训练\theta_s, \theta_m, \theta_c,直到收敛。(此时,在初始化阶段被记录下来的label相当于原MONO模型的信息)

正则化

针对既有单语模型,也有单语数据。

具体方法:加入pre-train模型与微调模型输出的KL散度惩罚项,有以下两种方式。相当于对微调过程中新任务与原任务输出之间的差异进行约束。
L=(1-\alpha) L_{C T C}+\alpha D_{K L}\left(P_{t} \| Q_{t}\right) \quad (1)
L=L_{C T C}+\gamma D_{K L}\left(P_{t} \| Q_{t}\right) \quad (2)

结果

数据集

语音数据:三种方言及其与英语的code-switchig(CS): Tamil-English(TA), Telugu-English(TE) and Gujarati-English(GU)

训练/测试:训练-会话数据和短语数据;测试-仅使用短语数据。训练时数据混合单语数据(MONO)和CS数据;测试时则将两者分开。

数据统计:训练-MONO与CS数据各约200小时(现实中CS数据一般较少,不太符合实际情况);测试-MONO与CS各约20小时(GU较少);CMI约20。

CMI: Code Mixing Index. \mathrm{CMI}=\frac{\sum_{i=1}^{N}\left(w_{i}\right)-\max \left\{w_{i}\right\}}{n-u}

基线

TL;DR 有效方法:

  • 混合MONO和CS数据训练,并在此基础上微调
  • 用较少的数据进行微调效果更好
  • 对KL散度进行约束对性能稍有提升

但是,实际上我们往往无法获得MONO数据,而只有MONO模型。


简单基线

将以下三种训练方式作为基线:

  • exp1: 仅使用MONO数据
  • exp2: 仅适用CS数据
  • exp3: 混合数据(lower WER)

微调基线

条件:10% learning rate with CS data,两种Fine-tuning模型:

  • exp4: 对在MONO数据上训练的模型微调 (对MONO和CS表现都不好)
  • exp5: 对混合数据训练的模型进行微调 (best baseline)

在此基础上对CS数据进行随机采样(25%-50%-75%),针对混合模型进行微调,25%采样性能最好——随机采样有效。

  • reg: fine-tuning with regularization

结果显示,在式(2)正则(Scaled KLD)下在TA/TE数据上有提升。

LWF

  • 在没有MONO数据的情况下,获得了比较接近best fine-tuning的性能结果。
  • 并不一定能获得最佳性能(因为无法获得原始MONO训练数据),但是能够有效降低exp4(在MONO模型上微调)的性能gap。

相关论文和代码

本文相关模型算法

[1] CTC E2E模型:Luo N, Jiang D, Zhao S, et al. Towards end-to-end code-switching speech recognition[J]. arXiv preprint arXiv:1810.13091, 2018.
[2] LWF算法: Li Z, Hoiem D. Learning without forgetting[J]. IEEE transactions on pattern analysis and machine intelligence, 2017, 40(12): 2935-2947.

其他相关论文

[1] 相关综述:Sitaram S, Chandu K R, Rallabandi S K, et al. A survey of code-switched speech and language processing[J]. arXiv preprint arXiv:1904.00784, 2019.
[2] 多任务学习方案:Shan C, Weng C, Wang G, et al. Investigating end-to-end speech recognition for Mandarin-English code-switching[C]//ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2019: 6056-6060.
[3] 元学习方案:Winata G I, Cahyawijaya S, Lin Z, et al. Meta-Transfer Learning for Code-Switched Speech Recognition[J]. arXiv preprint arXiv:2004.14228, 2020.

相关代码

相关文章

网友评论

    本文标题:利用LWF实现对语码转换的语音识别

    本文链接:https://www.haomeiwen.com/subject/olgdfktx.html