对比学习(Contrastive Learning)在CV与NLP领域中的研究进展(二)

简介: 对比学习(Contrastive Learning)在CV与NLP领域中的研究进展(二)

对比学习方法(NLP)


CV领域的对比学习研究在近两年风生水起,也逐渐影响到NLP领域,从2020年起,NLP领域逐渐有一些利用对比学习思想,自监督训练sentence-embedding的idea。


我自己的调研中,通过如何运用Contrastive Learning思想,分成两类:


损失联合方式自监督:将CL的loss和其他loss混合,通过联合优化,使CL起到效果:CLEAR,DeCLUTER,SCCL。


非联合方法自监督:构造增强样本,fine-tune模型:Bert-CT,ConSERT,SimCSE。


下面分别从背景、方案、数据增强方法和实验效果介绍几个典型模型。


损失联合方式自监督


1.CLEAR


链接:


https://arxiv.org/pdf/2012.15466.pdf


**背景:**作者认为,当前的预训练模型都是基于word-level的,没有基于sentence-level的目标,对sentence的效果不好。


**方案:**word-level和sentence-level的loss联合。


13.png


对比损失函数:


14.png


**数据增强方法:**token层


15.png


实验效果:


GLUE:


16.png


SentEval:


17.png


2.DeCLUTR


**链接:**https://arxiv.org/abs/2006.03659


**方案:**是一个不用训练数据的自监督的方法,是对pretrain过程的优化。


18.png


数据增强方法:


方案:选N个document组成一个batch,每个document取A个anchor,就有AN个,anchor取一个positive,也有AN个,共2AN个点。对于每一个点,除了和它组成正例的一对的2个,其他2AN-2都是负例


宗旨:认为距离anchor span越近的文本越相似,因此anchor span和它周边的span作为正例


用不同的Beta分布去限制anchor和positive span的长度,一般anchor比positive要长,而且anchor最长可以到512。


作者认为:


1. 长anchor可以让embedding达到同时表征sentence级别和paragraph级别的作用


2. 这样配置下游任务效果好 a)学到了global-to-local的信息 b)生成多个positive后可以获得diversity的信息


3. 因为一个batch里有多个文档,不同文档的span组成的负例是easy负例,同文档的span组成的负例是hard负例。



相关文章
|
机器学习/深度学习 存储 自然语言处理
NLP参数高效迁移学习:Adapter方法——论文简读
本研究深入探讨了自然语言处理中参数高效的迁移学习方法——Adapter。通过在预训练模型中引入小型可训练模块,仅调整少量额外参数即可完成模型适配。理论分析表明,该方法在初始化时保持网络行为稳定,并通过瓶颈结构大幅压缩参数规模。实验结果显示,Adapter在GLUE基准上仅用3.6%的参数便达到接近全微调的性能,且对学习率具有更强的鲁棒性。相比传统微调和其他参数高效方法,Adapter在多任务场景下展现出更优的存储效率与泛化能力,为大规模模型的实际部署提供了高效可行的解决方案。
881 7
|
机器学习/深度学习 自然语言处理 算法
如何快速高效全面的学习自然语言处理
如何快速高效全面的学习自然语言处理
412 0
|
机器学习/深度学习 存储 自然语言处理
从零开始学习Java神经网络、自然语言处理和语音识别,附详解和简易版GPT,语音识别完整代码示例解析
从零开始学习Java神经网络、自然语言处理和语音识别,附详解和简易版GPT,语音识别完整代码示例解析
654 0
|
自然语言处理 监控 自动驾驶
大模型在自然语言处理(NLP)、计算机视觉(CV)和多模态模型等领域应用最广
【7月更文挑战第26天】大模型在自然语言处理(NLP)、计算机视觉(CV)和多模态模型等领域应用最广
1794 11
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch 在自然语言处理中的应用案例研究
【8月更文第27天】PyTorch 是一个强大的开源机器学习框架,它为开发者提供了构建和训练深度学习模型的能力。在自然语言处理(NLP)领域,PyTorch 提供了一系列工具和库,使开发者能够快速地实现和测试新的想法。本文将介绍如何使用 PyTorch 来解决常见的 NLP 问题,包括文本分类和机器翻译,并提供具体的代码示例。
557 2
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能】自然语言处理(NLP)的突破,关注NLP在机器翻译、情感分析、聊天机器人等方面的最新研究成果和应用案例。
自然语言处理(NLP)作为人工智能的一个重要分支,近年来取得了显著的突破,特别在机器翻译、情感分析、聊天机器人等领域取得了显著的研究成果和广泛的应用。以下是对这些领域最新研究成果和应用案例的概述,并附带相应的代码实例。
1713 1
|
机器学习/深度学习 人工智能 自然语言处理
基于深度学习的自然语言处理技术研究与进展
基于深度学习的自然语言处理技术研究与进展
560 1
|
存储 机器学习/深度学习 人工智能
5个优质免费自然语言处理学习资源 | 语言技术导航
5个优质免费自然语言处理学习资源 | 语言技术导航
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理(NLP)是人工智能和语言学的一个交叉领域,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
自然语言处理(NLP)是人工智能和语言学的一个交叉领域,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
|
机器学习/深度学习 自然语言处理 算法
19ContraBERT:顶会ICSE23 数据增强+对比学习+代码预训练模型,提升NLP模型性能与鲁棒性:处理程序变异(变量重命名)【网安AIGC专题11.15】
19ContraBERT:顶会ICSE23 数据增强+对比学习+代码预训练模型,提升NLP模型性能与鲁棒性:处理程序变异(变量重命名)【网安AIGC专题11.15】
756 1