Model 1
Connectionist Temporal Classification,CTC [Graves,et al.ICML,2016] 解决on-line语音辨识(不需要听完整句话再作辨识),只有一个encoder模块,且不能使用双向RNN。
问题: 每个acoustic input只代表10ms的语音,不是每个input都包含一个独特的token信息。
- 所以模型要知道什么时候output空白信息(NULL),即这段语音听不到有用信息。
- 如何处理空白信息和相同的语音
问题: 没有decoder,每个input对于输出一个output来预测声音所对应的文字。但明显input sequence ≠ output sequence,同时我们无法标注哪个声音片段对应哪个文字。
穷举所有语音可能对应的文字序列。
Issue
CTC:Linear Classify ≈ decoder,which only attend on one vector,and each output is decided independently.
出现结巴的状况,连续出现两各个c,cc。
Model 2
- RNN Transducer,RNN-T [Graves,ICML workshop,2012]
- Recurrent Neural Aligner,RNA [Sak,et al.INTERSPEECH,2017]
RNA 将CTC中的Linear Classify改为LSTM,改善上一个的输出影响本次的输出。
RNN-T 解决one vector map to multiple tokens,CTC是take one vector as input,output one token. 比如 “th”是连在一起发音的。
RNN-T接受一个frame(hidden layer传过来的信息),模型连续输出听到的多个tokens,直到满意(预测不到再多的token则输出NULL)。
问题:
proble like CTC,training时如何制作label。
method like CTC,穷举可能的alignment情况。
RNN-T additional RNN
额外训练一个RNN,作用类似于model language。
- additional RNN会无视predict为NULL的结果。接收其余的tokens,并把RNN的结果作用于
LSTMLinear Classify的下一步。(RNN-T不是直接把Linear Classify换成LSTM,而是额外增加一个RNN) - 输出t会影响输出h,红色线。NULL值不会影响RNN改变,但RNN会影响每一个time step的Linear Classify。
- language model:ignore speec,only consider tokens. 因为我们是穷举所有的alignment,即label。
- language model can train from text(easy to collect),no NULL in text。It is critical for training algorithm.
Model 3
Neural Transducer [Jaitly,et al.NIPS,2016] 一次读多个acoustic features,这里假设读w个(windows大小),用attention分配权重。每次移动w个acoustic features。
各种Attention机制
Model 4
Monotonic Chunkwise Attention (MoCha),[Chiu,et al.ICLR,2018],每次只decode一个token,
Z 0 Z^0 Z0与 h 1 h^1 h1决定是否把windows的最后位置放在 h 1 h^1 h1,这里windows大小固定为4.
那标签呢,那个二分类(yes/no)怎么训练,视频没有讲