Data Augmenting Contrastive Learning of Speech Representations in the Time Domain
Data Augmenting Contrastive Learning of Speech Representations in the Time Domain
1. 论文摘要
依据过去语音片段预测未来片段的CPC方法被证明是一种有效的表征学习方法,本文作者在CPC算法模型的基础上, 通过对过去语音片段在时间域上的数据增强(WavAugment) 取得了比其他方法更高效、更好的表征效果。通过patch modification, additive noise, reverberation 三种增强方法可以将CPC的表现提升18-22%, 并且对于有监督数据有限的phoneme 分类任务也能提升12-15%。
2. 模型介绍
*CPC2
提出了新的CPC的模型结构,首先输入Raw wave 过encoder( kernel size [10,8,4,4,4], strides [5,4,2,2,2])生成
z
t
z_t
zt, 再经过一个context network( 两层 lstm layer)生成
c
t
c_t
ct, 在做contrast 预测时,
c
t
c_t
ct还要过一个predictor layer 生成
P
r
e
d
k
Pred^k
Predk, 这里predictor layer 做了几组对比实验:
发现采用一层多头注意力(K个, 相当于K个分类器)的Transfomer 的效果较好, 并且相比其他论文的做法:采用K个独立的Transformer, 然后每个只用单头来做不同正例时间步的预测,极大的减少了训练时间。然后再将
P
r
e
d
k
Pred^k
Predk与包含正负例的多个未来表征做内积计算contrast loss。
文章中的未来时间步K的正例范围为1-12, 负例个数为从batch中随机取得128个。
- 数据增强的方案
(1)对batch内所有的sequcen 采用相同的增强方法。
(2)past 和future 的sequence 采用相同的, negatives 采用不同的方法。
(3)只对past 的sequnce采用数据增强。
(4)对past 和 future sequcen 采用不同的增强方法。
实验证明,(3)(4)的效果较好。
3.实验结果
*实验1 增强方法的组合
对于单一增强方法,pitch、reverb、bnandrej 对past 做增强要比对past+future都做要好,唯一例外的是add noise; 对于多种增强方法的组合,pitch + add+reverb的方法效果最好。
- 实验2 扩展到其他语言
只采用有限的 in-domain训练结果的表现并不能达到SOTA, 但是采用一些out-domain 的语料以及增加context 网络中lstm layer数为3可以达到更优的效果。
- 实验3 预训练和有限监督数据的下游任务结果
无一例外,采用CPC2+wavaug的表现最好,同时在做音素预测的任务,数据增强只采用pitch augmentation的效果最好。