如何亿点点降低语音识别跨畛域 跨语种迁徙难度
编者按:随着深度学习的不时开展,语音识别技术失掉了极大的优化,同时为人们的日常生存提供了许多便利。但是,一个语音模型的训练并非易事,由于语音数据自然存在着失掉难、数据标注耗时低廉的疑问,而且还会面临模型漂移、标注数据无余等难题。因此,迁徙学习技术关于语音数据十分关键。为了处置语音识别的跨畛域和跨言语疑问,微软亚洲钻研院机器学习组和微软(亚洲)互联网工程院提出了跨畛域和跨言语语音识别的 CMatch 和 Adapter 方法。这两项技术是如何优化模型迁徙学习性能的?他们又应用了哪些翻新技术?让咱们从当天的文章中来取得答案吧。
语音识别就是将人的声响转化为对应的文字,在如今的日常生存中有着关键的运行,例如手机中的语音助手、语音输入;智能家居中的声控照明、智能电视交互;还有影视字幕生成、听录速记等等,以语音辨以为外围技术的运行曾经缺乏为奇。但是,语音数据自然存在着失掉难、数据标注耗时低廉的疑问。不同人的方言、口音、谈话模式也有所不同。受限于此,采集到的语音数据绝大少数会面临模型漂移、标注数据无余等疑问。
尤其是语音识别中的跨畛域和跨言语场景更是十分具备应战性。跨畛域指的是在畛域 A(如个别麦克风)训练的模型如何迁徙到畛域 B(如公用麦克风)。而跨语种则指的是在言语 A(如俄语)上训练的模型如何迁徙到言语 B(如捷克语)。特意是关于一些标注数据稀缺的小语种更是如此。因此,钻研低资源跨语种迁徙至关关键。
为了处置上述难题,微软亚洲钻研院提出了 用于语音识别的无监视字符级散布适配迁徙学习方法 CMatch 和基于适配器架构的参数高效跨言语迁徙方法 Adapter 。相关论文已区分被语音畛域顶会和顶刊 Interspeech 2021 及 IEEE/ACM TASLP 2022 所接纳。(论文链接,请见文末)
成功字符级跨畛域适配
妇孺皆知,基于深度学习的端到端 ASR曾经可以经过大规模的训练数据和弱小的模型失掉很好的性能。但是,训练和测试数据之间或者会因录音设施、环境的不同有着相似却不婚配的散布,造成 ASR 模型测试时的识别精度降低。而这种畛域或散布不婚配的状况十分多样且经常出现,以致于很难对每个畛域的语音数据启动少量搜集并标志。这种状况下模型往往须要借助无监视畛域适配来优化其在指标域的体现。
现有的无监视畛域适配方法通常将每个畛域视为一个散布,而后启动畛域适配,例如畛域反抗训练或是特色婚配。这些方法或者会疏忽一些不同畛域内细粒度更高的散布常识,例如字符、音素或单词,这在必定水平上会影响适配的效果。这点在此前的钻研《Deep subdomain adaptation network for image classification》[1] 中失掉了验证,与在整个域中对齐的传统方法相比,在子域中对齐的图像(即按类标签划分的域)通常可以成功更好的自顺应性能。
微软亚洲钻研院提出了一种用于 ASR 的无监视字符级散布婚配方法—— CMatch,以实如今两个不同畛域中的每个字符之间口头细粒度的自顺应。在 Libri-Adapt 数据集上启动的试验标明,CMatch 在跨设施和跨环境的适配上相对单词失误率(WER)区分降低了14.39%和16.50%。同时,钻研员们还片面剖析了帧级标签调配和基于 Transformer 的畛域适配的不同战略。
以图1为例,经过口头 CMatch 算法,两个畛域相反的字符在特色散布中被拉近了:
图1:口头 CMatch 前后效果对比
CMatch 方法由两个步骤组成:帧级标签调配和字符级别的散布婚配。
其中,帧级别标签调配可以为语音信号取得愈加准 确的“特色-标签”对应相关,为下一步成功基于标签(即字符)的散布适配提供依据,即 须要取得帧级别的标签以取得更细粒度的特色散布。要想启动帧级标签调配,首先须要取得较为准确的标签对齐。如图2所示的三种方法:CTC 强迫对齐、灵活帧平均、以及伪 CTC 标签。可以看出,CTC 强迫对齐是经过预训练的 CTC 模块,在计算每条文本对应的最或者的 CTC 门路(拔出重复和 Blank 符号)后调配到每个语音帧上,这个方法相对准确但是计算代价较高;灵活帧平均则是将语音帧平均调配到每个字符上,这个方法须要基于源域和指标域语速平均的假定;而伪 CTC 标签的方法,经过应用曾经在源域上学习较好的 CTC 模块外加基于置信度的过滤(如图2中的 t、e、p 等),统筹了高效和准确性。
图2:三种帧级标签调配战略
须要说明的是,在源域上经常使用实在文本启动标签调配时,由于指标域没有文本,所以须要借助源域模型先对指标域的语音数据启动伪标注,而后再经常使用模型标注的文本启动标签调配。
失掉帧级别的标签后,就须要启动字符级别的散布婚配。钻研员们选用驳回了 Maximum Mean Discrepancy(MMD)度量启动特色婚配。MMD 用于评价两个散布之间的差异,是迁徙学习中经常出现的一种散布度量方法。它的公式为:
实践操作中,给定源域和指标域样本 X_S, X_T,计算 MMD 的有偏向的阅历预计:
经过计算一切字符之间的平均 MMD,可以失掉字符级别的散布婚配损失函数:
最终,微软亚洲钻研院驳回 CTC-Attention 混合模型作为基础 ASR 模型,以及同时混合学习 CTC 模块(用于帧级标签调配)和基于 Transformer Decoder 的 Seq2Seq Loss,于是语音识别的损失函数可以表示为:
将散布婚配损失函数和语音识别损失函数相联合,就失掉了最终的损失函数:
畛域内、跨设施、跨环境语音识别,CMatch均取得最佳效果
表2是跨设施语音识别时的结果,值得留意到的是,Source-only 的模型在其余设施录制语音上的识别效果相比畛域内模型都会有必定水平的降低。而基于全局 MMD 和畛域反抗训练的方法均有所优化,CMatch 则在各个状况下均取得了最佳的效果。
表2:跨设施语音识别结果
表3的结果标明,CMatch 在跨环境(抗噪声)语音识别状况下也取得了很好的效果。
表3:跨环境(抗噪声)语音识别结果
表4为消融试验,可以看到联合了自训练和细粒度的散布婚配能够使 CMatch 到达最好的效果。
此外,钻研员们还剖析比拟了三种字符调配方法。在表5中可以看出 CTC 强迫对齐取得了最好的效果,但是其计算开支也最大;而 FrameAverage 也取得了较好的效果,但它的假定前提是畛域和指标域具备平均的谈话速度;而经常使用 CTC 伪标签的方法取得了与 CTC 强迫对齐相近的结果,同时计算起来也愈加高效。
表5:三种字符调配方法的试验结果
最后,关于能否须要在解码器端经常使用 CMatch Loss,试验结果如表6。由于解码器在试验边疆本就没有配置上的差异,指标文本都是规范的英文,因此减小其散布的差异并没有什么效果,甚至会侵害性能。
表6:解码器端经常使用 CMatch Loss 的测试结果
Adapter 再退化:
更少的训练数据,更高的准确率
在一代代迷信家和工程师的致力下,语音识别系统在各种支谣言语上都曾经到达了十分好的效果,比如英语、中文、法语、俄语、西班牙语等……让人们在日常生存中就能享用其带来的便利。但是,环球上有大概7,000种言语,其中绝大局部言语的经常使用者并不多,而且不同人的方言、口音、谈话模式也有所不同,这就使得这些言语的语音数据十分稀缺,即低资源()言语。标注数据的稀缺造成近年来端到端语音识别的诸多成绩迟迟不能运行到这些言语上。
为此,微软亚洲钻研院的钻研员们开局思索如何应用迁徙学习,将支谣言语(如英语、中文等)的常识用于协助低资源言语的学习,在多种言语之间共享,起到“四两拨千斤”的效果,从而优化小语种语音识别的体现。如图3所示,给定罗马尼亚语作为指标言语,如何应用数据相对丰盛的意大利语、威尔士语和俄语来训练出更好的罗马尼亚语语音识别模型?
图3:给定若干源言语,如何将常识迁徙到指标言语上?
幸运的是,近年来,如 wav2vec2.0 [2] 等预训练模型都曾经推出了多言语版本,微软亚洲钻研院之前的钻研也证实了仅须要便捷的微调,一个大规模的多言语模型就能被适配到一个低资源言语上,并能清楚改善识别性能。
但与此同时,钻研员们也发现了两个新疑问:
不过,之前 Houlsby 等人发现[3],关于一个预训练好的 BERT,只有要在 Transformer 的每一层拔出一个如图4所示的 Adapter,就能在不扭转模型骨干参数的状况下将模型适配到各种下游义务,甚至能够取得凑近整个模型微调的体现。Adapter 关键蕴含一个 LayerNorm 层,用于从新调理原始特色的尺度,接着区分是一个降采样层和一个升采样层对特色启动紧缩和恢复,最后由一个残差衔接保障原始特色依然能经过,从而优化 Adapter 训练时的稳固性。
图4:Adapter 结构表示图
遭到 Adapter 的启示,微软亚洲钻研院的钻研员们尝试经常使用 Adapter 来处置模型过拟合疑问,对如何应用 Adapter 启动高参数效率(parameter-efficient)的预训练多言语 ASR 模型的迁徙开展了钻研,并提出了MetaAdapter和SimAdapter来对 Adapter 进一步优化,在仅经常使用2.5%和15.5%的可训练参数的状况下,使得识别词失误率(WER相对全模型微调区分降低了2.98%和2.55%。
微软亚洲钻研院经常使用了自己预训练的多言语模型启动试验,该方法也可以用于 wav2vec2.0 等模型上。详细来说,模型的骨干基于 Transformer 的结构,关键蕴含12层 Encoder 以及6层 Decoder 模型,联合了11种语料(蕴含42种言语,总时长约5,000小时)对模型启动预训练。同时,模型驳回了 CTC-Attention 混合损失函数来优化训练的稳固性和减速训练,即在 Encoder 的输入特色上参与 CTC 层,经常使用 CTC 损失启动解放。钻研员们还将 Adapter 放在前馈层(Feed-Forward Networks前面,从而对每一层的输入特色启动调理。
:MetaAdapter 在结构上与 Adapter 齐全分歧,惟一不同的是,经常使用了 MAML (Model-Agnostic Meta-Learning) [4] 元学习算法来学习一个 Adapter 更优的初始化。MetaAdapter 须要经过学习如何学习多种源言语,从而在各种言语中搜集隐含的共享消息,以协助学习一个新的言语。试验发现,MetaAdapter 关于过拟合和极少数据量的鲁棒性,以及最终迁徙效果均清楚强于原始 Adapter 。
图6:MetaAdapter
:假设说 MetaAdapter 须要经过搜集隐含的共享消息来学习新的言语,那么 SimAdapter 则是显式地要求模型去建模各种言语的相似度相关,从而更好的学习指标言语,其结构如图7所示。在钻研员们看来,多言语模型的原始特色是相对言语有关的,那么假设经常使用这些特色作为 Query,将各言语 Adapter(包括指标言语)输入的言语强相关特色作为 Key 和 Value,那么就能经过结构留意力机制,从指标言语和源言语中区分提取一些有效消息,作为更好的指标言语特色。
SimAdapter+ 到达最优结果,MetaAdapter 长于数据量极少的场景
经过将模型在 Common Voice 的五种低资源言语上启动试验,结果如表7所示。依据迁徙与否以及迁徙模式的不同,可以将各种方法分为三类:
表7:MetaAdapter 和 SimAdapter 在 Common Voice 五种低资源言语上的试验结果
这里驳回了两种平均模式来反响模型的不同才干:1. 间接平均:没有思索不同言语内的数据量,关于尤其长于极少数据的算法会更有长处;2. 加权平均:思索了不同言语自身的数据量,更适宜用来权衡模型在各种状况下的综合体现。
翻新训练方法和试验方法:
进一步验证 Adapter 和 SimAdapter 的性能
微软亚洲钻研院提出了两阶段训练方法以提高 Adapter 在语音识别义务上的体现 :模型迁徙环节中须要学习一份新言语的词表,假设将该词表和 Adapter 一同训练,由于词嵌入的不时更新,或者会造成 Adapter 学习指标的凌乱。同时学习 Adapter 和词表也或者会词嵌入从而承当一局部 Adapter 的配置,造成 Adapter 不可学习到足够的言语相关特色,形成后续 SimAdapter 的体现降低。因此,先将骨干模型固定住,将新言语的词表映射到模型相反的隐空间(latent space中,再将词表固定住学习 Adapter,可以到达更好的效果,如表9所示。
另外,为了证实 SimAdapter 确实能够从其余言语学习到有用的常识,钻研员们设计了两个试验:
其一,尝试去除指标言语自身的 Adapter ,以要求 SimAdapter 仅经过源言语来学习一个对指标言语有用的特色,结果如表10所示: 即使没有经常使用指标言语 Adapter,SimAdapter 依然能够在少数言语上取得较为清楚的优化 。
其二,在乌克兰语上训练两个不同的 SimAdapter 模型,以剖析不同源言语(意大利语和俄语)的奉献。由于俄语和乌克兰语更相似,经常使用俄语 Adapter 独特训练的 SimAdapter 应当取得更多收益。结果显示,使意图大利语 Adapter 的 SimAdapter 的词失误率为48.70,而经常使用俄语 Adapter 的词失误率仅为47.73,这标明相比意大利语,SimAdapter 确实可以从俄语中学习更多的有用常识来建模乌克兰语。
微软亚洲钻研院已将 CMatch 和 Adapter 代码开源,地址如下: