论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》
论文信息
论文标题:Graph Contrastive Learning with Adaptive Augmentation
论文作者:Yanqiao Zhu、Yichen Xu3、Feng Yu4、Qiang Liu、Shu Wu、Liang Wang
论文来源:2021, WWW
论文地址:download
论文代码:download
1 介绍
出发角度:倾向于保持重要的结构和属性不变,同时干扰可能不重要的边连接和特征。
自适应数据增强方面:
- 拓扑结构:基于节点中心性度量,突出重要连接;
- 语义信息:对不重要的节点属性添加噪声;
2 方法
2.1 框架及算法
框架如下:

算法流程:

编码器:
$\begin{aligned}\mathrm{GC}_{i}(\boldsymbol{X}, \boldsymbol{A}) &=\sigma\left(\hat{D}^{-\frac{1}{2}} \hat{\boldsymbol{A}} \hat{D}^{-\frac{1}{2}} \boldsymbol{X} \boldsymbol{W}_{i}\right)\quad\quad\quad(12) \\f(\boldsymbol{X}, \boldsymbol{A}) &=\mathrm{GC}_{2}\left(\mathrm{GC}_{1}(\boldsymbol{X}, \boldsymbol{A}), \boldsymbol{A}\right)\quad\quad\quad(13)\end{aligned}$
损失函数
$\mathcal{J}=\frac{1}{2 N} \sum\limits _{i=1}^{N}\left[\ell\left(\boldsymbol{u}_{i}, v_{i}\right)+\ell\left(v_{i}, \boldsymbol{u}_{i}\right)\right]\quad\quad\quad(2)$
其中:
$log {\large \frac{e^{\theta\left(u_{i}, v_{i}\right) / \tau}}{\underbrace{e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{i}\right) / \tau}}_{\text {positive pair }}+\underbrace{\sum_{k \neq i} e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{k}\right) / \tau}}_{\text {inter-view negative pairs }}+\underbrace{\sum_{k \neq i} e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{u}_{k}\right) / \tau}}_{\text {intra-view negative pairs }}}}\quad\quad\quad(1) $
2.2 Adaptive Graph Augmentation
2.2.1 Topology-level augmentation
利用 $\text{Eq.3}$ 中的概率从原始边集合中采样一个边子集合
$P\{(u, v) \in \widetilde{\mathcal{E}}\}=1-p_{u v}^{e}\quad\quad\quad(3)$
其中:
- $(u, v) \in \mathcal{E}$;
- $p_{u v}^{e}$ 是删除边 $ (u, v)$ 的概率;
- $\widetilde{\mathcal{E}}$ 将作为生成视图的边集合;
分析知: $p_{u v}^{e}$ 应该反映边 $ (u, v)$ 的重要性,目的是为了加大破坏不重要的边的可能,同时在增强视图中保持重要的边。
节点中心性量化了节点的重要性,本文为边 $(u, v)$ 定义边中心性 $w_{u v}^{e}$,用于衡量边$(u, v)$ 对两个相连节点的影响。给定节点中心性度量 $\varphi_{c}(\cdot): \mathcal{V} \rightarrow \mathbb{R}^{+}$,将边中心性定义为两个相邻节点中心性得分的均值,即 $w_{u v}^{e}=\left(\varphi_{c}(u)+\varphi_{c}(v)\right) / 2$。在有向图上,只使用尾部节点的中心性,即 $w_{u v}^{e}=\varphi_{c}(v) $,因为边的重要性通常是它们指向的节点。
接下来,根据每条边的中心性值来计算它的概率。由于采用度作为节点中心性这种度量方法在不同数量级上变化差别过大,所以本文首先设置 $s_{u v}^{e}=\log w_{u v}^{e}$ 以缓解具有高度密集连接的节点的影响。然后通过将边中心性的值转换为概率:
$p_{u v}^{e}=\underset{}{\text{min}} \left(\frac{s_{\max }^{e}-s_{u v}^{e}}{s_{\max }^{e}-\mu_{s}^{e}} \cdot p_{e}, \quad p_{\tau}\right)\quad\quad\quad(4)$
其中,$p_{e}$ 是一个控制去除边的总体概率的超参数,$s_{\max }^{e}$ 和 $\mu_{s}^{e}$ 是 $s_{u v}^{e}$ 的最大值和平均值。而 $p_{\tau}<1$ 是一个临界概率(cut-off probability),对于边中心性高的边,采用 $p_{\tau}$ 删除,用于降低重要边被删除的可能性,对于边中心性低的边,采用 ${\large \frac{s_{\max }^{e}-s_{u v}^{e}}{s_{\max }^{e}-\mu_{s}^{e}} \cdot p_{e}} $ 删除,用于提高不重要的边被删除的可能性。
这里提供三种 节点中心性度量 方法:
1、点度中心性(Degree centrality):节点度本身可以是一个中心性度量。在有向网络上,使用内度,因为有向图中的一个节点的影响主要是由指向它的节点赋予的。
2、特征向量中心性(Eigenvector centrality):基本思想是一个节点的中心性是相邻节点中心性的函数。也就是说,与你连接的人越重要,你也就越重要。
3、PageRank中心性(PageRank centrality):基于有向图
对于 PageRank 中心性分数计算公式如下:
$\sigma=\alpha A D^{-1} \sigma+1\quad\quad\quad(5)$
其中,$\sigma \in \mathbb{R}^{N}$ 是每个节点的 PageRank中心性得分的向量,$\alpha$ 是一个阻尼因子,它可以防止图中的 sinks 从连接到它们的节点中吸收所有 ranks。这里设置$\alpha=0.85$。对于无向图,我们对转换后的有向图执行PageRank,其中每条无向边都被转换为两条有向边。
例子:

从图中可以看出,三种方案存在细微差别,但都强调了连接两个教练(橙色节点)的边,而较少关注边缘节点。
2.2.2 Node-attribute-level augmentation
节点特征隐藏:
$\widetilde{\boldsymbol{X}}=\left[x_{1} \circ \tilde{\boldsymbol{m}} ; \boldsymbol{x}_{2} \circ \tilde{\boldsymbol{m}} ; \cdots ; \boldsymbol{x}_{N} \circ \widetilde{\boldsymbol{m}}\right]^{\top}$
其中:$\widetilde{m}_{i} \sim \operatorname{Bern}\left(1-p_{i}^{f}\right)$,即用 $1-p_{i}^{f}$ 的概率取 $1$,用 $p_{i}^{f}$ 的概率取 $0$ ;
这里 $p_{i}^{f}$ 应该反映出节点特征的第 $i$ 个维数的重要性。我们假设经常出现在有影响的节点中的特征维度应该是重要的,并定义特征维度的权重如下。
对于稀疏的 one-hot 节点特征,即$x_{u i} \in\{0,1\}$,对于任何节点 $u$ 和特征维 $i$,我们计算维度 $i$ 的权重为
$w_{i}^{f}=\sum\limits _{u \in \mathcal{V}} x_{u i} \cdot \varphi_{c}(u)\quad\quad\quad(7)$
其中,$\varphi_{c}(\cdot)$ 是一个用于量化节点重要性的节点中心性度量。第一项 $x_{u i} \in\{0,1\}$ 表示节点 $u$ 中维度 $i $ 的出现,第二项 $\varphi_{i}(u)$ 表示每次出现的节点重要性。
对于稠密、连续的节点特征 $\boldsymbol{x}_{u}$,其中 $x_{u i}$ 表示节点 $u$ 在维度 $i$ 处的节点特征的值,这里不能按上述稀疏情况下的计算方式。本文用绝对值 $\left|x_{u i}\right|$ 来测量节点 $u$ 的 $i$ 维的特征值的大小:
$w_{i}^{f}=\sum\limits _{u \in \mathcal{V}}\left|x_{u i}\right| \cdot \varphi_{c}(u)\quad\quad\quad(8)$
与 Topology-level augmentation 类似,我们对权值进行归一化,以获得表示特征重要性的概率。形式上:
${\large p_{i}^{f}=\min \left(\frac{s_{\max }^{f}-s_{i}^{f}}{s_{\max }-\mu_{s}^{f}} \cdot p_{f}, p_{\tau}\right)} \quad\quad\quad(9)$
其中,$s_{i}^{f}=\log w_{i}^{f}$,$s_{\max }^{f}$ 和 $\mu_{s}^{f}$ 分别为 $ s_{i}^{f}$ 的最大值和平均值, $p_{f}$ 是控制特征增强的总体幅度的超参数。
3 实验
3.1 数据集

