目录

  • 摘要
  • 1 引言
  • 2 准备工作
    • 2.1 学习图表示
    • 2.2 GNNs
    • 2.3 互信息最大化
  • 3 对抗性图对比学习
    • 3.1 AD-GCL的理论动机及制定
    • 3.2 通过可学习的边缘扰动实例化AD-GCL
      • 3.2.1 可学习的Edge Dropping GDA模型TΦ(⋅)T_Φ(·)TΦ​(⋅)
      • 3.2.2 参数化TΦ(⋅)T_Φ(·)TΦ​(⋅)
      • 3.2.3 调整TΦ(⋅)T_Φ(·)TΦ​(⋅)
  • 4 实验

摘要

提出了对抗性图对比学习——AD-GCL,它通过优化GCL中使用的对抗性图增强策略,使GNN在训练过程中避免捕获冗余(图特征)信息。

1 引言

InfoMax原则可能会有风险,因为它可能会推动编码器捕获与下游任务无关的冗余信息。与InfoMax不同,information bottleneck(IB)要求编码器捕获下游任务的最小的足够信息。具体来说,IB最小化来自原始数据的信息,同时最大化与下游任务相关的信息。随着冗余信息被移除,IB学习到的编码器往往更鲁棒和可转移。

当有关下游任务的知识不可用时,如何训练可能删除冗余信息的GNN?本文提出了一个方法,将GCL与对抗性训练相匹配,称为AD-GCL。AD-GCL由两个组成部分组成:

  1. 一个GNN编码器。它采用InfoMax来最大化原始图与其增广图的表示之间的互信息
  2. 一个基于GNN的增强器。其旨在优化增强策略,以尽可能减少原始图中的冗余信息

AD-GCL本质上允许编码器捕获最小的足够信息来区分数据集中的图。结果表明,在增强器的搜索空间上有一定的正则化,AD-GCL可以产生下游任务相关信息的下界保证,同时保持原始图中冗余信息的上界保证,匹配IB原理的目标。

我们进一步给出了AD-GCL的一个实例化:GNN增强器使用了一个任务不可知的增强策略,并且将学习一个与输入图相关非均匀边丢弃概率来执行图的增强。

2 准备工作

属性图G=(V,E)G=(V,E)G=(V,E),其中VVV是节点集,EEE是边集。GGG可能具有维度为FFF的节点属性{Xv∈RF∣v∈V}\{X_v∈\mathbb{R}^F|v∈V\}{Xv​∈RF∣v∈V}和边属性{Xe∈RF∣e∈E}\{X_e∈\mathbb{R}^F|e∈E\}{Xe​∈RF∣e∈E}。我们将节点vvv的邻居集表示为Nv\mathcal{N}_vNv​。

2.1 学习图表示

给定空间G\mathcal{G}G中的一组图Gi,i=1,2,...,nG_i,i=1,2,...,nGi​,i=1,2,...,n,目标是学习一个编码器f:G→Rdf:\mathcal{G}→\mathbb{R}^df:G→Rd,其中f(Gi)f(G_i)f(Gi​)可以进一步用于一些下游任务。我们还假设所有的GiG_iGi​都是从定义在G\mathcal{G}G上的未知分布PG\mathbb{P}_\mathcal{G}PG​中独立同分布地采样的。另一个模型q:Rd→Yq:\mathbb{R}^d→\mathcal{Y}q:Rd→Y 将学习基于q(f(Gi))q(f(G_i))q(f(Gi​))的预测YiY_iYi​。我们假设(Gi,Yi)(G_i,Y_i)(Gi​,Yi​)是从一个分布PG×Y=PY∣GPG\mathbb{P}_{\mathcal{G}×\mathcal{Y}}=\mathbb{P}_{\mathcal{Y}|\mathcal{G}}\mathbb{P}_{\mathcal{G}}PG×Y​=PY∣G​PG​中独立同分布地采样的,其中PY∣G\mathbb{P}_{\mathcal{Y}|\mathcal{G}}PY∣G​是在给定图的下游任务中图标签的条件分布。

2.2 GNNs

对于图G=(V,E)G=(V,E)G=(V,E),每个节点v∈Vv∈Vv∈V将与初始化为hv(0)=Xvh_v^{(0)}=X_vhv(0)​=Xv​的节点表示hvh_vhv​配对。这些表示形式将通过GNN更新。在第kkk次迭代中,每个hv(k−1)h_v^{(k-1)}hv(k−1)​使用vvv的邻域信息进行更新:

其中,AGGREGATE(⋅)AGGREGATE(·)AGGREGATE(⋅)是一个可训练函数,它将节点表示集和边缘属性XuvX_{uv}Xuv​映射到一个聚合向量。UPDATE(⋅)UPDATE(·)UPDATE(⋅)是另一个可训练函数,它将vvv当前的表示和聚合向量映射到vvv的更新表示。在(1)迭代KKK次后,图表示通过pool最终节点表示集得到:

2.3 互信息最大化

GCL的目标如下:

3 对抗性图对比学习

3.1 AD-GCL的理论动机及制定

图信息瓶颈(GIB)的目标如下:

其中,(G,Y)∼PG×Y(G,Y)\sim\mathbb{P}_{\mathcal{G}×\mathcal{Y}}(G,Y)∼PG×Y​,β\betaβ是一个正常数。比较(3)与(4),我们可以观察到InfoMax和GIB的不同:InfoMax要求最大化原始图中的信息;而GIB要求最小化原始图中的信息,但同时最大化与下游任务相关的信息

不幸的是,GIB需要来自下游任务中的类标签YYY的知识,因此不适用于GNN的自监督训练。然后,问题就是如何以一种自监督的方式学习鲁棒的和可转移的GNN

为了解决这个问题,我们将开发一种GCL方法,使用对抗性学习以避免在表示学习过程中捕获冗余信息。一般来说,GCL方法使用图数据增强(GDA)过程来扰乱原始的观测图,并减少它们编码的信息量。然后,这些方法在扰动图对(使用不同的GDA)上应用InfoMax来训练编码器fff以捕获剩余信息。

定义1:图数据增强(GDA)

对于一个图G∈GG∈\mathcal{G}G∈G,T(G)T(G)T(G)表示GGG的图数据增强,它是基于GGG的在G\mathcal{G}G上定义的分布。我们使用t(G)∈Gt(G)∈\mathcal{G}t(G)∈G来表示T(G)T(G)T(G)的一个样本。

具体来说,给定两种GDA方式T1T_1T1​和T2T_2T2​,GCL的目标成为:

在实践中,GDA通常是基于领域知识或广泛的评估而预先设计的,而GDA的不当选择可能会严重影响下游性能。

与预定义的GDA相比,我们的想法受GIB的启发,是在一个参数化的家族上学习GDA,这样编码器fff就可以捕获足以识别每个图的最小信息

AD-GCL:

我们通过一个GDA家族T\mathcal{T}T(定义如下)优化以下目标:

定义2:图数据增强家族

设T\mathcal{T}T表示不同GDAs TΦ(⋅)T_Φ(·)TΦ​(⋅)的一个家族,其中ΦΦΦ是参数。一个TΦ(⋅)∈TT_Φ(·)∈\mathcal{T}TΦ​(⋅)∈T是一个带有参数ΦΦΦ的特定GDA。

AD-GCL中的min-max原理旨在训练编码器,使即使使用一个具有非常侵略性的GDA(即t(G)t(G)t(G)与GGG非常不同),扰动图和原始图之间的互信息/对应关系也可以最大化。与GDA-GCL(公式(5))中采用的两种GDA相比,AD-GCL将原始图GGG视为锚,同时使其扰动T(G)T(G)T(G)尽可能远离锚。对T∈TT∈\mathcal{T}T∈T的自动搜索节省了评估GDA不同组合的大量工作。

将AD-GCL与下游任务相关联

接下来,我们将从理论上描述通过AD-GCL训练的编码器的特性。

定义3:图的商空间

如果G1G_1G1​、G2G_2G2​不能用1-WL检验来区分,则定义两个图之间的等价性G1≅G2G_1\cong G_2G1​≅G2​。定义商空间为G′=G/≅\mathcal{G}'=\mathcal{G}/\congG′=G/≅。

因此,商空间中的每个元素,即G′∈G′G'∈\mathcal{G}'G′∈G′,都是来自1-WL检验无法区分的图家族中的一个代表性图。请注意,我们的定义在属性图上也成立。

定义4:G′\mathcal{G}'G′中的概率测量

