图神经网络gnn学习路径(代码片段)

L2_Zhang L2_Zhang     2023-03-17     621

关键词:

GNN

首先推荐两篇GNN综述性的文章:A Comprehensive Survey on Graph NeuralNetworks以及Graph neural networks: A review of methods and applications

下图是第2个综述里提到的ConvGNN的分类,即基于spectral-based 方法和基于spatial-based的方法。spectral-based(谱)方法,如果对谱聚类之类比较熟悉的话会容易上手点。

1.DL库及数据集

1.1 GNN通用DL库

pygdgl是比较火的两个图神经网络仓库。

但是用起来也有缺陷,比如使用比较流行的图数据集很方便,但是如果要自定义数据集,那就要对其数据集构建风格足够了解。因此对要使用新数据集的初学者并不是很友好。

1.2 图数据集

2. GCN

graph-convolutional-networks-gcn这个网页介绍的GCN很不错,下图主要来自这里。

另外也可以参阅GCN直观解析及代码实现

这里我总结了一份GCN 图分类的代码,如果图nodes、features个数相同,邻接矩阵一致,可以直接支持batch操作。

3. GAT

Github:gordicaleksa/pytorch-GAT,是一份比较流行的GAT仓库,它关于cora数据集可视化的部分也是很精彩的。仓库中给出了GAT的3个实施例。

正如代码中所说,实施例1和2几乎一致且比较易懂,而且参考了官方实现;实施例3比较难懂但是效率高。

I've added 3 GAT implementations - some are conceptually easier to understand some are more efficient.
The most interesting and hardest one to understand is implementation #3.
Imp1 and imp2 differ in subtle details but are basically the same thing.
Implementation2 was inspired by the official GAT implementation: https://github.com/PetarV-/GAT

因此,对于初学者,接受起来有点困难,不太推荐。

这里推荐Diego999/pyGAT这个github,针对的数据集也是Cora,而且也不支持batch操作。如果要应用于图分类,还要改造下。

3.1 GAT注意力机制

结合Diego999/pyGAT代码,以及原论文,将GAT注意力机制的过程更清晰总结下,主要分为两步:

  • 各head attention:利用左图的过程,获取带mask(忽略无连接边的node)的self-attention系数;
  • multi-head attention:在各head-attention基础上进行concat/avg等操作,最后通过非线性层输出。

4. GIN

GIN(Graph Isomorphism Network)模型出自ICLR 2019论文HOW POWERFUL ARE GRAPH NEURAL NETWORKS?,对比了GIN与其他GNN模型在多个图分类数据集上的效果。

对应github/powerful-gnns也是比较友好的,同时支持batch训练、测试。参照其代码中构建图数据集的方法,也是不错的。

参考文献

[1] A Comprehensive Survey on Graph NeuralNetworks
[2] GCN pytotch 实现:graph intro ai summer.ipynb
[3] Best Graph Neural Network architectures: GCN, GAT, MPNN and more
[4] HOW POWERFUL ARE GRAPH NEURAL NETWORKS?
[5] Deep Graph Convolutional Neural Network (DGCNN)
[6] Graph neural networks: A review of methods and applications
[7] book:Deep Learning on Graphs

《深入浅出图神经网络》gnn原理解析☄学习笔记图的概述(代码片段)

《深入浅出图神经网络》GNN原理解析☄学习笔记(一)图的概述文章目录《深入浅出图神经网络》GNN原理解析☄学习笔记(一)图的概述图的基本定义图的基本类型邻居和度子图与路径图的存储与遍历邻接矩阵和... 查看详情

深入浅出图神经网络|gnn原理解析☄学习笔记表示学习(代码片段)

深入浅出图神经网络|GNN原理解析☄学习笔记(四)表示学习文章目录深入浅出图神经网络|GNN原理解析☄学习笔记(四)表示学习表示学习表示学习的意义离散表示与分布式表示端到端学习基于重构损失的方法—... 查看详情

《深入浅出图神经网络》gnn原理解析☄学习笔记神经网络基础(代码片段)

《深入浅出图神经网络》GNN原理解析☄学习笔记(二)神经网络基础文章目录《深入浅出图神经网络》GNN原理解析☄学习笔记(二)神经网络基础机器学习基本概念机器学习分类机器学习流程概述常见的损失函数... 查看详情

图机器学习(gml)&图神经网络(gnn)原理和代码实现(前置学习系列二)(代码片段)

...一展示,详情进入项目链接即可图机器学习(GML)&图神经网络(GNN)原理和代码实现(PGL 查看详情

《深入浅出图神经网络》gnn原理解析☄学习笔记卷积神经网络(代码片段)

《深入浅出图神经网络》GNN原理解析☄学习笔记(三)卷积神经网络文章目录《深入浅出图神经网络》GNN原理解析☄学习笔记(三)卷积神经网络卷积与池化信号处理中的卷积单通道卷积多通道卷积池化卷积神经... 查看详情

深入浅出图神经网络|gnn原理解析☄学习笔记图信号处理与图卷积神经网络(代码片段)

深入浅出图神经网络|GNN原理解析☄学习笔记(五)图信号处理与图卷积神经网络文章目录深入浅出图神经网络|GNN原理解析☄学习笔记(五)图信号处理与图卷积神经网络矩阵乘法的三种形式图信号与图的拉普拉... 查看详情

图神经网络实战深入浅出地学习图神经网络gnn(上)(代码片段)

文章目录一、图神经网络应用领域1.1芯片设计1.2场景分析与问题推理1.3推荐系统1.4欺诈检测与风控相关1.5知识图谱1.6道路交通的流量预测1.7自动驾驶(无人机等场景)1.8化学,医疗等场景1.9物理模型相关二、图神经网... 查看详情

深度学习与图神经网络核心技术实践应用高级研修班-day3图神经网络(gnn)(代码片段)

图神经网络基础和基本思想1.图神经网络1.1图神经网络的定义和目标1.2图神经网络的思想和工作原理1.3图神经网络的应用场景2.图卷积神经网络2.1图卷积神经网络的定义2.2图卷积神经网络的卷积方式2.3卷积神经网络与图卷积神经... 查看详情

深入浅出图神经网络|gnn原理解析☄学习笔记图的概述(代码片段)

《深入浅出图神经网络》GNN原理解析☄学习笔记(一)图的概述文章目录《深入浅出图神经网络》GNN原理解析☄学习笔记(一)图的概述图的基本定义图的基本类型邻居和度子图与路径图的存储与遍历邻接矩阵和... 查看详情

图神经网络(代码片段)

图神经网络介绍为什么用图表示数据GNN与networkembedding(图嵌入)GNN与GraphKernel介绍为什么用图表示数据深度学习在许多领域的成功部分归功于快速发展的计算资源(如GPU)、大训练数据的可用性,以及深度学习从欧几里... 查看详情

图神经网络学习笔记|基础知识与gnn介绍直观透彻理解

一、基础知识GNN是指使用神经网络来学习图结构数据,提取和挖掘图结构数据中有效的特征和模式,满足聚类、分类、预测、分割、生成、异常检测等图学习任务需求的算法总称。GCN实现了CNN在图上的平移不变、局部感知和权值... 查看详情

pgl图学习之图神经网络gnn模型gcngat[系列六](代码片段)

PGL图学习之图神经网络GNN模型GCN、GAT[系列六]项目链接:一键fork直接跑程序https://aistudio.baidu.com/aistudio/projectdetail/5054122?contributionType=10.前言-学术界业界论文发表情况ICLR2023评审情况:ICLR2023的评审结果已经正式发布ÿ... 查看详情

《深入浅出图神经网络:gnn原理解析》

 深入浅出图神经网络:GNN原理解析https://cread.jd.com/read/startRead.action?bookId=30567027&readType=1 作者:ZZU_chenhao仅仅是一名普通的研究生而已。原创 【学习日记】《深入浅出:图神经网络》:第四天---表示学习表示学习表... 查看详情

深度之眼gnn图神经网络核心培养计划视频代码齐全

2012年,Kryzhevsky等人提出了AlexNet,展现出了卷积神经网络(CNN)在大规模图像分类任务上相较于其他机器学习方法的优势。此后不久,CNN和深度学习扩展至了计算机视觉的很多其他领域以及计算机视觉以外的... 查看详情

一个高效且友好的tensorflow图神经网络(gnn)框架:tf_geometric(代码片段)

...f0c;你所需要的所有知识都在这里了。本文定位是:图神经网络(GNN)教程,后续实战案例文章将加入《深度学习100例》tf_geometric是一个高效且友好的图神经网络库,同时支持TensorFlow1.x和2.x。受到usty1s/pytorch_geo... 查看详情

一个高效且友好的tensorflow图神经网络(gnn)框架:tf_geometric(代码片段)

...f0c;你所需要的所有知识都在这里了。本文定位是:图神经网络(GNN)教程,后续实战案例文章将加入《深度学习100例》tf_geometric是一个高效且友好的图神经网络库,同时支持TensorFlow1.x和2.x。受到usty1s/pytorch_geo... 查看详情

论文翻译deepwalk:onlinelearningofsocialrepresentations(代码片段)

背景介绍这几年图神经网络模型(如谱聚类的GCN、GAT等等)都挺火的,这些图神经网络即将节点或图映射到一个低维空间(称为图嵌入);而除了GNN还有很多图嵌入方法(在GNN之前图嵌入的概念常出现... 查看详情

图学习初探paddlegraphlearning构建属于自己的图系列三(代码片段)

...的图【系列三】相关项目参考:图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习 查看详情