一 图神经网络的任务
1.节点层面:主要实现任务分类和回归。当前主要存在工业界的社交网络中用户标签分类,恶意账户的检测
2. 边层面:实现边的预测与分类。边的分类主要值对边的某些性质进行预测,即指定的点之间是否存在边。主要存在推荐系统中
3. 图层面的任务。这个任务不依赖边和点之间的关系,主要是从图的整个结构特征出发,实现图的分类,表示,生成等任务
二. GCN对表示学习和任务学习一起进行了端到端的优化,同时对结构信息与属性信息的学习同时进行,并没有进行分解和解构。
GCN是一个低通滤波器,容易导致过平滑
GraphSAGE 对GCN改造。从两个方面,1)邻居采样 2)聚合邻居操作。每个节点的特征学习过程只需要K阶邻居,不需要考虑全图的结构信息。
GAT 基于注意力机制实现对邻居节点的聚合操作,对邻居权重的自动分配
GNN的通用框架:消息传播的神经网络,非局部神经网络, 图网络
三。图分类
图分类主要关注图层面的分类任务。基于全局池化的图分类,
基于层次化池化的图分类:基于图坍缩,基于top-k池化机制,基于边收缩的池化机制。
四GCN的图表示学习
图表示学习是将图数据转化为低维的稠密向量化表示,同时保证图数据的某些性质在向量空间中保持不变。图数据的表示可以是节点层面的,也可以全图层面的,这类的表示可以实现下游任务,点分类,边预测,图分类等。
图表示学习主要分为基于分解的方法,基于随机游走的方法,基于深度学习GCN的方法。
1)在基于矩阵分解的方法中,主要采用矩阵分解,将节点转为低维向量空间中,同时保留节点的结构信息,这类结构信息通过矩阵描述,主要有邻接矩阵,拉普拉斯矩阵,节点相似度矩阵,但是这种方法存在较高的计算复杂度和内存消耗。
2)基于随机游走的方法,在图中采用随机游走的方法,将节点看作词,以此类比词向量方法从而学习出节点的表示。典型的方法有deepwalk,Node2vec。这种方法适应大规模的图表示学习,但是导致图结构信息的损失,难以融合图中的属性信息。
3)基于GNN, 图自编码器 Graph to encoder。 变分图自编码器 VGAE。对比损失GNN(邻居作为上下文,将子图作为上下文,全图作为上下文)