快手 KDD 2023 入选论文解读 # Graph Contrastive Learning with Generative Adversarial Network

最近对快手这家公司很感兴趣,快手短视频社区中有很多网络科学、图相关的东西,加上我本身对图结构非常感兴趣,因此准备写个系列博客解读一下快手 KDD 23 顶会中稿的 6 篇论文,希望未来能有机会去快手-社区科学线实习QAQ。
本文是该系列的第一篇,主要研究的是 Topic 是图对比学习。


  • 《Graph Contrastive Learning with Generative Adversarial Network》基于 GAN 的图对比学习
  • 作者:吴呈(清华大学),王朝坤(清华大学),徐劲草(清华大学),刘子扬(清华大学),郑凯(快手),王晓伟(快手),宋洋(快手);主要作者来自快手社区科学线模型与应用部和清华大学软件学院。
  • 论文相关资源:pdf | code
  • 论文简介:

典型的对比学习范式需要通过增广策略生成多个视图,并基于这些视图构造正负样本对,从而使用对比学习损失训练模型。一般的增广策略都是通过随机增删节点/边来构造对比视图的,这些方法要么没有考虑引入新边,要么可能引入随机的噪声边,难以达到最优效果。
在我们的工作中,我们提出在生成对比视图时应考虑图分布图演化来挖掘未来存在的新边,从而生成更丰富的对比视图。具体地,我们提出了名为GACN的生成对抗对比网络模型,该模型利用图生成对抗网络来自适应学习对比视图的分布,并基于两项正则化损失来控制新边的生成。为了对GACN的模型参数进行优化,我们还提出了图生成对抗和图对比学习的联合训练框架。实验结果表明,GACN能够生成更丰富合理的对比视图,从而在下游任务中取得更好的表现。

  • 引用格式:

Cheng Wu, Chaokun Wang, Jingcao Xu, Ziyang Liu, Kai Zheng, Xiaowei Wang, Yang Song, and Kun Gai. 2023. Graph Contrastive Learning with Generative Adversarial Network. In Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD '23), August 6–10, 2023, Long Beach, CA, USA. ACM, New York, NY, USA, 10 pages. https://doi.org/10.1145/3580305.3599370

ABSTRACT

问题:现有的 GCL 方法没有考虑图的分布,导致对于潜在边(unseen edges)的缺失考虑,利用这个信息在实验中可以提高 GCL 的性能。
方法:本文利用 GAN 来学习图分布,提高数据增强的能力,然后联合训练 graph GAN 和 GCL 模型,即提出的 GACN 模型。GACN 利用 generator 生成的 views 并以 graph contrastive loss 和 bayesian personalized ranking loss 这两个自监督损失来训练 GNN encoder。
实验:在 7 个数据集上的实验证明 GACN 超过目前的 12 种 SOTA baseline 方法。
结论与发现:GACN 在数据增强中生成的 views 符合在线网络中的著名的优先链接规则(preferential attachment rule in online networks)。

Preferential Attachment:出自 Albert-László Barabási 和 Réka Albert 在1999年提出的 Barabasi-Albert 模型。优先链接是指根据节点已有的度来按比例分配新的链接,这通常会进一步加大个体优势。在这种模型中,度数越大的节点越容易获得新的链接。这种高度分布偏斜性的网络中有少量的节点度数非常大,而其他节点的度数要小得多。
构建一个有 n 个节点的随机图模型,其有一个优先链接(preferential attachment)分量。通过以下算法生成:
步骤 1:以概率 p 执行步骤 2,否则执行步骤 3;
步骤 2:将一个新节点连接到随机均匀选取的已有节点;
步骤 3:以与 n 个已有节点已有的度成比例的概率将这个新节点连接到这 n 个已有节点;
这种图结构的度分布遵循幂律,令 p k p_k pk 为随机选取的节点的度为 k 的概率。则这个度分布遵循幂律: p k ∝ k − α p_k\propto k^{-\alpha} pkkα
本段参考博客:【SNA】社会网络分析三 图论与图学习

1 INTRODUCTION

过去的 GCL 增强策略没有考虑图的分布和演化,因为在线网络中的图是动态演化的图,当前不存在边不代表未来不会存在。考虑这一点可以对图做数据增强。

