GATNE:面向属性、多重、异构网络的统一表示学习框架
date
Jul 22, 2022
slug
GATNE-表示学习-异构网络
status
Published
tags
KG
表示学习
summary
type
Post
GATNE详解:面向属性、多重、异构网络的统一表示学习框架
在现实世界中,无论是电商推荐、社交网络还是金融风控,我们面对的数据网络日益复杂。传统的网络表示学习(Network Embedding)方法,如DeepWalk或node2vec,在处理仅包含单一类型节点和边的同构网络(Homogeneous Network)时表现出色,但当网络变得更加复杂时,这些方法便捉襟见肘。
真实世界的网络通常是属性化的(Attributed)、多重的(Multiplex)且异构的(Heterogeneous)。例如,在一个电商网络中:
- 异构性:存在“用户”和“商品”两种不同类型的节点。
- 多重性:用户与商品之间存在多种类型的关系(边),如“点击”、“收藏”、“加入购物车”、“购买”等。
- 属性化:每种节点都拥有丰富的属性信息,如用户的年龄、性别,商品的价格、品牌等。
这种网络被称为属性化多重异构网络(Attributed Multiplex Heterogeneous Network, AMHEN)。处理此类网络是学术界和工业界面临的重大挑战。清华大学与阿里巴巴达摩院的研究者在KDD 2019上发表的论文《Representation Learning for Attributed Multiplex Heterogeneous Network》中,提出了一个名为GATNE (General Attributed Multiplex HeTerogeneous Network Embedding) 的统一框架,旨在有效解决这一难题。
1. 问题的提出:真实世界网络的复杂性与挑战
在深入模型之前,首先要理解AMHEN带来的核心挑战:
- 多重关系融合(Multiplex Edges):一个节点对(如一个用户和一个商品)之间可能存在多种关系。这些关系强度不同,语义各异(例如,“购买”关系比“点击”关系更能体现用户的兴趣)。如何有效地区分并融合这些关系,学习到一个统一的、信息丰富的节点表示是首要难题。
- 异构性与属性信息利用:不同类型的节点和边具有完全不同的特征空间和语义含义。模型必须能够处理这种异构性,并有效利用节点自带的丰富属性信息,而不是仅仅依赖网络结构。
- 部分观测与归纳能力(Partial Observations & Inductive Learning):真实世界的网络是动态变化的,新节点(如新用户、新商品)不断涌现。模型必须具备归纳学习(Inductive Learning)的能力,能够为未在训练阶段出现过的节点生成表示,而不是像传统方法那样只能进行直推式学习(Transductive Learning)。
- 可扩展性(Scalability):工业级网络通常包含数十亿的节点和数百亿的边,对算法的效率和扩展性提出了极高的要求。
GATNE框架正是为了系统性地应对以上所有挑战而设计的。
2. GATNE 模型核心设计
GATNE的核心思想是将一个节点在特定关系下的最终表示(Overall Embedding)分解为三个部分:基向量(Base Embedding)、边向量(Edge Embedding)和属性向量(Attribute Embedding)。其中,边向量的设计是其精髓所在。
2.1 核心思想:基向量 + 边向量分解
对于网络中的任意一个节点 ,其在特定边类型 下的最终表示 ,被分解为两个主要部分:
- 基向量 :这个向量是与边类型无关的,由节点本身决定,并在所有边类型上共享。它旨在捕获节点固有的、通用的基础特征。
- 边向量 :这个向量是与边类型相关的。同一个节点 在面对不同类型的边(如“点击”边和“购买”边)时,会拥有不同的边向量。它旨在捕获节点在特定关系下的上下文语义。
这种分解的设计非常巧妙,它允许模型在学习通用节点特征的同时,为每种关系保留其独特的语义信息。
2.2 边向量的聚合:从邻居获取上下文
节点的边向量 并非直接学习,而是通过聚合其在边类型 下的邻居节点信息来动态生成。这一思想借鉴了GraphSAGE [1] 的聚合机制。一个节点的 阶边向量由其邻居的 阶边向量聚合而成:
其中, 是节点 在边类型 下的邻居集合。聚合函数(aggregator)可以是均值、最大池化等。通过多层聚合,节点的边向量能够捕获到其在高阶邻域内的结构信息。
2.3 自注意力机制的引入:动态融合多重关系
GATNE最核心的创新在于如何将一个节点的多个边向量(每个对应一种边类型)融合成一个最终的边向量部分。如果一个网络有 种边类型,那么每个节点 就会有 个基础边向量 。
GATNE并未使用简单的拼接或平均,而是引入了自注意力机制(Self-Attention)[2]来动态地计算不同边向量的权重。对于目标边类型 ,模型会为所有类型的边向量 计算一个注意力系数 。
其中, 是节点 所有边向量的拼接矩阵, 和 是针对目标边类型 的可学习的注意力参数。
最终,节点 在边类型 下的整体表示 由基向量和加权融合后的边向量组合而成:
其中 是可学习的变换矩阵, 是一个超参数,用于控制边向量的重要性。
通过自注意力机制,GATNE能够根据目标任务(目标边类型 )动态地判断其他类型的关系对当前任务的贡献度,从而实现信息的智能、高效融合。
3. 从直推式到归纳式学习:GATNE-I
上述模型(论文中称为GATNE-T)是直推式的,它为训练集中出现的每个节点直接学习基向量 。这无法处理新节点。
为了解决这个问题,论文提出了GATNE的归纳式版本——GATNE-I。其核心改动在于,不再为每个节点学习独立的基向量和初始边向量,而是学习一个从节点属性生成这些向量的函数。
具体来说,节点的基向量 和初始边向量 由其原始属性 通过一个变换函数(如多层感知机MLP)生成:
其中 是节点 的类型, 和 是针对不同节点类型和边类型的可学习的函数。节点的最终表示也加入了一个直接由属性变换而来的项:
通过这种方式,只要一个新节点带有属性信息,GATNE-I就能为其生成高质量的表示,完美解决了冷启动和归纳学习的挑战。
4. 模型优化与训练
GATNE的训练过程采用了基于元路径的随机游走(meta-path based random walks)[3]来生成节点序列,这种策略能够有效保留异构网络中的复杂语义关系。在生成的序列上,模型采用异构Skip-gram目标,并通过负采样进行优化。目标函数为:
5. 实验效果与结论
GATNE在Amazon、YouTube、Twitter以及阿里巴巴的真实工业数据集上进行了广泛的实验。结果表明,无论是在链路预测还是在真实的推荐系统A/B测试中,GATNE均显著优于包括DeepWalk、metapath2vec、MNE在内的所有基线模型。
例如,在阿里巴巴数据集上,GATNE-I相比当时最优的方法,在F1分数上取得了高达5.99%的提升。在阿里巴巴推荐系统的离线A/B测试中,GATNE-I的Top-N点击命中率相比MNE和DeepWalk分别提升了3.26%和24.26%,展现了其强大的工业应用价值。
总结来说,GATNE的主要贡献在于:
- 统一框架:首次提出了一个能够统一处理属性、多重关系和异构性的网络表示学习框架AMHEN。
- 创新的表示分解:将节点表示分解为共享的基向量和关系特定的边向量,兼顾了通用性与特异性。
- 自注意力融合:巧妙地运用自注意力机制,实现了对多重关系的动态、加权融合,极大地提升了模型的表达能力。
- 兼具直推式与归纳式能力:同时提出了GATNE-T和GATNE-I两个版本,使其既能处理静态网络,也能应对动态网络中的新节点问题,具备很强的实用性。
GATNE的设计为复杂图表示学习提供了一个强大且优雅的解决方案,对学术研究和工业应用都具有重要的指导意义。
