Cluster-GCN: An Efficient Algorithm for Training Deep andLarge Graph Convolutional Networks

论文来源:In The 25th ACM SIGKDD Con ference on Knowledge Discovery and Data Mining (KDD ’19), August 4–8, 2019, Anchorage, AK, USA. ACM, New York, NY, USA, 10 pages.
作者:Wei-Lin Chiang
论文题目:Cluster-GCN: An Efficient Algorithm for Training Deep andLarge Graph Convolutional Networks
论文题目(中文):GCN聚类:一种用于训练深度大型图卷积网络的高效的算法

  1. 背景
    GCN图卷积网络:
    SGD优化算法:
    节点嵌入:
    密集子图:
    基于SGD优化算法优化GCN网络时,由于……原因,训练大型的图卷积网络(GCN)很困难,训练GCN网络计算量与GCN的层数为指数级增长关系,且需要很大的存储空间来保存整个图以及实现每个节点的嵌入。
  2. 本文提出的方案
    提出新的优化算法Cluster-GCN,用来优化基于SGD训练的图卷积网络(GCN)
  3. 创新点

使用聚类算法标识密集子图相关联的节点块,限制密集子图的领域搜索。该策略在同等精度的情况下,提高了内存和计算的效率。
4. 实验
数据集:
1) Amazon2M,200万个节点和6100万条边,是Reddit的5倍
2) Reddit
3) PPI
网络:
1) Cluster-GCN
2) VR-GCN
3)GaAN
数据集 Cluster-GCN VR-GCN
计算量 内存\GB 计算量 内存\GB
3-layer GCN Amazon2M 1523s 2.2 1961s 11.2
4-layer GCN Amazon2M 36m - Fail Fail

  1. 论文的提出,也就是写作目的,作者要解决什么问题
    图卷积网络已经成功的应用于许多基于图的应用场景,如半监督节点分类、链接预测和推荐系统。但是训练大型的GCN网络存在困难。这个困难是目前基于SGD优化算法受到GCN层数增长带来的指数级的计算花销增长的影响,或者需要很大的大存储空间来保存整个图和实现每个节点的嵌入。
  2. 解决问题的方法
    提出Cluster-GCN算法,这是一种新的GCN算法,适用通过利用图聚类结构进行基于SGD的训练。
  3. 论文的创新在什么地方
    它采样了图聚类算法标识的密集子图相关联的节点块,并限制了该子图中的邻域搜索。这种简单而有效的策略显著提高了内存和计算的效率,同时可实现与以前算法等同的精度。
  4. 方法的效果与局限
    创造了Amazon2M data,有200万个节点和6100万的边,该数据集比以前的Reeddit大5倍以上。使用该数据训练3层的GCN,Cluster-GCN比之前最先进的VR-GCN快(1523s,1961s)和更少的内存(2.2GB,11.2GB)。使用该数据集训练4层的GCN的时候,该算法可以在36分钟完成,而现有的算法由于内存不足训练失败。此外,使用Cluster-GCN能够训练更深的GCN,而没有太多的时间和内存开销,从而提高了预测的准确性-使用5层Cluster-GCN,在PPI数据集上的F1分数上达到了最新的测试99.36,而以前的Jiani Zhang的方法最佳结果为98.71。
    引言:
    GCN原理:给定一个图,GCN使用图卷积操作在每一层逐层获取节点嵌入,节点的嵌入是通过收集其邻点的嵌入,然后进行一层或几层线性变换和非线性激活。然后将最终层嵌入用于某些最终任务。例如,在节点分类问题中,将最终的层嵌入传递到分类器以预测节点标签,因此可以以端到端的方式训练GCN的参数。
    由于GCN中的图卷积运算符需要使用图中节点之间的交互来传播嵌入,因此训练起来非常困难。与其他神经网络可以在每个样本上将训练损失完全分解成单独的项不同,GCN中的损失项(例如,单个节点上的分类损失)取决于大量其他节点,尤其是当GCN变深时。 由于节点的依赖性,GCN的训练非常缓慢并且需要大量内存-反向传播需要将所有嵌入节点存储在GPU内存中的计算图中。
    之前的GCN训练算法:从三个方面来判断训练算法
    1) 内存需求,可限制算法的可拓展性;2)每个epoch的时间;3)每个epoch的收敛速度。2)和3)结合在一起可决定训练的速度。参数: 表示节点的数量; 表示嵌入维数; 表示层的数量。
    2017年Thomas等提出了在第一篇GCN论文中提出了全批次梯度下降法,由于需要计算全部的梯度,因此需要存储所有的中间嵌入节点,导致需要 内存需求,是不可拓展的。虽然每个epoch效率很高,由于每个epoch仅更新一次参数,梯度下降的收敛速度很慢。
    2017年William等提出了Mini-batch SGD。由于每次更新仅基于小批量梯度,因此它可以减少内存需求并在每个时期进行多次更新,从而加快收敛速度。 但是,由于邻域扩展问题,小批量SGD会引入大量计算开销-要计算L层上单个节点的损耗,它需要节点的邻居节点在L-1层的嵌入,这又需要其邻居的嵌入 在L-2层和递归层在下游层。 这导致时间复杂度与GCN深度成指数关系。 图SAGE [5]提出在通过层进行反向传播期间使用固定大小的邻域样本,而FastGCN [1]提出了重要性抽样,但是这些方法的开销仍然很大,并且当GCN深入时会变得更糟。
    2018年Jianfei Chen等提出VR-GCN使用方差减少技术来减少邻域采样节点的大小。尽管成功减少了采样的大小(在我们的实验VR-GCN中,每个节点只有2个采样效果很好),但它仍需要将所有节点的所有中间嵌入存储在内存中,从而导致O(N F L)内存需求。 如果图中的节点数增加到数百万,则VR-GCN的内存需求可能太高而无法容纳GPU。
    在本文中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值