端到端语音识别模型中的LM Fusion

端到端(E2E)语音识别(ASR)的目标是直接讲输入特学特征映射到字符序列,现在已经在各种任务上取得了很好的性能,最流行的有CTC、RNN-T和AED模型。但是E2E模型似乎对域转移适应的不是很好,尽管有很多方法,但都需要对应的语音-文本作为适应数据。

而语言模型(LM)集成可能是E2E模型用来测试跨域和域内应用的纯文本场景下一种比较好的方法,因为文本相对于配对的语音-文本不在一个数量级上,因为外部LM有巨大的潜力用来修正模型的假设。但是,由于E2E模型中不存在AM和LM的明确分离,因此LM集成还是一个比较困难的事情。

下面我将介绍几种我看过的和LM集成的一些论文。

Shallow Fusion:

这是E2E语音识别中最受欢迎的方法,它仅仅只是将外部LM在推理的时候线性内插,并没有一种数学上的理论可以直接解释,但是它能提高语音识别的效果。公式如下:

$$
Score(X,W)= logP(W|X) + \lambda logP(W)
$$

上面的P(W|X)模型已经训练好的,在解码的时候加上P(W)语言模型,再加上一个超参数$$\lambda$$来权衡我们是更相信LM还是模型。

A DENSITY RATIO APPROACH TO LANGUAGE MODEL FUSION IN END-TO-END AUTOMATIC SPEECH RECOGNITION

这是一种称为密度比的方法,它假设E2E模型和传统的混合模型一样,AM和LM是分开的,第二它认为源域和目标域的声学模型应该是一样的,因此他利用贝叶斯的方法来估计目标域的后验:

源域的声学模型:$$P_\psi(X|W)=\frac{P_\psi(X)P_\psi(W|X)}{P_\psi(W)}$$

目标域的声学模型:$$P_\tau(X|W)=\frac{P_\tau(X)P_\tau(W|X)}{P_\tau(W)}$$

因为源域和目标域的声学模型是一样的,所以:

$$
P_\psi(X|W)=\frac{P_\psi(X)P_\psi(W|X)}{P_\psi(W)}=P_\tau(X|W)=\frac{P_\tau(X)P_\tau(W|X)}{P_\tau(W)}
$$
因此:$$P_\tau(W|X)=\frac{P_\psi(X)}{P_\tau(X)}\frac{P_\tau(W)}{P\psi_(W)}P_\psi(W|X)$$

$$P_\psi(W|X)$$就是我们训练的模型,$$\frac{P_\psi(X)}{P_\tau(X)}$$可以看作是一个常数,$$\frac{P_\tau(W)}{P_\psi(W)}$$就是目标域语言模型和源域语言模型的比值。

因此在实践解码的时候会引入比例因子:

$$Score(X,W)= logP_\psi(W|X) + \lambda_\tau logP_\tau(W)-\lambda_\psi logP_\psi(W)$$

实现非常简单,在源域和目标域都训练一个RNN-LM,在源域训练一个RNN-T模型就可以实现上面的方法,因为这个模型不涉及联合训练,但是需要调整LM的比例因子。

你可以初步的认为这个方法提出了去除源域的LM而使用外部LM来进行解码的思想。

HYBRID AUTOREGRESSIVE TRANSDUCER (HAT)

HAT的思想是将E2E模型和模块化的外部词典及LM集成的推理算法相结合

HAT是RNN-T的变体,它用不同的方式表示局部后验概率,提供了内部LM质量度量标准,给出了外部LM的数学证明的推理算法。

HAT也是有一个空标签发射,但是它的概率不同于RNN-T,而是另外由伯努利分布建模

image (24)

image (25)

image (26)

image (27)

f是特征序列X送入RNN后所得,g是标签序列送入RNN后所得。

J()是任何映射f+g到V维的函数,标签后验,通过标签得分函数归一化得到的

image (28)

而HAT的思想就是J(F+G)这个J函数可以近似为J(F)+J(G),比如tanh函数,详细见论文附录。

而Blank和label的分离允许HAT模型产生一个序列级别的内部LM分数,因此每个标签位置u处的局部分数被定义为:

image (29)

刚好就是公式去掉了编码器的影响,仅仅只是u先前标签函数的度量,与声学特征无关:

image (30)

序列级内部LM得分公式:

image (31)

HAT搜索推理最大化下面的公式,就是去掉内部LM,加上外部LM:

image (32)

INDEPENDENT LANGUAGE MODELING ARCHITECTURE FOR END-TO-END ASR

这篇论文是运用在AED上,它的思想是在解码网络搞个subNet,然后用外部text去训练它,但是会有个灾难性遗忘问题,就是忘了源域中了解的信息(如果为了适应目标域的语音识别,忘了源域的LM信息不是更好吗?可能是attention的原因?)

image (33)

image (34)

image (35)

原来的模型,decoder的LSTM不仅受隐状态S和前面的输出标签Y影响,还受上下文相关向量C影响。因此提出改进

image (36)

image (37)

image (38)

这个解码subNet就只受隐状态S和前面的输出Y影响,就可以认为相当于LM,但是这么做会有一个问题,就是用外部文本数据T来改进LM会导致灾难性遗忘。就是用T会忘记从P(训练配对的数据)学来的东西,为了解决这个问题,论文提出同时使用T和P来更新整个E2E网络。另一个问题就是什么时候用T来改进LM,论文提出两个策略:

策略1:先用P训练整个网络,第二步用T和P微调,最后,再用P进行微调。

策略2:先用P训练LM子网络,然后用T和P训练整个网络

INTERNAL LANGUAGE MODEL ESTIMATION FOR DOMAIN-ADAPTIVE END-TO-END SPEECH RECOGNITION

这篇论文提出一种内部LM估计,它说HAT模型要特定的网络结构才能估计内部LM,它觉得不行,要整个通用的出来。然后它还觉得密度比法假设E2E模型的AM和LM是相互独立的不对,他认为源域的LM应该是E2E模型内部的,你不能单独训练,所有的参数都是同一组θ;他和密度比法也认可源域和目标域的声学特征一样。

image (39)

$$P(Y;\theta^s_{E2E})$$才是真正的内部LM。

现在关键的就是咋把内部LM给学出来了:隐含的从文本-语音对学习

但是这个声学的部分难以学习,因此就用HAT的方法,把声学部分给去掉,称为联合softmax极大逼近(JSA),就是让J(F+G)逼近J(F)+J(G)。

对于RNN-T:

RNN-T有一个问题,而我们想要的是非空标签,他的方法简单粗暴,那就是不要了。

image (40)

image (41)

image (42)

就是在推理的时候,把去掉。

最后解码就和HAT一样。

对于AED:

同上面,有个特例,当t=u的时候,他就是把上下文相关C看作声学特征,把它去掉就是LM,g是解码器的输出,看LAS论文你会发现只和隐状态S,上下文相关向量C以及前一刻输出Y相关,因此去掉上下文相关向量确实可以近似为LM。后面就是和RNN-T一个意思了。

image (43)

image (44)

image (45)

暂时先介绍这几篇吧,还有三篇论文下次再写。