对比学习作为近两年的深度学习界的一大宠儿,受到了广大研究人员的青睐。而图学习因为图可以用于描述生活中广泛出现的非欧式数据,具有广大的应用前景。当图学习遇上了对比学习…

本文从对比学习入手,再介绍图对比学习模型,以及近年的一些有意思的模型。

目录

  • 对比学习(Contrastive Learning)
    • Gelato Bet 与何凯明组的MoCo模型
    • 监督学习vs自监督学习
    • 生成式学习与对比学习
    • 对比学习的工作方式
    • 对比学习范例
  • 从DIM(Deep InfoMax)到DGI(Deep Graph InfoMax)
    • DIM(Deep InfoMax)
    • DGI(Deep Graph InfoMax)
    • 实验效果
  • 基于图数据扩充的图对比学习(GraphCL)
    • GraphCL
    • 讨论
    • 实验

注:本文需要一些信息论的基础,大家可以参考我的另一篇博客:
背景知识:从熵(Entropy)到互信息(MI,Mutual Information)

对比学习(Contrastive Learning)

本节以Contrastive Self-Supervised Learning, Ankesh Anand’s Blog原文为主要参考进行讲解。

Gelato Bet 与何凯明组的MoCo模型

“如果到2015年秋季的第一天(9月23日),在不使用任何额外的人工注释(例如ImageNet)作为预训练的情况下,将存在一种可以在Pascal VOC检测上达到或超越R-CNN性能的方法,⻢利克先生承诺向 埃弗罗斯先生购买一1杯冰淇淋(2勺:巧克力和香草)。” —Gelato Bet, Sept. 23, 2014 http://people.eecs.berkeley.edu/~efros/gelato_bet.html

这是Kateria Fragkiadaki, Philipp Krähenbühl, and Georgia Gkioxari在伯克利的休息室所定下的一个赌约。当时是2014年9月,当时正值R-CNN在CVPR2014中问世时期,几位大佬对ImageNet的有监督预训练提出了质疑。这是十分引人思考的:我们真的需要语义监督信息来学习良好的表示吗?

尽管最终赌约失败了,即2015年9月23日没有出现无标注信息超过有标注信息训练出来的R-CNN性能的新方法,但是这一赌约也见证了自监督学习的蓬勃发展。

时间来到了2019年,时隔5年,何凯明等人2019年提出的基于对比学习范式的MoCo模型,在Pascal VOC目标检测方面已经超过了有监督的方法,包括在其他任务中MoCo也有着很好的表现,如下图所示。

监督学习vs自监督学习

监督学习尽管作为机器学习领域应用最广的学习方式,但同样有着很大的弊端,即其对标注信息的过度依赖。

• 数据的内部结构远比标注提供的信息要丰富,因此通常需要大量的训练样本,但得到的模型往往是脆弱且敏感的;
• 在一些高维问题上,我们不能直接依赖监督信息;
• 在一些具体的学习任务中,获取标签的成本非常高;
• 标签信息通常适用于解决特定的任务,而不是可以做为知识一样可以重新利用。

自监督学习提供了一种替代方案,可以通过各种方式从数据本身中为学习算法挖掘了监督信息。

我们以重绘1美元纸币为例,如下图所示。左图为人们对着一张真正的1美元纸币的一个绘画草图,右图是人们凭借自己对美元纸币印象重绘的美元草图。尽管右图信息少、图像简单,但我们依然可以根据这些信息辨认出这是一张一美元的纸币。

我们不禁想问:是否存在不专注于具体细节的表示学习算法,来对高层特征编码以实现不同对象之间的区分? 对比学习给我们指出了一条道路。下文我们根据两条主流线路:生成式学习、对比学习进行分析,来阐述我们的观点。

生成式学习与对比学习


上图是生成方法和对比方法的模型结构图。

生成方法(Generative methods),如着色任务、AE系列模型:
• 像素级loss可能导致此类方法过于关注基于像素的细节,而不是抽象的语义信息
• 在于像素分析的方法难以有效的建立空间关联及对象的复杂结构

对比方法(Contrastive methods)通过正面和负面的例子来学习表征:
• 在未标记的ImageNet数据上训练并使用线性分类器的无监督对比方法已经超过了监督的AlexNet
• ImageNet上的对比式预训练成功地转移到了其它任务,并且胜过了监督的预训练任务(MoCo)

对比学习的工作方式

对比模型其实和FaceNet中的Triplet以及Word2Vec任务中的负采样有些许类似,如上图所示。

对比学习范例

对比学习的关键点在于如何选取锚点(anchor),正样本(Pos)和负样本(Neg)

从DIM(Deep InfoMax)到DGI(Deep Graph InfoMax)

本节以DGI(Deep Graph InfoMax)原文为主要参考进行讲解。

注:文章的一作为2年内拥有2500+的引量的GAT(Graph Attention Network,图注意力模型)提出者。

DIM(Deep InfoMax)


关于证明可以参考3篇知乎的文章结合着看看:
DEEP GRAPH INFOMAX 阅读笔记
DIM:通过最大化互信息来学习深度表征
深度学习中的互信息:无监督提取特征

DGI(Deep Graph InfoMax)




实验效果

基于图数据扩充的图对比学习(GraphCL)

本节以GraphCL原文为主要参考进行讲解。

废话少说直接上模型:

GraphCL

图数据扩充方式

这里提到均匀分布有时候并不一定合理,大家可以看看基于这一点进行改进的中科院自动化所近期发表的文章:
Graph Contrastive Learning with Adaptive Augmentation, CASIA, 2020arxiv

下图是GraphCL的模型结构,主要由4个部分组成:

讨论

我们对生化分子和社交网络数据集进行实验,数据集信息见下

我们对不同的数据扩充方式进行组合进行实验,并与不进行预训练的方法进行对比,如下图所示(identical表示直接使用原图):

我们可以看出来:
• 数据扩充对图对比学习至关重要(引入图数据扩充很容易带来性能提升)
• 组合不同的扩充方式会带来更多的性能收益(对角线性能不佳)

此外进行进一步的分析我们可以得到:

实验

• GraphCL可以用来做图数据的自监督预训练,也可以作为无监督学习方法
• 对半监督任务无监督任务迁移学习任务、以及对抗攻击任务中都有不错的表现

文中及附录的实验其实挺丰富的,大家可以参考原文及附录。这里贴几张无监督任务的性能表现。

参考文献及博客:
Contrastive Self-Supervised Learning, Ankesh Anand’s Blog
Learning deep representations by mutual information estimation and maximization, 2019ICLR
Deep Graph Informax, 2019ICLR
Graph Contrastive Learning with Augmentations, 2020NeurIPS
Momentum Contrast for Unsupervised Visual Representation Learning, 2020CVPR
知乎:DEEP GRAPH INFOMAX 阅读笔记
知乎:DIM:通过最大化互信息来学习深度表征
知乎:深度学习中的互信息:无监督提取特征

图对比学习入门 Contrastive Learning on Graph相关推荐

  1. 浅聊对比学习(Contrastive Learning)

    作者丨parasol@知乎 (已授权) 来源丨https://zhuanlan.zhihu.com/p/521614413 编辑丨极市平台 导读 本文通过解读对比学习的经典论文和综述,介绍对比学习的概 ...

  2. 【自监督学习】对比学习(Contrastive Learning)介绍

    1. 前言 1.1. 为什么要进行自监督学习 我们知道,标注数据总是有限的,就算ImageNet已经很大,但是很难更大,那么它的天花板就摆在那,就是有限的数据总量.NLP领域目前的经验应该是:自监督预 ...

  3. 读文章笔记(十一):对比学习(Contrastive Learning)

    读文章笔记(十一):对比学习(Contrastive Learning) 对比学习 来源于:对比学习(Contrastive Learning):研究进展精要 对比学习 对比学习属于无监督或者自监督学 ...

  4. 对比学习(Contrastive Learning)综述

    A.引入   https://zhuanlan.zhihu.com/p/346686467 A.引入 深度学习的成功往往依赖于海量数据的支持,其中对于数据的标记与否,可以分为监督学习和无监督学习. 1 ...

  5. 对比学习(Contrastive Learning)相关进展梳理

    ©PaperWeekly 原创 · 作者|李磊 学校|西安电子科技大学本科生 研究方向|自然语言处理 最近深度学习两巨头 Bengio 和  LeCun 在 ICLR 2020 上点名 Self-Su ...

  6. 推荐系统中不得不学的对比学习(Contrastive Learning)方法

    作者 | 对白 出品 | 公众号:对白的算法屋 大家好,我是对白. 今天我们来聊一聊推荐系统中不得不学的Contrastive Learning方法,近年来Contrastive Learning在C ...

  7. 对比学习(Contrastive Learning)中的损失函数

    文章目录 写在前面 一.Info Noise-contrastive estimation(Info NCE) 1.1 描述 1.2 实现 二.HCL 2.1 描述 2.2 实现 三.文字解释 四.代 ...

  8. 对比学习(contrastive learning)

    什么是自监督学习? 举个通俗的例子:即使不记得物体究竟是什么样子,我们也可以在野外识别物体. 我们通过记住高阶特征并忽略微观层面的细节来做到这一点.那么,现在的问题是,我们能否构建不关注像素级细节,只 ...

  9. 对比学习(Contrastive Learning)的理解

    参考网址:https://blog.csdn.net/yyhaohaoxuexi/article/details/113824125 一.Info Noise-contrastive estimati ...

最新文章

  1. C++ STL算法之accumulate函数
  2. 【python图像处理】txt文件数据的读取与写入
  3. Jquery之编辑不可修改
  4. Web安全学习 Week1
  5. $http中文乱码|param乱码|angular提交后台乱码|
  6. Sentinel(二十一)之Sentinel Dashboard控制台日志路径设置
  7. Linux程序之触摸,linux 触摸屏驱动编写
  8. 2013年 833c语言程序 江南大学 (A卷)
  9. IDEA创建Scala
  10. 要想通过面试,MySQL的 Limit 子句底层原理你不可不知
  11. typecho 全站ajax,Typecho全站启用HTTPS教程
  12. vb adodc连接mysql_VB之Adodc控件连接数据库
  13. 使用浏览器检查工具下载网页视频
  14. iOS 高仿《百思不得姐》
  15. 范围变更管控案例_项目范围管理案例之范围确认案例
  16. 一位资深开发的个人经历(走心好文)
  17. 算法高级(20)-集群容错算法
  18. 树莓派keras加载modle失败_特斯拉+树莓派实现车牌识别检测系统
  19. 《阿里巴巴 Java 开发手册 》读书笔记
  20. 【源码】基于传热实验的管壳式、双管式、三叉流式换热器

热门文章

  1. 2022新版苹果影视海螺主题模板M3.1+全解密版
  2. SEO讲座之关键字布局、密度、相关性及转换(转)
  3. querybuilder 排序_Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)...
  4. 你离电影级别的PPT页面,只差一个操作指南
  5. uniapp之luch-request使用大全:this.$http.post、get【this.$http.post使用form-data表单解决方案】
  6. 安卓模拟器Win8版(bluestacks app player) v0.8.10.3101 官方中文版
  7. 关于django web示例:photo gallery的思路
  8. Command line is too long. Shorten the command line via JAR manifest
  9. 一种海量数据安全分类分级架构的实现
  10. 最少需要多少翻译(分枝限界法)