网络gat是什么意思(gatc是什么意思)

精确实现城市中异常事件的预测,在智能城市中智能交通以及城市公共安全的应用中起着重要的作用。为实现该目的,我们的研究工作从以下两个重要层面对时空数据进行建模: 1)学习异常事件在时间维度上的动态和高阶属性;2)不同维度数据模型(时间,空间以及语义维度)的交互的特性。在该论文中,我们提出了一种基于交互注意力机制的时空数据预测模型,通过异构注意力模块的协同作用,我们可以实现对城市异常事件在不同维度上的呈现出来的不同数据模式的自动学习。通过在实际时空数据上的实验测试,我们所提出的新算法相较于现在的算法呈现出更有的预测效果。

AI TIME 特别邀请了香港大学计算机学院助理教授,博士生导师——黄超,给大家带来分享《推荐系统中的异构关系学习》。

黄超:博士毕业于美国圣母大学,香港大学计算机学院助理教授,博士生导师。目前主要的研究方向主要为人工智能,数据挖掘,时空数据分析,推荐系统。在KDD, WWW, AAAI, IJCAI, SIGIR, CIKM, WSDM等数据挖掘和人工智能领域顶级会议发表论文30余篇。其中计算机学会A类14篇。以第一作者发表的论文曾获得WWW’2019最佳论文提名。与此同时,担任了KDD, WWW, AAAI, IJCAI, SIGIR, WSDM, CIKM, ICLR等会议的评审委员会委员,以及TKDE, TOIS, TIST, TOC, TKDD, TNNLS等期刊的长期审稿人。并且被WSDM’2020会议授予优秀评审奖。


推荐系统在当下应用的十分广泛。无论是当下的国民级app—抖音,还是我们平时常用的一些电商平台,都可以见到推荐系统的身影。推荐系统现在基本上是作为一个线上的用户建模平台中的一个关键技术。

网络gat是什么意思(gatc是什么意思)

我们今天介绍的主要是推荐系统中的异构关系。举个例子,用户侧我们在线上电商平台购物的时候都会遇到一些社交关系,这样我们在做决策的时候多少也会受到这些好友的影响。

网络gat是什么意思(gatc是什么意思)

在商品侧,知识图谱所包含的商品语义信息也是一个很关键的刻画。

网络gat是什么意思(gatc是什么意思)

在用户与商品的交互层面,我们会把喜欢的商品添加到收藏列表,我们也会把觉得ok的商品放到购物车,这样说明用户与商品的交互层面也是存在异构关系的。

综上说明,异构关系是普遍存在的。我们希望在推荐系统中无论是对表征的学习,还是用户兴趣的学习,都进行一个joint learning。

网络gat是什么意思(gatc是什么意思)

用户维度的社交关系social relationship也是会影响到用户决策的。

网络gat是什么意思(gatc是什么意思)

而在商品维度,我们会对商品的语义信息进行建模。可能是同属一个类别,我们基于这些各式各样的信息,可以建立一个商品基于这种关系的图,然后如何在这个图上学习并建立一个用户和商品融合的关键点是我们接下来要重点关注的。

我们接下来主要做的就是探索如何在用户和商品之间的交互中进行joint learning。

网络gat是什么意思(gatc是什么意思)

今日架构介绍,主要有两种架构:

(1)Graph Convolutional Network-based Models(GCN).

受图谱学习框架-图卷积网络(GCN)的启发,一些研究通过在社交网络上递归传播信息来模拟用户之间的影响过程,以细化用户和物品表示。

(2)Graph Attention Network-based Moddels(GAT).

为了区分邻域特征聚合的重要性,提出了一种利用节点空间信息嵌入传播的非谱学习方法——图注意网络(GAT)

一、现有方法

缺少对于用户和商品两个维度的sign information 去joint learning的方式,所以希望可以通过对异构关系的学习加强对推荐系统的学习。

我们采用以下三图作为我们方法的input

网络gat是什么意思(gatc是什么意思)

然后用这个用户的社交信息和商品的知识图谱信息作为额外的异构关系信息,我们希望能够预测用户是否决定去点击或购买某个商品。我们将这个整体方法定义为一个coorative的异构图信息。

