视频目录
bilibili
P1-course overview
P2-speech recognition introduction
P3-LAS model
P4-CTC、RNN-T model
P5-HMM in speech recognition
P6-Alignment技术
正文
LAS,which has decoder:
- 输入context vector C,输出probability distribution P(a)。
- 无法找到全局最优,只能使用bean search。
在训练的时候就是在训练参数𝜃 ,使得给定X生成
与真正的Y的CrossEntropy越小越好。
CTC、RNN-T,which need alignment
- 只能计算某一种alignment的几率,h=a𝜙b𝜙
方法:穷举所有可能的alignment
问题
- 怎样穷举所有可能的alignment
- 怎样把所有alignment相加
- 怎么训练?CTC,RNN-T用的是gradient descent,怎么计算alignment加起来的偏微分。
- 怎么做Decoding?
Question1
HMM、CTC、RNN-T这三者所需要做的alignments有相似的地方也有一些不同。假设acoustic feature由6个vector(T=6)组成,token sequence由3个token (N=3)c,a,t 组成。实际上HMM用state来作为token,这里只是方便比较。
阿芒Aris
- HMM:把state重复到等长
- CTC:有两种方法(重复 or 加 𝜙 )直到等长(最后转成文字时,会先去重,再去掉𝜙)
- RNN-T:会加 T个𝜙
- 回顾RNN-T (在训练的时候,声音讯号经过encoder得到hidden state h后,每次decoder输出一个𝜙的时候,模型就会处理下一个h,故输入T个h,会依次输出T个𝜙)。
HMM的Alignment
寻找多少路径算法:
起始点:红点出发,要走到终点:蓝点位置。
→走代表重复当前token,↘走代表产生下一个token。
CTC的Alignment
走法约束:
- 红点出发,最终可以走到蓝点(二选一)。
- 对起始点:↘代表插入𝜙 ,↘+↓代表产生下一个token
- 对𝜙点:→代表重复𝜙 ,↘代表产生下一个token (2种选择)
- 对token点:→代表重复本次token,↘代表插入𝜙 ,↘+↓代表产生下一个token(3种选择)
特殊情况:
token有连续两个一样的,如 s e e,则在第一个e的时候,就不能走↘+↓产生下一个token,因为如果直接这样生成,后处理后ee -> e 两个e就变成一个e了。故连续相同的token间必须生成𝜙来间隔区分。
RNN-T的Alignment
RNN-T输入一个acoustic feature,可以连续输出多个token,输出𝜙代表结束。接着输入下一个acoustic feature。
- 最后至少要有一个𝜙代表结束。
- 一个acoustic feature可以连续c,a,t。
一直往下走
- 或者直接输出𝜙,从
转到
- 左上蓝点出发,最终可以走右下点。在除了最后的token点,我们有两种选择→或↓,在最后的token点只有→
- 没有到达最后一行时,不能走到最后一列,即token还没输出完。
HMM,CTC区别
HMM是generative model,生成式模型。隐状态token/state产生可观测变量acoustic feature
CTC给出acoustic feature,产生token。
RNN-T,CTC区别
RNN-T没有重复token,最后一点输出𝜙。
如果想了解生成式模型和判别式模型,HMM与CRF模型的区别,可以看b站上面的白板推导