理解图神经网络预训练 | KDD论文解读

简介: 图表示学习目前受到了广泛关注,但目前绝大多数的图表示学习方法都是针对特定领域的图进行学习和建模,所产出的图神经网络难以迁移。

新零售智能引擎事业群出品

图表示学习目前受到了广泛关注,但目前绝大多数的图表示学习方法都是针对特定领域的图进行学习和建模,所产出的图神经网络难以迁移。近期,预训练在多个领域都取得了巨大的成功,显著地提升了模型在各大下游任务的表现。受到BERT (Devlin et al., 2018) 等工作的启发,我们开始研究图神经网络的预训练,希望能够从中学习到通用的图拓扑结构特征。我们提出了Graph Contrastive Coding的图神经网络预训练框架,利用对比学习(Contrastive Learning)的方法学习到内在的可迁移的结构信息。本工作GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training已被KDD 2020 research track录用。
传统的图表示学习主要参考NLP的基于skip-gram词表示学习方法,如DeepWalk和Node2Vec等。而这些方法在建模邻居节点相似性,且训练出来的表示往往缺乏通用性,局限于特定网络。而我们提出的GCC则不同于传统方法,关注结构相似性,且GCC学习得到的表征可以迁移到各种网络上,具有很强的通用性。下图展示了GCC的基本框架:
image.png
在GCC中,我们采用了对比学习的框架,基本思想即让正例的表示和样本的表示在空间更相近,并让负例距离更远。在对比学习中,给定查询表示q,对于候选集中的K+1个表示{k_0,k_1,⋯,k_K},其中包含正例k_+。我们优化以下损失函数:
image.png
而q和k均是样本x^q和x^k的低维表示。而在GCC中,一个主要的方法设计则是每个样本是一个针对特定节点的r阶邻居的网络(在这里我们成为r-ego network)采样的子图。正例则是从同一个r-ego network采样的网络,而大量的负例则是从其他r-ego network采样的子图。获得了正例和负例后,我们需要构建图编码器实现图表征学习。事实上,任意一个图神经网络都可以成为GCC的编码器,而在实践中,我们则采用Graph Isomorphism Network (GIN)作为我们的编码器。

在对比学习中,我们需要维护一个大小为K的字典和编码器。但要想计算上述损失函数,最理想的情况是把所有负例加入字典中进行计算,这样会导致K极大,难以维护。为了保证模型的效率,我们参考了MoCo (He et al., 2020)的方法加入动量对比学习(momentum contrast)。在MoCo的方法中,为了增大字典大小K,需要维护一个负样本的队列,队列中包含此前训练过的batch的样本作为负例。此外,只有q 的编码器f_q的参数θ_q通过反向传递更新,而k 的编码器f_k的参数θ_k则通过以下方式更新

θ_k←mθ_k+(1-m) θ_q

其中m 指的是动量,通过超参数设定。对GCC而言,MoCo相较其他方法更为高效。
GCC主要应用于图级别和节点级别的下游任务。对于图级别的下游任务,我们可以和预训练保持一致,输入为子图,而对于节点级别的任务,我们则需要得到它的r-ego network或采样的子图。
我们做了一系列的实验去验证GCC的效果,其中节点分类、图分类和相似性检索等等。实验结果分别如下:

image.png

节点分类

image.png

图分类

image.png

相似性检索

从实验结果不难看出,GCC在多个任务多个数据集上都取得了比较突出的表现,和现有最优模型相比能够取得更优或相近的表现。这也表现了GCC的有效性。
综上所述,本文提出的GCC的图神经网络预训练框架利用对比学习的方法,有效地学习了图结构的通用表征征,并且学习到图的结构化信息,可以迁移到各类下游任务和各类图中。实验表明了该方法的有效性。未来我们会在更多的任务和实验上进行实验,并探索GCC在其他领域的应用。

参考文献:
Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.
He, K., Fan, H., Wu, Y., Xie, S., & Girshick, R. (2020). Momentum contrast for unsupervised visual representation learning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9729-9738).

