为什么需要端到端的系统
- 传统语音识别系统非常复杂,需要分别训练声学模型、语言模型、发音模型
- 需要领域特殊的专业知识
通过端到端的模型可以直接将输入的声学特征转变为文本
端到端语音识别系统介绍
-
Seq2Seq
此模型长用于机器翻译、语音识别。其优点是输入输出不需要等长,而且两者长度不固定。
此模型包含两个RNN结构,分别用于编码与解码。Decoder网络直到解码的序列是END才停止,因此可以实现变长的输出。Encoder将输入进行编码,将整个输入的隐状态输入给Decoder,可以实现输入的变长。
seq2seq的瓶颈如图中橙色方框标记所示,Encoder与Decoder之间传递信息是通过Encoder最后一个的隐状态。如果输入的整个句子比较长那么和有可能最后一个隐状态所包含的信息不够。因此可以通过Attention解决这个问题。 -
Attention
关键点:在decoder的每一个步,只关注句子的特定部分。
从Attention官网中截取的图片可以看到,Decoder通过Attention机制生成的 d 1 d_1 d1隐状态更关注于Encoder的 e 1 e_1 e1、 e 2 e_2 e2这两个隐状态。
将Encoder的输入换成语音特征就可以实现端到端的语音识别。
-
Attention具体的计算步骤:
(1)Decoder在t时刻的隐状态 s t s_t st,与encoder在t时刻的所有隐状态进行点乘再进行softmax获得 s t s_t st在每个encoder隐状态的分数。
(2)将得到的分数与Encoder的状态相乘得到Attention的分布(Distribution)
(3)此分布再与Decoder进行向量相乘或其他操作得到最后的decoder隐藏层参数 -
Self-Attention
values和query只来自Decoder的其中一个,而在Attention中values是Encoder的隐状态,query是Decoder的每一步。
这样的好处是:能够替换RNN,对时序进行建模;易并行,计算快 -
scaled Dot-Product Attention
图中Q是query,V是value。Q,K,V如果是相同的向量或矩阵那么就是self-attention -
Multi-head Attention
多个Attention共同的组合
- Transformer
也是Encoder、Decoder框架的一种
[1] Vaswani, Ashish, et al. “Attention is all you need.” Advances in neural information processing systems. 2017.
4.CTC
核心观点就是利用单个RNN实现将语音特征序列映射到文本序列。通过在输出集合中引入空符号解决输入与输出不等长的问题。
5. RNN Transducer(RNN-T)
是对CTC的增强
RNN-T相比其他E2E模型的优点:
• 使用单向Encoder时,可以进行流式语音识别 ,也就是拿到一帧就可以解码一步(主要是因为存在Pred.Network结构)
• LAS、Speech Transformer等必须等到一句话说完才
可以解码