推荐系统与GNN擦出的火花竟如此绚丽多彩
Posted 深度学习自然语言处理
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统与GNN擦出的火花竟如此绚丽多彩相关的知识,希望对你有一定的参考价值。
user-item二部图
节点的敏感度,节点顺序很小的改变极大的影响模型的输出。
节点间闭塞的信息交互,传统的深度学习模型不能够充分挖掘高阶节点之间的交互信息。
解释能力弱,传统的深度模型面向直观的交互式图结构,不能用于基于图形的解释和推理。
embedding 层
embedding层主要研究如何获得交互图和一系列节点的特征,并使用此信息生成节点embedding,从而生成子图和整个图的embedding。这一层的作用是学习一个低维的向量表示,作为图神经网络模型的输入。在在早期的推荐系统中,提取用户和item的特征应用最广泛的是矩阵分解(MF),如概率矩阵分解(PMF),偏差矩阵因子分解(BiasedMF)、神经网络矩阵因子分解(NNMF)等。然而,这些方法都有很大的缺点。每次分解都需要很长的时间复杂性与较高的空间复杂性,并不能完全探究用户和item之间的隐含关系,导致推荐效果不理想。从DeepWalk算法首次应用,各种深度学习embeding方法层出不穷。
最简单的方法是使用浅层嵌入方法生成节点的唯一低维向量表示,即在初始步骤中,每个用户和item被定义为唯一ID并直接映射成embedding。这种设计的优点是模型可互换,不变形。互换性的不变性在于该模型不依赖于邻接矩阵中行列的任意顺序,弥补了深度模型对节点输入顺序高度敏感的缺陷。
传播更新层
传播更新层是GNN推荐系统模型的核心组成部分,包括两个阶段:邻居节点信息传递,聚合和更新(下图)。嵌入层解决了图数据很难高效地输入推荐算法。下一步是解决深层模型消息传输路径阻塞问题及解决方案长距离节点的信息传播问题,然后是邻居信息可以聚合在一起,为解决推荐系统中数据的稀疏性问题提供了一种可行的思路的。在每个消息传递迭代过程中,每个节点u对应的embeding可以通过图的所有邻居节点N(u)聚合进行更新,因此传播更新层可以抽象地定义为:
卷积聚合器
图卷积聚合器使用中心节点及其相邻节点的embedding的聚合来表示中心节点,并进行迭代传播,从邻居节点聚合嵌入的特征信息,并且只有一个卷积运算变换并聚合一阶图的邻域的嵌入表示,通过叠加多层图卷积网络,达到传播远处多级的信息的目的。最后更新当前节点的嵌入表示。如GraphSAGE提出了一种小批量聚合算法,它在一次更新没使用所有的邻居节点,对邻居节点中的特征进行采样,并将更新后的最终状态用于预测和反向传播。PinSage框架下使用局部图卷积运算从邻居节点聚合信息。图卷积聚合可以抽象地定义为:
门聚合器
经典的长、短期记忆循环神经网络系统已经被证明对于学习序列数据的动态特性非常有效,其中GRU和LSTM中的输入输出门机制可以保持长期的内部状态。门控图神经网络(GGNN)使用一个门递归单元在固定步数的传播过程去更新聚合节点的隐藏状态。门聚合可以抽象地定义为:
注意力聚合器
注意机制几乎已经成为处理序列数据任务的必用方法,已成功应用于机器翻译和机器阅读。注意力机制可以区分不同节点的重要性。例如,购物场景下,最近购买的产品相比那些几个月前购买的产品更有参考价值。在传播过程中加入注意机制可以给邻居节点赋权,通过不同的attention score对邻居节点的embedding进行聚合。注意力聚合器可以抽象地定义为:
预估层
在多层传播之后,从每个层获得的embeding被拼接在一起作为用户或item的最终特征。除了拼接,其他的组合方法,如加权平均、最大池和LSTM,都可以。有研究表明证明了拼接是最简单且有效的,且它不涉及其他参数需要学习。最后,计算用户与item之间的内积用来预测用户的未来行为:
结论
本篇总结了一些GNN在推荐系统的应用,其实还有很多gnn算法没有介绍,如KGAT,融合了知识图谱辅助推荐。再如KARN和SCPR这两个模型,不是选出来一个匹配商品集就完事了,还要在图中找出来对应的路径作为推荐的解释,感兴趣的读者可以去查阅相关资料。
整理不易,还望给个在看!
以上是关于推荐系统与GNN擦出的火花竟如此绚丽多彩的主要内容,如果未能解决你的问题,请参考以下文章