↑↑↑关注后"星标"Datawhale
每日干货 & 每月组队学习,不错过
Datawhale干货
作者:秦州,算法工程师,Datawhale成员
引言
本文为GNN教程的系列干货。之前介绍了DGL这个框架,以及如何使用DGL编写一个GCN模型,用在学术数据集上,这样的模型是workable的。然而,现实生活中我们还会遇到非常庞大的图数据,庞大到邻接矩阵和特征矩阵不能同时塞进内存中,这时如何解决这样的问题呢?
DGL采用了和GraphSAGE类似的邻居采样策略,通过构建计算子图缩小了每次计算的图规模,这篇博文将会介绍DGL提供的采样模型。
![](https://i-blog.csdnimg.cn/blog_migrate/f31bf3d776eab50774085e4a0f1bc741.png)
GCN中暴露的问题
首先我们回顾一下GCN的逐层embedding更新公式,给定图 , 我们用在程序中用邻接矩阵 和及节点embedding 表示它,那么一个 -层的GCN网络采用如下的更新公式, 层节点 的embedding 取决于它所有在 层的邻居embedding
其中, 是节点 的邻居节点集合, 是正规化后的 ,比如 , 是可训练的权重矩阵。
在节点分类的任务中,我们采用如下形式计算loss: