论文标题:Meta-GNN:Metagraph Neural Network for Semi-supervised learning in Attributed Heterogeneous Information Networks

作者:Aravind Sankar, Xinyang Zhang, Kevin Chen-Chuan Chang

单位:Department of Computer Science, University of Illinois, Urbana-Champaign, USA

论文链接:https://dl.acm.org/doi/pdf/10.1145/3341161.3342859

论文引用:Sankar A , Zhang X , Chang C C . Meta-GNN: metagraph neural network for semi-supervised learning in attributed heterogeneous information networks[C]// ASONAM '19: International Conference on Advances in Social Networks Analysis and Mining. 2019.

概述

难点

AHIN中的半监督学习相对于同构网络以及HIN更困难。例如:对DBLP中的作者进行分类,他的共同作者以及出版的期刊都是上下文节点(context nodes),提供了相关性特征,在对作者分类时需要考虑进去。但是,这些上下文节点有不同的属性且发挥不同的作用:(a) 不同的节点类型(期刊<-->共同作者),(b) 同一节点类型但不同的结构取向(引用<->被引用)

作用

有了元图卷积,就可以有以下两个insights:

  • 高阶语义局部性:元图(meta-graph)通过特定的子结构指定语义关系,提供了一个框架用于捕获高阶语义局部性(非直接邻居),例如通过共同作者这种关系(类似于元路径,meta-path)
  • 准确的语义角色:根据本地上下文节点的节点类型和结构连接模式对其进行准确的语义角色识别,例如共同作者和出版期刊

论文贡献

  • 利用元图来定义关注的节点的局部上下文(local context)或感受野(receptive field),以此介绍了一种新颖的用于AHIN(Attributed Heterogeneous Information Networds)的图卷积
  • 提出新颖的神经结构——Meta-GNN,用到了多层元图卷积层,使用注意力机制来学习每个节点个性化的元图权重
  • 在多个真实数据集进行实验,证明Meta-GNN的有效性

定义

几个节点的类型

target node,对象节点,在一个元图中的研究对象,是主体;

context node,上下文节点相对于target node的关联节点;

auxiliary node,辅助节点,用于关联target node和context node的中间节点。

AHIN

即属性异构信息网络,Attributed-HIN。图的基本表示是Graph=(Vertex, Edge),而AHIN带有属性,那么表示为G=(V,E,X),其中X就是属性矩阵,N\times D维(N表示图中几点的数量,D表示属性的维度)。由于有不同类型的节点,而每个节点类型可能属于不同的特征空间,因此作者将所有类型的特征连接起来,用零填充不属于这个数据类型的特征。

meta-graph

熟悉HIN的同学一定知道meta-path,meta-graph和meta-path的概念很像,但是meta-path与meta-graph不同在于前者从起点到终点只能存在一条路径,而后者可以存在多条路径。我们看图1,1(a)中的M_3可以看作是一个meta-path,也就是说meta-path是meta-graph的一个特例。

图1 元图示例

作者给出了meta-graph的数学描述:

Definition: A metagraph M   with target node t_M , context  node c_M is defined as M = (V_M,E_M ,t_M ,c_M ,B_M )with node type mapping l_M:V_Mx \mapsto L  where V_Mis the set of nodes with t_M ,c_M \in V_M, E_Mis the set of links and B_M=V_M-{\left \{ \left.t_M,c_M \right \} \right. is the set of auxiliary nodes.

meta-graph实例

定义一个S_u=(V_s,E_s)表示meta-graph的实例,其中u表示目标节点(target node),满足V_s\subseteq V,E_s\subseteq E,即实例中的边都是图中的边,实例中的点都是图中的点,很好理解;并且要满足一个映射\psi _S:V_S \mapsto V_M,这个映射表示的是,从元图的实例映射到元图M,需要满足1)元图实例的目标节点映射到元图中需要是元图M中的t_M;2)元图实例的节点映射到元图中需要是相同类型的;3)实例中的边需要是元图中定义的边。

meta-GNN网络

卷积层

定义公式为,H=\sigma(\hat{A}XW),也就是普通的GCN卷积层,其中\hat{A}=D^{-\frac{1}{2}}AD^{-\frac{1}{2}}+I_ND表示度矩阵,A表示邻接矩阵,只是这个邻接矩阵不是同构图中的邻居关系而是元图中target node和context node的连接关系,I_N是单位对角矩阵。而目前还没有定义出A的表示,接下来作者就是要讲述如何定义这个A

定义下感受野(receptive field):target node u的关于元图M的感受野是所有元图M的元图实例,用I^M_u表示。

另外,在每个元图中,两个节点的即使是相同类型的也可能对元图起不同的作用,例如图1(a)中的M_2元图,P_1P_2的节点类型相同但是要表达引用和被引用的关系,是不能互换的,因此作者定义了语义角色(semantic roles),定义为:在一个元图中,如果存在一个映射\Omega _M使得在元图中,使得两个节点u,v满足\Omega _M(u)=v,\Omega _M(v)=u而其余节点都满足\Omega _M(x)=x,那么u,v有着相同的语义角色。简单来说图1(a)中的M_2元图的P_1P_2有着不同的语义角色而图1(a)中的M_1元图的P_1P_2有着相同的语义角色。那这个语义角色有什么用呢?作者在下面就用到了它。

在一个元图中,假设有K_M种语义角色,那么除了target node之外的所有节点都可以映射到某一个语义角色,那么可以写成\phi_M:V_M-\left \{ t_M \right \} \mapsto \left \{ 1,\cdots ,K_M \right \}

接下来,就用这个语义角色来定义元图中的邻接矩阵A了。定义A中的每个元素为

A_{kij}^M=\sum _{S_{v_i}\in I_{v_i}^M,v_j \in V_S-\left \{ v_i \right \}}I(\phi_M(\psi _S(v_j))=k)

这个公式比较长,用语言简单解释下,就是某个元图M的邻接矩阵A在目标节点v_i上的邻接矩阵的计算内容为:对v_i所有的元图实例S_{v_i},另外一个节点v_j在这多个元图实例中语义角色为k的总数量。那么最终的A的维度是K_M \times N\times N,有M个这样的矩阵。那么原本的图卷积就变换形式用到meta-GNN中了,每个节点v_i关于M的卷积可以写成

h^M(v_i) = \sigma (w_0x_i+\frac{1}{D_{ii}^M}\sum _{j=1}^N\sum _{k=1}^{K_M}w_kA_{kij}^Mx_j)

其中x_i,x_j分别表示节点i,j的特征,D_{ii}^M表示在元图M中节点i的元图实例的数量,用来做normalization,写成矩阵形式就是

H^M=\sigma (XW_0^M+(D^M)^{-1}\sum _{k=1}^{}K_M}A_k^MXW_k^M)

最后作者使用注意力机制将这M个元图融合。

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