对于 Fig 2,Simple-GCL 在数据增强视图中用一些新边随机替换现有边然后评估链接预测性能,这也的操作在大多数数据集上可以提高性能,这体现了补充潜在边(unseen edge)的收益。但由于不同数据集上的图分布不同,要获得最佳性能还需要不同 rates 的新边。

本文认为 GCL 的数据增强过程需要系统考虑图的演化,并提出利用 GAN 来学习图的分布。主要挑战如下:

  • 自动捕获用于增强的图特征:图的分布难以表征,图的数据是离散的,基于采样的 graph generator 很难端到端进行训练,需要设计能生成高质量 augmented views 的 graph GAN;
  • 联合训练graph GAN 模型和 GCL 模型:独立训练两个模型没办法保证能欺骗 GAN discriminator 的 generated views 可以很好地被 GCL 模型编码,并且维护两组 GNN 参数也是不必要的,处于有效性和性能的考虑,需要设计参数共享策略和联合学习框架;

本文提出 GACN 解决上述挑战,GACN 设计了带有 view generator 和 view discriminator 的 graph GAN 通过一个 minimax game 来学习生成 augmented views。然后设计了 graph contrastive loss 和 bayesian personalized ranking loss 这两个自监督损失来优化 GNN Encoder 参数。为了训练 GACN 提出了一种联合学习框架以对视图生成器、视图鉴别器和图编码器进行顺序地迭代优化。

2 RELATED WORK

2.1 Graph Contrastive Learning

GCL 的关键思想是最大化 original graph 和从其增强的 views 之间的实例(eg. node、subgraph、graph)的互信息。GCL 有很多数据增强技巧:

  • DGI:在 attribute matrix 上进行 row-wise shuffling 然后在 node-graph level 进行对比;
  • MVGRL:采用 edge diffusion augmentation;
  • GraphCL:On top of attribute masking, GraphCL proposes several topology-based augmentations including node dropout, edge dropout and subgraph sampling to incorporate various priors(contrasting views at the graph level);
  • GRACE、GCA、GROC:采用 node-level same-scale contrast 来学习 node-level representation;
  • JOAO:bi-level optimization framework;

缺陷:许多 GCL 方法需要 trial-and-error selection 和 domain knowledge 来 augment views。

2.2 Graph Generative Adversarial Network

通过设计博弈论极大极小博弈,GAN 取得了巨大成功。目前有一些研究开始将 GAN 用于图上。两个重要任务是图生成和图嵌入。

近期的一些新工作 GASSL、AD-GCL 试图将 adversarial learning 和 graph contrastive learning 结合通过优化对抗图增强策略来避免捕获冗余信息。但在图数据挖掘中,采用 GAN 来学习图的分布为 GCL 生成视图还没有得到探索。

3 PRELIMINARIES


Graph Representation Learning、Graph Neural Networks (GNNs)、Graph Contrastive Learning (GCL) 的基本概念定义这里略,请看原文。本文采用的 GNN encoder 是 LightGCN 结构并关注 node-level GCL。

4 METHODS

4.1 Overview


如图所示,GACN 包含三个模块,分别是 View Generator, View Discriminator 和 Graph Encoder。其中 View Generator 学习边的分布并通过边采样生成增强视图。View Discriminator 则主要设计于区分 Generator 生成的视图和通过预定义的增强策略(eg. edge dropout)生成的视图。View Generator, View Discriminator 以对抗的方式进行训练以生成高质量的视图。这些高质量的视图被图编码器后续用于学习鲁棒的节点表示,它与 view discriminator 共享相同的 node representations。
需要注意的是,这里没有显式地在模型设计中编码任何图生成的原则,但意外地是,GACN 通过学习图分布生成了符合著名的“优先链接”规则的视图。

4.2 View Generator

每个边服从参数为 W i , j W_{i,j} Wi,j的伯努利分布,也就是1(存在)的概率为 W i , j W_{i,j} Wi,j,不存在即0概率为( 1 − w i , j 1-w_{i,j} 1wi,j)。这里的 W \bold{W} W是可学习的参数。但如果边直接是离散形式的话,没有办法直接端到端地学习,所以通过 relax 操作把 P i , j P_{i,j} Pi,j 变为取值为 ( 0 , 1 ) (0,1) (0,1)的连续变量再进行相应处理。

  • τ g ∈ ( 0 , 1 ] \tau_{g}\in{(0,1]} τg(0,1]:超参数,用来调节连续化后的 P i , j P_{i,j} Pi,j,分式中的分子部分减法后的取值范围是 ( − 1 , 1 ) (-1,1) (1,1),除以一个 ( 0 , 1 ] (0,1] (0,1]的比例因子实际上起到的是放大的作用,通过调节因子把整个分式的值域理论上可扩大到 ( − ∞ , + ∞ ) (-\infin,+\infin) (,+),sigmoid 曲线如图所示。


