异质图(HINs)广泛地存在于真实世界的许多应用场景中,如互联网数据挖掘、推荐系统、生物信息,以表示众多个体间复杂的连接关系。相比于同质信息网络,除了网络的拓扑结构外,异质图同时含有丰富的语义信息。这些语义信息包括节点与边的类型等。例如,在一个电影推荐数据集中,节点可以分为电影、演员、导演等类型。这些附加的语义信息可以帮助下游任务,如何更好地利用它们是异质图表示学习的一个重要挑战。 ▲ 图3 异质图示例 近年来,GNNs 在图表示学习的许多任务上都取得了显著的进展。然而,现有的方法在处理异质图时仍有不足之处。例如,经典的 GCN 模型 [7] 认为所有邻居节点是同质的,无法区分节点的不同类型,因此不能利用 HINs 中含有的语义信息。 一些专门为 HINs 设计的 GNNs,例如 HAN [8]、MAGNN [9],依赖手工设计的规则“元路径”(Meta Path)[10] 来选取从哪些邻居节点收集信息。这类模型的主要限制在于,手工设计的规则需要领域的先验知识,因此它们很难应用在来自新的、复杂的领域的数据集(例如,为各种各样的化学粒子设计规则是极其困难的)。 另一个较新的方法 HGT [11] 借鉴了 Transformer 结构,对不同类型的节点和边计算 attention,以避免手工设计规则。然而,HGT 的参数量大,训练速度慢,这一问题在处理大规模的图数据时会变得尤为明显。
此外,即使 attention 可以对不同类型的邻居节点赋予不同的权重,它仍然可能收集到与下游任务不相关的语义信息。例如,当我们想要预测学术网络中作者的研究领域(CV、NLP 等)时,作者所在的机构/学校是无关的信息(噪声),收集它们可能不利于下游的预测任务。综上所述,如何使 GNNs 能自动地、高效地挖掘 HINs 中与下游任务相关的语义信息仍然没有被很好地解决。
动机
我们的方法受到了神经网络架构搜索(Neural Architecture Search(NAS))的启发 [4]。NAS 旨在自动地搜索出适应于数据集与下游任务的神经网络结构。在计算机视觉的许多任务中,NAS 发现的网络结构已经取得了比手工设计的网络更好的效果。早期的基于强化学习或进化算法的 NAS 工作,对每一个候选的网络结构都要从头训练,然后验证它的表现,这使得搜索过程非常耗时(可多达数千个 GPU 天)。近期的 one-shot NAS 方法使用参数共享(parameter sharing)[12],即所有候选的网络结构共享一个更大的超网络的参数。这样,搜索问题就转化为了如何训练一个超网络及如何从超网络中得到理想的子模型,从而大大缩短了搜索时间。NAS 的这些进展吸引了我们的注意,并促使我们思考,能否基于这一框架提出一种方法来解决异质图表示学习的问题? 这样的延伸远不是容易的,因为不同领域的数据和任务有不同的性质,对应的网络结构也有各自的特点。一个首要的问题是:如何设计一个能表示 HINs 中包含的语义信息的搜索空间?我们借鉴了传统的数据挖掘方法在对 HINs 中节点的相似性进行建模时提出的两个概念,即“元路径”(Meta Path)[10] 和“元图”(Meta Graph)[6]。 这两个概念是由节点类型和边类型组成的复合关系,以表示 HINs 中的语义信息。例如,图 4(a) 是一个 meta path,表示两部电影有共同的导演,而图 4(b) 是一个 meta graph,表示两部电影不仅有共同的导演,还有相同的演员。 ▲ 图4 “元路径”与“元图”
Meta Path 这一概念已经被一些相关工作采用(如 HAN [8] 与 MAGNN [9] 就采用手工设计 meta paths 的方式利用语义信息)。然而,相比于 Meta Path,Meta Graph 通过灵活地结合多个路径,可以更好地表示细粒度的语义信息。因此,我们希望把 Meta Graph 和 GNN 的消息传播(message passing)框架结合在一起,并设计一个搜索空间来表示可能的 meta graphs。