推荐系统&知识图谱(5)---KGNN-LS

论文:Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender Systems,KDD,2019,Meituan Dianping Group

1. 应用背景

KGNN-LS 可以看做是对KGCN的改进,是在GCN之后添上了LS,来提升模型的鲁棒性,防止过拟合。但从实验结果来看,提升不大(几乎没有)。

2. 模型结构

2.1 符号定义

因为涉及到的公式和推导较多,先贴出符号定义:


推荐系统&知识图谱(5)---KGNN-LS_第1张图片

2.2 KGNN部分

KGNN这里在原理和实现上是和KGCN一模一样的,非常佩服作者的文笔,愣是一篇内容写出了两篇不一样的表述。这里一边推导一边学习一下表达。
记一个用户为:;
记知识图谱中的实体集合为:
记实体与的关系边为:;
记用户对关系的得分为:
推导如下:
0.则用户的评分矩阵为:;
记的对角矩阵为:,即,用于标准化;
1.则逐层向前传播:这个式子等价于KGCN中的:换了个形式而已。

2.3 Label Smoothness部分

标签平滑正则化(Label Smoothness Regularization)是本文的创新点。
因为每条边的评分也是监督训练的,这在增加模型的拟合能力的同时也会让模型易过拟合,因此提出了标签平滑性损失来作为正则化项约束模型的拟合能力。

作者在文中推导了很多,实际做法分2步:
1.在KG中,用有标签(0/1)的实体去加权预测无标签的实体的标签,循环迭代,为所有无标签的实体建立标签。
2.训练过程中,将有标签的物品的标签扣掉,用同样的预测方法,用物品对应的实体的近邻实体(包括有标签的近邻实体和无标签的近邻实体)的标签去预测该物品的标签,得到物品标签的预测值。

贴上举例说明:
推荐系统&知识图谱(5)---KGNN-LS_第2张图片

2.4 损失函数

损失函数可以看出,相较于KGCN,主要多了一项LS的预测损失。

3. 实验结果

推荐系统&知识图谱(5)---KGNN-LS_第3张图片
实验结果上,使用GNN确实比RippleNet好了一点, 但是:
1.KGNN-LS没有与KGCN进行比较,我自己实验比较了一下,效果差别非常小。
2.作者没有详细分析LS的作用有多大,我去掉之后,发现实验结果几乎不变,可见LS的功效非常非常小。

4. 总结

怎么说呢,LS推导了很长一段,花了两个定理和证明。我跟着推了好半天才弄懂他要干嘛。结果并没有什么效果还是挺失望的。整体来说,说到底还是GNN的效果,与KGCN相差不大。这篇论文的话,作者一份工作能掰成两篇论文来写的写作功底值得学习。

你可能感兴趣的:(推荐系统&知识图谱(5)---KGNN-LS)