李宏毅-人类语言处理(三):语音识别-LAS

李老师讲的第一个语音模型为LAS。其中L为Listen代表模型的Encoder模块,S为Spell代表模型的Decoder,Attend代表Attention,指模型使用了注意力机制。

Listen

Listen模块即模型的encoder模块,这个模块以一个由向量组成的序列特征(如MFCC)作为输入,输出一串相同长度的向量序列。
这一模块的目标:
1.把不同的speaker的说相同的词语句子的差异和语音数据中的噪声等移除。
2.提取语音中与具体内容相关的信息。
此模块可以使用CNN或RNN。
关于Self-Attention的教学链接:https://www.youtube.com/watch?v=ugWDIIOHtPA
通常要先对输入序列做down-sampling,因为输入序列中一秒就有非常多个向量,相邻的向量信息重合度高。训练效率低。
主要做法为Listen模块在多层RNN或CNN后通过相关技术得到比输入序列短的特征向量组成的序列。CNN: Time-delay DNN
Self-Attention: truncated self-attention。

Attend

此模块将encoder的输出向量与关键字向量 z 0 z_0 z0经过self-attention模块输出一个向量 c 0 c_0 c0词向量输入到decoder得到decoder对应的输出和关键字向量 z 1 z_1 z1。将 z 1 z_1 z1重新应用到Attend模块得到 c 1 c_1 c1,重复此过程得到最终的输出序列。

Spell

这个模块每次输出一个size为vocabulary大小的vector,代表当前单词的分布,通过与Attend模块的结合完成自注意过程和Decoder过程。
具体过程如下图所示:
李宏毅-人类语言处理(三):语音识别-LAS_第1张图片

你可能感兴趣的:(机器学习,人工智能,自然语言处理)