KDD 2019 | GATNE:一种针对 Multi-Edge 的大规模异构图嵌入模型

简介: 本文处理的就是这种包含异构节点和异构边的图的嵌入学习。

传统的图嵌入(graph embedding)方法一般只针对同构的图,但是实际的图往往都是异构的。只包含异构节点的图的嵌入学习已经被广泛研究,例如 metapath2vec[1] 提出了异构的 random walk 和 skip gram。而包含异构边的图的嵌入学习近来开始被大家所关注,比如 MNE[2] 通过引入对于每种 edge type 的 embedding 来处理异构边的情形。在阿里电商场景下,由用户和商品构成的图就是异构的,并且不仅包含异构的节点(用户和商品),而且包含异构的边(用户和商品的多种交互行为,比如点击、购买等)。不仅如此,图中的节点还包含着丰富的属性。本文处理的就是这种包含异构节点和异构边的图的嵌入学习。

根据图结构(同构/异构)以及是否包含节点特征,我们将图分为如下六类:_HO_mogeneous _N_etwork(HON), _A_ttributed _HO_mogeneous _N_etwork(AHON), _HE_terogeneous _N_etwork(HEN), _A_ttributed _HE_terogeneous _N_etwork(AHEN), _M_ultiplex _HE_terogeneous _N_etwork(MHEN), _A_ttributed _M_ultiplex _HE_terogeneous _N_etwork(AMHEN)。

同时我们也在下表中列出了处理各种类型的图的方法(其中GATNE-T/I是我们提出的方法):

image.png

下图是一个带节点属性的异构图的例子。在左侧原始的图中,用户包含了性别、年龄等属性,商品包含了价格、类目等属性。用户与商品之间包含了4种类型的边,分别对应点击、收藏、加入购物车以及购买行为。传统的 graph embedding 算法比如 DeepWalk 的做法会忽略图中边的类型以及节点的特征,然后转换成一个 HON。如果将边的类型考虑进去,那么就得到一个 MHEN,能够取得非常明显的效果。此外,如果将节点的属性也同时考虑进去,那么就利用了原图的所有信息,可以得到最好的效果。

image.png

模型

由于有多种类型的边(比如点击、购买),这里我们考虑给每个节点在每种边类型下都学一个表示。比如我们给用户和商品在点击场景下学一种表示,在购买场景下学一种表示。但是这两种表示之间并不是完全独立的,是通过某种机制互相影响的。我们主要考虑的就是如何来建模不同类型的表示之间相互影响的方式:

image.png

模型的大致结构如上图所示。对于GATNE-T(T for transductive)来说,每个节点在每种edge type 下的 embedding 由两个部分组成,分别是 base embedding 和 edge embedding。base embedding 是每个节点在每种 edge type下共享的,而 edge embedding 是通过相邻节点的 edge embedding 计算得到的。具体来说,类似于 GraphSAGE[3],这里的 edge embedding 的计算方式如下:

image.png

其中 i, j 表示节点编号,r 表示某种 edge type,k 表示第 k 层的 edge embedding(1<=k<=K),aggregator function 可以是 mean aggregator 或者 max-pooling aggregator。我们将第 K 层的 edge embedding 拼起来记为矩阵U:

image.png

其中,m 表示 edge type 的数量。由于我们不知道每个节点在每种 edge type 下的表示之间的关系,所以我们通过 self-attention[4] 的机制来建模这种相互关系,并得到每种 edge type 下的表示对于各个 edge type 的权重:

image.png

其中是模型需要训练得到的参数,是计算得到的权重向量。最后我们就能得到每个节点i在某种 edge type r 下的向量表示:

image.png

由于实际问题中会遇到冷启动等问题,需要给没有在训练集中出现过的节点也求得 embedding。而 transductive model 不具备这种能力。所以我们引入了节点的特征提出了相应的 inductive model,记为 GATNE-I。具体来说,原先在 GATNE-T 中和都是随机初始化的。但是在 GATNE-I,这两个 embedding 都是基于节点的特征,也就是通过节点的特征经过某种变换(比如线性变换或者神经网络等)得到的。那么节点i在某种 edge type r 下的向量表示就可以表达成:

