图表示学习+对比学习入门必看:DGI
来源:投稿 作者:kon
编辑:学姐
前言
众所周知,火热的对比学习不仅在CV取得了很多成果,也在NLP、推荐等领域大放异彩。自然的,有人将对比学习引入了图表示学习领域,利用图本身的结构与结点自身的特征进行对比学习,实现了端到端的结点性质预测。
今天为大家带来的就是图表示学习领域里对比学习的开山之作,「《Deep Graph Infomax》」提出的经典架构DGI
。DGI
通过对Deep Info Max
理论的再推导,提出了无监督学习范式Deep Graph Infomax
,在多个数据集上的表现甚至超过了有监督学习。
理论推导
定义X
为某个结点的node embedding
,s
为某个图的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相关推荐
- 【学点Linux】Linux该如何学习(新手入门必看)
Linux该如何学习(新手入门必看) 文章目录 Linux该如何学习(新手入门必看) 如何去学习 碰到问题怎么办 英文读不懂怎么办 忘记Windows的思维方式 无意间在一处看到的,分享出来. 如何去 ...
- 【吐血推荐】机器学习/深度学习入门资料汇总及学习建议【入门必看】
机器学习入门,初学者遇到的问题非常多,但最大的问题就是: 资料太多!!!看不完!!!不知道如何取舍!!! 一.机器学习的数学基础 正规的机器学习数学基础主要有: 数学分析(微积分),线性代数,概率论, ...
- Linux该如何学习(新手入门必看)
本节旨在介绍对于初学者如何学习 Linux 的建议.如果你已经确定对 Linux 产生了兴趣,那么接下来我们介绍一下学习 Linux 的方法. 如何去学习 学习大多类似鹿丁解牛,对事物的认识一般都是由 ...
- c++学习纲要(入门必看!!!学习笔记【建议收藏!!!】)怒肝整理数万字,只求君一赞
C++学习大纲 **知识无底,学海无涯,我将我学习c++学到的知识,学习这部分前,建议有一部分c 语言的基础,这样学起来更容易掌握如下向大家分享,学识低浅,如有错误, 请君提出,方便我修改.** 文章 ...
- python面向对象编程指南 豆瓣_一文看懂Python面向对象编程(Python学习与新手入门必看)-绝对原创...
尽管网上有许多关于Python面向对像的编程介绍,小编我看完后总觉得不是很满意,也不过瘾,所以决定自己亲自动手写篇文章,帮你理解Python面向对象的编程的基本概念和核心思想.本文内含很多实例代码,以 ...
- Java编程学习入门、Java语言学习、Java入门必看
一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...
- aspen为什么不能用_我是如何学习Aspen Plus软件的---入门必看
[ 原创 ] 我是如何学习 Aspen Plus 软件的 --- 入门必看 ( 转载 ) 标签: 软件 如何学习 2012-01-18 21:18 Aspen Plus 入门 --- 对 Aspen ...
- 语音识别从菜鸟到入门必看的参考书目
原标题:语音识别从菜鸟到入门必看的参考书目 此前研究这一方面的容,搜罗了些资料,在这里整理如下,做毕业设计,写毕业论文的朋友购书时可以参考一下: 一.<MATLAB数字信号处理> 编者:王 ...
- UI设计初学者必入门必看!
UI设计初学者必入门必看!很多想学一门技术,却不知的学什么的朋友,经常可能会看到一些关于UI设计相关的信息,一时还不明白UI到底是干嘛的,想清楚的了解一下UI设计到底是什么,再打算去深入的学习. 一. ...
- 95后数据科学家教你从零自学机器学习,这有3本入门必看书籍
晓查 发自 凹非寺 量子位 编译 | 公众号 QbitAI 厌倦了现在的工作,想转行做数据科学,但是却没有计算机专业的相关学历,应该怎样才能入门? 这类的教程已经有很多.最近一位22岁的数据科学家D ...
最新文章
- WindowManager如何被Android深度解析(3)
- 【图像处理】【计算机视觉】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波...
- Shell脚本攻略01-简介/终端打印
- Oracle数据库修改字段类型
- 【简便解法】1084 Broken Keyboard (20 分)_16行代码AC
- 会话跟踪之Session
- 大数据预测实战-随机森林预测实战(三)-数据量对结果影响分析
- 9999元起!荣耀首部折叠屏手机Magic V正式发布
- 66元机票盲盒,去哪随机、日期随机:要不起!
- oracle imp 分隔符,Oracle的imp/exp 各版本之间的规则
- 如何构建大数据分析平台
- autojs写的全网视频解析app,带解析接口。
- PMU 精密测量单元
- 酷开u盘c02hb量产工具
- Android EditText 只能输入数字
- 社区价值:福山论自组织、社区、社会资本
- LUMION PureGlass纯正玻璃材质新功能应用
- 安装SQL server2017提示无法打开注册表项:“Software\Microsoft\MicrosoftsQL Server\140\Bootstrap“,注册表可能已损环。
- eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)
- 7.8 css 学习
热门文章
- 网络工程师课程---7、网络通信综合实验(做网络基础综合实验 用什么软件)...
- 互联网晚报 | 9月19日 星期日 | OPPO否认裁员20%;淘宝首页将为直播新增一级入口;蔚来打通京津冀都市圈高速换电网络...
- 长这么大,才知道数据集不用下载可以直接在线使用
- Python实例:使用Scipy求解单变量方程的根
- 谷歌浏览器安装了插件也无法使用
- 电气装备计算机控制实验,电气装备计算机控制系统设计实验报告(DOC)
- select ..from..where..=(select ..from ..where=‘‘)子查询的用法及理解
- 几种Jsp连接数据库方法!
- 如何解决IDEA输入中文时输入法候选词框不跟随光标问题
- 电离层对高分辨率星载SAR成像的影响3——电离层对距离向成像的影响