近年来,图嵌入和图神经网络的相关技术在知识图谱、推荐系统、视觉、NLP等诸多领域有了广泛的应用。本文主要参考清华大学发表的《Graph neural networks: A review of methods and applications》一文,同时结合多篇图神经网络的研究,对图神经网络技术进行梳理。
图神经网络模型的建模过程可参见上图。不同工业场景下的数据有着不同的拓扑结构,将图神经网络应用到工业场景,首先需要选取合适的图类型来对数据的拓扑结构进行表征。目前常用的图类型有:
1)普通图 / 二分图 2)有向图 / 无向图 3)同构图 / 异构图:异构图的处理手段包含meta-path-based(异构对应多条meta-path)、edge-based(对异构边进行采样聚合)、relational(异构类型数量太大,可使用循环神经网络处理)和multiplex(节点间存在多重关系) 4)静态图 / 动态图 各图类型对应的图神经网络模型可参见如下:
基于业务数据拓扑结构选取图神经网络的模型结构之后,可选取合适的计算图来处理拓扑结构的数据。计算图包含三个部分:传播模块、采样模块和池化模块。
工业场景内,节点和边的数量动辄上亿。所以聚合来自领域节点的信息时,需要对领域节点、边或子图进行采样。比如PinSAGE通过Personalize PageRank计算节点重要性,并基于节点重要性进行采样。
常用的池化方法有:node-wise mean/max/sum/attention operations、edge-conditioned convolution (ECC)、DiffPool、gPool、EigenPooling、SAGPool等。
图神经网络的训练包含无监督和有监督两种方式,专栏之前有详细介绍过,这里不再赘述。无监督以对比学习为主,有监督可与分类/回归等任务结合在一起训练。
图神经网络在处理拓扑结构数据时 有着很大的优势,工业场景内的数据多数都是有拓扑结构的。因此近年来图神经网络在各类工业场景下都有着广泛的应用,详情可参见上图。