语音识别技术之自适应技术
来源:网络 编辑:ZZZ 2024-02-22 10:05:56 加入收藏
1. 语音识别技术中的自适应技术简介
语音识别中的自适应,即针对某一个说话人或者某一domain来优化语音识别系统的识别性能,使得识别系统对他们的性能有一定的提升。语音识别的自适应技术的目的是为了减少训练集和测试集说话人或者domain之间差异性造成的语音识别性能下降的影响。这种差异性主要包括语音学上的差异还有生理上发音习惯上不同导致的差异性等等。自适应技术主要被应用于语音识别技术相关的产品,还有针对VIP客户的语音识别等。
上述的差异性问题,它容易造成说话人或者domain无关的识别系统性能上不好,但是如果针对该说话人或者domain训练一个相关的识别系统,那么需要收集很多数据,这个成本是很高的。而语音识别中的自适应技术作为一种折中,它的数据量较少,并且性能上也能达到较好的效果。
语音识别中的自适应技术有很多,根据自适应的空间,可以分成两类:特征空间自适应和模型空间自适应。对于特征空间自适应来说,它试图将相关的特征通过特征转换成无关的特征,从而能够和无关的模型相匹配。而对于模型空间的自适应来说,它试图将无关的模型转换成相关的模型,从而能够和相关的特征相匹配。总而言之,这两类算法目的是为了让相关的特征与无关的模型相匹配。
2. INTERPSEECH 2017 paper reading
2.1 Paper 1
第一篇文章的题目是Dynamic Layer Normalization for Adaptive Neural Acoustic Modeling in Speech Recognition,它来自蒙特利尔大学。这篇文章的主要思想是将layer normalization的scale和shift两个参数由上下文无关的变成上下文相关的,从而根据上下文信息来获得动态的scale和shift。这是一种模型空间的自适应。它的主要创新的地方主要是,它不需要自适应阶段(自适应阶段就是使用目标 domain的数据进行自适应,从而能够学习到目标domain的知识),另外,它同样不需要提供包含说话人信息的相关特征,例如i-vector等等。
DLN对应的公式如上图右边所示,首先,取前一层的minibatch ( TT )大小的隐层矢量或者输入矢量hl−1thtl−1进行summarization,从而获得alal。然后,通过线性变换矩阵和偏置来动态地控制scale ( αlgαgl )和shift ( βlgβgl )。
同时,在原来的CE训练的基础上,在目标函数上增加一个惩罚项(上图的右下角LvarLvar),用于增加句子内的variance,从而summarization出来的信息会更加具有区分性。
这篇paper主要是在81小时的WSJ以及212小时的TED数据集上进行实验,WSJ的训练集包含283个说话人,TED的训练集包含5076个说话人。
首先,在WSJ数据集上对比LN和DLN之间的性能,性能主要包括开发集和测试集的FER和WER(FER表示帧错误率,WER表示词错误率)。可以看出,除了测试集WER外,DLN均优于LN。文章分析,这是由于WSJ的说话人数目较少,导致句子间的差异性不明显,同时WSJ数据集是在安静环境下录制的,句子都比较平稳,DLN不能够起作用。
在TED数据集上的结果如第二个表格所示,发现在四个性能参数下,DLN均优于LN。文章对比WSJ和TED数据,TED数据集能够取得比较好的性能的原因是,TED数据集较WSJ speaker数目更多,句子数更多,variability更加明显。通过这篇文章,我们可以发现这种动态的LN与句子的variability相关。并且总体上看来,DLN是要优于LN。
2.2 Paper 2
第二篇文章的题目是Large-Scale Domain Adaptation via Teacher-Student Learning,它来自微软。这篇文章的主要思想是通过teacher/student的结构来进行domain adaptation。这种方法不需要目标 domain的带标注的数据。但是,它需要和训练集相同的并行数据。它的创新点和价值主要在于,这种方法可以使用非常多的无标注数据,同时借用teacher network的输出来进一步提升student模型的性能。
将teacher/student 简称为T/S。T/S的训练流图如上图右边所示。Figure 1 中的左侧为teacher network,右侧为student network,它们的输出后验概率分别设为PTPT和PSPS。
student network的训练过程:首先,将teacher network复制一份作为student network的初始化。然后,利用student domain data和teacher domain data通过对应的网络获得相应的后验概率PTPT和PSPS。最后,利用这两个后验概率计算error signal,进行back梯度反传更新student network。
本paper的实验是在375小时的英文cortana数据上进行的。测试集根据不同的domain,有不同的测试集。
针对干净/带噪,在Cortana测试集上进行实验。首先,使用teacher network进行测试,发现在带噪语音上测试性能(18.8%)要远差于noise-free的语音(15.62%)。如果通过仿真的方式来训练teacher network,发现noisy的测试性能(17.34%)有一定的提升,这个等价于在student network上使用hard label来训练。第四行和第五行使用T/S 算法,在同样数据量上,soft label (16.66%)要优于hard label (17.34%)。如果将训练student network的数据增加到3400小时,性能会有进一步的提升(16.11%)。
对于成年人/小孩来说,实验首先将375小时中的女性以及儿童数据去除,获得adult male 模型。实验发现,小孩的识别性能很差,分别是39.05和34.16。与干净/带噪相同,在使用T/S算法后,能够在性能上获得进一步的提升,并且数据扩大对于性能是有优势的。
2.3 Paper 3
第三篇文章是来自香港科技大学和谷歌的文章。这篇文章主要的想法和创新点是将Factorized Hidden Layer (FHL)的自适应方法 应用于LSTM-RNN。
对于FHL adaptation算法来说,它在说话人无关的网络权重WW基础上加上一个说话人相关的网络权重,从而获得说话人相关的网络权重WsWs。根据公式(7),我们可以看到,这个SD transformation是根据一组矩阵基(B(1),B(2),...,B(i))(B(1),B(2),...,B(i))通过线性插值得到。同样,对神经网络的偏置bb也可以进行相应的说话人相关变换。
但是,在实际实验中,由于矩阵基会带来大量的参数引入,这些矩阵基都被限制为rank-1,因此公式(7)可以进行一些变换,如上图右边所示。由于矩阵基为rank-1,那它可以被表示成一个列向量γ(i)γ(i)和一个行向量ψ(i)Tψ(i)T相乘的形式。同时,插值矢量被表示成对角矩阵DsDs的形式。这样便获得三个矩阵ΓΓ、DsDs和ΨTΨT连乘的方式,方便模型训练。
本文还介绍了speaker-dependent scaling。它将LSTM记忆单元中的激活值进行speaker-dependent scale。通过公式带入,发现,只要对每一个说话人学习zszs即可以进行说话人相关的scaling。但是这种算法存在一个问题,zszs的维度与网络的层宽相关,参数量大。因此,一种subspace scaling的方法被提出,它通过一个固定维度的low-dimensional vector vsvs来控制zszs,vsvs的维度远小于zszs,从而大大地减少了说话人相关的参数量。
评论comment