论文信息

论文标题:Self-supervised Graph Neural Networks without explicit negative sampling
论文作者:Zekarias T. Kefato, Sarunas Girdzijauskas
论文来源:2021, WWW
论文地址:download 
论文代码:download

1 介绍

  本文核心贡献:

    • 使用孪生网络隐式实现对比学习;
    • 本文提出四种特征增强方式(FA); 

2 相关工作

Graph Neural Networks

  GCN 和 GAT 存在的一个问题:GCN 和 GAT 需要全批处理训练,也就是说,整个图($H$)应该被加载到内存中,这使得它们是可转换的,不能扩展到大型网络。

3 方法

3.1 数据增强

  拓扑结构:

    • 基于随机游走的 $\text{PageRank}$ 算法:

      $\boldsymbol{H}^{P P R}=\alpha(\boldsymbol{I}-(1-\alpha) \tilde{A})^{-1} \quad\quad\quad(2)$
      $\boldsymbol{H}^{H K}=\exp \left(t A D^{-1}-t\right)\quad\quad\quad(3)$

         其中 $\alpha$ 是心灵传输概率 ,$t$ 是扩散时间

    • 基于 $\text{Katz}$ 指标的算法:

      $\boldsymbol{H}^{k a t z}=(I-\beta \tilde{A})^{-1} \beta \tilde{A}\quad\quad\quad(4)$

      Katz-index是一对节点之间所有路径集的加权和,路径根据其长度进行惩罚。衰减系数($\beta$)决定了处罚过程。

  特征增强:

    • Split:特征 $X$ 拆分成两部分 $\boldsymbol{X}=\boldsymbol{X}[:,: F / 2]$  和  $\boldsymbol{X}^{\prime}=\boldsymbol{X}[:, F / 2:]$ ,然后分别用于生成两个视图。
    • Standardize:特征矩阵进行  z-score standardization :

      ${\large X^{\prime}=\left(\frac{X^{T}-\bar{x}}{s}\right)^{T}} $

      其中 $\bar{x} \in \mathbb{R}^{F \times 1}$ 和  $s \in \mathbb{R}^{F \times 1}$  是与每个特征相关联的均值向量和标准差向量。

    • Local Degree Profile (LDP):提出了一种基于节点局部度轮廓计算出的五个统计量的节点特征构建机制 $\mathbf{X}^{\prime} \in \mathbb{R}^{N \times 5}$ ,然后使用零填充 $X^{\prime} \in \mathbb{R}^{N \times F}$ 使其维度与 $X$ 一致。 
    • Paste:是一种功能增强技术,它简单地结合了 $X$ 和 LDP 功能,如增强功能 $\boldsymbol{X}^{\prime} \in \mathbb{R}^{N \times(F+5)}$。在这种情况下,在原始特征矩阵 $X$ 上应用了一个零填充,例如 $X \in \mathbb{R}^{N \times(F+5)}$ 。

3.2 框架

  总体框架如下:

    

  组成部分:

    • 组件一:生成视图,$any(G)$ 是对原始图 $G$ 从拓扑或特征层面进行数据增强;
    • 组件二:图自编码器 $f_{\theta}$ 和 $f_{\phi}$,一种堆叠架构,如 Figure 2 (A) 所示。概括为:$X_{1}=f_{\theta}\left(G_{1}\right)$, $X_{2}=f_{\phi}\left(G_{2}\right)$;
    • 组件三:孪生网络(Siamese Network,用于评估两个输入样本的相似性)是一个投影头,类似$g_{\theta}$的架构,如 Figure 2 (B) 所示。本文在这发现使用这个投影头对性能没有多大提升,所以实际上并没有使用;
    • 组件四:预测块(prediction block),对学生网络(左边)使用,这个预测块可以是 MLP ,也可以是  $g_{\theta}$,架构如Figure 2 (B) 所示。学生网络用于从教师网络(右边)中学到有用的信息;【$g_{\theta}\left(\mathbf{X}_{1}\right) \approx \mathbf{X}_{2}$】

    

  须知:

  只对学生网络的参数通过梯度更新(SG),学生网络使用的损失函数如下:

    $\mathcal{L}_{\theta}=2-2 \cdot \frac{\left\langle g_{\theta}\left(X_{1}\right), X_{2}\right\rangle}{\left\|g_{\theta}\left(X_{1}\right)\right\|_{F} \cdot\left\|X_{2}\right\|_{F}}\quad\quad\quad(5)$

  教师网络参数通过学生网络使用指数移动平均(EMA,exponential moving average)进行更新。指数移动平均如下:

    $\phi \leftarrow \tau \phi+(1-\tau) \theta\quad\quad\quad(6)$

  这里 $\tau$ 是衰减率。

4 实验

  数据集:

    • citation networks (Cora, Citeseer, Pubmed)
    • author collaboration networks (CS, Physics)
    • co-purchased products network (Photo, Computers)

      

  实验设置:

    • 70/10/20–train/validation/test
    • $\alpha=0.15$, $t=3$, $\beta=0.1$

  与原始 GNN 的比较:

    

  对比 ClusterSelfGNN 性能的提升:

   

  与自监督 GNN 的比较:

    

  消融实验:

    

   Split 策略的有效性:

    