在空间G′\mathcal{G}'G′上定义PG′\mathbb{P}_{\mathcal{G}'}PG′​,使任何G′∈G′G'∈\mathcal{G}'G′∈G′,PG′(G′)=PG(G≅G′)\mathbb{P}_{\mathcal{G}'}(G')=\mathbb{P}_{\mathcal{G}}(G\cong G')PG′​(G′)=PG​(G≅G′)。近一步定义PG′×Y(G′,Y′)=PG×Y(G≅G′,Y=Y′)\mathbb{P}_{\mathcal{G}'×\mathcal{Y}}(G',Y')=\mathbb{P}_{\mathcal{G}×\mathcal{Y}}(G\cong G',Y=Y')PG′×Y​(G′,Y′)=PG×Y​(G≅G′,Y=Y′)。给定一个在G\mathcal{G}G上定义的GDA T(⋅)T(·)T(⋅),定义一个G′\mathcal{G}'G′上的分布,使得对于G′∈G′G'∈\mathcal{G}'G′∈G′,有T′(G′)=EG∼PG[T(G)∣G≅G′]T'(G')=\mathbb{E}_{G\sim\mathbb{P}_{\mathcal{G}}}[T(G)|G\cong G']T′(G′)=EG∼PG​​[T(G)∣G≅G′]。

定理1:

3.2 通过可学习的边缘扰动实例化AD-GCL


AD-GCL的目标有两个方面:

  1. 优化编码器fff,使原始图GGG与其增广图t(G)t(G)t(G)的表示之间的互信息最大化;
  2. 优化GDA T(G)T(G)T(G),其中T(G)被采样,以最小化互信息。

我们将编码器设置为具有可学习参数ΘΘΘ的GNN fΘf_ΘfΘ​,接下来我们将重点关注具有可学习参数ΦΦΦ的GDA,TΦ(G)T_Φ(G)TΦ​(G)。

3.2.1 可学习的Edge Dropping GDA模型TΦ(⋅)T_Φ(·)TΦ​(⋅)

我们采用 Edge Dropping(删除图中的一些边)来表示GDA家族T\mathcal{T}T。

3.2.2 参数化TΦ(⋅)T_Φ(·)TΦ​(⋅)

对于每个图G=(V,E)G=(V,E)G=(V,E),我们设置TΦ(G),T∈TT_Φ(G),T∈\mathcal{T}TΦ​(G),T∈T作为GGG上的随机图模型。每个样本t(G)∼TΦ(G)t(G)\sim T_Φ(G)t(G)∼TΦ​(G)是一个与GGG共享相同节点集的图,而边集t(G)t(G)t(G)只是EEE的一个子集。每条边e∈Ee∈Ee∈E将与一个随机变量pe∼Bernoulli(ωe)p_e∼Bernoulli(ω_e)pe​∼Bernoulli(ωe​)相关联,其中如果pe=1p_e=1pe​=1,则eee在t(G)t(G)t(G)中,否则被删除。

我们利用另一个GNN,即增强器,根据公式(1)在GGG上运行KKK层,得到最后一层节点表示{hv(K)∣v∈V}\{h_v^{(K)}|v∈V\}{hv(K)​∣v∈V}以及集合

为了以端到端的方式训练T(G)T(G)T(G),我们将离散的pep_epe​转化为[0,1]间的一个连续变量,并利用了Gumbel-Max重参数化技巧。具体来说,pe=Sigmoid((logδ−log(1−δ)+we)/τ)p_e=Sigmoid((log\delta-log(1-\delta)+w_e)/\tau)pe​=Sigmoid((logδ−log(1−δ)+we​)/τ),其中δ∼Unifoun(0,1)δ∼Unifoun(0,1)δ∼Unifoun(0,1)。随着温度超参数τ→0τ→0τ→0,pep_epe​更接近于二进制的值。此外,梯度∂pe∂ωe\frac{∂p_e}{∂ω_e}∂ωe​∂pe​​是光滑和定义的。

3.2.3 调整TΦ(⋅)T_Φ(·)TΦ​(⋅)

一个合理的GDA应保留与下游任务相关的一定数量的信息。因此,我们期望edge dropping家族T\mathcal{T}T中的GDA不会执行非常激进的扰动。

我们通过强制执行以下约束来规则化每个图中被丢弃的边的比率:对于一个图GGG及其增广图t(G)t(G)t(G),我们在其目标中添加∑e∈Eωe/∣E∣\sum_{e∈E}ω_e/|E|∑e∈E​ωe​/∣E∣,其中ωeω_eωe​(公式(7)中定义)表示eee被丢弃的概率。

最终的目标如下:

其中,第二项(正则化)很容易先验地评估。对于第一项(互信息),在训练过程中,给定一个包含mmm个图{Gi}i=1m\{G_i\}^m_{i=1}{Gi​}i=1m​的小批次,令zi,1=g(fΘ(Gi))z_{i,1}=g(f_Θ(G_i))zi,1​=g(fΘ​(Gi​))、zi,2=g(fΘ(t(Gi)))z_{i,2}=g(f_Θ(t(G_i)))zi,2​=g(fΘ​(t(Gi​))),其中g(⋅)g(·)g(⋅)是由2层MLP实现的投影头。用sim(⋅,⋅)sim(·,·)sim(⋅,⋅)表示余弦相似性,小批次的互信息如下:

4 实验

【论文阅读】AD-GCL:Adversarial Graph Augmentation to Improve Graph Contrastive Learning相关推荐

  1. 论文阅读06——《CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network for Clustering》

    欢迎到我的个人博客看原文 论文阅读06--<CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network f ...

  2. 论文阅读11——《Mutual Boost Network for Attributed Graph Clustering》

    是聚类让我们"聚类",我整理了部分深度图聚类代码,希望大家多多支持(GitHub代码):A-Unified-Framework-for-Deep-Attribute-Graph-C ...

  3. 《论文阅读》Commonsense Knowledge Aware Conversation Generation with Graph Attention

    <论文阅读>Commonsense Knowledge Aware Conversation Generation with Graph Attention 简介 论文试图解决什么问题? ...

  4. 论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning

    论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning 本文通过神经网络利用了减少轮数的 Speck 的差分性质.为此,作者对神经网络 ...

  5. [基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning

    [基础论文阅读]QMIX: Monotonic Value Function Factorization for Deep Multi-agent Reinforcement Learning 题目含 ...

  6. 论文阅读:On Dynamic Resource Allocation for Blockchain Assisted Federated Learning over Wireless Channel

    论文阅读:On Dynamic Resource Allocation for Blockchain Assisted Federated Learning over Wireless Channel ...

  7. 论文笔记:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning

    1 简介 论文:Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning 发表:2 ...

  8. 2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning

    [论文阅读笔记]2022_WWW_Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Lear ...

  9. Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learning(个人笔记)

    论文:利用邻域丰富的对比学习改进图协同过滤 (NCL) WWW22 文章链接:https://arxiv.org/abs/2202.06200v1https://arxiv.org/abs/2202. ...

最新文章

  1. 基本完成了一个SEGY扫描程序
  2. 在一个数组中找 差值最大的两个数 差值最小的两个数 推广到 点对
  3. python登录接口代码_(转载)Python 的 OAuth 登录接口 python-oauth2
  4. JDBC入门案例及相关API概述
  5. android 代码 shape,Android Shape控件美化实现代码
  6. Redis面试 - Redis的持久化机制
  7. (Ditto)开源免费的 Windows 剪贴板增强工具神器 (方便复制粘贴多条历史记录、支持多种类型的文件)
  8. .bat批处理命令常用操作
  9. 计算机二级java难不_计算机二级java含金量如何 对就业有帮助吗
  10. 装完系统还要装什么_电脑重装系统后,需要做什么准备工作?
  11. 华为获颁中国首个5G基站设备进网许可证:可支持中国规模部署;IBM推出新一代企业平台Z15;Testin最新AI产品发布……...
  12. 服务器 amd cpu性能排行榜,amd cpu 性能排行榜_amd处理器性能排行
  13. 水仙花数n位c语言程序,水仙花数C语言的
  14. 前后端分离架构设计(权限模型)
  15. shell打开wifi命令_android adb shell 中怎么开启wifi 热点?
  16. (附源码)springboot音乐播放小程序 毕业设计 031306
  17. 谷歌浏览器弹出窗口html代码,谷歌浏览器显示通知消息JS代码
  18. 华为交换机配置基础命令
  19. 最终作业 - 软件工程实践总结
  20. Python函数*args与**kwargs的用法

热门文章

  1. HDMI DVI VGA显示Detailed Timing Parameters
  2. H3C 设备自检常用命令
  3. 有多少人工智能在“人工”强行“智能”
  4. C++程序员发展方向有哪些?
  5. corn表达式的使用
  6. 微信小程序使用日历插件
  7. 上海亚商投顾: 沪指冲高回落 高景气赛道股回归
  8. Python爬取大众点评景点评论
  9. MDN的HTML入门,关于MDN,HTML入门来自MDN文档
  10. 使用asp.net从零开始制作设计网站---转载