在这个场景中,我们需要考虑该如何提取信息,从以下5个方面:

网络gat是什么意思(gatc是什么意思)

当前GCN作为推荐系统里比较普遍的一个模型,然后我们用GCN对整个graph进行encoding。对于用户和商品,我们都得到了相应的表征信息。之所以用GCN,主要考虑到就是快,GAT可能每次传递消息都要计算attentino,会带来更大开销。

针对我们有的这5个graph,我们在这里是从用户维度和商品维度进行综合学习。最终的出对于用户和商品都学到了一个attention来代表5个graph的每一个语义。

网络gat是什么意思(gatc是什么意思)

当前GCN作为推荐系统里比较普遍的一个模型,然后我们用GCN对整个graph进行encoding。对于用户和商品,我们都得到了相应的表征信息。之所以用GCN,主要考虑到就是快,GAT可能每次传递消息都要计算attentino,会带来更大开销。

针对我们有的这5个graph,我们在这里是从用户维度和商品维度进行综合学习。最终的出对于用户和商品都学到了一个attention来代表5个graph的每一个语义。

网络gat是什么意思(gatc是什么意思)

这里我们用到的主要是一种基于自监督的方式,自监督可以分为generative和contrastatic两种方式,目的是在整个的推荐系统场景下有些数据较为稀疏甚至有噪声。自监督是希望可以额外引进一个学习的任务,来对推荐系统里的模型增强。既然我们考虑到了这个因素,所以我们希望可以在用户和商品之间注入一个高阶信息。

用户本身有一个local level的一个embedding,还有他们的social graph,这里我们会去学一个 graph embedding。最终我们会进行互信息的计算,通过额外的任务——判断这个node是否属于这个sub-graph。通过引入整体的自监督任务,就可以学到模型中用户本身的高阶信息。

这个模型等于是学习到了用户local interaction的方式,同时也考虑到了高阶信息。

以上就是同时考虑到用户的社交信息和商品的知识图谱,这两个维度共同来对整个用户的表征学习进行增强。

二、模型实验结果:对比多类推荐系统

网络gat是什么意思(gatc是什么意思)

第一个要对比的就是社交推荐的模式

第二个商品之间对比的是对于知识图谱增强的推荐系统算法

我们主要的关注点是对异构关系的学习,我们拿现有的异构图网络相关方法作为baseline,考虑到5个维度,对比实验结果如下:

网络gat是什么意思(gatc是什么意思)

每一个方面的relation对于整体的增强都起到来正面效果,说明不同的异构关系对于整个推荐系统都是有促进作用的。

除了从用户和商品两个维度进行研究工作之外,还有研究用户与商品之间的多交互行为。

网络gat是什么意思(gatc是什么意思)

用户的多种行为是广泛存在于推荐系统场景之中,不过现有工作很少对这个方向进行研究,但其实用户的不同行为反映了不同的偏好。

推荐系统中行为的异构性(挑战)

  • 不同行为之间的相关性极为复杂。不同用户有着不同的行为模式。
  • 每一种行为都有其背后的语义信息。比如,点击行为的发生比购买更为频繁。
  • 不同行为对最终决策的重要程度是如何的呢?

Memory-Augmented Transformer Network(MATN)

网络gat是什么意思(gatc是什么意思)

主要是基于关系学习的方式来做的,接下来我们挨个来看各模块。

网络gat是什么意思(gatc是什么意思)

假设每个用户有多个行为,每个行为都有一个表征,也就是说这个用户拥有多个embedding,每个embedding具有不同的语义。通过memory增强把每个行为的表征映射到一个多维度的网络中去。这相当于我们通过不同的语义维度去学习这个行为本身增强的信息。

多行为中比较关键的是去考虑不同行为之间的关系。

网络gat是什么意思(gatc是什么意思)

网络gat是什么意思(gatc是什么意思)

我们在这里面用的是这个Mult-head Self-attention的方式,学习两两行为之间的关系。

最终在做预测的时候,我们是希望能够学到一个统一的unify的表征。

网络gat是什么意思(gatc是什么意思)

