来源:投稿 作者:kon
编辑:学姐

前言

众所周知,火热的对比学习不仅在CV取得了很多成果,也在NLP、推荐等领域大放异彩。自然的,有人将对比学习引入了图表示学习领域,利用图本身的结构与结点自身的特征进行对比学习,实现了端到端的结点性质预测。

今天为大家带来的就是图表示学习领域里对比学习的开山之作,「《Deep Graph Infomax》」提出的经典架构DGIDGI通过对Deep Info Max理论的再推导,提出了无监督学习范式Deep Graph Infomax,在多个数据集上的表现甚至超过了有监督学习。

理论推导

定义X为某个结点的node embeddings为某个图的Graph embedding。作者借鉴了CV领域中DGI的思想,进行了概率上的推导。

分类器越可以辨认出正确的样本对(X,s)代表着X和s的共现概率越高,我们当然希望summary vector和结点表示集合X共现概率更大,因为这意味着summary vector代表着集合X独有的特征,证明这个表示质量很高。因此,图对比学习问题可以转化为辨别正确样本对的问题。

「其中,边缘分布被采样到的概率推导式为」

「联合分布被采样到的概率为」

可以看到,样本对(X,s)在联合分布被采样到的概率比以边缘分布被采样到的概率要大。即,分类器分类一个样本来自联合分布的出错概率更小。

这符合直觉,因为仅当变量独立时,边缘分布乘积才为联合分布。现实中,变量之间几乎都有关联,所以用边缘分布乘积去估计不准确。在图表示学习中,这个理论可以理解为同一图的不同结点都或多或少有着关联,但不同图的结点之间是没有关联的。

进一步的,可以利用琴生不等式得到结论:最优分类器的分类错误率的范围在1/2|X|到1/2之间。这符合batch内样本越多、对比学习效果越好的经验。

推论1:

如果Readout函数是单射的,s包含状态比X的多,那么最优分类器会让的状态个数与X的状态个数一致。简单理解就是,s和X一一对应,对于不同的X都有唯一summary vector与之对应,提高embedding的质量。

定理1:

定理1表明,对于有限的输入集和合适的确定性函数,最优s意味着最大互信息,所以可以使用最小化鉴别器中的分类误差来最大化输入X和输出s之间的互信息。

推论2:

最小化联合分布采样以及边缘分布采样的分类错误相当于最大化MI(X,h),h为结点i聚合邻居后的表示。

模型

经过了复杂、严密的推导后,就可以很容易地理解本文提出的模型了!

观察上图,分别将正样本与负样本送入同一网络,得到对应的patch representation,对正样本提取Global representation,作为summary vector分别与正、负样本进行对比学习。

「训练流程为:」

1.对正样本使用corruption function得到负样本实例

2.编码得到正、负样本的patch representation,就是结点的embedding集合

3.将正样本的patch representation送入Readout函数,得到正样本的图级别summary vector

4.将正、负样本的patch representation以及summary vector输入判别器,正样本输出为正,负样本输出负,通过梯度下降更新参数

试验部分

定义X为特征,A为邻接矩阵,Y为标签。

在直推式学习中,各数据集、各网络的分类准确率如下所示。可以看到,DGI在无监督的情况下一举超越了有监督学习的GCN。

「在直推式任务中,采用如下聚合、传播范式」

在归纳式学习也有很好的表现,作者测试了Reddit数据集和PPI数据集,试验结果证明「DGI也超过了一些有监督学习方法」

在大图上采用的GraphSage范式,即mean pooling

针对reddit数据集,使用的聚合规则以及传播规则亦作了微调,但整体架构没有变化。

总结

「DGI」是一个node level的图表示学习架构,作者只在试验阶段只针对node classification做了一些工作,所以可以认为该架构只能训练出好的node embedding,至于graph embedding,作者把这些工作留给了后来人。

如果可以设计出一个优秀的Readout架构,DGI自然就可以做graph embedding了,不敢这一点需要整个科研界充分发挥想象力。不管怎么说,DGI为后来的图对比学习打下了坚实的基础,是一篇不可多得的好文章

关注下方《学姐带你玩AI》

