复现KGAT: Knowledge Graph Attention Network for Recommendation(一)

复现KGAT: Knowledge Graph Attention Network for Recommendation(一)

该系列博客应该会有两部分,一部分是读论文,一部分是代码复现。


1.Introcution

推荐系统使用很广泛,最常使用的就是协同过滤。尽管系统过滤使用普遍也很有效,但是协同过滤(CF)却不能对side information有效的建模。side information是指像物品属性、用户资料和上下文等。所以,CF在用户和物品之间有很少交互的稀疏条件下表现很差。为了将这些side information利用起来,一般的解决方法是将他们转换成通用的向量和用户ID、物品ID,然后用有监督模型(SL)去预测分数。推荐系统的有监督模型在工业界已经被广泛的使用,其中常见的几种有FM(矩阵分解)、NFM(neural FM)、Wide&Deep和xDeepFM等等。
尽管这些方法有很强的表现力,但存在一个缺陷是这个模型将每一次交互看作是独立的数据实例,没有考虑交互数据之间的关系。这使得模型不足以从用户的集体行为中提取基于属性的协作信号。
复现KGAT: Knowledge Graph Attention Network for Recommendation(一)_第1张图片
如上图所示,在u1和i1之间有交互,i1是被e1指导的。CF关注也看过电影i1的用户:u4,u5。而SL方法则强调具有属性e1的类似项目即i2。这两种方法对于推荐系统不仅是互补的,而且还是high-order(高阶?)的结构。但是,现存的SL方法不能将这种high-order的联系统一起来。比如说,黄色和灰色框中的物品和用户。
为了解决基于特征的SL模型的限制,一个方法就是使用知识图谱。将这种知识图谱与user-item图结合起来的叫做协同知识图谱(collaborative knowledge graph)——CKG。成功推荐的关键在于在CKG中充分探索high-order关系。
然而,去探索这样的high-order information的成本是不能忽略不计的。原因如下:
1)节点显著增加,对计算力挑战很大。
2)需要仔细添加权重。high-order关系对预测的贡献是不相等的。
一些最近用CKG推荐结构做出的尝试可以被分为两类。一类是基于路径的,一类是基于正则化的。
基于路径的方法。提取出了带有high-order信息的路径,并将它们输送给预测模型。为了解决两个node之间的路径过多问题,使用路径选择算法(path selection algorithm)去选择较优的路径,或者,定义一个元路径模式去限制路径。对于path selection的第一阶段对最终结果有一个重要的影响,但是他没有针对推荐目标进行优化。此外,定义有效的元路径需要域知识,对于具有不同类型关系和实体的复杂KG来说,这可能是相当劳动密集型的,因为必须定义许多路径才能保持模型的保真度。
基于正则化的方法。该方法设计了额外的损失项,以捕获KG结构来正则化推荐模型的学习。比如说,KTUP和CFKG通过分享物品的embedding层共同的训练了推荐的两个任务和KG。这些方法没有直接将high-order关系插入到推荐的优化模型中,而是以隐式的方法对他们进行编码。由于缺乏显示建模,既不能保证捕获长程连接性,high-order建模的结果也不能被解释。
考虑到当前存在的解决方案的的限制,我们相信发展一个能够在KG中有效地、显示地并且是端到端地探索high-order信息是十分重要的。秉持着这个目的,从最近的图神经网络中提取灵感,这个想法能够有潜力解决这个问题,但是在推荐中还没有被广泛探索。特别的,这个方法被命名为Knowledge Graph Attention Network(KGAT)。在KGAT中有如下两个设计可以相关的解决high-order relation modeling中的问题。
1)递归的embedding propagation。该方法更新一个node的embedding基于它的邻居的embedding,然后递归的表现这种embedding propagation在一个线性时间复杂度捕获high-order 的关联。
2)attention-based aggregation(基于注意力的聚合功能)。该方法部署了神经元注意力机制去学习在传播中每一个邻居的权重。这样的级联传播的注意权重就可以揭示出高阶连通性的重要性。
KGAT在概念上相较于其他现存的方法的优势为:
1)和path-based方法相比,KGAT避免了劳动密集的寻找path的过程,因此更有效更方便。
2)和regularization-based方法相比,KGAT直接将high-order 关系纳入预测模型,因此所有相关参数都被量身定制以优化推荐目标。
这篇文章的贡献如下:
1)强调了在协同知识图谱对high-order关系显示建模用side information 能给推荐带来更好的结果。
2)提出了一个KGAT的方法,该方法实现了对high-order 关系在图神经网络框架下进行显示和端到端方法的建模
3)在三个公开数据集下进行了大量实验,证明了KGAT的有效性和在理解high-order关系下的可解释性。

总结

该文章对KGAT的Introduction部分进行了解读。

你可能感兴趣的:(复现KGAT: Knowledge Graph Attention Network for Recommendation(一))