论文链接:https://arxiv.org/abs/1905.01669

代码链接:https://github.com/cenyk1230/GATNE

来源:KDD 2019

作者本人写的论文讲解:阿里电商场景下的大规模异构网络表示学习


文章目录

  • 1 摘要
  • 2 介绍
    • 2.1 挑战
    • 2.2 作者提出
  • 3 问题定义
  • 4 方法
    • 4.1 Transductive Model: GATNE-T
    • 4.2 Inductive Model: GATNE-I
    • 4.3 模型优化
  • 5 实验
  • 6 总结

1 摘要

本文解决的是Attributed Multiplex Heterogeneous Networks(属性多重异质网)的嵌入学习问题。

本文提出的模型支持直推学习(transductive)和推理学习(inductive)。

在Amazon、Youtube、Twitter和Alibaba四个数据集上进行了链接预测实验,本文提出的模型超越了state-of-the-art的效果。模型还成功应用在了阿里巴巴电商平台的推荐系统中,证明了有效性和高效性。

2 介绍

本文解决的是属性多重异质网(AMHENs)的嵌入学习问题,图中有多种类型的节点和多种类型的边,并且每个节点都有不同的属性。

多重异质网(MHEN)嵌入学习:节点之间存在多种邻近(proximities)类型,产生具有多个视图(views)的网络,就需要进行多重网络嵌入学习。

2.1 挑战

处理AMHENs面临的挑战如下:

(1)Multiplex Edges(复用边)

每个节点对可能具有多种不同类型的关系。应从不同的关系中学习到特征,进而学习到统一的嵌入表示。

(2)Partial Observations

真实的网络数据通常是部分被观测的,也就是inductive learning问题。例如,一个long-tailed顾客可能与一些商品的交互很少。现有的大多数方法都聚焦于transductive settings,不能处理long-tailed和冷启动问题。

(3)可扩展性

算法要具有可扩展性,能在大型图上应用落地。

2.2 作者提出

提出GATNE(General Attributed Multiplex HeTerogeneous Network Embedding)模型,获取了丰富的属性信息并且利用了不同节点的多重拓扑结构。

GATNE的主要特点如下:

(1)定义了属性复用异质图嵌入问题;

(2)GATNE支持直推式学习和归纳式学习。并且理论证明了本文的直推式模型比现有的模型更一般化。

(3)有很好的可扩展性,可处理上亿级别的节点和十亿级别的边。

3 问题定义

一些符号定义如下:

异质图:G=(V,E)G=(V,E)G=(V,E),节点类型数+边类型数$\geq$2

属性图:G=(V,E,A)G=(V,E,A)G=(V,E,A)A={xi∣vi∈V}A={\{x_i|v_i\in V\}}A={xiviV}是节点特征集合。

属性多重异质网(AMHEN):G=(V,E,A),E=⋃r∈RErG=(V,E,A), E=\bigcup_{r\in R}E_rG=(V,E,A),E=rRErErE_rEr表示所有类型为r的边。作者将网络按照边的类型分解成Gr=(V,Er,A)G_r=(V,E_r,A)Gr=(V,Er,A)

AMHEN嵌入学习:给定AMHEN G=(V,E,A)G=(V,E,A)G=(V,E,A),为每个节点学习到统一的低维空间表示。

下图就是AMHEN的一个例子:

图的左边用户和商品都分别有多个属性,而且用户和商品之间的连边类型也是多样的,一个用户和一个商品可能有多个类型不同的连边。图的中间部分是将左边的图分别形式化为了:AMHEN(属性多重异质网)、MHEN(多重异质网)和HON(同质网)。右边是,三种方法的实验效果对比。

4 方法

分别介绍直推式的模型(GATNE-T)和归纳式的模型(GATNE-I)。

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

4.1 Transductive Model: GATNE-T

在GATNE-T模型中,将节点viv_ivi在边类型rrr上的embedding分成两部分:基类嵌入(base embedding)和边嵌入(edge embedding),如上图所示。

节点viv_ivi的基类嵌入在不同类型边中共享。

节点viv_ivi在边类型rrr上的第k层的边嵌入ui,r(k)∈Rs,(1≤k≤K)u^{(k)}_{i,r}\in R^s, (1\leq k\leq K)ui,r(k)Rs,(1kK),是通过聚合邻居边信息得到的,计算如下:

其中Ni,rN_{i,r}Ni,r是由rrr类型的边连接的节点viv_ivi的邻居节点。ui,r(0)u^{(0)}_{i,r}ui,r(0)是随机初始化的。

上式的聚合函数可以使用GraphSAGE中的mean聚合:

也可以使用池化聚合方法,例如max-pooling聚合:

然后将节点viv_ivi的所有边嵌入拼接,其中Ui∈R(s×m)U_i\in R^{(s\times m)}UiR(s×m)

使用自注意力机制计算注意力系数ai,r∈Rma_{i,r}\in R^mai,rRm

其中wr∈Rda,Wr∈Rda×sw_r\in R^{d_a}, W_r\in R^{d_a\times s}wrRda,WrRda×s是对于rrr类型边,需要训练的参数。

所以,节点viv_ivi对于r类型边的整体embedding表示如下:

其中bib_ibi是节点viv_ivi的基类向量,αr\alpha_rαr是表示边嵌入权重的超参数,Mr∈Rs×dM_r\in R^{s\times d}MrRs×d是需要训练的转换矩阵。

然后作者对比了本文的GATNE-T和最新提出的MNE(Hongming Zhang, Liwei Qiu, Lingling Yi, and Yangqiu Song. 2018. Scalable Multiplex Network Embedding. In IJCAI’18. )。区别在于GATNE-T为不同类型的边分配了注意力。

直推式模型GATNE-T只是聚合了节点的邻居信息没有应用到节点的属性信息,并且聚合的时候按照边的类型进行了分类,生成节点viv_ivi对于rrr类型边的嵌入表示。而且在计算点viv_ivi对于rrr类型边的嵌入表示时,还使用注意力机制,为不同类型的边分配了不同的注意力

由上面的公式可知,ui,ru_{i,r}ui,r都是通过聚合邻居得到的,训练的参数都是一个整体的矩阵。所以,GATNE-T不能单独为新加入的节点生成嵌入表示,也就是不能使用训练集训练好的参数用于生成(训练时不可见的)测试集的节点嵌入表示,必须重新训练。也就是说GATNE-T只能进行直推式学习(transductive learning),不能进行归纳式学习(inductive learning)

4.2 Inductive Model: GATNE-I

GATNE-T不能处理不可见的节点,也就是说它只能为训练中出现过的节点生成embedding,即直推式学习(transductive learning),不能进行归纳式学习(inductive learning)。

为了可以进行归纳式学习,接着提出了GATNE-I模型,也是如4.1中的图所示

首先,定义基类向量bib_ibi为节点viv_ivi的属性xix_ixi的函数bi=hz(xi)b_i=h_z(x_i)bi=hz(xi)。其中hzh_zhz是转换函数,z=ϕ(i)z=\phi (i)z=ϕ(i)是节点viv_ivi的边类型。

不同类型的节点,属性的维度可能也不同。这就要求转换函数hzh_zhz有不同的形式,例如多层感知机

类似地,边嵌入的初始值ui,r(0)u^{(0)}_{i,r}ui,r(0)也应是属性xix_ixi的函数ui,r(0)=gz,r(xi)u^{(0)}_{i,r}=g_{z,r}(x_i)ui,r(0)=gz,r(xi)。其中gz,rg_{z,r}gz,r也是一个转换函数,将属性特征转换为节点viv_ivi关于rrr类型边的边嵌入。其中zzz是节点viv_ivi的类型。

对于节点viv_ivi关于rrr类型边的嵌入,归纳式模型还多增加了一个属性项:

其中,βr\beta_rβr是系数,DzD_zDz是类型为zzz的节点viv_ivi对应的特征转换矩阵。

直推式模型和归纳式模型的区别在于:基类向量**bib_ibi和初始边嵌入ui,r(0)u^{(0)}_{i,r}ui,r(0)**的生成方式。

  • 直推式模型中,bib_ibiui,r(0)u^{(0)}_{i,r}ui,r(0)是基于网络结构,为每个节点直接训练的。所以,无法处理训练中未出现过的节点。
  • 归纳式模型中,训练的是转换函数hzh_zhzgz,rg_{z,r}gz,r,将原始特征xix_ixi转换为bib_ibiui,r(0)u^{(0)}_{i,r}ui,r(0)。并非为每个节点直接训练bib_ibiui,r(0)u^{(0)}_{i,r}ui,r(0)。这就可以处理训练中未出现的节点,只要这个节点有特征xxx

归纳式模型之所以可以处理训练中未出现过的节点,是因为它并不是为每个节点直接训练bib_ibiui,r(0)u^{(0)}_{i,r}ui,r(0),而是训练节点特征xix_ixi的转换函数:hzh_zhzgz,rg_{z,r}gz,r。也就是说,为新加入的节点生成嵌入表示时,用到了节点的属性特征信息xix_ixi,为了生成边嵌入,聚合的也是邻居节点的属性特征信息

4.3 模型优化

使用基于元路径(meta-path-based)的随机游走生成节点序列,然后输入skip-gram模型,生成嵌入表示。

给定原始图分割出来的rrr视角的图Gr=(V,Er,A)G_r=(V,E_r,A)Gr=(V,Er,A),以及元路径模式TTT,第ttt步的转移概率为:

给定节点viv_ivi和其路径中的上下文CCC,目标函数是最小化如下的负对数似然,其中θ\thetaθ表示所有参数:

仿照metapath2vec的做法,使用异质的softmax函数。给定viv_ivi的条件下vjv_jvj的概率定义如下:

其中ckc_kck是节点vkv_kvk的context embedding,分子分母中的viv_ivi是节点viv_ivi关于rrr类型边的整体embedding。

最后,使用负采样技术,对于节点对(vi,vj)(v_i,v_j)(vi,vj),目标函数−logPθ(vj∣vi)-logP_{\theta}(v_j|v_i)logPθ(vjvi)近似如下:

其中,LLL是针对每个正样本进行负采样得到的负样本数

算法流程总结如下:

5 实验

数据集:Amozon, YouTube, Twitter, Alibaba-S(采样), Alibaba

实验任务:链接预测任务

对比方法

(1)Network Embedding Methods:

DeepWalk, LINE, node2vec。由于这些方法是应用在同质图上的,所以按照不同的边类型先将图分解,再将其输入模型,得到针对每个图的节点嵌入。

(2)Heterogeneous Network Embedding Methods:

metapath2vec

(3)Multiplex Heterogeneous Network Embedding Methods:

PMNE, MVE, MNE

(4)Attributed Network Embedding Methods

ANRL :使用邻居增强的自编码器对节点属性信息建模;使用基于属性解码器的属性感知的skip-gram模型,捕获网络结构特征。

(5)本文的方法:

GATNE-T, GATNE-I。没有节点属性的数据集,为其生成节点特征。

实验结果

6 总结

本文聚焦于属性多重异质网的嵌入学习问题,提出了GATNE-TGATNE-I模型分别处理直推式学习和归纳式学习。

将GATNE-I的节点embedding分成三部分:基类向量、边向量、属性向量。

其中基类向量和属性向量不同类型的边之间共享的。边向量聚合邻居信息,并使用注意力机制计算得到的。

链接预测任务超过state-of-the-art,并且在阿里推荐系统中落地应用。


感觉模型挺简单的,只不过应用场景是属性多重异质网,也就是一个user和一个item之间可能有多条不同类型的边。

具体到电商领域,这多种类型的边可以具体为:click(点击)、add-to-preference(添加收藏)、add-to-cart(添加到购物车)、conversion(购买)。

这篇文章模型简单,特点还是偏应用,毕竟已经在阿里的推荐系统中落地了。

