IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 从顶会论文看对比学习的应用! -> 正文阅读

[人工智能]从顶会论文看对比学习的应用!

c6128af959908971456bdb071323507d.png

公众号专栏作者@上杉翔二????????

悠闲会?·?信息检索?

整理?|?NewBeeNLP

对比学习可谓是非常之火,本篇文章想整理几篇对比学习领域比较有代表性的应用论文。首先整理基于比较早期的InfoNCE的几篇应用,然后下期继续整理基于MoCo和SimCLR等文章的模型,持续关注!

1、CLCaption

出自 NIPS 2017,做为对比学习早期的应用,它使用的是InfoNCE。先放paper和code:

  • 论文:Contrastive Learning for Image Captioning

  • 地址:https://arxiv.org/abs/1710.02534

  • 代码:https://github.com/doubledaibo/clcaption_nips2017

这篇文章是做Image Caption任务,问题是很多模型所生成的Caption缺少可区分性(Distinctiveness)。即模型生成的caption都非常死板,特别是对于同类相似的图片,生成的caption非常相似,但是人类在描述的时候,是很倾向于描述图像中很特殊的,能够与其他图片区分开的特点。ce4f876f3a9cd86fb1ea9f9297ebc9e4.png博主个人觉得比较有趣的是作者做了一个self-retrieval study的实验来证明以上的问题,具体如上面的图a和图b,基本就是由图片--生成句子--再拿句子检索图片。

比较前后的图片的效果,可以看到图a左右两边相差很大,这就证明所生成的caption是没有可区分性的。同时!下面的表1,作者在当时的sota中加入对比学习(adaptive attention+CL),检索recall和caption自身质量都提高了,且两者分数呈正相关关系,这也说明提高Distinctiveness是可以提高模型performance的。

然后具体的做法比较简单,直接构建正例 pair ,和负例 pair ,其中的负例中的图片是通过随机采样得到,然后优化:

然后还有两个trick:1 分数p可能比较小容易numerical problem,所以取对数;2 负样本是随机采样的,所以不同的正负样本的D可能差别比较大,所以logistic一下来平衡。所以变成

2、C-SWM

出自ICLR 2020,这篇文章的应用领域是世界模型(World Model),还是先放paper和code:

  • 论文:Contrastive Learning of Structured World Models

  • 地址:https://arxiv.org/abs/1911.12247

  • 代码:https://github.com/tkipf/c-swm

首先科普一下世界模型,World Model来自NIPS 2018 (原文:https://arxiv.org/abs/1803.10122),属于model-based的强化学习(科普传送门[1])。

大概的意思是:人类以有限的感官所能感知到的事物为基础,会逐步形成一个心理世界模型(mental model of the world),而我们所做的决定和行动都是基于这个内部模型,如我们的应激反应等等。

具体来说可以分为三个组件:

  1. 将看到的图像压缩成一个低维的表征向量作为模型的输入(如上图模型图的object extractor)。

  2. 记忆组件基于历史信息,对未来的表征向量做出预测。

  3. 决策组件基于视觉组件和记忆组件的表征向量决定采取的动作。

这篇文章应用对比学习在于,区分在探索过程中的真实体验和虚假体验,即对记忆组件的 [状态-行为-状态] 这样的三元组,即 {} 进行评分,以无监督的形式模仿人类来学习。7da2a3fbc790cbb1b126c390316c452e.png具体模型图如上图,首先是抽取各个物体的状态特征,然后由于理解物体之间的关系以及建模其间的交互关系不单单需要好的表示,所以利用图神经网络来建模其之间的交互,最后进一步地利用对比学习来提升性能。s是观察状态,z是抽象状态,T是转换模型,模仿TransE+对比损失可以有:

其中负样本是通过在experience buffer中对三元组进行随机实体替换得到的。其中经过图卷积后的得到的新表示为

以这样的模型可以提升后续多物体交互环境中的性能。

3、CMC

来自ECCV 2020,一般的对比都是在2个视角下,这篇文章尝试扩展到多视角。

  • 论文:Contrastive Multiview Coding

  • 地址:https://arxiv.org/abs/1906.05849

  • 代码:https://github.com/HobbitLong/CMC

59a0f2897d33adcd16d1ed05da3fd609.png模型架构图上图,首先选取同一场景的不同views,或者是不同场景的views来对比,然后最大化同一场景的交互信息(让同一场景views生成的embedding的invariance部分尽可能接近),最后基于抽取embedding的相似度来判断场景的相似度。

然后扩展成多视角的直觉来自,不同角度去看信号,看到的深层次结果应该一样。然后可以考虑两种情况:

  1. 主视角+从主视角变换得到的其他视角。所以直接对比这两者:

  1. 所有视角都从某一视角得到。所以考虑所有的两两组合的对比:

对比部分都是使用的log-softmax。

4、SGL

补一篇通过辅助的自监督任务来提高推荐系统的性能,来自SIGIR 2021:

  • 论文:Self-supervised Graph Learning for Recommendation

  • 地址:https://arxiv.org/abs/2010.10783

  • 代码:https://github.com/wujcan/SGL

现有Graph在推荐系统中一般都可以沿着高阶邻居来学习(如NGCF),虽然很高效但却有两个限制:

  • 度数高的节点对表示学习的影响更大,从而减弱了度数低的节点对表示学习的影响。

  • 因为聚合邻居机制会扩大边的影响,所以模型对噪声比较敏感。

所以作者的思路是自监督图学习(SGL):

  • 数据增强。为每个节点生成多种视角

  • 对比学习。相对其他节点而言,最大化相同节点的不同视角。4a3953f5a192f1266e6d348cb640f0d0.pngSGL的总体框架如上图,第一层是普通的监督学习,用GCN学习表示了再预测。第二层是有增强ID embedding的自监督学习。第三层是图结构增强的自监督学习。而后面这两层的增强是主要这篇文章所用的数据增强方法。然后将相同节点的视角看做正例对,不同节点的视角看做负例对,计算InfoNCE即可。

一起交流

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

3105319ee9b416f5421c43828d305a09.png

本文参考资料

[1]

科普传送门: https://nakaizura.blog.csdn.net/article/details/88877213

-?END?-

2ecc3263ee2853ff2ee491862072fe11.png

0cb7361dab5f1d75a682c8cb5dc54ca1.png

百度 2021 Lic 机器阅读理解比赛有感

2021-11-15

85d170e0b71e94a875eabe55085b4596.png

NLP中的范式迁移

2021-10-18

7c0bcb43ffc9276b94b863dff4b7b5be.png

搜索、推荐、广告中的曝光偏差问题

2021-10-12

d8cc0e0c7742da3b1a6df0a9b97bd1d8.png

Knowledge Distillation | 知识蒸馏经典解读

2021-10-03

d0a3d62f576d82ecc6a17ba640d465e8.png

9b9e4247355be8e7aa736ec2ff3e3b4d.png

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-25 08:07:06  更:2021-11-25 08:07:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 4:20:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码