GNN背景
欧几里得空间的数据满足平移不变性和局部可连通性等特点,适用CNN、RNN等传统深度学习模型。图是一种更广泛的数据,且非欧几里得数据,研究图神经网络极有必要。
图数据的特征:
图神经网络的挑战:
- 图数据的不规则性
- 图结构的多样性
- 图数据的大规模性
- 图研究的跨领域性
典型图神经网络
GCN:每个节点的卷积操作可以看作一阶邻居节点之间的消息传递;
GAT:利用注意力机制来定义图卷积;
MPNN:将空域图神经网络统一成消息传递方式;
GraphSAGE:将直推式学习扩展到归纳式学习,并通过邻居采样的方式加速图神经网络在大规模数据上的学习;
Cluster-GCN:结合图聚类算法对子图节点采样,并限制子图的邻居搜索;
GIN:证明WL测试是图神经网络表达能力的上限,图同构网络是表达能力最强的图神经网络。
图神经网络任务
- 节点:节点的分类、回归、聚类等
- 边:边分类、链接预测等
- 图:图的分类、图的生成、图的匹配等
图神经网络库PYG实践
PyTorch Geometric Documentation
PyG是一个基于PyTorch的用于处理不规则数据(比如图)的库,也就是一个用于在图等数据上快速实现表征学习的框架。
torch_gemotric.data
Data :使用该类可构建自定义图数据对象;Dataset :用于构建自定义数据集的基类;InMemoryDataset :继承Dataset ,创建存储于内存的数据集类;DataLoader :通过batch的方式feed数据; torch_geometric.nn
MessagePassing :自定义message、update、aggregation scheme三个方法实现GNN;GCNConv GATConv
GNN的学习任重道远,本次学习起到引导梳理作用,接下来仍需不断深入扩展,加油!
|