Graph convolutional network (GCN) has been successfully applied to many graph-based applications; however, training a large-scale GCN remains challenging. Current SGD-based algorithms suffer from either a high computational cost that exponentially grows with number of GCN layers, or a large space requirement for keeping the entire graph and the embedding of each node in memory. In this paper, we propose Cluster-GCN, a novel GCN algorithm that is suitable for SGD-based training by exploiting the graph clustering structure. Cluster-GCN works as the following: at each step, it samples a block of nodes that associate with a dense subgraph identified by a graph clustering algorithm, and restricts the neighborhood search within this subgraph. This simple but effective strategy leads to significantly improved memory and computational efficiency while being able to achieve comparable test accuracy with previous algorithms. To test the scalability of our algorithm, we create a new Amazon2M data with 2 million nodes and 61 million edges which is more than 5 times larger than the previous largest publicly available dataset (Reddit). For training a 3-layer GCN on this data, Cluster-GCN is faster than the previous state-of-the-art VR-GCN (1523 seconds vs 1961 seconds) and using much less memory (2.2GB vs 11.2GB). Furthermore, for training 4 layer GCN on this data, our algorithm can finish in around 36 minutes while all the existing GCN training algorithms fail to train due to the out-of-memory issue. Furthermore, Cluster-GCN allows us to train much deeper GCN without much time and memory overhead, which leads to improved prediction accuracy---using a 5-layer Cluster-GCN, we achieve state-of-the-art test F1 score 99.36 on the PPI dataset, while the previous best result was 98.71 by [16]. Our codes are publicly available at https://github.com/google-research/google-research/tree/master/cluster_gcn.
翻译:图形化的图形化网络(GCN)已经成功地应用于许多基于图形的应用程序;然而,培训大型GCN36仍然具有挑战性。当前基于 SGD 的算法要么由于高计算成本,随着GCN层数的成倍增长,或者为了保持整个图形和将每个节点嵌入记忆中而需要大量空间。在本文中,我们提议Croup-GCN,这是一个新的GCN算法,适合通过利用图形组合结构进行SGD培训。分组-GCN工作如下:在每一步,它抽样一组与由图表式数据组查明的密度亚字节相联的节点,并限制在此子组内进行周边搜索。这一简单而有效的战略可以大大改善记忆和计算效率,同时能够与以前的算法相比实现可比的测试准确性。为了检验我们的算法的可缩略图,我们创造了一个新的Amazon2M数据,其发行量为200万个节点和6100万分的边缘,比以往最大的公开数据集(Redddd)要多5倍。为了在本级的GCN-ral-ral-ral-de-de-ral-ral-de-de-de-deal-deal-deal-deal-deal-dal-leventxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx