图表示学习+对比学习入门必看:DGI

news2024/11/27 16:38:02

来源:投稿 作者: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》🚀🚀🚀

回复“500”免费获取经典论文合集(包含CV、NLP各个细分方向)

码字不易,欢迎大家点赞评论收藏!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/372884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

14.微服务SpringCloud

一、基本概念 Spring Cloud 被称为构建分布式微服务系统的“全家桶”,它并不是某一门技术,而是一系列微服务解决方案或框架的有序集合。它将市面上成熟的、经过验证的微服务框架整合起来,并通过 Spring Boot 的思想进行再封装,屏蔽…

【Servlet篇】Response对象详细解读

文章目录Response 继承体系Response 设置响应数据设置响应行数据设置响应头数据设置响应体数据Response 重定向Response 响应字符数据Response 响应字节数据Response 继承体系 前面说到,我们使用 Request 对象来获取请求数据,使用 Response 对象来设置响…

Pyinstaller 打包EXE(七) 百篇文章学PyQT

本文章是百篇文章学PyQT6的第七篇,本文讲述如何使用Pyinstaller打包UI界面和代码,将程序打包成EXE来更为方便的进行部署,在写博客和学习的过程中会遇到很多问题,例如:PyQT6在网上很多博客都是PyQT5、或者PyQT4大部分都…

Could not extract response: no suitable HttpMessageConverter

版本:spring-cloud-openfeign-core-2.1.1.RELEASE.jar,spring-webmvc-5.1.14.RELEASE.jar,jetty-server-9.4.41.v20210516.jar,tomcat-embed-core-9.0.48.jar 问题背景 生产服务请求下游服务时偶发抛出下面的异常,下…

git入门

目录 1. git简介 1.1 git是什么 1.2 git与svn的区别 2. github 2.1 创建仓库 2.2 删除仓库 2.3 新建文件及文件夹 3. git的基本操作 3.1 配置账户及邮箱 3.2 git文件状态与工作区域 3.3 常用命令 3.4 克隆(clone) 3.5 查看git仓库的状态 3.…

[音视频] BMP 图片格式分析

BMP 格式是什么 BMP(Bitmap)是一种常见的无损位图图像文件格式,是Windows操作系统中最早使用的图像格式之一,也是目前很多应用程序所使用的标准图像格式之一。 整体结构图,如下图所示 格式 BMP文件格式有多个版本&a…

QT中级(5)多线程读取一个文件,并在另一个文件夹中合成这个文件(1)

1 先实现一个简单程序 1.1 功能 用户可以输入一个源文件的路径和目标路径点击开始,程序启动读取和合成合成进度可见、合成步骤可见 1.2 思路 一个线程顺序读取文件,达到设定的缓存块就发给另一个合成线程,主线程用来进行数据传递、显示进…

电子技术——A类输出阶

电子技术——A类输出阶 因为射极跟随器具有较低的输出阻抗,射极跟随器是A类输出阶的典型代表。我们之前已经学习过射极跟随器的小信号模型,本节我们讨论其大信号模型。 传输特性 下图展示了一个射极跟随器的原理图: 其中 Q1Q_1Q1​ 为射极…

并发编程-学习总结(下)

目录 1、Future 1.1、Callable和Runnable的不同 1.2、Future的主要功能 1.3、常用方法 1.4、Future使用注意事项 1.5、CompletableFuture(旅游平台问题) 1.5.1、需求 1.5.2、解决方案1:串行 1.5.3、解决方案2:线程池 1.5.4、解决方案3&#xf…

Prometheus本地存储和VictoriaMetrics远端存储

文章目录Prometheus本地存储简介blockWAL本地存储配置参数VictoriaMetrics简介单机版部署使用安装VictoriaMetrics配置Prometheus使用Victoriametrics配置Grafana以Victoriametrics作为数据源集群版部署使用部署vmstorage部署vmselect部署vminsert配置Prometheus使用vminsert配…

LearnOpenGL-入门-你好,三角形

本人刚学OpenGL不久且自学,文中定有代码、术语等错误,欢迎指正 我写的项目地址:https://github.com/liujianjie/LearnOpenGLProject LearnOpenGL中文官网:https://learnopengl-cn.github.io/ 文章目录图形渲染管线基本介绍着色器…

文献计量三大定律之一---洛特卡定律及普赖斯定律

科学生产率是洛特卡定律的基础,科学生产率”(Scientific Productivity))是指科学家(科研人员)在科学上所表现出的能力和工作效率,通常用其生产的科学文献的数量来衡量。 1926年,洛特卡在一篇论文中提出了科…

Windows作为操作系统的典型特征和主要功能

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows这个我们熟悉的不能再熟悉的系统。我们每天都在用Windows操作系统,但是其实我们每天直接在打交道的并不是Windows操作系统的内核,而是Windows操作系统的…

Docker部署Springboot项目(含MySQL+Redis)

使用Docker部署之前写的一个博客项目,主要用到了MySQL和Redis,Redis作网站访问量统计。下面会对具体的部署方式作详细讲解 一、服务器安装Docker 1、删除docker旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \…

(三十五)大白话MySQL一个事务多次查询一条数据读到的都是不同的值,这就是不可重复读?

上一讲我们说完了多个事务并发执行时候,对MySQL的缓存页里的同一行数据同时进行更新或者查询的时候,可能发生的脏写和脏读的问题 我们也都理解了,之所以会发生脏写和脏读,最关键的,其实是因为你一个事务写或者查的是人…

黑盒测试的常用方法

这里我们先设置一个示例,后面的文章中会根据示例来进行讲解 假设有一个程序是判断一个整形数字是否属于1-100 目录 1.等价类法 2.边界值法 3.判定表法 4.场景设计法 5.错误猜测法 6.正交法 1.等价类法 概念:系统性的确定要输入的测试条件的方法可以看出概念非常抽象,那…

命令执行漏洞 | iwebsec

文章目录1 靶场环境2 命令执行漏洞介绍3 靶场练习01-命令执行漏洞02-命令执行漏洞空格绕过03-命令执行漏洞关键命令绕过04-命令执行漏洞通配符绕过05-命令执行漏洞base64编码绕过4 命令执行漏洞危害01-读写系统文件02-执行系统命令03-种植恶意木马04-反弹shellpython反弹shellp…

Android 基础知识4-3.4 ImageView(图像视图)详解

一、ImageView简介 ImageView是Android开发中最常用的组件之一,主要用于显示图片,但是它不只是能显示图片,任何Drawable对象都可以使用它来显示。 二、ImageView 的继承关系 ImageView的继承关系 如下: java.lang.Object 《-- …

生成式语言大模型压缩技术思考——以ChatGPT为例

ChatGPT引领了生成式语言大模型的应用与技术热潮,首先简单回顾ChatGPT应用范式:将其应用于指定的下游任务时(如知识问答、翻译、编码),ChatGPT需要经历三个阶段的训练(增强人类语境的猜想)&…

基于nodejs+vue的平面设计课程管理系统vscode

后台由管理员,教师和学生三个角色,其主要功能包括首页,个人中心,学生管理,教师管理,课程类型管理,课程学习管理,试题讲解管理,作业信息管理,作业提交管理&…