论文信息

论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learning
论文作者: Kaize Ding 、Yancheng Wang 、Yingzhen Yang、Huan Liu
论文来源:2021, Neurocomputing
论文地址:download
论文代码:download

前言

  本文贡献:

  • 提出多层次图对比学习框架:联合节点级和图级对比学习;
  • 图负样本定义;
  • 引入 KNN 图提取语义信息;

1 介绍

  本文开发了一个多层次的图对比学习(MLGCL)框架,用于通过对比图的拓扑视图和特征空间视图来学习图数据的鲁棒表示。如 Figure 2 所示,使用 KNN 算法对特征进行编码,从而在特征空间中生成 KNN 视图。KNN 视图不仅提供了互补视图,而且更适合GNN,将两者对比学习结合,可以显著提高 GNN 编码器的鲁棒性和适应性。

  

2 方法

  框架流程

  • 步骤一:从增强池 $\tau $ 中采样一对图增强函数 ${\tau }_{1}$ 和 ${\tau }_{2}$,并将其应用于输入图,生成两个视图的增广图;  
  • 步骤二:使用一对共享的 GNN 编码器来提取节点表示,并进一步利用池化层来提取图表示;  
  • 步骤三:利用一个共享参数的 MLP 层来将两个视图中的节点表示投影到计算节点级对比损失的空间中。类似地,还将来自两个视图的图表示投影到计算图级对比损失的空间中;  
  • 步骤四:通过优化所提出的多级损失函数来学习编码器的参数;

  MLGCL主要由以下组成部分组成:

  • 图数据增强:对输入图施加扰动,生成同一图的两个相关图。在本工作中,我们从空间视图中提取增强图结构来进行对比学习;
  • GNN编码器:使用基于GNN的编码器 $f(\cdot)$ 来学习两个增广图的节点表示 $z_{1}$、$z_{2}$;
  • MLP:投影头 MLP 层 $g(\cdot)$ 将表示法映射到计算对比损失的空间;  
  • 图池化:使用图池化层 $ R(\cdot)$ 来学习图的表示;
  • 损失函数:提出了多级损失函数,同时保持“局部”和“全局”信息;

2.1 图数据增强

  给定 $G(A、X)$ 的图结构,先利用 GNN 编码器提取拓扑图的编码特征 $Z$,然后利用 $\text{KNN}$ 对 $Z$ 的近邻构造 $\text{KNN}$ 图($G_{f}\left(A_{f}, X\right)$),其中 $A_{f}$ 为 $\text{KNN}$ 图的邻接矩阵。

  构建 $\text{KNN}$ 图可以描述为两个步骤:

  • 首先,基于 $ N$ 个编码特征 $ Z $ 计算相似度矩阵 $S$;
  • 其次,为每个节点选择前 $k$ 个相似的节点对来设置边,最后得到 $\text{KNN}$ 图的邻接矩阵 $A_{f} $ ;

  事实上,得到相似度矩阵 $S$ 有许多方案,如基于距离的相似度计算方法(即欧氏距离,马氏距离),基于余弦的相似度计算(即余弦相似 性,皮尔逊相关性)和基于核的相似性计算(即高斯核,拉普拉斯核)。这里列出三种流行的方法,其中 $x_{i} $ 和 $x_{j} $ 是节点 $i$ 和 $j$ 的 特征向量:

  • 马氏距离

    $S_{i j}=\sqrt{\left(x_{i}-x_{j}\right)^{T} M\left(x_{i}-x_{j}\right)}$

  其中 $M$ 是一个正半定矩阵,它起着逆协方差矩阵的作用。 (如果 $M$ 是单位矩阵,则为欧氏距离)
  正半定矩阵:设 $A$ 是 $n$ 阶方阵,如果对任何非零向量 $X$,都有 $X ' A X \geq 0$ ,其中 $X ' $ 表示 $X$ 的转置,就称 $A$ 为半正定矩阵。

  • 余弦相似性

  使用两个向量之间夹角的余弦值来度量相似性:

    ${\large S_{i j}=\frac{x_{i} \cdot x_{j}}{\left|x_{i}\right|\left|x_{j}\right|}} $

  • 高斯核

    ${\large S_{i j}=e^{-\frac{\left\|x_{i}-x_{j}\right\|^{2}}{2 \sigma^{2}}}} $

  其中, $\sigma$ 是高斯核的核宽度。

  本文选择余弦相似性来得到相似性矩阵 $S$ 。

