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

本文介绍了DGL框架如何解决大型图数据的计算问题,通过邻居采样策略和NodeFlow机制,实现了对GCN模型的高效训练。DGL的NodeFlow是一种层次结构的图,用于构建计算子图,而Neighbor Sampling则通过采样控制节点的感知野,降低计算复杂度。此外,文章还提到了控制方差技术以减少采样带来的方差影响。
最低0.47元/天 解锁文章
2479

被折叠的 条评论
为什么被折叠?



