KDD 2019:Representation Learning for Attributed Multiplex Heterogeneous Network
原文链接:Representation Learning for Attributed Multiplex Heterogeneous Network (arxiv.org)
摘要
Network embedding(or graph embedding) has been widely used in many real-world applications. However, existing methods mainly focus on networks with single-typed nodes/edges and cannot scale well to handle large networks. Many real-world networks consist of billions of nodes and edges of multiple types, and each node is associated with different attributes. In this paper, we formalize the problem of embedding learning for the Attributed Multiplex Heterogeneous Network and propose a unified framework to ad-dress this problem. The framework supports both transductive and inductive learning. We also give the theoretical analysis of the pro-posed framework, showing its connection with previous works and proving its better expressiveness. We conduct systematical eval-uations for the proposed framework on four different genres of challenging datasets: Amazon, YouTube, Twitter, and Alibaba1. Ex-perimental results demonstrate that with the learned embeddings from the proposed framework, we can achieve statistically signif-icant improvements(e.g., 5.99-28.23% lift by F1 scores; p < 0.01, t−test) over previous state-of-the-art methods for link prediction. The framework has also been successfully deployed on the recom-mendation system of a worldwide leading e-commerce company, Alibaba Group. Results of the offline A/B tests on product recom-mendation further confirm the effectiveness and efficiency of the framework in practice.
预备知识
在阅读这篇文章之前,我们先来看一下什么是图嵌入表示学习
参考资料:随机游走的艺术-图嵌入表示学习【斯坦福CS224W图机器学习】_哔哩哔哩_bilibili
嵌入(embedding)
首先我们给出机器学习中嵌入的定义
定义
把离散的、分类型的数据投影到连续向量表达的过程
在处理复杂图形数据时,计算机通常难以直接理解其中的结构和关系。为了使计算机能够有效处理这些信息,我们需要将图中的节点和边转化为可计算的向量形式,这一过程就是我们常说的“嵌入”(Embedding)。通过嵌入技术,每个节点可以被表示为一个向量,这个向量能够捕捉到节点自身的属性以及它与其他节点之间的关系。同样地,边也可以被嵌入到向量空间中,用来表示不同节点之间的连接强度或类型。
图表示学习
自然语言处理的许多概念和图表示学习有许多相似性,在学习中,我们可以类比学习

图节点嵌入
节点u通过一个映射函数f从图空间到d维向量空间。这个过程将节点映射为d维向量,使得向量维度远小于节点数,如下图所示。 向量化后的特征具有以下几个特点:
- 低维:维度远小于节点数。
- 连续:每个元素都是实数(有大有小,有零有整)
- 稠密:每个元素都不为零。

还记得之前在图节点级任务中老Hi教练和Jone管理员得例子吗,我们将派系扩充至四种,通过聚类方法(无监督学习)得到不同得节点颜色,节点的颜色代表了不同的派系,节点上的数字标识了各个成员。

我们使用一种随机游走的算法,它可以将图中的每个节点编码为一个D维向量(embedding),在二维嵌入中,节点的位置隐式包含了图中的社群结构、连通性等信息。经过图节点嵌入后的节点向量可以用作机器学习模型的输入,以便于执行诸如节点分类、预测等任务,如下图所示。

通过比较两张图,我们可以看到原图中相邻的节点在二维嵌入后仍然相对靠近。这表明该算法成功地将图中的结构信息保留在了低维空间中。也就是说,尽管节点被投影到了二维平面上,但它们之间的相互联系并没有被破坏。
编码器(Encoder)
编码器是一个函数映射,它将网络中的每个节点映射到一个D维度的向量空间。这个过程是通过随机游走生成节点序列,然后使用skip-gram模型训练得到的。
- 随机游走:在图上进行的随机移动。在每次移动时,随机游走者会从当前所在的节点随机选择一个相邻的节点作为下一个访问的目标。这个过程可以重复多次,会形成一条由访问过的节点组成的路径。这条路径被称为随机游走序列,如下图所示

- Skip-gram模型:最大化一个节点(中心点)和它周围的节点(与中心点相邻的节点)同时出现的概率。
在定义好编码器后,我们引入一个节点相似度函数(Node Similarity Function)用于量化网络中两个节点之间的相似程度,在向量空间中计算两个节点的相似度应该尽可能地接近它们在网络中的实际相似度。
解码器(Decoder)
解码器的作用是将嵌入空间中的节点向量转换回原始网络中的相似度得分。最常见的做法是计算两个节点向量之间的余弦相似度。余弦相似度衡量的是两个向量之间的角度,值范围从-1到1,其中1表示完全相同,-1表示完全相反,0表示正交(不相关)。
机器学习方法
归纳式学习(Inductive Learning):我们通常所指的监督学习。它的核心思想是从特定的训练数据中学习出一般性的规则或模型,然后将这个模型应用到新的、未见过的数据上。这种方法强调模型的泛化能力,即模型能够对新数据做出准确的预测。
直推式学习(Transductive Learning):首先观察全部数据,包括了训练和测试数据,在训练过程中,直推式学习不仅使用已标记的训练数据,还会直接利用未标记的测试数据来改进模型的预测性能。值得注意的是:直推式学习不会建立一个预测模型,如果一个新数据节点加入测试数据集,需要重新训练模型,然后再预测标签。
引言
动机与挑战
图表示学习近年来在许多下游任务(节点分类、链接预测和社区检测)方面取得了显著进展,目前的许多方法如DeepWalk、node2vec仅针对具有单一类型节点和边的同质网络设计。然而,现实世界的应用程序,例如电子商务,远比这复杂得多,不仅包含多类型的节点和边,而且还包含丰富的属性集。由此作者提出了一种名为带属性的多层异构网络(Attribute Multi-layer Heterogeneous Network, AMHEN)的网络模型,这种模型的不同类型的节点可能与多种不同类型的边连接,并且每个节点都与一组不同的属性相关联。 虽然这种模型较为复杂,但这种情况在许多在线应用程序中很常见。

如上图所示:
- 在电子商务系统中,用户可以与商品有多种交互方式,如点击、转化、加入购物车、加入收藏夹等。显然,“用户”和“物品”有着固有的不同属性,不应被同等对待。
- 不同的用户 - 商品交互意味着不同的偏好,应得到不同的对待。否则,系统无法准确地捕捉到用户的行为模式和偏好。
由于AMHEN的复杂性,在处理时带来了一些挑战
- 每个节点对可能有多种不同的关系类型,如何从不同关系中进行有效聚合,并学习统一的嵌入表示
- 在网络数据集中,某些节点或边可能只有一小部分被观测到,由于数据的稀疏导致无法处理长尾或冷启动问题。
tips
长尾:一般指客户可能只与少数产品有过交互记录,导致这些客户的购买行为数据不足以全面反映其偏好或行为模式。
冷启动问题:当新用户首次使用某个平台时,由于缺乏历史行为数据,推荐系统难以为其提供个性化的推荐。
贡献
为解决上述挑战,作者提出了一种新颖的方法来捕获丰富的属性信息,并利用来自不同节点类型的多层拓扑结构,即通用归属多层异构网络嵌入(General Attributed Multiplex HeTerogeneous Network Embedding,GATNE)。该模型已应用于阿里的推荐引擎。
主要方法
问题定义
下表是对本文中一些符号的定义

- 异质网络(Heterogeneous Network)

一个异质网络是一个由节点集合
每个节点
如果
值得注意的是:在异质网络中,由于可能存在多个类型的不同边连接同一对节点,所以不能再用简单的
- 属性网络(Attributed Network)

属性网络是一个赋予了特征表示的网络,即
- 带有属性的多层异质网络(AMHEN)

将AMHEN定义为一张图
- AMHEN Embedding

给定一张图
GATNE模型

Transductive Model:GANTE-T

GATNE-T将特定节点
Base Embedding
将每个节点都用一个基础的向量表示,用于描述其特征。
Edge Embedding
在边嵌入过程中,每个节点

边嵌入的名字是Edge Embedding,但并不是对边的Embedding,而是对节点
表示节点 在边缘类型 上的邻居集合。换句话说,它是所有与节点 直接连接的其他节点的集合。
公式如下:
嵌入过程在一个或多层中重复执行,每次更新都会考虑更多的邻居节点及其嵌入。这样做的目的是让节点的边缘嵌入能够逐渐捕获到更广泛的上下文信息,经过多次迭代后,每个节点

对于每个节点
作者还提到了两种可能的聚合函数:
均值聚合器:将邻居节点的前一层嵌入取平均值,然后通过线性变换和激活函数
来得到新的边缘嵌入。公式如下所示: 其中,
是权重矩阵, 函数计算邻居节点的前一层嵌入的均值 是激活函数。 最大池化聚合器:作者还提供了另一种替代方案,即最大池化聚合器。在这种情况下,边缘嵌入是通过将邻居节点的前一层嵌入与权重矩阵
相乘,再加上偏置项 ,然后求出结果的最大值来获得的。具体公式如下:
自注意力机制(self-attention mechanism)
不同边类型对节点的影响不同,重要程度实际上也是不同的,由此作者引入了自注意力机制来计算不同边类型的权重

作者首先使用自注意力机制来计算了线性组合系数
该公式将可训练的参数
接下来结合节点
最终得到的
Inductive Model: GATNE-I
GATNE-T 是一个 transductive model。它只是聚合了节点的邻居信息,没有应用到节点的属性信息。由上面的公式可知,
这一点对于在线网络是十分致命的,例如一个外卖平台作为节点的商家,骑手和顾客是不断更新的。如果不能加入新的节点,那这个模型基本是含无意义的。
为了应对这一挑战,作者扩展了 GATNE-T,将其应用到Inductive Model中,创建了一个新的模型名为 GATNE-I。这个新模型能够处理部分观测到的网络数据,也就是所谓的 semi-supervised learning 或 inductive learning。主要改变在以下两个方面
- 节点和边的初始嵌入:在 GATNE-I 中,作者将节点
的基础嵌入 和边 的初始嵌入 设置为可参数化的函数。
节点
- 额外的属性项:除了上述的基础嵌入和边的初始嵌入外,GATNE-I 还添加了一个额外的属性项到节点
的最终嵌入中。
这个额外的属性项是由节点
比较
直推式模型和归纳式模型的区别在于:基类向量
- 在Transductive Model中,
和 是基于网络结构,为每个节点直接训练的。所以,无法处理训练中未出现过的节点。 - 在归纳式模型中,训练的是转换函数
和 ,将原始特征 转换为 和 。并非为每个节点直接训练 和 。这就可以处理训练中未出现的节点,只要这个节点有特征 。
tips
归纳式模型之所以可以处理训练中未出现过的节点,是因为它并不是为每个节点直接训练
和 ,而是训练节点特征 的转换函数: 和 。也就是说,为新加入的节点生成嵌入表示时,用到了节点的属性特征信息 ,生成的初始边嵌入,聚合的也是邻居节点的属性特征信息。
模型优化
之前讨论了GATNE两种类型的模型结构,作者接下来介绍了如何学习这两种模型
这两种模型都是基于元路径(meta-path-based)的随机游走生成节点序列,然后输入skip-gram模型,生成嵌入表示。
元路径随机游走:元路径是一个节点类型的序列,例如外卖任务 (商家1-->商家2-->商家3),通过遵循元路径,随机游走可以捕捉到不同节点类型之间的关系。
转移概率:给定一个元路径
,在步长 t 处的转移概率定义如下:
在这个公式中:
表示当前节点 在元路径 中的邻居集合。 表示在时间步 可能到达的所有节点集合。 表示存在一条沿着元路径 的边连接节点 到 。 是条件概率,表示在给定当前节点 和元路径 的条件下,下一个节点 出现的概率。
如果节点
Loss function
作者首先给出了一个负对数似然性的形式的目标函数,它表示了模型在给定节点
接着,我们使用概率分布来计算
为了加快训练速度,我们使用了负采样技术来近似目标函数。负采样损失函数是通过对正样本和负样本的期望值求和来近似的。
最后,再来回顾一下GATNE的整体算法流程

实验


