持续创造,加速生长!这是我参与「日新计划 10 月更文应战」的第24天,点击检查活动详情
引荐体系中的图神经网络:综述(Graph Neural Networks in Recommender Systems: A Survey)
文章:Shiwen Wu, Fei Sun, Wentao Zhang, and Bin Cui. 2021. Graph Neural Networks in Recommender Systems: A Survey.J. ACM 37, 4, Article 111 (April 2021), 34 pages. doi.org/10.1145/112…
引荐体系中的数据大多数是图数据,图神经网络处理图数据具有天然优势,所以在引荐体系中引进图神经网络。
在引荐体系中,首要应战是从用户/项意图交互和顺便信息(假如可用)中学习有用的用户/项目 embedding.
引言
引荐体系成为许多企业不可或缺的东西,如电子商务网站、音乐、视频网站等。
前期和现在两种办法比照:
-
依据项意图邻域办法:直接向用户引荐与他们交互过的前史项目类似的项目。简略、搞笑在前期取得成功。
-
依据表明学习的办法:它企图将用户和项目编码为同享空间中的接连向量(embedding),然后使它们直接具有可比性。
引荐体系依据用户的爱好和项目特点评估用户对项意图偏好,用户的爱好和物品的特点都用紧缩的矢量表明。
(原文中有,现在删掉了这段描绘)首要应战:怎么学习具有前史互动和其他顺便信息(如社会联系和常识图)的用户/物品embedding
图结构数据举例:
-
用户之间的交际联系和与项目相关的常识图天然是图数据
-
用户和项目之间的交互能够被视为二部图
-
序列中的项目转化也能够被结构为图
运用GNN的长处:
-
引荐体系中有大量的图结构数据,运用一个一致的结构GNN来建模丰厚的数据,运用图学习办法来取得用户/物品的embedding 效果好。
-
图神经网络能够经过迭代传达捕获用户项联系中的高阶交互。而且,假如社会联系或常识图谱的信息可用,则能够使得将这样的辅佐信息有用地集成到网络结构中。
学术界和工业界成果:
-
术研讨中,大量作业表明,依据GNN的模型优于以往的办法,GNN许多变体被提出并运用于各种引荐使命,如依据会话的引荐、爱好点(Points-of-interest, POI)引荐、群体引荐和绑缚引荐。
-
在职业中,GNN也被布置在网络规模的引荐体系中,以产生高质量的引荐成果。例如,Pinterest在一个具有30亿个节点和180亿个边的图上开发并布置了一个依据随机行走的GCN算法模型,名为PinSage,在在线A /B测试中,用户参与度得到了大幅提升。
文章首要贡献:
-
新的分类法:对现有的依据图神经网络的引荐模型分类。依据所处理的使命,分为一般引荐和序列引荐。进一步将这两个使命中已有的模型分为三类:仅有交互信息的模型、交际网络增强的模型和常识图谱增强的模型。
-
全面审查:对每个类别的首要问题和模型结构进行总结
-
未来研讨:四个方面:功率、多图集成、可伸缩性和序列图结构方面,原本是前面四个,现在变为六个(引言部分没提是哪六个)
后续内容
-
第2节介绍了引荐体系和图神经网络的初步内容,并介绍了分类结构。
-
第3节和第4节别离总结了每个类别的首要问题,以及现有作业怎么应对一般性主张和序列主张的这些应战。
-
第5节介绍了运用GNN的其他引荐使命。
-
第6节评论了该范畴面临的应战,并指出了未来的开展方向。终究,咱们在第7节中总结查询。
背景和分类
引荐体系
引荐体系的两类使命:
-
从成对的交互中建模用户的静态偏好。
-
从接连的行为中建模用户的动态偏好。
一般引荐 General recommendation
实际上,它一般被称为协同过滤使命,这儿仅仅为了和序列引荐区别。
一般引荐一般假定用户有静态的偏好,并依据隐式(如点击、阅读或购买)或显式(如评分)反馈对其进行建模。
常见范式:
一般引荐模型的一个常见范式是经过用户和项意图表明来重构用户的前史交互。公式表述如下:
h_u、h_i别离是终究学习到的用户表明和项目表明,f 是评分函数,可所以点积、余弦类似度、多层感知器等,y_u,i表明用户u对第i项的偏好得分,一般以概率表明。
研讨说明:
大多数前期研讨以矩阵的形式考虑用户-物品的交互,并将引荐表述为矩阵完成使命。运用矩阵分化(Matrix Factorization, MF)将用户和物品投射到一个同享的向量空间中,重构整个用户-物品交互矩阵,即估计用户对其未见物品的偏好
最近,运用深度学习极大地改动了引荐体系。①一个方向是经过整合辅佐信息和深度学习的力量来进步引荐功能,例如文本和图像。②另一项研讨企图运用更强壮的模型架构来取代传统的矩阵分化,例如,多层感知器和主动编码。
序列引荐 Sequential recommendation
序列引荐以为用户的偏好是动态的、不断演化的。它企图经过探究用户前史交互中的次序形式来猜测用户或许与之交互的接连条目。
序列引荐中,用户的前史交互是按照时刻次序组织成序列的。
依据用户是否匿名及行为划分为两种类型:
-
序列引荐
-
会话引荐,依据会话的引荐能够看作是具有匿名和会话假定的序列引荐的一种子类型
下文一般上述两种类型一致描绘为为序列引荐。
二者的差异?序列长度(会话引荐长度短?)不同?是否匿名?
序列说明:
关于用户 u 上述 s_u 是用户U的一个前史序列,i_s,1 表明用户 u 在第1个时刻步点击了项目i,n是整个序列的长度。
这儿点击实际上是用户和项目之间的交互,运用“点击”简略代替,方便描绘。
序列引荐的使命:
是猜测最或许的用户 u 鄙人一个时刻步 n+1最有或许点击的项目。公式描绘:
找到候选项目中是第n+1次点击项意图概率最大的一个。
***序列引荐的首要应战:***是学习一种反映用户当时偏好的高效序列表明。应对这一应战不一起期有不同的做法:
-
前期选用马尔可夫链(Markov Chain, MC)来捕获物品到物品的转化,假定最近点击的物品反映了用户的动态偏好。
-
循环神经网络(RNN)在序列建模方面的优势,一些作业运用RNN单元来捕获序列形式。
-
为了进一步增强会话表明,除了最近的条目外,还运用留意机制整合了整个序列。
-
受Transformer(依据自留意力机制的一个深度学习模型)在NLP使命中的出色体现的启示,SASRec和BERT4Rec运用自留意力技能来建模物品交互,这使得物品之间的转化更具灵敏性。
-
跟着GNN的呈现,运用GNN获取杂乱的项目转化形式在序列引荐中越来越盛行。
图神经网络技能
图神经网络简介
***GNN的首要思维:***是在传达进程中对来自街坊的特征信息进行迭代聚合,并将聚合的信息与当时的中心节点表明进行集成。
***从网络架构的视点看:***GNN是将多个传达层叠加在一起,这些传达层由聚合和更新操作组成。
在论文中,“聚合”是指从街坊处搜集信息,作为街坊的聚合表明;“更新”是指将中心节点表明和聚合表明集成为最新的中心节点表明;“传达”指的是“聚合”和“更新”的结合。
在聚合进程中,既有作业要么经过均值池操作相等对待每个街坊,要么经过留意机制区别街坊的重要性。
在更新进程中,中心节点的表明和聚合的街坊将被集成到中心节点的更新表明中。
GNN的中心实际上也在于这两个操作:聚合和更新。无论怎么改换,实际上都是对这两个进程的改善,选用不同的函数适用于不同场景。如GRU机制、带非线性改换的级联和求和运算等。
图神经网络模型分类(依据结构规划分类)
依据结构规划,GNN模型能够分为:循环GNN (recurrent GNN, RecGNN)、卷积GNN (convolutional GNN, ConvGNN)、时空GNN (spatial-temporal, STGNN)和图主动编码器(graph autoencoder, GAE)。
-
RecGNN的方针是学习具有循环神经结构的高档节点表明,即相同的一组参数被反复运用于节点。
-
ConvGNN在每一层中叠加多个具有不同参数的传达层。因为卷积神经网络与其他神经网络的复合更加灵敏和方便,使得卷积神经网络近年来得到了极大的普及。现有的依据gnn的引荐作业大多选用ConvGNN来模仿传达进程。
-
STGNN是针对时空图规划的,它能够一起捕获一个图的空间和时刻依靠联系。
-
在无监督学习结构中,GAEs被广泛用于学习图embedding
引荐范畴广泛选用的四种典型的GNN结构:
**1、GCN:**近似于图拉普拉斯算子的一阶特征分化,迭代地调集来自街坊的信息。具体地说,它更新embedding:
A~为增加自衔接的无向图的邻接矩阵,D是一个对角矩阵,D_ii表明v_i节点的度。
2、GraphSage:]为每个节点抽样一个固定巨细的邻域,提出mean/sum/maxpooling聚合器,并选用拼接操作进行更新。先聚合,在更新,公式如下:
**3、GAT:**假定街坊对中心节点的影响既不相同也不是由图结构预先决议的,因而它经过运用留意机制来区别街坊的贡献,并经过注重其街坊来更新每个节点的向量。公式如下:
**4、GGNN:**是一种典型的RecGNN办法,它在更新进程中选用门控循环单元(GRU),其长处是:GGNN确保收敛,但关于大型图来说或许存在问题,因为GGNN在一切节点上屡次运行递归函数。公式如下:
上述四种模型看似不同,实际上中心思维是相同的,都是“聚合”–>”更新”,只不过选用的聚合办法、更新办法不同。
引荐体系中代表性图结构
为什么将图神经网络用于引荐
**最直观且中心的原因是:**GNN技能已被证明在各个范畴的图数据表明学习中具有强壮的才能,引荐中的大多数数据本质上都是图结构,如图1所示。
另外的原因:
- 数据一致处理问题。传统模型需求依据不同的数据类型规划不同的模型,而图的视点考虑引荐中的信息,能够运用一致的GNN结构来处理一切这些使命。
一般引荐的使命是学习有用的节点表明,即用户/项表明,并进一步猜测用户偏好。
序列引荐的使命是学习信息图表明,即序列表明。节点表明和图表明都能够经过GNN学习。
- 图神经网络能够经过迭代传达捕获用户项联系中的高阶交互。
序列模型严厉遵循序列的时刻次序,而GNN因为其循环结构,能够捕获序列行为中隐含的杂乱用户偏好。
依据图神经网络引荐的分类
分类的基本原理在于两个方面:(1)不同类型的信息具有不同的图结构特征,需求相应的GNN战略;(2)一般引荐和序列引荐背面的假定是不同的,前者考虑的是静态用户偏好,而后者考虑的是动态用户偏好。
分类成果:
**一般引荐:**在这些类别中,模型假定用户的偏好随时刻不变。依据所运用的信息类型将它们进一步分类为三个子类。
-
假如没有辅佐信息,现有的模型将用户项联系视为用户项二部图。
-
经过交际联系信息,GNN技能被用于挖掘交际影响,以增强用户的表明。
-
运用常识图谱信息,运用GNN办法获取项与项之间的相关性,增强项的表明。
**序列引荐:**关于次序引荐,中心思维是为下一个项目引荐捕获序列中的转化形式。现有的大多数研讨只依据序列捕捉用户的动态首选项。他们首要构建序列图,然后运用GNN办法捕获转化形式。
一般引荐 General recommendation
一般引荐旨在经过运用用户-项交互数据来建模用户偏好,然后供给一个反映每个用户静态长时刻爱好的引荐列表。除了用户-项交互的信息之外,辅佐信息(假如可用)一般被用来增强用户/项的表明。两种典型的辅佐信息类型是交际网络和常识图谱。
值得留意的是,不同类型的信息具有不同的图结构特征。具体来说,用户-项二部图有两种类型的节点,而且每个节点的街坊都是同构的;交际网络是一个同构图;常识图谱具有多种实体和联系。考虑到图结构的不同特征需求相应的GNN战略,咱们依据所运用的信息类型对其进行分类。
Bi表明二部图
用户项目交互信息
算法结构
GNN基本思维本质上是运用用户交互的项目来增强用户表明,运用用户从前与项目交互过的项目来丰厚项目表明。多层GNN办法能够模仿信息分散进程,更有用地运用用户-物品交互中的高阶连通性。
关于用户-项目二部图(二部图中相邻的节点不同类型),要害的应战是怎么将交互项目/用户的信息传达到用户/项目(终究的用户/项目),并学习终究的用户/项目表明来进行猜测。要充沛运用GNN办法在二部图上的优势,首要需求处理四个问题:
- 图结构。图结构关于信息传达的规模和类型至关重要。
原始的二部图由一组用户/项目节点以及它们之间的交互组成。是在异构二部图上运用GNN,仍是依据两跳街坊重构同构图?考虑到核算功率,怎么抽样具有代表性的街坊来进行图的传达,而不是在整个图上操作?
-
街坊聚合。怎么调集来自街坊节点的信息?具体来说,是区别街坊的重要性,模型中心节点和街坊之间的亲和力,仍是街坊之间的交互?
-
信息更新。怎么将中心节点表明与相邻节点的聚合表明结合起来?
-
终究节点表明。猜测用户对项意图偏好需求整体的用户/项目表明。是运用终究一层的节点表明仍是一切层节点表明的组合作为终究的节点表明?
图结构
在原始图中存在两个问题:
-
一个是有用性,即原始图结构或许不足以学习用户/项目表明。
-
另一个是功率,在具有数百万乃至数十亿节点的图上传达信息是不切实际的。
为了处理第一个问题,现有的著作经过增加边或虚拟节点来丰厚原有的图结构。
除了user-item图外,Multi-GCCF和DGCF还在原始图的两跳街坊之间增加边,然后得到user-user图和item-item图。经过这种办法,用户之间、项目之间的接近信息能够显式地兼并到用户-项目交互中。
考虑到之前的著作疏忽了用户选用项意图意图,DGCF引进了虚拟意图节点,将原始图分化为每个意图对应的子图。在不同意图独立性的束缚下,经过在意图感知子图之间迭代传达信息,能够学习不同意图下的解耦表明。终究的表明是将这些解耦表明进行整合,从不同的方面来表明节点,具有更好的表达才能。
针对第二个问题,提出了采样战略,使GNN高效并可扩展到大规模的依据图的引荐使命。
PinSage规划了一种依据随机游走的采样办法,以取得拜访次数最高的邻域的固定巨细。这样,那些不直接与中心节点相邻的节点也或许成为它的街坊。
为了进行概括引荐,IG-MC运用方针用户/项目及其单跳街坊作为节点来结构子图。封闭子图规划减少了对原始图结构的依靠,增强了将模型转移到另一个数据集的泛化才能。
采样是原始图信息和核算功率之间的权衡。PinSage包含更多的随机性,而IG-MC献身了更多的图信息。在转移方面,IG-MC抽样办法较好;否则,PinSage的战略或许会更好。该模型的功能取决于采样战略,而更有用的采样战略在社区建设中的运用值得进一步研讨。
街坊聚合
会聚进程是图结构中信息传达的重要环节,它决议了需求传达多少街坊信息。均值池化是最直接的聚合操作之一,它相等对待街坊:
均值池很简略实现,但当相邻节点的重要性显著不一起,或许就不适宜了。在传统GCN的基础上,一些研讨选用了“度归一化”办法,依据图结构给节点赋权:
PinSage因为选用随机游走抽样战略,在聚合街坊的向量表明时,选用归一化拜访计数作为街坊的重要性。可是,这些聚合函数依据图结构来确认街坊的重要性,而疏忽了衔接节点之间的联系。
考虑到交互项目在反映用户偏好方面并不具有相等代表性,研讨者运用留意机制来区别街坊的重要性。依据一个常识,即契合用户爱好的嵌入物品应该更多地传递给用户(类似于物品),NGCF选用依据元素的产品来增加用户关怀的物品的特征,或许用户对物品特征的偏好。以用户节点为例,邻域表明核算如下:
NIA-GCN以为现有的聚合函数不能保存街坊内部的联系信息,因而提出了成对的街坊聚合办法来显式捕获街坊之间的交互。具体地说,它在每两个街坊之间运用元素相乘来建模用户-用户/项-项联系。
虽然这些办法很有用,但关于浏览、点击等多种交互类型的状况,他们没有给予满足的注重。针对用户与物品之间的多类型联系,研讨人员规划了一种分层聚合战略,并观察效果收益。例如,MBGCN首要将属于每个行为的交互项别离聚合起来,然后将不同的聚合行为进一步集成起来。
信息更新
在聚合街坊表明和中心节点表明的状况下,怎么更新中心节点表明是信息迭代传达的要害。
一些研讨运用街坊的聚合表明作为新的中心节点表明,即完全丢掉用户或项目节点的原始信息,这或许会疏忽用户内涵偏好或内涵项目特点。
***其他的则一起考虑中心节点自身和它的街坊音讯来更新节点表明。***一些研讨将这两种表明线性地结合在和池或均匀池操作。遭到GraphSage的启示,一些研讨选用带非线性改换的串联函数将这两种表明法整合如下(拼接后做非线性改换):
其间最外层为激活函数,如ReLU、LeakyReLU、sigmoid。与线性组合比较,结合特征改换的串联操作允许更杂乱的特征交互。
值得留意的是,一些研讨观察到非线性激活对整体功能的贡献很小,它们经过消除非线性来简化更新操作,然后坚持乃至进步功能和进步核算功率。例如,为了进一步简化GNN结构,LightGCN去掉了特征改换,试验成果证明晰其有用性。
终究节点表明
逐层运用聚合和更新操作生成节点对GNN每个深度的表明。终究的猜测使命需求用户和项意图整体表明。一些研讨运用GNN的终究一层的节点向量作为终究表明。
可是,在不同层中取得的表明强调经过不同衔接传递的音讯。具体来说,较低层次的表征更多地反映个别特征,而较高层次的表征更多地反映街坊特征。为了运用不同层输出所表明的衔接,近年来的研讨选用了不同的表明集成办法。
1、衔接:h=h_0+h_1++h_n,将每一层的表明拼接在一起:
2、均值池化:对一切层的表明求均值:
3、求和池化:对一切层的表明求和,不求均值:
4、均匀数池或总和池集成都相等地对待来自不同层的表明。有些将一切层的表明与按层加权池集成在一起
经过叠加多个GNN层来实现信息传达,有助于捕获长依靠联系,增强具有满足邻域信息的节点表明。可是,堆叠太多层也会导致过滑润问题。最近有研讨正在寻觅这种平衡。
交际网络增强
交际网络首要用于增强用户表明。
理论:“有联系的人会相互影响”
两种运用办法:
-
一些直接运用这种联系作为正则化器来束缚终究的用户表明
-
另一些运用这种联系作为输入来增强原始用户嵌入。
前期仅仅简略地考虑每个用户的一阶街坊来建模社会影响,即疏忽了影响在社会网络中的递归分散。
在实践中,用户或许会遭到她朋友的朋友的影响。在以往的研讨中,忽视高阶影响分散或许会导致引荐功能欠安。
因为能够模仿用户怎么遭到递归的社会分散进程的影响,GNN已成为一种在引荐来建模社会信息的盛行的挑选。要运用GNN将用户之间的联系整合到交互行为中,首要需求处理两个问题:
-
朋友的影响。朋友也有同样的影响力吗?假如不是,怎么区别不同朋友的影响?
-
偏好集成。用户参与两种类型的联系,即与老友的交际联系和与项意图互动(在类似的项目上产生交互)。怎么从社会影响的视点整合用户体现与互动行为?
朋友的影响
一般来说,交际图只包含用户是否是朋友的信息,但交际联系的强度一般是不知道的。要传达朋友的信息,就必须确认朋友的影响力。
DiffNet 运用均值池操作相等对待朋友的影响。
可是,等量影响的假定并不契合实际状况,用户的影响也不合适简略地用老友的数量来确认。事实上,用户更有或许遭到有激烈社会联系或类似偏好的朋友的影响。
因而,大多数研讨经过丈量有联系的朋友之间的留意力机制来区别街坊的影响。
相关于均匀池操作,留意机制进步了整体绩效,这进一步验证了不同朋友有不同影响力的假定。
ESRP运用主动编码器机制,经过过滤不相关的联系并查询新的街坊来修改观察到的社会联系。
此外,最近的一项名为ESRF的研讨以为,社会联系并不总是牢靠的。社会信息的不牢靠性体现在两个方面:一方面,具有明确社会联系的用户或许没有影响力;另一方面,所取得的社会联系或许是不完整的。考虑到不加挑选地将不牢靠的社会联系归入引荐或许会导致较差的功能。
偏好集成
交际增强引荐体系中的用户触及两种类型的网络,一种是用户-项目二部图,另一种是交际图。
交际增强用于一般引荐的两种战略:
为了经过运用社会信息来增强用户偏好表征,有两种战略能够将来自这两个网络的信息结合起来:
-
一是别离从这两个网络中学习用户表明,然后将其整合到终究的偏好向量中,如图3a所示
-
另一种办法是将两个网络兼并为一个一致的网络,运用GNN传达信息,如图3b所示。
两种战略的各自优势:
1、第一种战略的优势在于两个方面:一方面,咱们能够区别两个网络的分散进程的深度,因为它们是分开处理的;另一方面,任何用户-项二部图的高档办法都能够直接运用,而关于同构图的交际网络,GNN技能开始是针对同构图提出的,因而十分合适模仿影响进程。这儿有两种有代表性的办法。
1、DiffNet遵循SVD++结构,将来自两个空间的用户表明结合和池化操作,其间经过对前史项目运用均值池化取得项目空间中的用户偏好,并经过运用GNN学习交际网络中的用户表明。
留意,将交互项目嵌入的均匀表明作为项目空间中的用户偏好,在GNN视图中适当于聚合用户向量的单跳街坊。DiffNet简略地将两个图的用户表明与线性加法结合起来。
2、为了充沛整合这两个潜在因素,GraphRec在衔接的矢量上运用多层MLPs,经过运用非线性操作增强特征交互。
2、将这两种图整合到一个一致的网络中,其长处是能够在一个一致的模型中模仿交际网络中的高阶社会影响分散和用户-物品二部图中的爱好分散,这两种信息一起反映用户的偏好。
在每一层,diffnet++规划了一个多层次的留意力网络来更新用户节点。具体来说,首要运用GAT机制别离聚合二部图中的街坊(即交互项)和交际网络(即老友)的信息。考虑到不同的用户在平衡这两种联系时或许有不同的偏好,它进一步运用另一个留意力网络来交融街坊的两种躲藏状态(在聚合街坊节点时,这两种状态的权重不同)。到目前为止,还没有证据表明哪种战略会取得更好的绩效。
常识图谱增强
参阅:什么是仅仅图谱?
运用反映用户之间联系的交际网络增强用户表明,运用常识图谱经过特点表达项目之间的联系,增强项目表明。
将常识图引进引荐能够带来两个方面的长处:
-
常识图谱中条目之间丰厚的语义相关有助于挖掘它们之间的联系,进步条意图表明才能
-
常识图谱衔接用户的前史交互项目和引荐项目,增强了成果的可解释性。
**应战:**因为常识图的图结构杂乱,即多类型实体和多类型联系,运用常识图进行引荐具有适当大的应战性。
以往的作业是经过常识图嵌入(KGE)办法对常识图进行预处理,以学习实体和联系的嵌入。常用的KGE办法的局限性在于,它们侧重于用过渡束缚建模严厉的语义相关,更合适于与图相关的使命,如链接猜测,而不是引荐。一些研讨规划元途径来聚合街坊信息。它们很大程度上依靠于手动定义的元途径,这需求范畴常识,关于杂乱的常识图来说是适当劳动密布型的。
常识图增强引荐在具有用户-项交互信息和常识图的状况下,充沛运用常识图中丰厚的信息,经过显式捕获物品之间的相关性,协助估计用户对物品的偏好。为了进步常识图增强引荐的有用性,首要需求处理两个问题:
-
图构建。考虑到常识图的杂乱性和常识图与用户-项目图信息交融的必要性,一些研讨首要结构了常识图。怎么平衡简略和信息(想要信息但不想图杂乱)?怎么有用地将用户整合到常识图谱中?
-
联系感知聚合。常识图的一个特点是实体之间有多种联系。怎么规划一个联系感知的聚合功能来聚合来自链接实体的信息?
图构建
有的作业直接在原有的常识图上运用GNN,而有的作业则依据常识图和用户-项二部图的信息,在第一阶段简化图结构或结构子图。
简化动机来自两个方面:一是常识图包含多个实体和联系,且总是大规模的,这增加了将GNN运用于图表明学习的应战;
二是为了充沛运用常识图进行引荐,必须将用户人物归入常识图中,单纯将用户节点作为常识图中的另一种实体或许会引进不相关的信息,不够有用。
图简化的一种典型办法是IntentGC,它将多实体常识图中的一阶邻近性转化为二阶邻近性,即坚持只要一个节点的项与项之间的联系,然后简化图的结构。
具体来说,假如物品i1和i2都是经过一个辅佐节点衔接,辅佐节点的类型表明为这两个项目之间的联系。这种转化的长处是,从节点类型的视点来看,它将多实体图转化为同构图。但该战略不适用于大多数项目节点都是多跳(超越两跳)街坊的图,因为它极大地简化了图结构,但价值是丢失了两个项节点之间的链接信息。
为了注重与用户-项目交互相关的实体和联系,一些研讨首要主动提取高阶子图,将方针用户和方针项目 与 用户的前史交互项目及其在常识图中的语义联系起来。
AKGE假定两个节点之间的途径越短,衔接越牢靠,经过以下进程构建子图:经过TransR预练习常识图中实体的嵌入;核算两个衔接实体之间的成对欧氏间隔;选取方针用户到项目节点之间间隔最短的k条途径。潜在的约束是子图结构依靠于预先练习的实体嵌入和间隔衡量的定义。
ATBRG穷尽查找多层实体街坊的方针项和用户前史行为中的项,并经过多个堆叠实体康复衔接用户行为和方针项的途径。为了强调信息密布的实体,ATBRG进一步用单个链接对实体进行了删减,这也有助于控制图的规模。虽然这些办法能够取得与方针用户-项对更相关的子图,但无论是预练习实体嵌入仍是穷尽查找和剪枝途径,都是适当耗时的。一种有用、高效的子图构建战略值得进一步研讨。
联系感知聚合
为了充沛捕获常识图中的语义信息,在传达进程中既要考虑链接实体(即ei,ej),又要考虑它们之间的联系(即r_ei,r_ej)。此外,从引荐体系的视点来看,用户的作用也或许有影响。因为GAT在依据衔接节点自适应分配权重方面的优势,大多数现有的作业在常识图谱上运用了传统GAT的变体,即中心节点由衔接实体的加权均匀值更新,并依据得分函数分配权重,表明为a(ei,ej,r_ei,r_ej,u)
。要害的应战是怎么规划一个合理有用的分数函数。
关于将用户节点视为一种实体的作业来说,在传达进程中,用户的偏好预计会溢出到常识图谱中的实体,因为项目节点会依据互动用户和相关特点的信息进行更新,然后其他实体会跟着迭代分散包含用户的偏好。因而,这些作业没有明确地对用户的爱好联系进行建模,而是经过衔接的节点和它们的联系来区别实体的影响。例如,受常识图谱中过渡联系的启示,KGAT依据联系空间中链接实体之间的间隔来分配权重。
实体链接参阅:https://zhuanlan.zhihu.com/p/100248426
其间,Wr是联系的转化矩阵,它将实体映射到联系空间。这样一来,间隔较近的实体会向中心节点传递更多信息。这些办法更合适于包含用户节点的结构子图,因为经过堆叠有限的GNN层,用户的爱好很难扩展到一切的相关实体。
关于不结合两个图源的作业,这些研讨经过依据衔接联系和特定用户分配权重,明确地表征用户对联系的爱好。例如,KGCN选用的评分函数是用户嵌入和联系嵌入的点积,即。
这样,联系更契合用户利益的实体就会向中心节点传达更多的信息。
序列引荐 Sequential recommendation
序列引荐依据用户最近的活动猜测用户的下一个偏好,企图在接连的条目之间建模次序形式,为用户生成准确的引荐]。
在GNN优势的启示下,运用GNN将用户的序列行为转化为序列图来获取转化形式的办法越来越盛行。
大多数现有的作业只注重于从序列中推断出时刻上的偏好。边信息也能够用来增强序列信息,但这方面的研讨还很少。这儿扼要总结了表3中将要评论的作业。
表3 依据图神经网络的序列引荐。“in & out相邻矩阵”的注释意味着将序列图视为有向图。
这儿和一般引荐类似,别离从只要序列信息、运用交际网络增强、运用常识图谱增强三个方面分析。
序列信息
从项目之间的邻接联系来看,项目序列能够建模为图形结构数据。GNN依据序列图,经过迭代传达获取项意图变迁,并学习有代表性的项目embedding。
序列引荐中GNN的整体结构:
留意:这儿并没有运用GNN来学习序列的embedding
为了在次序引荐中充沛运用GNN,需求处理三个首要问题:
-
图构建。要将GNN运用到序列引荐中,需求将序列数据转化为序列图。为每个序列独自结构一个子图是否满足?在几个接连的项之间增加边是否比只在两个接连的项之间增加边更好?
-
信息传达。要捕获转化形式,哪种传达机制更适宜?有必要区别链接项意图次序(比方上图中的2先到3仍是先到4)吗?
-
序列偏好。为了取得用户的时刻偏好,应该集成序列中的表明。是简略地运用留意力池化仍是运用RNN结构来增强接连时刻形式?
图构建
与本质上具有二部图结构的用户-项交互不同,传统次序引荐中的次序行为天然地以时刻次序表明,即序列,而不是序列图。依据用户的序列行为构建序列图是将GNN运用于序列引荐的必要条件。
大多数著作经过将序列中的每个项作为一个节点,并在接连点击的两个项之间增加边来结构每个序列的有向图。但存在必定的应战:
- 在大多数状况下,用户序列的长度较短,包含的信息有限,无法反映用户的动态偏好,在图学习中不能充沛运用GNN。
针对应战提出了一些战略:
最直接的办法是运用额外的序列,首要研讨如下:
-
HetGNN(Heterogeneous Graph Neural Network,异质图神经网路)选用其他行为序列来丰厚方针行为。
-
A-PGNN处理已知用户的状况,因而将用户的前史序列与当时序列兼并,以丰厚项-项衔接。
-
DGTN依据类似序列或许反映类似的转化形式的假定,将当时序列及其相邻(类似)会话整合到一个图中。
-
GCE-GNN运用一切会话中的项目转化来协助当时序列中的转化形式,该形式运用了本地上下文和大局上下文。这些办法都在原始序列图中引进了更多的信息,与单一序列图比较功能得到了进步。
另一种干流办法是调整当时序列的图结构:
-
假定当时节点对多个接连项有直接影响,MA-GNN提取三个后续项并在它们之间增加边。
-
SGNN-HN 考虑到仅在接连项之间增加边或许会疏忽悠远项之间的联系,因而引进一个虚拟的“星”节点作为序列的中心,与当时序列中的一切项相衔接。“星”节点的向量表明反映了整个序列的整体特征。因而,每个项目都能够经过“星型”节点取得不直接衔接的一些项意图常识。
-
Chen和Wong指出,现有的图结构办法疏忽了邻域的序列信息,导致了无效的长时刻捕获问题。因而,他们提出 LESSR,它从一个序列结构两个图:一个区别相邻的次序,另一个允许从项到这以后一切项的快捷途径。
LESSR图构建参阅:https://zhuanlan.zhihu.com/p/283108100,图和序列仅有对应
音讯传达
在给定序列图的状况下,规划一种有用的传达机制来捕获项目之间的转化形式是十分必要的。一些研讨调整了GGNN结构在有向图上传达。它运用均值池将前项和后项的信息别离进行聚合,并将两种聚合表明进行组合,运用GRU组件将街坊和中心节点的信息进行集成。传达函数如下:
N表明对应的街坊的调集,GRU()表明GRU组件。与池操作不同,GRU中的门机制决议哪些信息被保留和丢掉。与相等对待街坊的GGNN不同,一些著作运用留意机制来区别街坊的重要性。
上述办法在音讯传递进程中都选用了排列不变的聚合函数,但疏忽了邻域内项的次序,这或许会导致信息的丢失。为了处理这个问题,LESSR在图结构中保留了条意图次序,并运用GRU组件按次序聚合街坊,如下所示:
h_i_s,t_k表明i_s,t邻域中按时刻排序的第k个项目,n是聚合k个项目之后的邻域表明。关于用户感知的次序引荐,A-PGNN和GAGA用用户表明法增强了邻域中项意图表明。
次序偏好
因为传达迭代的局限性,GNN不能有用地捕获项目之间的长时刻依靠联系。因而,序列中的终究一项(或任何一项)的表明不足以反映用户的次序偏好。大多数将序列转化为图的图结构办法都失去了部分序列信息。
为了取得有用的序列表明,已有的研讨提出了几种整合序列中项目表明的战略:
- 考虑到序列中的项目具有不同的优先级,因而广泛选用留意力机制进行整合。
一些著作核算序列中终究一项与一切项之间的留意权重,并将项表明聚合为大局偏好,并将其与局部偏好(即终究一项表明)兼并为整体偏好。这样,整体首选项在很大程度上依靠于终究一项与用户首选项的相关性。
受多层自我留意战略在序列建模中的优势启示,GC-SAN在GNN生成的项目表明的顶层堆叠多个自我留意层,以捕获长时刻依靠联系。
-
除了运用留意机制进行序列集成外,一些著作还明确地将序列信息整合到集成进程中。例如,NISER和GCE-GNN增加了方位嵌入,它反映了项意图相对次序,以有用地取得方位感知项目表明。
-
为了平衡接连的时刻和灵敏的过渡形式,FGNN选用带有留意的GRU机制,以次序的项目表明迭代更新用户偏好。
交际网络增强
与交际网络增强一般引荐类似,一种直观的主意是,用户的动态偏好能够经过老友的偏好来增强,而这些偏好是由用户的次序行为推断出来的。可是,据咱们所知,在次序引荐中运用社会联系信息的注重很少。或许的原因是,在次序引荐中,特别是用户id不知道的状况下,首要是从用户的次序行为(即项意图次序)中学习用户的表明。序列中的动态首选项比依据用户id的静态首选项重要得多。咱们将扼要介绍一个有代表性的著作,它选用GNN处理次序引荐中的社会信息。DGRec[94]首要运用LSTM机制从用户最近的接连行为中提取用户的动态爱好。此外,DGRec为用户引进了一组潜在的嵌入,以反映他们的静态偏好。将静态偏好和动态偏好相结合,初始化交际网络中的用户表明。考虑到社会影响或许会跟着朋友之间联系的不同而改变,DGRec运用GAT来区别朋友在分散进程中的影响。成果表明,在序列引荐中加入社会信息能够进一步进步功能。
常识图谱增强
与3.3节的评论类似,序列引荐也能够从常识图中包含的丰厚信息中获益,项意图表明能够经过它们的语义衔接得到增强,尤其是在序列数据不足的状况下。与常识图增强一般引荐战略类似,序列信息和常识图信息既能够独自处理,也能够一致为一个图。据咱们所知,将GNN运用于常识图增强次序引荐的作业只要一个。Wang和Cai选用SRGNN提出的GNN结构来捕获过渡形式,并将常识图信息与键值记忆网络结合起来。怎么充沛运用这两种信息还有待进一步研讨。
其他引荐使命
除了一般引荐和次序引荐外,还有一些引荐子使命,如POI引荐和分组引荐。
点击率猜测(Click-through rate (CTR) prediction)是大型工业运用中引荐体系的一项重要使命,它依据多种类型的特征来猜测点击率。CTR的要害应战之一是对特征交互进行建模。
受GNN的信息传达进程的启示,最近的一项作业Fi-GNN运用GNN捕捉特征之间的高阶交互。具体来说,结构一个特征图,每个节点对应一个特征场,不同的场经过边相互衔接。因而,将特征交互使命转化为跨图传达节点信息。
爱好点(POI)引荐在依据方位的服务中起着要害作用。依据空间和时刻特征,POI引荐应模仿POI之间的地舆影响以及用户次序行为的过渡形式。
在POI引荐范畴的几种图数据,如user-POI二部图、依据签入的序列图和地舆图,即必定间隔内的POI是连通的,边权取决于POI之间的间隔。
Chang等人以为,用户接连拜访这两个POIs的次数越多,这两个POIs之间的地舆影响就越大。因而,签到不只反映了用户的动态偏好,还反映了POIs之间的地舆影响。
相应地,他们规划了一个名为GPR的模型,该模型从user- POI图和序列图中捕捉用户偏好和地舆影响。此外,为了显式地包含POIs之间的地舆分布信息,序列图中的边权取决于POIs之间的间隔。
群组引荐的意图是依据用户的前史行为向一组用户主张项目,而不是单个。
存在三种类型的联系:用户-物品,每个用户与多个物品交互;用户组,一个组由几个用户组成;项目组,一组用户都挑选相同的项目。“Group”能够看作是衔接用户和群组引荐中的项意图桥梁,能够看作是图的一部分,也能够不看作图的一部分。
下面是这两种战略对应的两种代表性著作。GAME在图中引进“组节点”,并运用GAT为每个交互街坊分配适当的权重。经过传达分散,能够运用交互项和用户迭代地更新组表明。可是,这种办法不能直接运用于动态更改组和不断构成新组的使命。
GLS-GRL没有引进“组”实体,而是专门为每个组结构了相应的图,其间包含用户节点、项目节点及其交互。组表明是经过集成组中触及的用户表明生成的。
绑缚引荐旨在为用户引荐一组整体的项目。关于群组引荐,“群组”是由用户组成的;关于绑缚引荐,“组”意味着一组项。类似地,要害的应战是取得绑缚包的表明。
有三种类型的联系:用户-物品,每个用户与多个物品交互;用户绑缚,用户挑选绑缚包;物品绑缚,一个绑缚包由若干项组成。
BGCN将这三种关体系一为一个图,并从用户的视点规划了项级和绑缚包级传达。
HFGN将绑缚包视为用户经过绑缚包与物品交互的桥梁。相应地,它依据用户-绑缚包交互和绑缚包-项目映射结构一个层次结构,并进一步捕获一个绑缚包中的项目-项目交互。
未来研讨方向和敞开性问题
针对引荐中的异质图的GNN
异质性是引荐体系中图结构数据的首要特征之一,也就是说,引荐中的许多图包含各种类型的节点和链接。
例如,常识图谱有多类实体和联系。因为异质图的一些独特特征(如交融更多的信息和丰厚的语义),直接将同质图的办法运用于它们或许会导致次优的表明。
最近的作业首要是为异质图规划GNN办法。
一些作业选用元途径来辅导传达进程。可是,这些作业中的元途径需求手艺规划,而主动生成这些元途径将是更可取的。
考虑到街坊聚合,一个可行的处理方案是分层聚合战略,即首要聚合每个类型内的分组街坊,然后整合不同类型的聚合表明。这种战略更合适于联系数量有限的图,关于杂乱的图,探究一种更灵敏、更强壮的战略仍然是一个敞开的问题。
一些关于依据GNN的引荐的研讨也留意到了异质性问题。
例如,Multi-GCCF和NIA-GCN运用与节点类型相对应的不同转化矩阵。
MBGCN经过分层聚合处理多行为引荐。
虽然有这些新的尝试,很少有著作考虑到更杂乱的图的异质性问题,例如常识图谱。此外,考虑异质性的战略总是引进更多的核算应战,怎么进步核算功率需求进一步研讨。
多样化和不确认的代表性
除了数据类型的异质性(例如,节点类型,如用户和项目,以及边缘类型,如不同的行为类型),图中的用户一般也有不同的和不确认的爱好。
像以前的作业那样,将每个用户表明为一个单一的向量(低维向量空间中的一个点),很难捕捉到用户爱好中的这种特征。因而,怎么表明用户的多重和不确认的爱好是一个值得探究的方向。
一个天然的挑选是用各种办法将这种一元向量扩展为多元向量,例如,分化表明学习或胶囊网络。一些依据GNN的引荐作业也现已开始用多个向量表明用户。
例如,DGCF明确地为多向量表明增加了正交束缚,并别离对每个方面的链接节点之间的相邻联系进行迭代更新。
多向量表明的引荐研讨,尤其是依据GNN的引荐模型的研讨还处于初步阶段,未来还有许多问题需求研讨。例如:
-
怎么拆分与用户意图相关的嵌入;
-
怎么以自适应的办法为每个用户设置不同的爱好数;
-
怎么为多向量表明规划一个高效的传达形式。
另一个可行的处理方案是用密度而不是矢量来表明每个用户。
- 将数据表明为密度(一般是多维高斯分布)供给了许多优势,例如,对表明及其联系的不确认性进行更好的编码,以及比点积、余弦类似度或欧氏间隔更天然地表明不对称性。
具体来说,高斯嵌入现已被广泛地用于各个范畴的数据不确认性建模,如词嵌入、文档嵌入和网络/图嵌入。
在引荐方面,Dos Santos等人和Jiang等人也选用高斯嵌入捕捉用户的不确认性偏好,以进步用户表明和引荐功能。
依据密度的表明,如高斯嵌入,是一个值得探究的风趣方向,但在依据gnn的引荐模型中尚未得到充沛的研讨。
GNN在引荐中的可扩展性
在工业引荐场景中,数据集包含数十亿个节点和边,而每个节点包含数百万个特征,因为内存占用大,练习时刻长,直接运用传统的GNN具有应战性。
为了处理大规模的图,有两个干流:
-
一个是经过抽样来减少图的巨细,使现有的GNN适用;
-
另一个是经过改动模型结构来规划一个可扩展和高效的GNN。
采样是一种天然的、广泛选用的练习大型图的战略。
-
例如,Graphsage对固定数量的街坊进行随机采样,
-
PinSage选用随机行走战略进行采样。
-
此外,一些作业[18,91]从原始图中为每个用户-项目对重建了小规模的子图。
可是,抽样会或多或少地丢失一部分信息,很少有研讨注重怎么规划一个有用的抽样战略来平衡有用性和可扩展性。
另一个处理这个问题的干流是将非线性和折叠权重矩阵的操作在接连层之间解耦。
因为街坊均匀的特征只需求预核算一次,它们在模型练习中没有通讯本钱,具有更强的可扩展性。可是,这些模型受限于他们对聚合器和更新器的挑选,比较之下,传统的GNN具有更高的学习灵敏性。因而,面临大规模的图,未来应研讨更多的作业。
引荐中的动态图
在现实国际的引荐体系中,用户和产品之间的联系会跟着时刻的推移而改动。为了坚持最新的主张,体系应不断更新最新的信息。
从图形的视点来看,信息的不断更新带来的是动态图形而不是静态图形。静态图形是安稳的,因而能够进行可行的建模,而动态图形引进改变的结构。
一个风趣的前瞻性研讨问题是怎么规划相应的GNN结构来呼应实践中的动态图形。现有的引荐研讨很少注重动态图。
据咱们所知,GraphSAIL是针对引荐体系的GNN增量学习的第一次尝试,它处理的是交互的改变,即节点之间的边。为了平衡更新和保存,它约束了接连学习模型中中心节点与其邻域之间的嵌入类似性,并控制了渐进学习的嵌入接近于先前版别。引荐中的动态图是一个很大程度上尚未开发的范畴,值得进一步研讨。
引荐中的图对抗性学习
关于噪声的问题,假如图结构包含噪声,GNN的功能将大大下降。
在现实国际的引荐场景中,节点之间的联系并不总是牢靠的,这是一个普遍现象。
-
例如,用户或许会不小心点击物品,而部分社会联系无法被捕捉到。
-
此外,攻击者也或许向引荐体系注入虚伪数据。
因为GNN简略遭到噪声数据的影响,在GNN范畴中呈现了图对抗学习的努力。可是,在依据GNN的引荐中,很少有现有的作业注重对抗性学习,这应该是一个风趣的、有助于建立更强壮的引荐体系的方向。
引荐中的GNN的接纳范畴
节点的接纳域是指包含节点自身以及其街坊在k跳规模内可达的节点调集,其间k为传达迭代次数。
两个问题(多层或许导致过滑润,深度不够又不能取得充沛信息):
- 经过叠加多个GNN层,高度节点的接纳范畴扩展过大,或许会引进噪声,导致过滑润问题,然后导致功能下降。
能不能选用深度学习中处理过拟合的办法缓解这个问题?
- 关于程度较低的节点,需求深度GNN架构来扩大其接纳域,以取得满足的邻域信息。
关于引荐中的图形数据,节点度呈长尾分布,即活跃用户与物品的交互次数较多,冷用户与物品的交互次数较少,类似于抢手物品和冷物品。因而,在一切节点上运用相同的传达深度或许不是最优的。
为了取得合理的接纳场而自适应地决议每个节点的传达深度的新兴著作很少。因而,怎么在依据GNN的引荐中为每个用户或项目自适应地挑选一个适宜的接纳域仍然是一个值得研讨的问题。
总结
因为GNN在图形数据学习方面的优势以及它在捕获协作信号和序列形式方面的有用性,GNN技能在引荐体系中的运用越来越遭到学术界和工业界的注重。在这个查询中,咱们供给了一个关于依据GNN的引荐体系的最新作业的全面回忆。咱们提出了一个分类方案来组织现有的工程。关于每一类,咱们扼要地阐明晰首要问题,并详细说明晰有代表性的模型所采纳的相应战略。咱们还评论了现有战略的优势和局限性。在此基础上,提出了未来研讨的几个方向。咱们希望这项查询能让读者对这一范畴的最新进展有一个大致的了解,并对未来的开展有一些启示。