语音识别一直是一个热门的研究领域,过去几十年,语音识别技术逐步发展,识别准确率逐步上升。人们开发了不少成功的语音识别、人机交互系统。然而,在实际应用场景变得复杂的时候,许多语音识别系统更像温室里的花朵,在现实世界中性能大打折扣。
在实验场景下,语音数据通常较为清晰,识别效果很好,然而在实际应用中,语音信号通常还会包含个人口音、回声、噪声等不利于识别的音素,会导致识别效果变差。
鲁棒语音识别(Robust Speech Recognition)研究的就是当训练和测试环境不同时,如何让语音识别系统仍保持较高识别准确率。
本文目录
1. ASR Domain Adaptation
2. 如何做 Adaptation
2.1 让目标域更贴近源域
2.2 让源域包含目标域
2.3 寻找 Domain-invariant 特征
3. 总结
4. 参考资料1. ASR Domain Adaptation
领域自适应(Domain Adaptation)问题定义为:源域(source domain)和目标域(target domain)共享相同的特征和类别,但是特征分布不同,如何利用信息丰富的源域样本来提升目标域模型的性能。源域表示与测试样本不同的领域,具有丰富的监督标注信息;目标域表示测试样本所在的领域,无标签或者只有少量标签。源域和目标域往往属于同一类任务,但是分布不同。[1]
从 Domain Adaptation 角度看语音识别,定义源域(Source Domain)包含标记好的训练数据,目标域(Target Domain)包含实际应用场景数据。人工采集的训练数据往往难以覆盖多样化的实际场景,因此源域和目标域的数据分布或多或少都存在区别。

实际应用时,我们期望在源域训练得到的 ASR 模型可以在目标域中表现得好一点。对此,许多人从不同的角度出发研究了这个问题。本文列举几个比较典型的思路。
2. 如何做 Adaptation
第一种思路是让目标域更贴近源域,即:
。

第二种思路是让源域数据尽可能覆盖目标域数据,减少 "unseen" 的情况,即:
。
第三种思路是寻找对噪声等鲁棒的特征,即:find
。
2.1 让目标域更贴近源域
常见的做法是语音增强,以源域语音分布为标准,对目标域数据做降噪等,让目标域数据分布更贴合源域分布。如下图所示:

在[2]中介绍了许多增强的方法,我这里做一个好看一点的总结。不同的算法在不同的特征域进行相关操作。这篇文章已经是2017年的了,新算法层出不穷,很多我也不是很懂,就不详细展开了。

2.2 让源域包含目标域
人工收集往往很难做到源域覆盖目标域,常见做法是数据扩充,例如采集目标域环境噪声、混响等条件对训练数据加噪、加混响、做扰动等方法。还有一种数据扩充方法是用生成模型来做。例如2017年 MIT AI Lab 的一项研究[3],通过 VAE 模型来生成和目标域分布匹配的数据,加入到源域作为训练集,达到数据扩充的效果。
具体做法如下图所示:

(1)首先在源域 S和目标域 T中分别训练各自的 VAE 模型,学习两个域的数据分布。
(2)分别提取源域和目标域的 latent representation Zs和 ZT,以及对应高斯分布的均值向量
和
。
(3)修改 Zs让它逼近目标域的 representation:
。
(4)将
导入源域 VAE Decoder 生成大量比较贴近目标数据分布的带标签数据集
。
(5)将扩充后的数据集
用于算法训练,提高算法对目标域的鲁棒性。
Specifically, we first train an un-supervised sequence-to-sequence recurrent variational autoencoder(VAE) on both source and target domain data to learn a latent rep-resentation of speech. We then transform "nuisance" attributes of speech, such as speaker identities and noise types, that do not contain linguistic information, and are thus irrelevant to ASR, by mod-ifying the latent representation, in order to create additional labeled training data whose distribution is more similar to the target domain.
2.3 寻找 Domain-invariant 特征
寻找具有域不变特性的新特征。还是在 MIT AI Lab 的研究中[4][5][6],发明层次分解变分自编码器(Factorized Hierarchical VAE, FHVAE),从语音数据中提取 sequence-level 和 segment-level 的 latent representation。

实验发现 segment-level 的特征表示比较好地包含了语言内容关键因素,而个人说话特点、噪声等因素被编码在了 sequence-level 特征中。 Segment-level 特征对域不匹配问题具备鲁棒性。并且 FHVAE 是通过无监督训练得到的,可以方便地应用于标注数据缺少的情况,而标注数据少往往也就意味着与不匹配问题更严重。最近 Wei-Ning Hsu 仍然在做语音无监督学习的相关研究,例如在 [7] 中提出的 wav2vec-U,可以说又是一大发明。
3. 总结
本文从域自适应的角度看待语音识别应用问题,从这个角度引出了三个思路和相关的解决方案,包括语音增强、数据扩充、寻找域不变特征等。
回到鲁棒语音识别这个问题,如何解决好场景不匹配,尤其是极端环境、专业领域的语音识别问题,依然是摆在我们面前的一个一个难题,等待我们去攻克。
4. 参考资料
[2] Deep Learning for Environmentally Robust Speech Recognition: An Overview of Recent Developments
[4] Unsupervised Learning of Disentangled and Interpretable Representations from Sequential Data
[6] wnhsu/FactorizedHierarchicalVAE
[7] Unsupervised Speech Recognition
文中图片是我按着论文内容画的示意图,如有错误,还请不吝纠正。
