引入对抗训练的对比学习
目录
一、Simple Contrastive Representation Adversarial Learning for NLP Tasks
1.1 浅谈对抗
1.2 有监督对比对抗学习
1.3 无监督对比对抗学习
1.4 实验结果
二、PromptBERT
2.1 Motivation
2.2 核心idea
2.3 实验结果
三、总结
今天主要给大家介绍两篇有关对比学习的论文。
对比学习这样的方法在自然语言中备受关注。它使用成对的训练数据增强为具有良好的表示能力的编码器构建分类任务。然而,在NLP任务中,通过对比学习构建学习对要困难得多。之前的工作产生词级变化以形成对比对,但小的变换可能会导致句子含义的显著变化。
一、Simple Contrastive Representation Adversarial Learning for NLP Tasks
论文地址:https://arxiv.org/pdf/2111.13301.pdf
在本文中,对抗训练用于NLP的embedding空间上生成具有挑战性和更难学习的对抗性示例作为学习对。使用对比学习提高了对抗训练的泛化能力。同时,对抗性训练也增强了对比学习的鲁棒性。
1.1 浅谈对抗
通俗的讲对抗训练其实就是在原来的样本中增加一些扰动构生成对抗样本,人看起来几乎没什么区别,但是对于模型来说却很难区分,通过这一通操作模型会变得更加稳定,提高模型的表现,但是会损失模型一定的泛化性。
是我们增加的扰动,它不能太大,如果太大的话这样产生的对抗样本和原样本差距就会比较大,就不能达到看起来几乎差不多的效果,它需要满足一定的约束,如式子右边的约束,其中是一个常数,增加扰动的目的是最大化,就是让模型尽量去出错。梯度下降是减小loss,那么反之我们可以采用梯度上升来增大进而求出。
这里可能会有些疑惑,给大家总结下对抗训练流程:
a、在样本x中注入扰动,加入扰动的目的是让越大越好,但是也不能太大,会有个约束
b、每个样本都构造出对抗样本,然后用对抗样本作为数据去最小化整体loss来更新参数(梯度下降,前面讲的梯度上升是为了更新)
c、反复执行a,b两个步骤
在NLP领域我们一般是在Embedding层来增加扰动,具体实现可以参考苏神的代码:
https://github.com/bojone/keras_adversarial_training
本文提出了两种新颖的框架,监督对比对抗学习 (SCAL) 和无监督 SCAL (USCAL),它们通过利用对抗训练进行对比学习来产生学习对。利用监督任务的基于标签的损失来生成对抗性示例,而无监督任务则带来对比损失。
1.2 有监督对比对抗学习
从模型图中其实也很好理解无非就是联合优化三个loss,第一个loss就是样本x经过多层网络后与目标去计算loss(分类loss);第二个loss就是去优化原样本和加入扰动的样本的相似性(对比loss);第三个loss就是加入扰动的样本经过多层网络后与目标去计算loss(分类loss),最后将三个loss相加联合优化。
和传统构造对比样本的方式不同,作者认为之前工作通过数据增强等方式(删除、替换、复制等)构造对比对是在词级层面的,不如在word-embedding等层面上加入扰动。
模型图中第一个loss和第三个loss公式:
生成扰动:
原文实验中
引入对抗训练的对比学习相关推荐
- 手把手!基于领域预训练和对比学习SimCSE的语义检索(附源码)
之前看到有同学问,希望看一些偏实践,特别是带源码的那种,安排!今天就手把手带大家完成一个基于领域预训练和对比学习SimCSE的语义检索小系统. 所谓语义检索(也称基于向量的检索),是指检索系统不再拘泥 ...
- 训练大规模对比学习的一些小笔记
训练大规模对比学习的一些小笔记 FesianXu 20210815 at Baidu Search Team 前言 笔者在公司中会面对数以亿计的用户历史行为数据,用好这些数据是非常关键的.而最近流行的 ...
- #今日论文推荐#ACL 2022 | 引入角度margin构建对比学习目标,增强文本语义判别能力
#今日论文推荐#ACL 2022 | 引入角度margin构建对比学习目标,增强文本语义判别能力 聚焦的问题:近年来基于对比学习的句子表示学习研究取得了较大的进展,但是大多数方法都只关注如何挑选对比学 ...
- ACL 2022 | 引入角度margin构建对比学习目标,增强文本语义判别能力
©作者 | 牟宇滔 单位 | 北京邮电大学 研究方向 | 自然语言理解 论文标题: A Contrastive Framework for Learning Sentence Representati ...
- 从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)
从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailug ...
- OpenAI打破文本和图像次元壁,提出基于对比学习的多模态预训练模型CLIP
OpenAI 打破了自然语言与视觉的次元壁,推出了一个连接文本与图像的神经网络模型CLIP. 相关资料 CLIP原论文:Radford et al. Learning transferable vis ...
- 【CV】对比学习经典之作 SimLR 论文笔记
论文名称:A Simple Framework for Contrastive Learning of Visual Representations 论文下载:https://arxiv.org/ab ...
- UCL-Dehaze: Towards Real-world Image Dehazing via Unsupervised Contrastive Learning 基于对比学习的无监督真实图像去雾
概述 本文提出了一种有效的无监督对比学习范式 --ucl-dehaze.未配对的真实世界清晰图像和模糊图像很容易获取,在训练UCL-Dehaze网络时分别作为 重要的正样本和负样本.为了更有效地训练网 ...
- 对抗训练非负矩阵分解
点击下面卡片,关注我呀,每天给你送来AI技术干货! 作者:刘光明 方向:生物网络 摘要 对抗训练可以帮助深度学习模型获得较好的鲁棒性,近年来,学者研究证明对抗训练也可以提升传统机器学习算法的鲁棒性.因 ...
最新文章
- python的socket连接不上_Python套接字只允许一个连接,但在新的连接上断开,而不是拒绝...
- 无法连接到数据库网络或无法登录数据库等问题整合
- Windows Server 版本信息及支持期 Win10系统各版本服务起止日期。
- 上下文保存 中断_从操作系统(Windows)的角度讨论中断和异常机制
- 将DataGrid中的数据导出为Excel的方法
- 计算机考研用python_计算机考研408 130+个人攻略
- (大概是最全的解决方法)使用bandicam录制视频导入pr后音画不同步问题
- 联想硬盘保护系统计算机名,联想硬盘保护系统模式之间的切换方法
- Excel应用技巧之二——常用函数
- linux 输入密码后无法进入系统,【Linux学习笔记十六】用户密码修复和GRUB引导错误无法进入系统解决办法...
- win7 删除网络计算机,win7系统修改和删除网络图标的方法
- (十四)商品详情页实现
- 作为一个程序员,如何保持优秀
- KEIL工程文件打不开
- python---会员管理系统
- 单链表的建立(C语言):头插法和尾插法建立单链表
- Win10双网卡不双待攻略
- React的项目创建
- 计算机上摄氏度的符号怎么输,Word中摄氏度符号怎么打出来?
- Unity 编辑器运行没问题,打包exe文件运行蓝屏?