刘海峰 Heterogeneous Graph Neural Networ
新闻来源:IR实验室       发布时间:2019/11/15 0:00:00

简介:本文是发表在SIGKDD 2019的一篇论文,开源代码地址:https://github.com/chuxuzhang/KDD2019_HetGNN 这篇论文主要针对网络结构中的异质信息进行融合,包括图像、文本、属性信息等多模态特征,作者结合了目前主流的两类图神经网络,对不同节点特征按照类别进行层次融合,进而提升节点表征能力,在节点分类、链路预测、节点聚类上均取得了SOTA效果。

引言:

异质图网络的定义:

异质图网络由  构成,V表示所有节点,E表示所有连边,表示节点类型, 表示边的类型。异质图中包含多种类型节点,多种类型连边,不同接点还包含多种模态属性。

本文认为并解决的主要挑战有三个:

1How to sample heterogeneous neighbors that are strongly correlated to embedding generation for each node in HetG

本文认为,异质图中的不同节点,其邻居节点的类型不一样,且不同节点的邻居节点可能存在噪声,对节点表征会产生影响,如何选取正确的邻居节点,是本文解决的问题之一。

2How to design node content encoder for addressing content heterogeneity of different nodes in HetG?

本文认为,异质图中的节点可能会包含非结构化的信息,例如节点自身属性,文本,图像等;同时不同节点相关联的节点类型可能也不同,如何基于节点的上下文内容,设计模型是本文解决的问题之一。

3How to aggregate feature information of heterogeneous neighbors by considering the impacts of different node types

本文认为,不同类型的邻居节点属性也会不同,对于异质图的embedding会有不同的影响,为此如何考虑节点类型的同时,聚合异质图中的邻居节点信息是本文解决的问题之一。

Methods

本文的主要模型框架如下

论文主要包含四个部分,(a):节点的有效邻居节点采样 (b):节点的多模态属性信息聚合(C):相同类型节点信息聚合(D)不同类型节点信息聚合。

按照论文结构的四部分,下面将分别介绍论文中使用的方法。

首先,对于网络embedding训练的正采样,为了解决有效节点采样问题,即Challenges 1,文中使用了带重启动的随机游走(Random walk with restart (RWR))[1],第一步:利用RWR为每个节点生成fixed length neighbors

第二步:Sample nodes, 按照node type 分组

重启随机游走算法是在随机游走算法的基础的改进。从图中的某一个节点出发,每一步面临两个选择,随机选择相邻节点,或者返回开始节点。

接着,如下图所示,对于采样好的网络结构,下一步需要对异质图中,节点自身携带的多模态信息进行聚合,生成节点的初始embedding。节点的文本信息采用Par2vec进行预训练,图结构信息采用Deepwalk进行预训练,图像信息采用CNNs进行预训练。

对于预训练好的多模态节点信息,采用GraphSAGE[2]模型进行聚合,聚合公式如下所示:

生成节点的初始embedding后,下一步需要对邻居节点的信息进行聚合,具体流程如下:

由于节点的邻居可能包含多种类型的节点,本文按照节点类型对邻居节点进行分组,首先将相同类型节点进行聚合。聚合方法依然采用GraphSAGE进行聚合,公式如下:

通过聚合相同类型节点后,下一步需要将不同类型节点进行聚合,这部分流程图如下:

对于不同类型节点聚合,文中指出不同类型节点对最终网络embedding可能提供不同的信息,因此采用权责进行刻画,这部分模型采用GAT[3]进行,具体公式如下:

 

按照上述流程,最终能够将网站中所有节点信息进行embedding,得到每个节点的embedding

模型训练采用交叉熵,定义目标函数为:

where  is the set of 𝑡-type context nodes of 𝑣 such frst/second order neighbors[4]  in the graph or local neighbors in short random walks [5].

进行优化后的目标函数为:

where 𝑀 is the negative sample size and is the pre-defned noise distribution w.r .t. the 𝑡-type nodes

Where  denotes the set of triplets  collected by walk
sampling on the graph. Similar to DeepWalk.

Result

数据集如下:

Baseline

Metapath2vec (MP2V)ASNESHNEGraphSAGEGSAGE)、GAT

任务一:

Link Prediction and Recommender

image.png

任务二:

Multi-label classification

任务三:Classification and Clustering

实验分析:

个人总结

1、本文的代码可以正常运行

2、论文仅提供了Academic 数据集

3、代码缺失Evaluation Function

4、速度较慢,大约400s/epoch

个人认为本文的出发点是融合多种异质信息(多模态),框架可以认为是多种主流模型的线性拼接(RWR+GraphSAGE+GAT

本文优势有两点:

1、可同时应用于聚类、分类、推荐等任务

2、实验十分充分,并且提供可复现分析

 

参考文献

[1] Tong H, Faloutsos C, Pan J Y. Fast random walk with restart and its applications[C]//Sixth International Conference on Data Mining (ICDM'06). IEEE, 2006: 613-622.

[2] Will Hamilton, Zhitao Ying, and Jure Leskovec. 2017. Inductive representation learning on large graphs. In NIPS. 10241034 (GraphSAGE)

[3] Petar Velickovic, Guillem Cucurull, Arantxa Casanova, Adriana Romero, PietroLio, and Yoshua Bengio. 2018. Graph attention networks. In ICLR

[4] Jian Tang, Meng Qu, Mingzhe Wang, Ming Zhang, Jun Yan, and Qiaozhu Mei. 2015. Line: Large-scale information network embedding. In WWW. 1067–1077

[5] Bryan Perozzi, Rami Al-Rfou, and Steven Skiena. 2014. Deepwalk: Online learning of social representations. In KDD. 701710.