我们希望对用户学到表征,再针对商品进行预测。最后用到了Gating Mechanism这个方式去学习。

这个模型总体来说是有3个模块。

第一个模块:学到每个行为独自的语义信息

第二个:学习到不同行为之间两两的关系

第三个:最终预测的时候,学习每个行为对于最初预测行为的作用有多大

该模型优势:可以比较显式的展现行为对于最后预测时究竟起到什么作用。比如用户点击这个商品之后有多大的概率会去买。

网络gat是什么意思(gatc是什么意思)

后续在之前模型之上做了一个高阶信息的版本,建立在用户高阶连接信息的多行为模式。

网络gat是什么意思(gatc是什么意思)

首先我们需要两个维度的信息。

网络gat是什么意思(gatc是什么意思)

1)我们如何把额外的商品属性抓取进来,考虑到用户和商品之间多行为交互

2)时间的维度。不同商品和用户发生交互的时间不一样,那么和用户表征学习不一样。将时间信息以类似position embedding的方式注入到整个transformer框架中。

用户的信息来源于商品,而商品的信息来源则有两个维度。一个是和他相关联的商品,一个是和他有交互的用户。

我们需要在消息传递的时候需要考虑到异构性因素,这样我们就可以弄清在消息传递时是哪种行为的消息对用户的表征是增强的。

除了上述这些对行为异构性进行区分的方法之外,还有一个关键点就是——不同用户的多行为模式不同。比如有些人就是喜欢在电商平台闲逛,但是很少买;而有一部分人就是喜欢直接去看自己感兴趣的商品。下面介绍下研究这个方向的一篇paper。

网络gat是什么意思(gatc是什么意思)

这里我们引入了一种基于自监督的对比学习方式。对比学习中,我们需要找到不同的维度,然后对其进行推近和拉远操作。

这时我们的每一个行为都代表的是一种用户的交互的模式。我们会在每个用户的不同行为之间进行互信息的计算。在一定程度上去拉近不同行为,希望通过对比学习模式对行为之间的独立性进行学习。因此,我们引入了Meta Network,借此来学习不同的权重信息。因为在整体的环境下,我们希望可以实现个性化的函数。每个用户参数生成取决于自己的embedding或说行为。利用的是每个用户的交互行为不同而进行其自身的表征学习。

三、模型表现

网络gat是什么意思(gatc是什么意思)

我们对比了一下传统GCN的方法,并且对比了一些现有的多行为方式。在这个结构之中,可以看出我们的模型是较优的。

我们的模型对于一些稀疏型的用户在一定程度之上也可以起到增强作用。

网络gat是什么意思(gatc是什么意思)

在评估结果的时候,我们对于这种不同交互行为的用户划分成不同的group,然后在不同的group之中进行单独的效果验证。我们可以看出,我们的模型相对其它baseline占优,尤其是面对稀疏用户。

网络gat是什么意思(gatc是什么意思)

另一个场景是在动态推荐系统之中对异构性进行学习。因为最终行为都是基于时间信息,比如用户逛街先看衣服,之后鞋子、裤子,最后加入购物车的顺序则并不相同。此时的用户多行为模式可以在行为序列建模中通过短期与长期两种模式进行学习。

网络gat是什么意思(gatc是什么意思)

整个框架,将序列分为子序列,代表局部模式。我们融合了transformer模式,然后在全局下进行消息传递,把行为类型作为一种额外的embedding方式注入到整个模型之中,最后再次进行一个global模式下的消息传递。

四、未来方向

  • 行为数据稀缺下的学习
网络gat是什么意思(gatc是什么意思)

  • 推荐场景下,可解释的异构关系互表示(哪些行为影响了最终决策)
网络gat是什么意思(gatc是什么意思)

  • 实时计算框架(常见app所用的推荐算法)
  • 推荐场景之下,如何在多模态信息进行融合并与异构信息进行交互?

网络gat是什么意思(gatc是什么意思)


论文链接:

https://www.ijcai.org/Proceedings/2020/601

创业项目群,学习操作 18个小项目,添加 微信:80709525  备注:小项目

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.vsaren.net/7408.html