图表示学习+对比学习入门必看:DGI相关推荐

  1. 【学点Linux】Linux该如何学习(新手入门必看)

    Linux该如何学习(新手入门必看) 文章目录 Linux该如何学习(新手入门必看) 如何去学习 碰到问题怎么办 英文读不懂怎么办 忘记Windows的思维方式 无意间在一处看到的,分享出来. 如何去 ...

  2. 【吐血推荐】机器学习/深度学习入门资料汇总及学习建议【入门必看】

    机器学习入门,初学者遇到的问题非常多,但最大的问题就是: 资料太多!!!看不完!!!不知道如何取舍!!! 一.机器学习的数学基础 正规的机器学习数学基础主要有: 数学分析(微积分),线性代数,概率论, ...

  3. Linux该如何学习(新手入门必看)

    本节旨在介绍对于初学者如何学习 Linux 的建议.如果你已经确定对 Linux 产生了兴趣,那么接下来我们介绍一下学习 Linux 的方法. 如何去学习 学习大多类似鹿丁解牛,对事物的认识一般都是由 ...

  4. c++学习纲要(入门必看!!!学习笔记【建议收藏!!!】)怒肝整理数万字,只求君一赞

    C++学习大纲 **知识无底,学海无涯,我将我学习c++学到的知识,学习这部分前,建议有一部分c 语言的基础,这样学起来更容易掌握如下向大家分享,学识低浅,如有错误, 请君提出,方便我修改.** 文章 ...

  5. python面向对象编程指南 豆瓣_一文看懂Python面向对象编程(Python学习与新手入门必看)-绝对原创...

    尽管网上有许多关于Python面向对像的编程介绍,小编我看完后总觉得不是很满意,也不过瘾,所以决定自己亲自动手写篇文章,帮你理解Python面向对象的编程的基本概念和核心思想.本文内含很多实例代码,以 ...

  6. Java编程学习入门、Java语言学习、Java入门必看

    一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...

  7. aspen为什么不能用_我是如何学习Aspen Plus软件的---入门必看

    [ 原创 ] 我是如何学习 Aspen Plus 软件的 --- 入门必看 ( 转载 ) 标签: 软件 如何学习 2012-01-18 21:18 Aspen Plus 入门 --- 对 Aspen  ...

  8. 语音识别从菜鸟到入门必看的参考书目

    原标题:语音识别从菜鸟到入门必看的参考书目 此前研究这一方面的容,搜罗了些资料,在这里整理如下,做毕业设计,写毕业论文的朋友购书时可以参考一下: 一.<MATLAB数字信号处理> 编者:王 ...

  9. UI设计初学者必入门必看!

    UI设计初学者必入门必看!很多想学一门技术,却不知的学什么的朋友,经常可能会看到一些关于UI设计相关的信息,一时还不明白UI到底是干嘛的,想清楚的了解一下UI设计到底是什么,再打算去深入的学习. 一. ...

  10. 95后数据科学家教你从零自学机器学习,这有3本入门必看书籍

    晓查 发自 凹非寺  量子位 编译 | 公众号 QbitAI 厌倦了现在的工作,想转行做数据科学,但是却没有计算机专业的相关学历,应该怎样才能入门? 这类的教程已经有很多.最近一位22岁的数据科学家D ...

最新文章

  1. WindowManager如何被Android深度解析(3)
  2. 【图像处理】【计算机视觉】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波...
  3. Shell脚本攻略01-简介/终端打印
  4. Oracle数据库修改字段类型
  5. 【简便解法】1084 Broken Keyboard (20 分)_16行代码AC
  6. 会话跟踪之Session
  7. 大数据预测实战-随机森林预测实战(三)-数据量对结果影响分析
  8. 9999元起!荣耀首部折叠屏手机Magic V正式发布
  9. 66元机票盲盒,去哪随机、日期随机:要不起!
  10. oracle imp 分隔符,Oracle的imp/exp 各版本之间的规则
  11. 如何构建大数据分析平台
  12. autojs写的全网视频解析app,带解析接口。
  13. PMU 精密测量单元
  14. 酷开u盘c02hb量产工具
  15. Android EditText 只能输入数字
  16. 社区价值:福山论自组织、社区、社会资本
  17. LUMION PureGlass纯正玻璃材质新功能应用
  18. 安装SQL server2017提示无法打开注册表项:“Software\Microsoft\MicrosoftsQL Server\140\Bootstrap“,注册表可能已损环。
  19. eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)
  20. 7.8 css 学习

热门文章

  1. 网络工程师课程---7、网络通信综合实验(做网络基础综合实验 用什么软件)...
  2. 互联网晚报 | 9月19日 星期日 | OPPO否认裁员20%;淘宝首页将为直播新增一级入口;蔚来打通京津冀都市圈高速换电网络...
  3. 长这么大,才知道数据集不用下载可以直接在线使用
  4. Python实例:使用Scipy求解单变量方程的根
  5. 谷歌浏览器安装了插件也无法使用
  6. 电气装备计算机控制实验,电气装备计算机控制系统设计实验报告(DOC)
  7. select ..from..where..=(select ..from ..where=‘‘)子查询的用法及理解
  8. 几种Jsp连接数据库方法!
  9. 如何解决IDEA输入中文时输入法候选词框不跟随光标问题
  10. 电离层对高分辨率星载SAR成像的影响3——电离层对距离向成像的影响