发布时间:2022-08-19 13:08
©作者 | 侯宇蓬
单位 | 中国人民大学
文章来源 | RUC AI Box
随着对比学习(Contrastive Learning)在 CV、NLP 等领域大放异彩,其研究热度近年来也逐步走高。在图学习领域,由于图(Graph)数据也存在缺少标签或难以标注的问题,自 2020 年来,研究者们也着力于将对比学习技术应用于图表示学习任务上,取得了十分不错的效果,这一系列算法研究称为图对比学习(Graph Contrastive Learning)。由于图是一种离散的数据结构,且一些常见的图学习任务中,数据之间往往存在紧密的关联(如链接预测)。如何针对这些特性设计图对比学习算法、对比学习又是如何更好地帮助学习图表示、节点表示的,这些问题仍在积极地探索中。
本文将主要基于 2020-2021 年已发表的顶会论文(ICML、ICLR、NeurIPS、KDD、WWW、IJCAI),介绍图对比学习算法的一般流程,并总结当今图对比学习的若干研究趋势。希望本文能帮助研究者们快速了解对图对比学习相关研究进展,并欢迎大家在评论区讨论及指出文章的疏漏错误等。章节 1-4 主要概述图对比学习 2020 年的工作,而对于熟悉 GraphCL 等基础的图对比学习算法的读者,可以直接跳到章节 5 阅读 2021 年的新研究进展总结。
图对比学习概述
一般意义上,图对比学习是一种针对图数据的自监督学习算法。对给定的大量无标注图数据,图对比学习算法旨在训练出一个图编码器,目前一般指图神经网络(Graph Neural Network, GNN)。由这个 GNN 编码得到的图表示向量,可以很好地保留图数据的特性,并进一步在无监督、半监督、迁移学习以及鲁棒性测试等实验设置下进行测试,并应用于社交网络、蛋白质交互网络、分子结构、学术引用网络等多个场景中。
Graph Contrastive Learning with Augmentations. NeurIPS 2020.
常见的图对比学习算法由下述步骤组成:
1. 随机采样一批(batch)图;
2. 对每一个图进行两次随机的数据增强(如删除若干条边(edge)),增强后两个新图称为视图(View);
3. 使用待训练的 GNN 对 View 进行编码,得到节点表示向量(node representation)和图表示向量(graph representations);
4. 根据上述表示向量计算 InfoNCE 损失,其中由同一个 graph 增强出来的 view 的表示相互靠近,由不同的 graph 增强得到的 view 的表示相互远离。
在这个流程下,对 graph 应用对比学习,与对其它类型数据(如图像、文本)应用的区别在于:
1. 数据增强。CV 领域一般通过随机对图片进行裁剪、旋转等操作产生增强后的数据,那如何对 graph 进行数据增强?
2. 对比层次。GNN 编码后我们可以同时得到节点级别 / 图级别的两个层次的表示,那么对比的目标应该设计在哪个层次?
启发式数据增强
在图对比学习研究的初期,研究者们通常设计启发式算法来决定如何做 graph 的数据增强(data augmentation)。这部分主要涉及论文有:
GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training. KDD 2020.
Contrastive Multi-View Representation Learning on Graphs. ICML 2020.
Graph Contrastive Learning with Augmentations. NeurIPS 2020.
Graph Contrastive Learning with Adaptive Augmentation. WWW 2021.