image.png

其中image.png表示节点 i 的特征。

接下来介绍模型的训练方式。GATNE-T/I 模型的训练方式基于 meta-path-based random walk 和 heterogeneous skip gram。具体来说,我们预先设定 meta-path schem,image.png,(比如 User-Item-User),那么 random walk 的转移概率即为:.

image.png

其中表示类型为 r 的边集。给定一个节点与其在某个 random walk 上的 context C,我们的目标是最小化如下的负对数似然函数:

image.png

其中右侧的每一项的概率通过 heterogeneous softmax function 来计算:

image.png

其中 c 表示节点的 context embedding。最后我们通过 heterogeneous negative sampling 来近似负对数似然:

image.png

整体的算法流程如下:

image.png

实验

我们在3个公开数据集 Amazon、YouTube、Twitter 和阿里数据集(user-item访问、购买、点击、加购关系)进行了实验,验证了我们所提出的模型的有效性,同时也说明了异构边的信息对如何学到更好的 graph embedding 能带来较大的帮助。用到的数据集的规模如下(3个公开数据集从原始数据集中进行了采样):

image.png

如下表所示,在3个公开数据集和阿里小数据集上,我们提出的 GATNE-T/I 取得了最好的效果。Amazon 数据集上由于商品的特征比较弱,所以 GATNE-I 的效果会稍差于GATNE-T;而在阿里数据集上,因为节点的特征非常丰富,所以 GATNE-I 的效果会好于 GATNE-T。YouTube 和 Twitter 数据集不包含节点特征,所以我们把 DeepWalk 跑出来的200维向量作为初始的节点特征。由于 DeepWalk 生成的特征也只利用了图的结构,没有引入额外的信息,所以两种方法 GATNE-T/I 的结果差别不大。

image.png

我们实现了3个 baseline(DeepWalk, MVE, MNE)和 GATNE-T/I 的分布式版本,运行在PAI Tensorflow 上,并在阿里大数据集上进行了测试。如下表所示,相比于 baseline 来说,GATNE-I 取得了非常显著的提高。

image.png

我们对模型的 convergence 和 scalability 进行了测试。在阿里大数据集上,相比GATNE-T 来说,GATNE-I 能够更快地达到比较好的效果。并且,随着模型所使用的worker 数量的增加,GATNE-T/I 模型的训练时间都能显著降低。

image.png

参考文献

[1] Yuxiao Dong, Nitesh V Chawla, and Ananthram Swami. 2017. metapath2vec: Scalable representation learning for heterogeneous networks. In KDD’17. ACM, 135–144.
[2] Hongming Zhang, Liwei Qiu, Lingling Yi, and Yangqiu Song. 2018. Scalable Multiplex Network Embedding. In IJCAI’18. 3082–3088.
[3] Will Hamilton, Zhitao Ying, and Jure Leskovec. 2017. Inductive representation learning on large graphs. In NIPS’17. 1024–1034.
[4] Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Yu, Bing Xiang, Bowen Zhou, and Yoshua Bengio. 2017. A structured self-attentive sentence embedding. ICLR’17.

