论文信息

论文标题:Towards Robust Graph Contrastive Learning
论文作者:Nikola Jovanović, Zhao Meng, Lukas Faber, Roger Wattenhofer
论文来源:2021, arXiv
论文地址:download 
论文代码:download

1 Introduction

  创新点:从对抗攻击和对抗防御考虑数据增强策略。

2 Graph robust contrastive learning

2.1 Background

  目的:期望同一节点在 $\tau_{1}$ 和 $\tau_{2}$ 下的嵌入是相似的。同时,期望不同节点的嵌入在两个图视图之间的嵌入是不同的。

  令:$N e g(v)=\left\{\tau_{1}(u) \mid u \in V \backslash\{v\}\right\} \cup\left\{\tau_{2}(u) \mid u \in V \backslash\{v\}\right\}$ 是两个图视图中除 $v$ 以外的节点的嵌入。$ \sigma$ 是相似性度量函数。

  即:

  通过下式计算编码器的参数 $ \theta $ :

    $ \underset{\theta}{ \arg \max }  \;\;\;   \mathbb{E}_{\tau_{1}, \tau_{2} \sim \mathrm{T}}\left[\sum\limits _{v \in V} \sigma\left(z_{1}, z_{2}\right)-\sum\limits_{u \in N e g(v)} \sigma\left(z_{1}, f_{\theta}(u)\right)\right]$

  其中 $z_{1} \equiv f_{\theta}\left(\tau_{1}(v)\right)$ , $z_{2} \equiv f_{\theta}\left(\tau_{2}(v)\right) $

  由于转换 $T$  的搜索空间较大,且缺乏优化算法,上述优化问题难以解决。我们遵循GRACE方法来解决这个问题。即 先对 $z_{1}, z_{2}$ 施加一个两层的 MLP ,然后再计算余弦相似度,损失函数变为:

    $\frac{1}{2 n} \sum\limits _{v \in V}\left[\mathcal{L}\left(v, \tau_{1}, \tau_{2}\right)+\mathcal{L}\left(v, \tau_{2}, \tau_{1}\right)\right]\quad\quad\quad(1)$

  其中:

    $\mathcal{L}\left(v, \tau_{1}, \tau_{2}\right)=-\log {\Large \frac{\exp \left(\sigma\left(z_{1}, z_{2}\right) / t\right)}{\exp \left(\sigma\left(z_{1}, z_{2}\right) / t\right)+\sum\limits _{u \in N e g(v)} \exp \left(\sigma\left(z_{1}, f_{\theta}(u)\right) / t\right)}} $

2.2 Motivation

  上述对比学习方法在无标签的情况下效果不错,但是其准确率在对抗攻击的条件下显著下降。

2.3 Method

对于 $ \tau_{i}^{\prime}$,我们只是使用随机特征掩蔽。对于 $\tau_{2}^{\prime}$,我们使用了两种类型的基于边缘的转换。

  令  $\tau_{i} \in T$ 表示为数据增强组合 $ \tau_{i}=\tau_{i}^{\prime} \circ \tau_{i}^{\prime \prime} $,即随机数据增强和对抗(攻击和防御)。

普通数据增强层面:

  分别应用随机数据增强(只用特征隐藏)$\tau_{1}^{\prime} $、 $\tau_{2}^{\prime}$ 于原始图,得到对应两个视图。

对抗层面:(边删除和边插入)

  受对抗防御的影响,本文提出基于梯度信息选择要删除的边的策略。先对应用 $\tau^{\prime}$ 后的两个视图进行一次前向和反向传播过程,得到边缘上的梯度。因为需要最小化 $\text{Eq.1}$ ,所以选择一个最小梯度值的边子集合。

  同时,引入基于梯度信息的边插入。由于插入所有未在图中的边不切实际,所以考虑在每个 batch $b$上处理,还将将插入集合 $S^{+}$ 限制在 边 $(u,v)$ 上。设 $ v$ 是一个锚节点,$ u$ 在 $v^{\prime} \neq v$ 的 $-hop$ 邻域内,而不在 $ v$ 的 $-hop$ 邻域内,这里暂时将 $S^{+}$ 中的边权重设置为  $1/|S^{+}|$。这里先将 $S^{+}$ 插入到两个视图。

  然后在 Batch 中计算损失。最后分别在两个视图上进行基于梯度最小的边删除和基于最大的边插入。

  此外,假设节点批处理还有一个额外的好处,因为这大大减少了每个 $v$ 的 $Neg(v)$ 中的负例子的数量,使个 $v$ 更多地关注它在另一个视图中的表示。GROC算法如图 1 所示,详见算法1。

  

  