2.2 编码器

  给定拓扑图 $G(A, X)$ 和 $\text{KNN}$图 $G_{f}\left(A_{f}, X\right)$ ,使用双层 GCN 作为编码器模型获得它们的潜在节点表示矩阵。编码器 $f(\cdot) $ 表示如下:

    $Z^{l+1}=f(A, X)=\sigma\left(\widetilde{A} Z^{l} W^{l}\right)$

  其中:$\widetilde{A}=\widehat{D}^{-1 / 2} \widehat{A} \widehat{D}{ }^{-1 / 2}$ 是对称归一化的邻接矩阵。

  对于每个视图的节点表示 $Z_{a} $, $Z_{b} $ ,使用一个图池化层 $ P(\cdot): \mathbb{R}^{N \times d} \rightarrow \mathbb{R}^{d}$ (即读出函数),得到它们的图表示:

    $c=P(H)=\sigma\left(\frac{1}{N} \sum_{i=1}^{N} h_{i}\right)$

  此外,为了对两个视图进行相应的节点表示和图表示对比,使用 MLP 层  $g_{\phi}(\cdot) 和 g_{\varphi}(\cdot): \mathbb{R}^{N \times d} \rightarrow \mathbb{R}^{N \times d}$   将节点和图表示分别投影到计算对比损失的空间中。

2.3 多级损失函数

  多级损失函数,由两部分组成:两个视图之间低级节点表示的对比,以及两个视图之间高级图表示的对比。

  低级节点表示的对比:给定正对 $(z_i、z_j)$,将节点级对比损失函数定义为

    ${\large \mathcal{L}_{\text {node }}\left(z_{i}^{a}, z_{i}^{b}\right)=\log \frac{\exp \left(\left(z_{i}^{a}\right)^{T} z_{i}^{b} / \tau\right)}{\sum_{j=1, j \neq i}^{K} \exp \left(\left(z_{i}^{a}\right)^{T} z_{i}^{b} / \tau\right)+\exp \left(\left(z_{i}^{a}\right)^{T} z_{j}^{a} / \tau\right)+\exp \left(\left(z_{i}^{a}\right)^{T} z_{j}^{b} / \tau\right)}} $

  由于两个视图是对称的,所以另一个视图的损失被定义为 $L_{n o d e}\left(z_{i}^{b}, z_{i}^{a}\right)$ 。因此,通过优化以下内容,实现最大化两个视图之间的节点的一致性:

    $\mathcal{L}_{n o d e}=\mathcal{L}_{n o d e}\left(z_{i}^{a}, z_{i}^{b}\right)+\mathcal{L}_{n o d e}\left(z_{i}^{b}, z_{i}^{a}\right)$

  高级图表示的对比:给定正例  $\left(s^{a}, s^{b}\right)$  和负例  $\left(s^{a}, \tilde{s}^{a}\right)$ ,$\left(s^{a}, \tilde{s}^{b}\right)$  ,两个视图之间的图表示对比被定义为:

    ${\large \mathcal{L}_{\text {graph }}\left(s^{a}, s^{b}\right)=\log \frac{\exp \left(\left(s^{a}\right)^{T} s^{b} / \tau\right)}{\exp \left(\left(s^{a}\right)^{T} s^{b} / \tau\right)+\exp \left(\left(s^{a}\right)^{T} \tilde{s}^{a} / \tau\right)+\exp \left(\left(s^{a}\right)^{T} \tilde{s}^{b} / \tau\right)}} $

  本文为生成图的负样本,随机 shuffle 特征以推导出负邻接矩阵 $\widetilde{A}$ 和 $\widetilde{A}_{f}$ ,然后得到负样本 $\left(s^{a}, \tilde{s}^{a}\right) ,\left(s^{a}, \tilde{s}^{b}\right) $ 。由于对称性,另一个视图的损失被定义为 $L_{g r a p h}\left(s^{b}, s^{a}\right) $ 。因此,整体图表示对比为:

    $\mathcal{L}_{g r a p h}=\mathcal{L}_{g r a p h}\left(s^{a}, s^{b}\right)+\mathcal{L}_{g r a p h}\left(s^{b}, s^{a}\right)$

  最后,通过将节点级对比损失与图级对比损失相结合,模型的多级损失为:

    $\mathcal{L}=\mathcal{L}_{\text {node }}+\lambda \mathcal{L}_{\text {graph }}$

3 实验

3.1 数据集

  

3.2 结果

  

  

  

4 结论

  学到:

  • 提出多层次图对比学习框架:联合节点级和图级对比学习;
  • 图负样本定义;
  • 引入 $\text{KNN}$ 图提取语义信息;  

5 相关论文

2016-AAAI——Deep neural networks for learning graph representations
2021-WWW——Graph structure estimation neural networks
2017-NIPS——Inductive representation learning on large graphs

 