目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
满足不同下游任务特征需求!Sea AI Lab 提出多粒度自监督学习框架Mugs,刷新多项SOTA(2)
满足不同下游任务特征需求!Sea AI Lab 提出多粒度自监督学习框架Mugs,刷新多项SOTA
221 0
|
13天前
|
并行计算 监控 搜索推荐
使用 PyTorch-BigGraph 构建和部署大规模图嵌入的完整教程
当处理大规模图数据时,复杂性难以避免。PyTorch-BigGraph (PBG) 是一款专为此设计的工具,能够高效处理数十亿节点和边的图数据。PBG通过多GPU或节点无缝扩展,利用高效的分区技术,生成准确的嵌入表示,适用于社交网络、推荐系统和知识图谱等领域。本文详细介绍PBG的设置、训练和优化方法,涵盖环境配置、数据准备、模型训练、性能优化和实际应用案例,帮助读者高效处理大规模图数据。
42 5
|
20小时前
|
数据采集 文字识别 测试技术
智谱开源端侧大语言和多模态模型GLM-Edge系列!
GLM-Edge系列模型是由智谱开源,专为端侧应用设计的大语言对话模型和多模态理解模型,包括GLM-Edge-1.5B-Chat、GLM-Edge-4B-Chat、GLM-Edge-V-2B和GLM-Edge-V-5B四种尺寸。这些模型针对手机、车机及PC等不同平台进行了优化,通过量化的技术手段,实现了高效运行。例如,在高通骁龙8 Elite平台上,1.5B对话模型和2B多模态模型能够达到每秒60 tokens以上的解码速度,而通过应用投机采样技术,这一数字可提升至100 tokens以上。
|
6月前
|
存储 人工智能 算法
Multi-Head RAG:多头注意力的激活层作为嵌入进行文档检索
现有的RAG解决方案可能因为最相关的文档的嵌入可能在嵌入空间中相距很远,这样会导致检索过程变得复杂并且无效。为了解决这个问题,论文引入了多头RAG (MRAG),这是一种利用Transformer的多头注意层的激活而不是解码器层作为获取多方面文档的新方案。
86 1
|
7月前
|
机器学习/深度学习 分布式计算 算法
【机器学习】Spark ML 对数据特征进行 One-Hot 编码
One-Hot 编码是机器学习中将离散特征转换为数值表示的方法,每个取值映射为一个二进制向量,常用于避免特征间大小关系影响模型。Spark ML 提供 OneHotEncoder 进行编码,输入输出列可通过 `inputCol` 和 `outputCol` 参数设置。在示例中,先用 StringIndexer 对类别特征编码,再用 OneHotEncoder 转换,最后展示编码结果。注意 One-Hot 编码可能导致高维问题,可结合实际情况选择编码方式。
84 6
|
6月前
|
机器学习/深度学习 算法
【机器学习】BK- SDM与LCM的融合策略在文本到图像生成中的应用
【机器学习】BK- SDM与LCM的融合策略在文本到图像生成中的应用
69 0
|
7月前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之负采样版本DSSM双塔模型训练好之后,怎么分别获取user tower的embedding和item tower的embedding
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
机器学习/深度学习 资源调度 自然语言处理
深度学习进阶篇-国内预训练模型[6]:ERNIE-Doc、THU-ERNIE、K-Encoder融合文本信息和KG知识;原理和模型结构详解。
深度学习进阶篇-国内预训练模型[6]:ERNIE-Doc、THU-ERNIE、K-Encoder融合文本信息和KG知识;原理和模型结构详解。
11390 0
深度学习进阶篇-国内预训练模型[6]:ERNIE-Doc、THU-ERNIE、K-Encoder融合文本信息和KG知识;原理和模型结构详解。
|
人工智能 边缘计算 运维
IEEE EDGE 2020论文:Astraea — 以优雅的方式在边缘部署AI服务
近日,阿里云边缘计算团队博士后付哲的论文《Astraea: Deploy AI Services at the Edge in Elegant Ways》入选2020年IEEE边缘计算国际会议(IEEE International Conference on Edge Computing),并在大会上进行了宣讲。他和他的团队如何看待以上问题,本文将为您解答。
10552 3
IEEE EDGE 2020论文:Astraea — 以优雅的方式在边缘部署AI服务
|
存储 自然语言处理 并行计算
PyTorch 新库 TorchMultimodal 使用说明:将多模态通用模型 FLAVA 扩展到 100 亿参数
PyTorch 新库 TorchMultimodal 使用说明:将多模态通用模型 FLAVA 扩展到 100 亿参数
264 0
下一篇
无影云桌面