wav2vec 2.0:一种自监督的语音识别方法

总体框架:

在这里插入图片描述
主要分为2个大模块:1:语音特征提取模块 2:语音特征向量融合模块
在这里插入图片描述

1:特征提取模块

输入:音频
输出:音频特征向量
在这里插入图片描述
过程:
1)跟具体采样率有关,如果一段1S的音频,采样率是16K,则这段1S的音频可以用1*16000的矩阵表示。
2)此模块的结构:

文章使用了7层的CNN,步长为(5,2,2,2,2,2,2),卷积核宽度为(10,3,3,3,3,2,2),假设输入语音的长度为(1,x)cnn0 (x-10)/5+1=x/5-1
    cnn1 ((x/5-1)-3)/2+1=x/10-1
    cnn2 x/20-1
    cnn3 x/40-1
    cnn4 x/80-1
    cnn5 x/160
    cnn6 x/320
论文中的channels大小设置的为512,如果采样率是16K,对应的输出为:(512,16000/320)=(512,50),可以得到50512维的向量,相当于每20ms产生一个512维的特征向量。

2:语音特征向量融合模块

2.1)向量量化(Vector Quantization,VQ),将将由第一步得到的连续的语音特征Z转为离散特征Q;

  • 保留一段语音中相应最大值的索引,其他置0。既将原来连续特征变为one-hot特征。
  • 实现上述过程,有两种算法:
    (a)gumbel softmax
    (b)k-means clustering
    结构:
    在这里插入图片描述
    2.2)将由第一步得到的语音特征做随机掩码,然后经过transformer模型得到上下文表征C;
    过程:
  • 使用conv1替代原来的positional embedding;
  • Transfoemer
    结构:
    在这里插入图片描述
    2.3)对Q与C,通过对此学习损失L,Contrastive Loss,拉近对应Q与C的距离,达到自监督学习目的。
    在这里插入图片描述
    自监督模块的loss,计算one-hot量化后的音频特征与加mask之后获取的上下文特征之间的相似度。

猜你喜欢

转载自blog.csdn.net/jiafeier_555/article/details/129128610
今日推荐