这里的 C \bold{C} C 是新边候选集合,并非 dense matrix 考虑所有节点链接的情形(内存开销太大!),本文的实现此处仅考虑了 top-2000 degrees nodes 的关联边。本文也尝试了 top-5, 000 and top-10, 000 但其训练时间增长巨大,性能提升不明显。

4.3 View Discriminator

View discriminator 是一个识别生成的视图的 graph-level 的分类器,其输入是一个邻接矩阵,输出 true 代表矩阵是由预定义的增强策略产生( G p ⃗ \vec{G_p} Gp ),false 代表矩阵由 generator 生成( G g ⃗ \vec{G_g} Gg )。GNN encoder f 对每个节点编码其表示:

4.4 Graph Encoder


对比损失对两种不同的生成视图的 node embedding 做了点积,然后用 softmax 算损失。

4.5 Model Optimization

本节介绍关于 GACN 的参数优化过程,三个模块按顺序依次优化。
在这里插入图片描述

5 EXPERIMENTS

  • RQ1: How does GACN perform w.r.t. node classification task?
  • RQ2: How does GACN perform w.r.t. link prediction task?
  • RQ3: What are the benefits of the proposed modules of GACN?
  • RQ4: Can the generator of GACN generate high-quality graphs for contrastive learning?
  • RQ5: How do different settings influence the effectiveness of GACN?

5.1 Experimental Settings

5.1.1 Datasets

  • Cora 的节点是 publications,边代表 citation,每个节点带有一个元素取值为 0/1 的 1,433 维的稀疏词向量;
  • Citeseer 类似 Cora,节点是6分类,节点特征维度为 3,703;
  • UCI 的数据是 UCI 学生的 Message 网络;
  • Taobao 是淘宝中的用户行为数据;
  • Amazon 是产品元数据和产品之间的链接,本文选用的是 Electronic 类目的数据;
  • Last.fm 是用户听歌喜好数据,本文用 <user, artist, song> 的子集 <user, artist> 建立网络;
  • Kuaishou 是快手短视频用户观看行为数据;

5.1.2 Baseline Methods

对比了12种SOTA baseline。其中 Graph representation learning 包括了 DeepWalk、LINE、node2vec、LightGCN;Graph contrastive learning 中包括了 SimpleGCL、DGI、GraphCL、GRACE、SGL;Graph generative and adversarial learning 中选择了 GraphGAN、AD-GCL、GraphMAE。因为本文关注节点级的任务,因此没有选择用于图级别的任务的算法,如 GCA,JOAO,MVGRL,GASSL。

5.1.3 Parameter Settings

基于 PyTorch 实现,训练使用 Adam optimizer,学习率 0.001。默认参数:
τ g = 0.0001 , τ f = 0.5 , λ g = 0.5 , λ c n t = 1 , λ n e w = 0.5 , γ = 0.75 \tau_g=0.0001,\tau_f=0.5,\lambda_g=0.5,\lambda_{cnt}=1,\lambda_{new}=0.5,\gamma=0.75 τg=0.0001,τf=0.5,λg=0.5,λcnt=1,λnew=0.5,γ=0.75
对于 Cora, Citeseer 和 UCI:
λ g c l = 1 , λ b p r = 0.0001 \lambda_{gcl}=1,\lambda_{bpr}=0.0001 λgcl=1,λbpr=0.0001
对于余下的其他数据集:
λ g c l = 0.0001 , λ b p r = 1 \lambda_{gcl}=0.0001,\lambda_{bpr}=1 λgcl=0.0001,λbpr=1
对于所有的 baseline,根据验证集来调整参数,并记录最佳结果。实验在单个 GTX 1080Ti GPU 上进行,embedding size 取 128。

5.1.4 Metrics