论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》的更多相关文章

  1. 论文解读(GROC)《Towards Robust Graph Contrastive Learning》

    论文信息 论文标题:Towards Robust Graph Contrastive Learning论文作者:Nikola Jovanović, Zhao Meng, Lukas Faber, Ro ...

  2. 论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》

    论文信息 论文标题:Graph Contrastive Learning with Adaptive Augmentation论文作者:Yanqiao Zhu.Yichen Xu3.Feng Yu4. ...

  3. 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》

    论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...

  4. 论文解读(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 ...

  5. 论文解读GALA《Symmetric Graph Convolutional Autoencoder for Unsupervised Graph Representation Learning》

    论文信息 Title:<Symmetric Graph Convolutional Autoencoder for Unsupervised Graph Representation Learn ...

  6. 论文解读《Deep Attention-guided Graph Clustering with Dual Self-supervision》

    论文信息 论文标题:Deep Attention-guided Graph Clustering with Dual Self-supervision论文作者:Zhihao Peng, Hui Liu ...

  7. 论文解读(GraRep)《GraRep: Learning Graph Representations with Global Structural Information》

    论文题目:<GraRep: Learning Graph Representations with Global Structural Information>发表时间:  CIKM论文作 ...

  8. 论文解读(GMT)《Accurate Learning of Graph Representations with Graph Multiset Pooling》

    论文信息 论文标题:Accurate Learning of Graph Representations with Graph Multiset Pooling论文作者:Jinheon Baek, M ...

  9. 论文解读(JKnet)《Representation Learning on Graphs with Jumping Knowledge Networks》

    论文信息 论文标题:Representation Learning on Graphs with Jumping Knowledge Networks论文作者:Keyulu Xu, Chengtao ...

随机推荐

  1. ZYNQ 启动问题 :FSBL

    0.ZYNQ外部启动条件 1. 电源要求: 在阶段0 BootROM时,安全模式下PS与PL都是必须上电的:非安全模式PS需要上电,如图: 在阶段1 FSBL时,PS与PL都是必须上电的,因为PL将在 ...

  2. mtu的原理和作用

    MTU: 最大传输单元,是指一种通信协议的某一层上面所能通过的最大数据包大小,最大传输单元这个参数通常与通信接口有关. 因为协议数据单元的包头和包尾的长度是固定的,MTU越大,则一个协议数据单元的承载 ...

  3. 数据类型 Java day7

    数据类型 数据类型包含:引用数据类型和基本数据类型 引用数据类型:出去基本数据类型,其他的类型,如String 基本数据类型:总共分四大类有八种 四大类:整数,浮点数.字符.布尔 一.整数包含以下 数 ...

  4. Python 细聊从暴力(BF)字符串匹配算法到 KMP 算法之间的精妙变化

    1. 字符串匹配算法 所谓字符串匹配算法,简单地说就是在一个目标字符串中查找是否存在另一个模式字符串.如在字符串 "ABCDEFG" 中查找是否存在 "EF" ...

  5. C++_STL_all_of

    all_of 功能描述 如果在[first,last)范围内的数组进行判断, 如果pred返回true返回true 否则返回false 等同于 template<class InputItera ...

  6. 一台 Linux 系统初始化环境后需要做一些什么安全工作?

    1.添加普通用户登陆,禁止 root 用户登陆,更改 SSH 端口号.        修改 SSH 端口不一定绝对哈.当然,如果要暴露在外网,建议改下.l    2.服务器使用密钥登陆,禁止密码登陆. ...

  7. Lock 与 Synchronized 的区别?

    首先两者都保持了并发场景下的原子性和可见性,区别则是synchronized的释放锁机制是交由其自身控制,且互斥性在某些场景下不符合逻辑,无法进行干预,不可人为中断等.而lock常用的则有Reentr ...

  8. vue异步组件?

    为了简化,Vue 允许你以一个工厂函数的方式定义你的组件,这个工厂函数会异步解析你的组件定义.Vue 只有在这个组件需要被渲染的时候才会触发该工厂函数,且会把结果缓存起来供未来重渲染Vue.compo ...

  9. Flask-SQLAlchemy 使用教程

    Flask-SQLAlchemy ,是对SQLAlchemy进一步封装 SQLAlchemy使用教程地址: https://www.cnblogs.com/bigox/p/11552542.html ...

  10. 学习Nginx(三)

      nginx的性能测试及常用优化手段 一.nginx的性能测试及对比 1.环境准备 [root@test8_hadoop_kaf ~]# yum install -y httpd-tools [ro ...