【论文解读 KDD 2019 | GATNE 】Representation Learning for Attributed Multiplex Heterogeneous Network相关推荐

  1. Representation Learning for Attributed Multiplex Heterogeneous Network GATNE笔记

    KDD,2019 这篇文章给人感觉比较全面.general,针对的网络叫Attributed Multiplex HEterogeneous Network (or AMHEN),即考虑节点属性.考虑 ...

  2. 【异构图笔记,篇章3】GATNE论文阅读笔记与理解:General Attributed Multiplex HeTerogeneous Network Embedding

    [异构图笔记,篇章3]GATNE论文阅读笔记与理解:General Attributed Multiplex HeTerogeneous Network Embedding 上期回顾 论文信息概览 论 ...

  3. 论文解读|2020TPAMI|Deep High-Resolution Representation Learning for Visual Recognition

    用于视觉识别的深度高分辨率表征学习 github:https://github.com/HRNet 论文地址:https://arxiv.org/pdf/1908.07919 摘要 高分辨率表示对于位 ...

  4. 【论文解读 ASONAM 2019】Semi-Supervised Learning and Graph Neural Networks for Fake News Detection

    论文题目:Semi-Supervised Learning and Graph Neural Networks for Fake News Detection 论文链接:https://ieeexpl ...

  5. 论文阅读:Self-supervised video representation learning with space-time cubic puzzles

    论文名称:Self-supervised video representation learning with space-time cubic puzzles(2019 AAAI) 论文作者:Dah ...

  6. 论文阅读:Self-Supervised Video Representation Learning With Odd-One-Out Networks

    目录 Contributions Method 1.Model 2.Three sampling strategies. 3.Video frame encoding. Results More Re ...

  7. AI和大数据如何落地智能城市?京东城市这6篇论文必读 | KDD 2019

    来源 | 京东城市(ID: icity-jd)作为世界数据挖掘领域的最高级别的学术会议,ACM SIGKDD(国际数据挖掘与知识发现大会,简称 KDD)将于 2019 年 8 月 4 日-8 日在美国 ...

  8. 论文理解—— Disentangle-based Continual Graph Representation Learning

    EMNLP 2020 Disentangle-based Continual Graph Representation Learning 链接: https://arxiv.org/abs/2010. ...

  9. [论文学习]TDN: An Integrated Representation Learning Model of Knowledge Graphs

    [论文学习以及翻译]TDN: An Integrated Representation Learning Model of Knowledge Graphs 文章主要内容 摘要 前言 相关工作 基于T ...

  10. T-PAMI-2021论文Semi-Supervised Multi-View Deep Discriminant Representation Learning阅读笔记

    提示:文 0.论文信息 题目:Semi-Supervised Multi-View Deep Discriminant Representation Learning 期刊: IEEE Transac ...

最新文章

  1. Spring注解 开发
  2. 5分钟回顾Linux25年的发展历程与变迁
  3. 用python读取图像_Python读取图片属性信息的实现方法
  4. 惨一个字!Windows 10 October 2018 Update市占率太低
  5. 简书markdown支持html,简书上使用Markdown(超详细)
  6. 传统APP与微信端APP十大优劣对比
  7. 【laravel5.4】重定向带参数
  8. 在c语言中a 这条语句的作用,C语言复习第二章
  9. 信息学奥赛一本通 2068:【例2.6】鸡兔同笼
  10. 公众号点击图片变成另一张_公众号互动内容:小众潮流or下一个风口?| 新榜观察...
  11. ASP.NET MVC学习系列 WebAPI初探
  12. wcdma系统随机接入过程的流程图_随机接入过程
  13. 用uniapp做的一个在线简历,可以发布成为微信小程序,给面试加分
  14. 广告行业中那些趣事系列25:腾讯2020广告大赛冠军解决方案带来的思考
  15. RAW 图像格式转换工具 bayer2rgb
  16. win7系统下阿里旺旺无法登陆怎么解决
  17. web页面中实现局部页面的刷新
  18. mac idea设置堆大小导致idea无法启动
  19. 免费学习coursera的课程的操作办法
  20. Android2.3.4陀螺仪移植

热门文章

  1. 微商如何利用微信公众号来盈利
  2. 游戏HTML翻翻乐,大班益智游戏翻翻乐优秀教案
  3. FCPX插件:PremiumVFX Ink Title(墨水标题字幕条动画插件)
  4. NOIP2017翻车记
  5. java excel 插件开发工具_强力推荐!五款能让你成为Excel“高手”的Excel插件
  6. 箱形图适用于哪种数据_python数据分布型图表箱形图系列带误差线箱形图
  7. 机器学习实战(一)KNN算法
  8. 春江花朝秋月夜,往往取酒还独倾——python函数进阶
  9. The Truman Show
  10. mysql触发器安全吗_猎八哥浅谈MYSQL触发器