简介:
该程序主要对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,简言之,即为遮蔽,露出自己想要关注的特征,如下图所示
作用:
据作者所言,引入mask主要为了解决三个问题:
1 batch padding
主要是因为一个batch中不同语音的长短不一致,所以需要在短的语音特征后补0来实现一个batch变成等长的序列。
2 自回归
在Attention Decoder中,每个word只能看到自己以及左侧的words,所以其中的attention操作实现时,每个位置只能和当前位置以及左侧的位置进行操作,所以引入了一个mask来遮挡不需要关注的信息。
3 chunk-based model
在这里主要就是动态chunk的方法,能够实现chunk在训练过程中有一半的概率是最大值,一半的概率是随机从1-25中选取,其数学逻辑如下:
下图是full attention,left attention 和chunk attention的区别:
full attention: 只在语音结束后关注整条语音;
left attention: 可以在解码过程中时刻关注之前整条语音的所有内容;
chunk attention: 可以在解码过程中时刻关注之前整条语音的最近一个chunk的内容;
Original: https://blog.csdn.net/shaoyou223/article/details/122642141
Author: 少游223
Title: wenet mask原理解析
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/515767/
转载文章受原作者版权保护。转载请注明原作者出处!