论文标题:
Profiling the Design Space for Graph Neural Networks based Collaborative Filtering
论文链接:
http://www.shichuan.org/doc/125.pdf
GNN是很火的技术,现在广泛的应用于推荐系统协同过滤相关方法中,但是大部分方法都是针对特定场景涉及特定的方法,没有考虑不同设计的影响。本文剖析基于 GNN 的 CF 方法的设计空间。通过对设计空间的理解,可以增强最优模型搜索,提升效率。
通过阅读本文可以简单直接的理解基于GNN的推荐方法的基本设计思路,并且可以了解设计空间中的冗余部分,通过精简之后,在更加集中的空间中搜索最优模型。
现存的基于GNN的CF通常可以被划分为4个模块:初始化,GNN,多组件和交互。
基于上述统一框架,可以得到上图上的9个设计维度,这几个维度可以被划分到4个模块中。为了探索每个设计维度的影响,本文对不同维度进行剖析。note:本文的目的不是提出最广泛的设计空间,而是帮助理解基于 GNN 的 CF 的不同设计维度的影响,并获得设计性能良好模型的见解。几个重要的设计维度如下,
-
消息函数:通常是直接设计 ,但是也有一些方法认为源节点和目标节点的交互应该被编码为消息,因此也可以设计为
,通过哈达玛积计算消息。
-
聚合f():考虑四种常见且有效的 GNN 方法作为其设计选择:GCN,GAT,GIN和GraphSAGE。同时包括None的选择,这表示不利用图信息并通过 MLP 细化用户/商品表征,以扩大设计空间的容量以包括那些非基于 GNN 的模型。 -
结合层g():Stack 表示直接堆叠多个 GNN 层,并使用最后一层的输出来获得每个组件对应的表示。当然也可以使用Concat、Sum和Mean等。 -
组件结合c():比较直接的方式是拼接Concat,也可以使用注意力机制Att和均值Mean -
交互函数p():比较常用的是点积Dot Product,也可以采用NN的方式,比如Concat+MLP或Sum+MLP。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