亚马逊提出无监督虚拟增强句子表征学习框架,效果超越SimCSE
©作者 | 林亿
单位 | 科大讯飞AI研究院
研究方向 | 对话系统
前言
半年前 SimCSE 两次 dropout 的操作刷爆朋友圈,对比学习相关论文也席卷各大顶会顶刊;上次也总结了 ACL 2021 的一些对比学习文章。最近组内论文分享有同事分享了一篇亚马逊的工作,觉得还蛮有意思,效果也甚好。
论文标题:
Virtual Augmentation Supported Contrastive Learning of Sentence Representations
论文链接:
https://arxiv.org/abs/2110.08552
进入正题
首先思考一下,SimCSE 虽然操作简单,这其实意味着它还有很多的可操作空间,比如——如何进一步加大对困难样本信息的挖掘,从而进一步提升网络的性能。
这个道理就像考试,简单的题目大家都会,所以所有大家随便考考都可以考到 90 分,但是 90-100 分这个区间,就要考验大家对困难题目的理解了;如果我们平时学习一直反复写简单题目,忽略了难题的练习,那肯定是没办法在 90 分的基础上再多考几分的。
想让模型多见一些困难样本,有两种方式:
第一种方式就是充分挖掘现在的数据集,找出现在数据集内的困难样本,然后通过加大这些样本的权重或者出现的比例,强迫模型多关注这些难题,比如 SimCSE 内利用温度 τ 来控制对困难样本的关注度:
1. 分子是原始 case 两次 dropout 输出,其相似度一定较大,无太大随机性,即熵值较为固定;
2. 分母中包含一堆负样本,包括简单样本,困难样本等,不确定性高,熵值大;
3. 分母中困难样本定义为:其明明是负样本,其和原始 case 相似度却很大;那么分母一定是更关注困难样本,因为简单样本 loss 低;
4. 所以当 τ>1,相当于降低对困难样本的关注度,当 τ<1,则进一步扩大困难样本比重,更加关注困难样本。
比如简单负样本和原句相似度 0.1,困难样本和原句相似度 0.6,除以 τ=0.2 后,差距进一步扩大,模型会更关注困难样本;
或者利用方差等方式手动挑出来比较困难的样本,反复多加入几次迭代过程,具体在这里就不赘述了。
另一种方式就是创造更多的困难样本,常见的方式一般是人为分析数据后进行手工添加,可以配合一些仿射变换,如同义词替换、回译等;那么能不能像第一种方式那样,在训练过程中,让网络自己想办法去创建一些困难样本呢?
好了,本文的主角终于来了—— VaSCL,其会在网络训练的过程中自动创造一些虚拟的困难样本,为什么说是虚拟的,自然也是和 SimCSE 那样直接 dropout 出来的一堆“数据分布”一样,毫无章法且不讲道理但... 有效!
VaSCL 是怎么做的?
首先还是和 SimCSE 一样,一个 case 两次 dropout,然后最小化自身两次 dropout 的距离,并推远与其它样本的距离;即,SimCSE 原 loss 全部保留。
剩下就是怎么找出来困难样本。
1. 假设 batch 为 32,我们需要找出第一句话的困难样本,因为是无监督模型,除了第一句话自身,其余所有 case 都是负样本,那么模型输出特征向量和第一句话越相似的,其就越可能是第一句话的困难样本是吧?我们首先定义一个 k,在每个 batch 中找到每句话输出特征向量最近的 k 句话,后文称为这句话的 k 领域,后面就用这 k 句话创建第一句话的虚拟困难样本。
2. 假设第一句话经过模型输出的特征向量是 e,随便搞一个高斯白噪声 α,加上去,得到一个新的特征向量 e+α,理论上来说,这个新的特征向量和第一句话的意思应该还是相近的,因为是高斯白噪声,其不会对原始向量数据分布产生太大影响,这个过程大概可以模拟成这样:
e = e + np.random.standard_normal(y.shape) * 0.01
如果是给一张图片加上高斯白噪声,基本是看不出什么变化的。仔细看一下这个高斯白噪声的代码,好好想想,理论上按照这个公式,高斯白噪声一定不应该对原句的语义产生太大影响。
当然,实际上我们不是随便乱加一个高斯白噪声,我们期待我们有很多的高斯白噪声,然后再其中选取一个最优的高斯白噪声,可以使得第一句话加上这个噪声以后,即 e+α 和原来的特征向量 e,最远,但是第一句话 k 领域内的所有负样本加上这个噪声 α 后都和原句 e 更靠近了,这样的一个高斯白噪声可谓是坏事干尽了,迷惑性贼大!
所以当原句 e 加上这个最优的噪声 α,就得到了一个很强的困难样本!
这里有个问题,这个候选高斯白噪声集合哪里来,文章没有交代,理论上我们随机生成若干个作为备选,或者预设一个数值,每次训练过程中随机生成这么多个,再或者直接把这个噪声当成可训练参数或许也可以(但是按照原文的意思,似乎没有把这个 α 当成可训练参数);不过都是小问题,个人比较倾向在训练前指定数值 n。
3. 训练过程中 batch 中每句话的 loss:
首先保持 SimCSE 的损失:
每句话的两次 dropout 靠近
每句话和别的句子 dropout 拉远
然后是虚拟困难样本损失:按 2 的规则在高斯白噪声集里面找到一个最优的噪声 α,每句话加上其最优噪声得到这句话的虚拟困难样本,这句话的 k 领域内负样本也加上这句话的最优噪声,得到这句话 k 领域的虚拟困难负样本;
原句和其虚拟困难样本拉近
原句/原句虚拟困难强样本分别与 k 领域内负样本 /k 领域虚拟困难负样本拉远
作者没有开源,但是其实按照 SimCSE 实际实现起来应该差不多,难度不大。
效果
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
亚马逊提出无监督虚拟增强句子表征学习框架,效果超越SimCSE相关推荐
- 声网纳斯达克上市、TikTok推出TikTok For Business、亚马逊推出无代码应用| Decode the Week...
世事皆如此,没人喜欢改变. Decode the Week≠音视频技术周刊 News Briefing 1. Instagram将TikTok克隆版本"Reels"扩展至欧洲市场 ...
- 亚马逊云科技-游戏孵化营第一课学习心得
亚马逊云科技-游戏孵化营第一课学习心得 介绍 开营宣讲 云端游戏的亚马逊主张 亚马逊云科技的优势 亚马逊云科技游戏的具体服务 构建一.探索云上游戏开发新思路 行业趋势 云计算助力游戏开发和团队协作 亚 ...
- ACL2020 | 线上搜索结果大幅提升!亚马逊提出对抗式query-doc相关性模型
一只小狐狸带你解锁 炼丹术&NLP 秘籍 作者:机智的叉烧(OPPO算法工程师,擅长Query理解方向) 背景 搜索和推荐经常会被放在一起对比,其中最突出的区别就是搜索中存在query,需要充 ...
- 亚马逊欧洲站无货源好不好做?
据有关统计,亚马逊欧洲和北美站有30%的卖家是来自中国.在亚马逊卖家中,西班牙站比例高达37%,其次是意大利站33%第三名是法国站32% 中国卖家占欧洲北美TOP 10000卖家中的比例 在亚马逊欧洲 ...
- 【架构】研究谷歌和亚马逊的微服务案例,我们能学习到的经验
产品复杂度与日俱增.想继续按以前的节奏去演进产品变得越来越困难了,是时候寻找一种更好的方法了.微服务架构承诺可以让团队快速前进... 但与此同时也带来了一系列全新的挑战. 在为Enchant搭建微服务 ...
- CVPR 2020 | 北大Futurewei提出 GraphTER:无监督图变换共变表征学习
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟 报道 | 公众号 CVLianMeng 转载于 :机器之心 计算机视觉与模式 ...
- 干货!STABLE - 一种无监督高鲁棒性图结构学习框架
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 李宽: 中科院计算所(ICT)二年级硕士生.主要研究方向为图表示学习,工作主要围绕图神经网络的鲁棒性,动态图建模和半监督节点分类的类别不 ...
- 亚马逊AWS:用AI和机器学习让所有人受益
如果在业界谈起AI人工智能和机器学习技术的发展历程,有一家云计算服务商的名字是绝对绕不开的,那就是亚马逊AWS. 在不久前召开的2018世界人工智能大会上,正是凭借在AI人工智能技术创新上的卓越表现, ...
- 清华大学迎来中国首位原创AI虚拟学生;百度造车:定价20万元以上;亚马逊面临 7.5 万项仲裁|极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
最新文章
- 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作
- 算法笔记-经典链表操作案例
- python文件编译_我算是白学Python了,现在才知道原来Python是可以编译的
- winsock setsockopt 详解
- 1.PostgreSQL的学习
- 在一测试环境下的RAC出错解决
- 从TimeSpan说起
- P7515-[省选联考 2021A卷]矩阵游戏【差分约束】
- 牛客练习赛 57——manacher算法 树形dp?
- 小问题,对递归重复调用的改进,一起来分享
- 【离散数学】图的着色与对偶图
- servlet中doPost()和doGet()
- LeetCode刷题(23)
- 远程软件TeamViewer如何导出选项注册表文件?
- Visual Studio 2010 Win32 Usb HID 动态库创建
- 很多情侣看了以后,不在关机
- 基于matlab山脊线,山脊线山谷线提取实验报告.doc
- Kali metasploit 更新以及问题 Unable to find a spec satisfying metasploit-framework (>= 0) in the set.
- 使用Nexus添加jar包到私服里
- python能做些什么事_一起来看看Python能干什么?使用Python能做哪些事