对比学习必知要点

9ca5a3c71c66a7feb3c9b5bf8377823c.png

关于对比学习相关知识,我们之前分享过比较多的文章:

此篇接上篇《对比表示学习必知的几种训练目标》.关于对比学习,除了那些优化目标必须知道,还必须知道以下要点.

e8ae5dcf952cad8ef8edbb62c9077838.png

数据增强

给定训练样本,我们需要用数据增强来创建带有噪声版本的数据,以作为正样本反馈到损失函数中。正确的数据增强设置对于学习好的泛化性强的embedding至关重要。它在不修改语义的情况下,将非本质变化引入示例中,从而激发模型学习的本质表达。例如,在SimCLR中的实验表明,随机裁剪和随机颜色失真的组合对于学习图像视觉表示的良好性能至关重要。

59d5f564ec10f38aff340cc50c2968e7.png

更大的Batch Size

在很多对比学习方法中,使用一个较大的batch size至关重要,例如SimCLR和CLIP.特别是样本依赖于Batch内负采样.仅当batch size足够大才有足够的负样本,使得损失函数充分收敛,对模型而言才能充分的学习更好的表达来区分各种各样的样本.

0f3caff02bcee68d120a2c34df21133c.png

困难的负样本挖掘

hard负样本指的是与anchor样本label不同,但是特征与anchor十分接近.在有标签的数据集上,找到hard负样本其实还挺容易的.比方说在学习句子表达上,NLI数据集中,句子对中标签是"contradiction"就是hard的负样本(SimCSE),再例如DPR中,BM25最接近但标签不同的样本就是hard负样本.

然而在纯无监督环境下,找到hard负样本是很棘手的.增加训练的batch size或mermory bank会隐式引入更多hard负样本,但这样做会给内存带来严重负担。

这里解释下memory bank,训练过程中维护一个Embedding库,即Memory Bank, 每次训练完一个batch就把里面的embedding塞到这个库里,下次训练从这个库中随机抽取部分出来做负样本.由于采样问题,不一定能保证库里面emb的一致性.

Moco就提出Momentum Contrast的方法解决Memory Bank的缺点,该方法使用一个队列来存储和采样 negative 样本,队列中存储多个近期用于训练的 batch 的特征向量。队列容量要远小于 Memory Bank,但可以远大于 batch 的容量,如下图所示. 这里momentum encoder可以和encoder完全一致参与梯度下降,也可以是对query encoder的平滑拷贝.

27479900a3429899b03de053df705334.png

《Debiased Contrastive Learning》这篇论文研究了对比学习中的采样偏差问题,提出了一个纠偏的loss.在无监督的环境中,由于我们不知道真实的标签,我们可能会意外地采样False Negative样本(从下图左图可以看到,给一只狗的图片采样了另一只狗做负样本)。抽样偏差可能会导致学习的效果显著下降。

1e152a63a8679bbf14c0965acdd687f0.png

纠偏后的loss如下:

ad61c12b515a517526319ea7642e01a3.png

313fc7fe9ffea884f45920eb131422f0.png

我们可以看到纠偏后用t-SNE可视化后,不同类直接划分的更加明确了.

135cfb5ef6a6d31f2e34efcb6edd0a29.png

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

a50a7e796e981e3c29cd3b553d0ae742.png

473b4bf27bc28ad99c4a9579bc25f57a.png

参考文献


1、Debiased Contrastive Learning

https://arxiv.org/pdf/2007.00224.pdf

2、Momentum Contrast for Unsupervised Visual Representation Learning

https://arxiv.org/pdf/1911.05722.pdf

END -

3c50faa1e49ac9043b77641080bbc2d4.png

4c0b46c6ecdfc1c36811617a503a3957.png

业界分享 | 百度图神经网络实践

2022-02-22

1142a58ba94888efcec3b1a6302efd79.png

CIKM'21 | 谷歌:推荐中的自监督对比学习

2022-02-21

2548c2f893af69d630c70f39da7c89c1.png

基于检索的自然语言处理模型研究梳理

2022-02-21

a7d6dcaf0b3cb9875c01d874a615d980.png

北航博士,研究所月入两万,是一种什么体验?

2022-02-20

589952b06831c718cf99504d5caf05f6.png

a3a11f642c460baf21018d40bb2aac98.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值