更多数据挖掘领域论文解读请查看:KDD精华论文解读

相关文章
|
2月前
|
机器学习/深度学习 计算机视觉 知识图谱
【YOLOv8改进】MobileViT 更换主干网络: 轻量级、通用且适合移动设备的视觉变压器 (论文笔记+引入代码)
MobileViT是针对移动设备的轻量级视觉Transformer网络,结合CNN的局部特征、Transformer的全局注意力和ViT的表示学习。在ImageNet-1k上,它以600万参数实现78.4%的top-1准确率,超越MobileNetv3和DeiT。MobileViT不仅适用于图像分类,还在目标检测等任务中表现出色,且优化简单,代码已开源。YOLOv8引入了MobileViT块,整合卷积和Transformer结构,提升模型性能。更多详情可参考相关专栏和链接。
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Transformer 能代替图神经网络吗?
Transformer模型的革新性在于其自注意力机制,广泛应用于多种任务,包括非原始设计领域。近期研究专注于Transformer的推理能力,特别是在图神经网络(GNN)上下文中。
23 5
|
1天前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
15 9
|
13天前
|
机器学习/深度学习 编解码 数据可视化
图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比
目前我们看到有很多使用KAN替代MLP的实验,但是目前来说对于图神经网络来说还没有类似的实验,今天我们就来使用KAN创建一个图神经网络Graph Kolmogorov Arnold(GKAN),来测试下KAN是否可以在图神经网络方面有所作为。
35 0
|
19天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现深度学习模型:图神经网络(GNN)
使用Python实现深度学习模型:图神经网络(GNN)
34 1
|
28天前
|
机器学习/深度学习 搜索推荐 PyTorch
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
214 2
|
18天前
|
Web App开发 自然语言处理 算法
一文搞懂:【论文笔记】BINE:二分网络嵌入
一文搞懂:【论文笔记】BINE:二分网络嵌入
13 0
|
2月前
|
计算机视觉
【YOLOv8改进】 AFPN :渐进特征金字塔网络 (论文笔记+引入代码).md
YOLO目标检测专栏介绍了YOLO的有效改进和实战案例,包括AFPN——一种解决特征金字塔网络信息丢失问题的新方法。AFPN通过非相邻层直接融合和自适应空间融合处理多尺度特征,提高检测性能。此外,还展示了YOLOv8中引入的MPDIoU和ASFF模块的代码实现。详情可参考提供的专栏链接。
|
2月前
|
机器学习/深度学习 存储 测试技术
【YOLOv8改进】 YOLOv8 更换骨干网络之 GhostNet :通过低成本操作获得更多特征 (论文笔记+引入代码).md
YOLO目标检测专栏探讨了卷积神经网络的创新改进,如Ghost模块,它通过低成本运算生成更多特征图,降低资源消耗,适用于嵌入式设备。GhostNet利用Ghost模块实现轻量级架构,性能超越MobileNetV3。此外,文章还介绍了SegNeXt,一个高效卷积注意力网络,提升语义分割性能,参数少但效果优于EfficientNet-L2。专栏提供YOLO相关基础解析、改进方法和实战案例。
|
2月前
|
机器学习/深度学习 监控 自动驾驶
【传知代码】从零开始搭建图像去雾神经网络-论文复现
本文介绍了基于集成学习的双分支非均匀去雾神经网络的复现,该网络由迁移学习子网和数据拟合子网组成,分别处理全局表示和数据拟合。网络使用Res2Net作为编码器,并结合通道和像素注意力模块。代码可在提供的链接下载。网络在交通监控、自动驾驶、航海和目标跟踪等领域有广泛应用,通过提升图像质量来提高系统性能。实验在O-Haze、I-Haze和NH-Haze数据集上进行,展示了网络在去除雾霾方面的效果,尽管存在细节模糊和色彩饱和度低的问题。