05. Pre-Training Graph Neural Networks for Cold-Start Users and Items Representation [WSDM 21]
尽管最近GNN上的工作吸收高阶协同信号来缓解冷启动问题,但是冷启动用户和物品的embedding还是没有显示优化,并且在GNN的图卷积里没有考虑冷启动节点的冷启动邻居。这篇文章提出去在推荐之前预训练一个GNN模型。
不同于推荐的目标,这个预训练的GNN通过有充分交互的用户、物品里面模拟冷启动的场景并且将重建embedding作为pretext task,因为这样的话就可以直接优化embedding的质量然后能够简单地应用到新的冷启动的用户和物品上。
为了进一步减少冷启动的邻居的影响,我们考虑了一个自注意力为基础的元聚集器去增强每一步图卷积的聚集能力,并且考虑了一个自适应的邻居采样来根据预训练的模型的反馈选择邻居。
本文首先提出一个基础的预训练GNN模型来重构元学习设置里面冷启动用户/物品embedding。为了达到这个目的,首先需要冷启动用户/物品的ground truth的embedding来学习模型,这里使用有大量交互数据的用户和物品来模拟。这里的ground truth embedding是使用观测到的交互送进NCF进行学习的。
接下来就是一个基础的GNN模型,然后用这个GNN f 学习到的用户表示和ground truth的用户表示来进行相似度计算然后训练。
Meta Aggregator
现有的工作都没有很好地考虑卷积的时候其他节点也是冷启动的节点的情况,这可能会导致卷积后的节点表示不精确的问题。
这里使用和f一样的元学习设置来训练另一个函数g。g基于每一个节点的一阶邻居为它在学习一个额外的邻居,那么这样它就能快速适应到新的冷启动节点并且产生更精确的embedding。在f里的每一次卷积操作都是将g产生的embedding和原来的embedding结合起来。f是用来解决冷启动的目标结点的表示学习,而g是增强目标节点的冷启动的邻居节点的embedding.
The Adaptive Neighbor Sampler
这个采样器根据预训练的GNN模型的反馈来学习一个自适应的采样策略。
模型预训练和下游推荐任务
预训练:首先根据一阶的邻居预训练g,然后把g吸收进每一步的图卷积里去预训练元聚集器,接下来我们根据预训练的元聚集器的反馈来预训练邻居采样器,最后我们把这些一起训练。
下游推荐任务:对于每一个目标用户和他的不同阶的邻居,我们首先使用预训练的邻居采样器来采样合适的高阶邻居,然后使用预训练的元聚集器获得用户的embedding。物品的embedding也可以通过同样的方式生成。然后我们转换这两个embedding并相乘获得相关性得分再用BPR loss进行训练。