#Reading Paper# Profiling the Design Space for Graph Neural Networks based Collaborative Filtering

#论文题目:Profiling the Design Space for Graph Neural Networks based Collaborative Filtering(基于协同过滤的图神经网络设计空间的收集)
#论文地址:https://doi.org/10.1145/3488560.3498520
#论文源码开源地址:https://github.com/BUPT-GAMMA/Design-Space-for-GNN-based-CF
#论文所属会议:WSDM 2022
#论文所属单位:北邮
#Reading Paper# Profiling the Design Space for Graph Neural Networks based Collaborative Filtering_第1张图片

一、导读

基于协同过滤的图神经网络:图神经网络(GNNs)在协同过滤(CF)中得到了广泛的应用,这是推荐系统中最常用的方法之一。本文提出了一个统一的基于GNN的CF框架,并在此基础上进行研究。
设计空间:现有的工作大多专注于在特定场景下设计单个模型体系结构,而没有研究设计不同维度(参数不同导致模型性能不同)的影响。因此,如何在新的推荐场景中快速获得性能最佳的模型仍然是一个具有挑战性的问题。
为解决上述问题,本文首次尝试剖析基于GNN的CF方法的设计空间,以丰富对设计不同维度的认识,并提供一种新的模型设计范式。

二、基于GNN的CF的设计空间

2.1 统一框架

#Reading Paper# Profiling the Design Space for Graph Neural Networks based Collaborative Filtering_第2张图片
现有的基于GNN的CF可以分为4个关键模块:初始化模块GNN模块多组件模块交互模块

  • 初始化模块:通过对用户u和物品i进行ont-hot等类型的编码,将抽象对象变成高维稠密的可表示向量。

  • GNN模块:此过程通过多次迭代(类似MLP)进行向量的修正,不同颜色的大方框代表可以进行不同角度的向量属性的提取。
    #Reading Paper# Profiling the Design Space for Graph Neural Networks based Collaborative Filtering_第3张图片
    h h hu(0)是经过 l l l次GNN后得到的表征, m m m()是消息函数用于对商品和用户间的消息进行编码, σ σ σ()是激活函数, N N N(u)是用户 u u u的邻居节点, f f f()是每一层的聚合函数, g g g()函数用于合并不同层的输出表征。

  • 多组件模块:将得到的聚焦不同角度后修正的物品/用户向量进行整合
    在这里插入图片描述

  • 交互模块:通过特定的计算相关性公式,得到用户u和物品i的相关度,进行互相推荐。

在这里插入图片描述

注:本篇文章主要列举了上图中 标红的 操作可能涉及到的操作类型(作者就总结出了这样的一个框架,也说明了每个步骤可能涉及到的参数的类型)

#Reading Paper# Profiling the Design Space for Graph Neural Networks based Collaborative Filtering_第4张图片
作者为了说明自己提出的框架是准确的,列举了上图所示,现阶段主流的基于GNN等的算法框架。(初始向量维度、不同角度层数的个数以及聚合方式没列,因为这些是非主要影响因素)

到此为止,作者的第一个主要研究贡献就解释清楚了:剖析了基于GNN的CF的设计空间,并为推荐场景中GNN方法的设计提供了一个新的范式。

#Reading Paper# Profiling the Design Space for Graph Neural Networks based Collaborative Filtering_第5张图片

#Reading Paper# Profiling the Design Space for Graph Neural Networks based Collaborative Filtering_第6张图片
之后,作者通过不同实验证明了并不是复杂(参数多)的模型性能较好,如上图所示。

说明:

  • GAT和GraphSAGE的表现略优于其他模型。有趣的是,None可以与基于GNN的聚合器相媲美(LightGCN),这表明,在某些情况下,只需使用MF或基于MLP的CF方法就可以达到竞争性甚至更好的性能。有趣的发现表明,合并图形信息并不总是能增强CF性能。

  • Sigmoid在所有6个激活函数中明显突出。这一发现与LightGCN的发现不同,LightGCN发现非线性激活不能使CF受益。一个可能的解释是,两篇文章研究的任务是不同:LightGCN中的项目排序和我们的评级预测相比,在回归任务中,非线性激活可以帮助增加神经网络的表达能力。

  • 在考虑多组件的情况下,将组件数设置为4更有利。

  • 采用神经交互函数优于采用点积,这与“Neural collaborative filtering vs. matrix factorization
    revisited”中关于点积比MLP更适合预测用户-物品对评分的发现不一致。我们认为这可能是由于两幅作品的背景不同造成的。在“Neural
    collaborative filtering vs. matrix factorization
    revisited”中,评估是在使用2个数据集的特定模型体系结构上执行的,而在我们的设置中,我们在9个不同的数据集上评估数千个模型体系结构,因此,得出了不同的结论。(那就说明鲁棒性不行呗)

结论

  • 在本篇文章中,作者将近年来基于GNN的CF方法总结出一个范式:基于GNN的CF方法的设计空间,并进行分析。采用随机搜索的方法(控制变量法)来评估不同参数维度对推荐性能的影响。此外,实验发现,适当简化设计空间被证明是有效的,因为修剪后的设计空间具有较高的质量和较强的泛化能力。
  • 在今后的研究工作中,要适当增减调整参数数量,并不是看上去越复杂的模型能得到更好的性能。

你可能感兴趣的:(推荐算法,机器学习,深度学习,人工智能,推荐算法,神经网络,自然语言处理)