对节点分类任务,选取三个指标,P(recision), R(ecall) 和 F1;
对链接预测任务,选择两个指标,MRR 和 H(it rate)@k,对这里第二个指标,本文记录的是 H@50,当 k=20 和 k=100 结果相似;

5.2 Node Classification (RQ1)

在无监督的条件下对节点生成 embedding,然后在此基础上设计一个线性分类器来进行节点分类。对 10 次不同随机种子初始化的结果进行平均记录其最终的平均准确度。

5.3 Link Prediction (RQ2)

作者的解释:因为 GACN 方法能通过学习图分布来探索 unseen edge 为 GCL 提供高质量的 views,这是其效果最佳的原因。SGL 也采用了对比损失和 BPR 损失,但 GACN 还能取得更好的效果说明了将 GCL 和 GAN 结合的有效性。【这篇工作应该主要是在 SGL 的基础上进行的创新 】

5.4 Ablation Study (RQ3)



消融实验说明:1)正则化损失有助于让 generator 生成相关的 views 促进对比学习;2)graph GAN 对 GACN 很重要,联合学习产生了正向收益;3)自监督学习损失对 GACN 很重要,因为 GACN 中的 GAN 是在图级别进行分类而不是学习节点的表示。

5.5 Quality of Generated Graphs (RQ4)

探讨 generator 生成的 views 质量, λ c n t , λ n e w \lambda_{cnt}, \lambda_{new} λcnt,λnew 的影响,新边分布和案例研究。

5.5.1 Impact of λ c n t \lambda_{cnt} λcnt and λ n e w \lambda_{new} λnew

这里选定数据集 UCI,在不同的 λ c n t \lambda_{cnt} λcnt, λ n e w \lambda_{new} λnew 参数设置下进行节点链接预测,每个 training epoch 生成 10 个 views 然后计算其平均总边数和平均新边数。如图所示, λ c n t \lambda_{cnt} λcnt 有助于边数的稳定性, λ n e w \lambda_{new} λnew 用于限制新边的数量。

5.5.2 New Edge Distribution

相比随机添加新边,GACN 能够在训练期间调整新边的数量并对度更高的节点生成更多的边。

5.5.3 Case Study

为了更好地理解 GACN 生成的视图,随机抽取 UCI 中的一些节点,可视化其两跳内的邻域。图 6 显示 GACN 倾向于将节点附加到度数高的节点并删除其他边,这证实了 GACN 确实学习了优先链接规则,并且能够为对比学习生成合理的替代视图。

5.6 Parameter Sensitivity (RQ5)

本节分析 GACN 超参数的敏感度,embedding size s s s,view generator 的超参数 τ g \tau_{g} τg λ g \lambda_g λg,对比学习的温度超参数 τ f \tau_f τf,记录 MRR rate η = MRR with current settings MRR with default settings \eta=\frac{\text{MRR with current settings}}{\text{MRR with default settings}} η=MRR with default settingsMRR with current settings

a) 嵌入维度越大,性能越好;b) 说明模型对 τ g \tau_{g} τg 不敏感,较大可能会导致性能变差;c) 说明模型对 λ g \lambda_g λg 敏感,当其取值过小会导致视图稀疏,对GCL来说没有信息,而当其取值过大,产生稠密视图又影响了节点表示的鲁棒性。通常设置为 [ 0.5 , 0.7 ] [0.5,0.7] [0.5,0.7] 较好。d)说明不同数据集需要不同的 τ f \tau_f τf 以获得最佳性能,设置其为 0.5 可以取得竞争性的性能。

同时也分析了 view generator 如何影响 GCL,即 λ c n t \lambda_{cnt} λcnt λ n e w \lambda_{new} λnew γ \gamma γ 参数的灵敏度。 e)发现 λ c n t \lambda_{cnt} λcnt设置为1时可以取得竞争力的结果,f)发现 λ n e w \lambda_{new} λnew偏好一个较小的值,但设置为0会导致产生大量的 unseen edge 并导致一些数据集上性能不佳。因此将 λ n e w \lambda_{new} λnew设置为0.25是一个较好的选择。g)不同的数据集对 γ \gamma γ敏感度不同,设置为0.75相对较好。

6 CONCLUSION

与摘要相似,略。

猜你喜欢

转载自blog.csdn.net/qq_33583069/article/details/132105617