【 Wiki-CS、Amazon-Computers、Amazon-Photo、Coauthor-CS、Coauthor-Physics 】
3.2 实验结果
基线实验:

消融实验:

灵敏度分析:

4 总结
开发了一种自适应数据增强对比学习框架。
论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》的更多相关文章
- 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》
论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...
- 论文解读(GROC)《Towards Robust Graph Contrastive Learning》
论文信息 论文标题:Towards Robust Graph Contrastive Learning论文作者:Nikola Jovanović, Zhao Meng, Lukas Faber, Ro ...
- 论文解读(GGD)《Rethinking and Scaling Up Graph Contrastive Learning: An Extremely Efficient Approach with Group Discrimination》
论文信息 论文标题:Rethinking and Scaling Up Graph Contrastive Learning: An Extremely Efficient Approach with ...
- 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
- 论文阅读 Dynamic Graph Representation Learning Via Self-Attention Networks
4 Dynamic Graph Representation Learning Via Self-Attention Networks link:https://arxiv.org/abs/1812. ...
- 论文解读《Deep Resdual Learning for Image Recognition》
总的来说这篇论文提出了ResNet架构,让训练非常深的神经网络(NN)成为了可能. 什么是残差? "残差在数理统计中是指实际观察值与估计值(拟合值)之间的差."如果回归模型正确的话 ...
- 论文解读(SUGRL)《Simple Unsupervised Graph Representation Learning》
Paper Information Title:Simple Unsupervised Graph Representation LearningAuthors: Yujie Mo.Liang Pen ...
- 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》
论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...
- 论文解读(GRCCA)《 Graph Representation Learning via Contrasting Cluster Assignments》
论文信息 论文标题:Graph Representation Learning via Contrasting Cluster Assignments论文作者:Chun-Yang Zhang, Hon ...
随机推荐
- 配置 PackMan 镜像
一.参考链接 阿里云镜像站 二.PackMan 镜像介绍 Packman 是 OpenSUSE 最大的第三方软件源,主要为 OpenSUSE 提供额外的软件包,包括音视频解码器.多媒体应用.游戏等. ...
- 马哥教育Linux网络班结业考试(架构师)-简答题题目(附答案)
1.叙述 centos7 启动图形界面的开机启动流程? 答:新版本的CentOS7里,已经做了调整.具体/etc/inittab 文件的第7行已经做出了说明: 系统已经使用'targets' 取代了运 ...
- Java中对文件的处理01-递归删除
package com.ricoh.rapp.ezcx.admintoolweb.util; import java.io.BufferedInputStream; import java.io.Bu ...
- CyclicBarrier和CountDownLatch区别
这两天写多线程时,用到了CyclicBarrier,下意识的认为CyclicBarrier和CountDownLatch作用很像,就翻阅资料查了一下,说一下他们的区别吧 CyclicBarrier和C ...
- vue3.0的更新和defineProperty优化?
放弃 Object.defineProperty ,使用更快的原生 Proxy (访问对象拦截器, 也成代理器) 提速, 降低内存使用, Tree-shaking更友好 支持IE11等 使用Types ...
- 请说说Struts1和Struts2的区别?
特性 Struts1 Struts2 Action Struts1.x要求Action类要扩展自一个抽象基类.Struts1.x的一个共有的问题是面向抽象类编程而不是面向接口编程. Struts2 ...
- 请简述下你在哪些场景下会选择 Kafka?
日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop.HBase.Solr等. 消息系统:解耦和生产者和消费者.缓 ...
- 学习heartbeat-02安装及配置
2.部署Heartbeat高可用需求 2.1 操作系统 CentOS-6.8-x86_64 2.2 Heartbeat服务主机资源准备 主服务器A: 主机名:heartbeat-1-130 eth0网 ...
- Leetcode26——删除有序数组中的重复项(双指针法)
Leetcode26--删除有序数组中的重复项(双指针法) 1. 题目简述 给你一个升序排列的数组 nums ,请你原地 删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度.元素的相对 ...
- 用js中的let等操作,要手动开启ECMAScript6(如果不设置,let等ES6语法会报错)
问题:idea默认没有开启ECMAScript6,需要进行设置:(如果不设置,let等ES6语法会报错)步骤: File | Settings | Languages & Frameworks ...