3 Experiments

数据集及超参数设置

  

  参数:

    • 编码器 $f_{\theta} $ 是两层的 GCN ,每层的大小分别为:$2n_h$ 、$n_h$
    • 学习率:$\eta$
    • 训练次数:$n_{epoch}$
    • L2惩罚项的惩罚因子:$\lambda$
    • 温度参数:$\tau$
    • 特征掩蔽率:$p_1$、$p_2$
    • 边删除率:$q_{1}^{-}$、$q_{2}^{-}$
    • 边插入率:$q_{1}^{+}$、$q_{2}^{+}$
    • 节点批次大小 :$b$

基线实验

  

结论

  在本研究中,我们关注图形自监督学习方法的对抗鲁棒性问题。我们怀疑,并且通过后来的实验证实,先前引入的对比学习方法很容易受到对抗性攻击。作为在这种情况下实现鲁棒性的第一步,我们引入了一种新的方法,GROC,它通过引入对抗性转换和边缘插入来增强图视图的生成。我们通过一组初步的实验证实了该方法可以提高所产生的表示的对抗性鲁棒性。我们希望这项工作最终将导致在图上产生更成功和更鲁棒的对比学习算法。

相关论文

微小扰动对高精度 GNNs 任然有影响:[7, 25, 31]
使用对抗变换是能有效提高表示能力的:[19]
基于预训练的带属性图:[12]
视觉上的对比学习:[2, 10]
图上的对比学习:[9, 27, 28, 30, 33, 36, 39, 40]
两视图(删边和属性隐藏)的对比学习:[40]
多视图图级对比学习:[36]
不需要加负样本:[8]
图上不需要加负样本:[1, 32]

论文解读(GROC)《Towards Robust Graph Contrastive Learning》的更多相关文章

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

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

  2. 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》

    论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...

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

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

  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. 【编程教室】PONG - 100行代码写一个弹球游戏

    大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...

  2. 【Java面试宝典】什么情况下会发生栈内存溢出?

    如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError异常. 如果虚拟机在动态扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常.

  3. SPI简单解析

    什么是SPI  一种服务加载方式,全名为Service Provider Interface,Service提供者接口 如果我们要抽象里面的模块,在面对对象编程当中,我们模块之间,一般推荐模块之间基于 ...

  4. synchronized与Lock、volatile的区别

    synchronized与volatile的区别 volatile是线程同步的轻量级实现,因此volatile性能好于synchronized voaltile修饰变量,synchronized修饰方 ...

  5. elasticsearch 的倒排索引是什么 ?

    解答:通俗解释一下就可以. 传统的我们的检索是通过文章,逐个遍历找到对应关键词的位置. 而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典+映射表 即为倒排索引. 有了倒排索引,就能实现 ...

  6. DRF(Django REST Framework)框架

    目录 一.DRF中的Request 二.前戏: 关于面向对象的继承 三.初级版本 1. settings.py文件 -- 注册app 2. models.py文件 -- 创建表 3. admin.py ...

  7. 分享一波dubbo mybatis plus百度云链接

    https://pan.baidu.com/s/1VtfoVJwan-XPvmQfBIKMhA

  8. css3 nth-child选择器

    css3 nth-child选择器 css3的nth-child选择器,乍看起来很简单,其实不是那么容易. 简单用法 p:nth-child(n) // 选择属于其父元素的第n个子元素的每个 < ...

  9. Android.mk文件如何打日志信息

    1. 在mk文件中添加:$(warning  "xxx="$(变量名)) 2. 执行lunch,选一个分支,此过程中可以打出添加的log.

  10. 使用 ssm 实现登录日志记录

    使用 ssm 实现登录日志记录 学习总结 一.基础准备 1. 实现效果 2. 数据表 2.1 登陆日志信息表 2.3 员工表 二.代码实现 1. SysLogLogin 实体类 2. LogAspec ...