wenet mask原理解析

简介:

该程序主要对wenet使用的mask原理进行分析,更多详细内容参照 https://zhuanlan.zhihu.com/p/381271607

代码位置:

    wenet/mask.py at main · wenet-e2e/wenet · GitHub

代码理解:

    https://mp.csdn.net/mp_blog/creation/editor/122271121

原理概述:

    mask: 何谓mask,简言之,即为遮蔽,露出自己想要关注的特征,如下图所示

wenet mask原理解析_第1张图片

作用:

据作者所言,引入mask主要为了解决三个问题:

1 batch padding

主要是因为一个batch中不同语音的长短不一致,所以需要在短的语音特征后补0来实现一个batch变成等长的序列。

2 自回归

在Attention Decoder中,每个word只能看到自己以及左侧的words,所以其中的attention操作实现时,每个位置只能和当前位置以及左侧的位置进行操作,所以引入了一个mask来遮挡不需要关注的信息。

3 chunk-based model

在这里主要就是动态chunk的方法,能够实现chunk在训练过程中有一半的概率是最大值,一半的概率是随机从1-25中选取,其数学逻辑如下:

wenet mask原理解析_第2张图片

下图是full attention,left attention 和chunk attention的区别:

    full attention:        只在语音结束后关注整条语音;

    left attention:        可以在解码过程中时刻关注之前整条语音的所有内容;

    chunk attention:   可以在解码过程中时刻关注之前整条语音的最近一个chunk的内容;

wenet mask原理解析_第3张图片

你可能感兴趣的:(wenet,语音识别,wenet,语音识别)