5 结论

  本研究提出了一种新的对比自监督方法SelfGNN,它不需要显式的对比项,负样本。虽然负样本对对比学习的成功至关重要,但我们采用了批量归一化,以引入隐式负样本。此外,我们还介绍了四种与拓扑节点特征增强技术一样有效的节点特征增强技术。我们使用7个真实数据集进行了广泛的实验,结果表明SelfGNN获得了与监督GNNs相当的性能,同时明显优于半监督和自监督方法。SelfGNN依赖于两个并行的gnn同时加载到内存中,这给大型网络造成了一个主要的瓶颈。虽然本研究提出了基于聚类的改进,但需要做仔细和有原则的工作来适当地解决这个问题。这是我们未来工作的目标。

相关论文

Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks
GraphSAINT: Graph Sampling Based Inductive Learning Method
Minimal Variance Sampling with Provable Guarantees for Fast Training of Graph Neural Networks.
GraphSAINT: Graph Sampling Based Inductive Learning Method
MVS-GNN [9]: Minimal Variance Sampling with Provable Guarantees for Fast Training of Graph Neural Networks
BERT[10]: Pre-training of Deep Bidirectional Transformers for Language Understanding.
GPT [2]:Language Models are Few-Shot Learners
A simple yet effective baseline for non-attributed graph classification
Strategies for Pre-training Graph Neural Networks
GPT-GNN: Generative Pre-Training of Graph Neural Networks
GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training
Contrastive Multi-View Representation Learning on Graphs
Deep Graph Infomax
Diffusion Improves Graph Learning

论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》的更多相关文章

  1. 论文解读二代GCN《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》

    Paper Information Title:Convolutional Neural Networks on Graphs with Fast Localized Spectral Filteri ...

  2. Deep Learning 论文解读——Session-based Recommendations with Recurrent Neural Networks

    博客地址:http://www.cnblogs.com/daniel-D/p/5602254.html 新浪微博:http://weibo.com/u/2786597434 欢迎多多交流~ Main ...

  3. 论文解读(DAGNN)《Towards Deeper Graph Neural Networks》

    论文信息 论文标题:Towards Deeper Graph Neural Networks论文作者:Meng Liu, Hongyang Gao, Shuiwang Ji论文来源:2020, KDD ...

  4. 论文解读(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》

    论文信息 论文标题:How Powerful are K-hop Message Passing Graph Neural Networks论文作者:Jiarui Feng, Yixin Chen, ...

  5. 论文解读(LA-GNN)《Local Augmentation for Graph Neural Networks》

    论文信息 论文标题:Local Augmentation for Graph Neural Networks论文作者:Songtao Liu, Hanze Dong, Lanqing Li, Ting ...

  6. 论文解读(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》

    论文信息 论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks论文作者:Tianxi ...

  7. 论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》

    论文信息 论文标题:Predict then Propagate: Graph Neural Networks meet Personalized PageRank论文作者:Johannes Gast ...

  8. 论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》

    论文信息 论文标题:Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks论文作者:Mingqi Yang, Ya ...

  9. 论文解读(ChebyGIN)《Understanding Attention and Generalization in Graph Neural Networks》

    论文信息 论文标题:Understanding Attention and Generalization in Graph Neural Networks论文作者:Boris Knyazev, Gra ...

随机推荐

  1. python监控cpu 内存实现邮件微信报警

    # qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 import psutil, time,smtplib,socket import ...

  2. Reverse Shell Cheat Sheet

    Reverse Shell Cheat Sheet If you're lucky enough to find a command execution vulnerability during a ...

  3. J20航模遥控器开源项目系列教程(五)| 制作STM32F0接收机,8路PWM输出,SBUS输出,PPM输出 | 加密狗无线化,畅玩飞行模拟器

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...

  4. 浅析Java反射--Java

    前言 上篇文章我们提到了可以使用反射机制破解单例模式.这篇文章我们就来谈一谈什么是反射,反射有什么用,怎么用,怎么实现反射. 概述 Java的反射(reflection)机制:是指在程序的运行状态中, ...

  5. 面试问题之计算机网络:TCP如何保证数据可靠传输

    转载于:https://blog.csdn.net/liuchenxia8/article/details/80428157 TCP协议传输的特点主要就是面向字节流.传输可靠.面向连接. TCP保证数 ...

  6. 什么是微服务架构中的 DRY?

    DRY 代表不要重复自己.它基本上促进了重用代码的概念.这导致开发和共享库, 这反过来导致紧密耦合.

  7. 18个基于 HTML5 Canvas 开发的图表库

    如今,HTML5 可谓如众星捧月一般,受到许多业内巨头的青睐.很多Web开发者也尝试着用 HTML 5 来制作各种各样的富 Web 应用.HTML 5 规范引进了很多新特性,其中之一就是 Canvas ...

  8. 【面试普通人VS高手系列】谈谈你对AQS的理解

    AQS是AbstractQueuedSynchronizer的简称,是并发编程中比较核心的组件. 在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不懂并发编程,那么你很难通过 ...

  9. 【uniapp 开发】校验工具类 CheckUtil

    校验手机号格式 /** * 验证是否为电话号码(座机) * * @param {} * source */ function isTelephone(source) { var regex = /^( ...

  10. java继承时能包括静态的变量和方法吗?举例说明!

    子类继承了超类定义的所有实例变量和方法包括静态的变量和方法(马克-to-win见下例),并且为它自己增添了独特的元素.子类只能有一个超类.Java不支持多超类的继承. 子类拥有超类的所有成员,但它不能 ...