异构图神经网络

异构图神经网络

1. 摘要

    异构图表示学习的目的是为每个节点寻求一个有意义的向量表示,以方便后续应用,如链路预测、个性化推荐、节点分类等。然而,这个任务实现起来很困难。因为不仅需要将异构结构组成的多种类型的节点和边的信息整合,还需要考虑与每个节点相关联的异构属性、异构内容。尽管在同构图嵌入、属性图嵌入以及图神经网络等方面做了大量的工作,但很少有人能够有效地联合考虑异构结构(图)信息以及各节点的异构内容信息。本文提出了一种异构图神经网络模型HetGNN来解决这个问题。

在这里插入图片描述

2. 介绍

异构图面临的挑战:

    (C1)异构图中的许多节点可能不会连接到所有类型的邻居。此外,相邻节点的数量因节点而异。如何对与异构图中每个节点的嵌入生成紧密相关的异构邻居进行采样

    (C2)在异构图中的一个节点可以携带非结构化的异构内容,此外,与不同类型的节点关联的内容也可能不同。如何设计节点内容编码器来解决HetG中不同节点的内容异构性

    (C3)不同类型的邻居对异构图中节点嵌入的贡献不同。如何通过考虑不同节点类型的影响来聚合异构邻居的特征信息

异构图的表示学习:给定一个节点内容集C的C-HetG G = (V, E、OV、RE)。任务是设计一个带有参数Θ的模型FΘ去学习d维的嵌入,该嵌入能够编码异构结构关系和异构的非结构化的内容。节点嵌入可用于各种图数据挖掘任务,如链接预测、推荐、多标签分类、节点聚类等。

HetGNND:

    HetGNN由四部分组成:(1)采样异构邻居;(2)编码节点异构内容;(3)聚集异构邻居;(4)制定目标,设计模型培训流程。图2说明了HetGNN的框架。

在这里插入图片描述
图二:HetGNND结构

3.方法

3.1 采样异构邻居(C1)

    大多数图神经网络(GNNs)的关键思想是聚合来自节点的直接(一阶)邻居的特征信息。然而,直接将这些方法应用于异构图可能会引起以下几个问题:

  1. 不能直接从不同类型的邻居中获取特征信息。
  2. 特征信息被不同的邻居削弱。
  3. 不适合聚合具有不同内容特性的异构邻居。

    针对这些问题,设计了一种基于重启随机游走的异构邻居采样策略:

    步骤1:采样固定长度RWR。从节点v∈V开始随机漫步。该步以迭代的方式移动到当前节点的邻居,或者以概率p返回到起始节点。RWR一直运行,直到成功收集到固定数量的节点,记作RWR(v)。其中RWR(v)中不同类型节点的数量受到限制,以确保v中所有节点类型都被采样。

    步骤2:将不同类型的邻居分组。对于每个节点类型t,根据频率从RWR(v)中选择顶部的kt节点,作为节点v的t型相关邻居集合。

    该策略能够避免上述问题,因为:(1)RWR为每个节点收集所有类型的邻居;(2)固定每个节点的采样邻居大小,选择访问频率最高的邻居;(3)将相同类型的邻居(具有相同的内容特性)进行分组,以便部署基于类型的聚合。

3.2 编码异构内容(C2)

    从节点v∈V中提取异类内容Cv,并通过神经网络将其编码为固定大小的嵌入。具体来说,将Cv中第i个内容的特征表示表示为xi∈Rdf×1(df:内容的特征维数)。xi可以使用不同的技术进行预训练,即使用不同类型的内容。本文设计了一个基于双向LSTM的新架构来捕获深层的交互特征,从而获得更大的表达能力。形式上,v的内容嵌入计算如下:

在这里插入图片描述

    f1(v)∈Rd×1 (d:嵌入维度),FCθx表示特征转换器,操作符⊕表示连接。

    更具体地说,上述架构首先使用不同FC层变换不同的内容特性,然后采用Bi-LSTM捕捉内容特征,最后在所有隐藏状态利用平均池化层获取一般内容嵌入v,如图2(b)所示。这种编码架构有三个主要优势:(1)结构简洁,使得模型实现和调优相对容易;(2)能够融合异构内容信息,表达能力强;(3)灵活添加额外的内容特性,方便扩展。

聚集异构邻居(C3):

    为了对每个节点的异构邻居的内容嵌入进行聚合,设计另一个基于类型的神经网络模块。它包括两个连续的步骤:

  1. 同类型邻居聚合:

    在3.1节中,使用基于RWR的策略对每个节点的不同节点类型的固定大小邻居集进行采样。因此,将v∈V的t型采样邻居集记为Nt (v),然后,利用神经网络f2t对v’∈Nt (v)的内容嵌入进行聚合,集合t型邻居对v的嵌入形式为: 在这里插入图片描述

  1. 类型组合:

    前面的步骤为节点v生成了|OV| (OV:图中节点类型集)聚合嵌入。为了将这些基于类型的邻居嵌入与v的内容嵌入相结合,使用了注意机制。其动机是不同类型的邻居会对v的最终表示做出不同的贡献,因此输出嵌入可以表示为: 在这里插入图片描述

    其中,Ev∈Rd×(d:输出嵌入维度),αv,∗表明不同嵌入的重要性,f1 (v)的从3.2节得到的v的内容嵌入,f2t (v)是从3.3节得到的基于类型的嵌入。嵌入集表示为F(v),v的输出嵌入重新表示为:

在这里插入图片描述

目标与模型训练:参数Θ目标:

在这里插入图片描述

    其中,CNvt是v的第t种类型的邻居集。条件概率p(vc|v;Θ)异构softmax函数定义为:

在这里插入图片描述

3.3 模型训练

损失函数:为了训练模型的参数,使用了一个基于最大边缘的损失函数。基本思想是最大化正样本的内积的同时保证负样本的内积。对于单对节点嵌入(zq,zi): (q,i)∈L的损失函数为

在这里插入图片描述

    其中,Vt是图中t类型节点的集合。εv是由公式6得到的输出嵌入。利用负采样技术来优化Eq.(7)中的目标o1,可以近似p(vc |v;Θ):

在这里插入图片描述

    其中M为负样本量,Pt (vc’)为预先定义的噪声分布。对于v的每个内容节点vc,根据Pt (vc)抽样一个负节点vc'。因此,可以将式(7)中的目标o1重新表述为:

在这里插入图片描述

    Twalk表示在图上通过随机漫步收集到的⟨v, vc, vc′⟩三元组集合。

4.结论

    本文介绍了异构图表示学习问题,并提出了一个异构图神经网络模型。HetGNN联合考虑了节点异构内容编码、基于类型的邻居聚合和异构类型组合。在训练阶段,使用了一个图内容损失和一个小批量梯度下降程序来学习模型参数。对各种图数据挖掘任务进行了大量的实验,(链接预测,推荐系统,节点分类和聚类,归纳节点分类和聚类),证明了HetGNN可以超越最先进的方法。