GNN
1. 什么是DeepWalk、Node2vec、Line?
2. GCN、GraphSAGE、GAT原理及优缺点
GCN
GCN全称Graph Convolution Networks,是最原始的图神经网络,其原理就是在每个节点聚合其邻居节点信息后做线性变换,然后重复多次这种节点信息聚合+线性变化操作,从而达到捕捉K-hop的邻居节点信息。
缺点:
- GCN在训练时需要知道整个图的结构信息,包括待预测节点,在很多任务中不可行
- GCN需要将整个图放到内存和显存中,内存和显存占用高
GraphSAGE
GraphSAGE全称Graph Sample and Aggregate,GraphSAGE提出了两个核心步骤:Sample和Aggregate,Sample是指如何对邻居信息进行采样,Aggregate是指拿到邻居节点的embedding后如何汇聚这些embedding以更新自己的embedding信息。具体实现如下:
Sample:定长抽样,定义需要的邻居节点个数S,然后采用又放回的重采样/负采样方法抽取S个论据(保证了每个节点抽取到的邻居数量一致,这样可以把多个节点及他们的邻居信息组成一个Batch Tensor送入GPU进行训练。
Aggregate:提出三种聚合方式,
算法:
优点:
- 利用采样机制,很好的解决了GCN必须要知道全部图信息的问题,克服了GCN训练时内存和显存占用过高的问题
- 聚合器和权重矩阵的参数对于所有节点是共享的,导致模型参数的数量与节点个数无关,这使得GraphSAGE可以处理更大的图
- 既能处理有监督问题,也能处理无监督问题
缺点:
- 没有考虑到邻居节点的重要性不同
- 没有考虑到当前节点的重要度和邻居节点不同