文章目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/eba308812acc40219d2cdcd3fdf0437b.png)
pdf | 视频
Review:Self-supervised Learning for Text
Self-supervised Learning for Speech
少量有标注的数据用来训练:Downstream Model(例如简单的Linear模型),如果有需要,也可以微调整个模型(不是必要的)
语音版的BERT
Self-supervised Learning for Image
self-supervised 超过 supervised,非常有潜力的
1. Generative Approaches
语音上
照搬不行,语音和文字还是有性质上的差异,还是要针对语音的特性做一些设计。
举例来说:声音相邻向量往往内容非常接近,假设只是把某个向量盖起来,机器学不到什么东西,因为声音相邻向量往往内容非常接近,机器只要用两边的向量再做个内插,就预测得八九不离十,那self-supervised就学到内插而已。
所以,语音上,要mask一长串的feature,不要一次只mask一个feature,迫使机器去解比较难的问题
在语音上,你可以做一个不一样的尝试:mask 向量的某几个dimension,这样方法会让机器学到 语者(?语义?)的资讯
GPT系列用在语音上,
不同点:预测 够远时间的 向量(因为相邻太简单了)
image上
2. Predictive Approach(分析Generator的缺点:语音和影响包含很多细节,直接生成很困难)
这种制造简单的任务让机器去解,借此来学到一些东西的方法有各式各样,千变万化,论文数不胜数
问题:到底是什么样的小任务可以激发机器的潜能? 还没有特别好的答案。需要你需要对声音,影像 特性有更多的了解,才能设计出比较好的小游戏给机器来玩。
接下来比较通用的做法:简化生成,让它变成比较简单的东西,再预测
比如Clustering,把复杂向量先变成token,再预测 这些符号,比较容易一点
3. Contrastive Learning(不产生任何东西就做self-supervise learning)
怎么知道positive还是negative?(Data Augmentation)
那问题就变成了怎么做 Data Augmentation? 太简单,机器学不到东西,太难, 也是不行的。怎么控制Augmentation的程度?看原始论文SimCLR,尝试了各式各样Augmentation的组合,告诉你说怎么做Augmentation最好的。文献上说,random cropping是最有效的
语音上的 SimCLR:Speech SimCLR
另一类:MoCo(多了memory bank 和 momentum encoder),增加了训练的小技巧,让训练可以成功,具体自己看文献
语音上的Contrastive Learning
输出的token 是 Discrete(离散的),为什么:1.利用BERT;2.去除了其它杂讯
2.0: 一起训练(Continuous vs dicrete ?)
另一个角度理解:Classification vs Contrastive(解释Contrastive为什么可行,其实也是在做分类?Contrastive 的Negative 只是sample出来,并不是全部,而Classification 的Negative 是全部,这也就理解了MoCo为什么要做memory bank? 存储更多的负类?)
对于计算资源不够的话,显然Contrastive更好。
Classification 的token如果是10w的话,资源就不够了,尤其早年的时候
根本原因:Infinite negative examples?(存不下搞不了,所以先做个聚类)
BERT套用到 语音上
又存在问题:Negative Examples 怎么选?
比如猫跟天空,可能只学到 抽 “颜色"的资讯
所以要有“够难的examples”,比如猫跟狗,老虎
一个问题:如果两张都是猫的图片呢?我们并不知道两张都是猫啊,把两张猫的图片视为negative example,那不就是应该视为同类的东西拉远了吗?
4. Bootstrapping Approaches (接下来讲两招:避开negative example的选择)
这是什么妖术?
右边要有predictor 和 copy,才能 不Collapse
关键点:左右 架构不同
另外观点 理解:Bootstrapping
5. Simply Extra Regularizaion
最关键的是:Variance