【论文阅读】Graph-less Collaborative Filtering
文章目录
- 【论文阅读】Graph-less Collaborative Filtering
- 1. 来源
- 2. 介绍
- 3. 模型解读
- 3.1 协同过滤
- 3.2 模型
- 3.2.1 对比知识精馏
- 3.2.2 自适应对比正则化
- 3.2.3 SimRec的参数学习
- 4. 实验
- 5. 总结
1. 来源
- 2023WWW CCFA
- 原文地址
- code
2. 介绍
图神经网络(GNNs)在图结构的用户-项目交互数据上显示了表示学习的协同过滤(CF)任务的能力。然而,
- 由于现有的基于 GNN 的CF模型在相邻节点之间固有的递归消息传播,低通拉普拉斯平滑算子的过平滑和噪声效应,可能会产生难以区分和不准确的用户(项)表示。
- 此外,在整个图结构中使用堆叠聚合器的递归信息传播可能会在实际应用中导致较差的可伸缩性。
基于这些限制,作者提出了一个简单而有效的协同过滤模型(SimRec),该模型将知识蒸馏和对比学习的力量结合起来。在SimRec中,在教师GNN模型和轻量级学生网络之间实现自适应转移知识,不仅可以保留全局协作信号,还可以解决表示重新校准的过平滑问题。在公共数据集上的经验结果表明,与各种强基线相比,SimRec在效率更好的同时,保持了更好的推荐性能。
3. 模型解读
3.1 协同过滤
在本节中,作者将介绍协同过滤中的重要符号,并概述基于MLP的神经CF和基于gnn的CF架构。在一个典型的推荐场景中,𝐼 用户{𝑢1,𝑢2,…,𝑢𝐼}和 𝐽 项目{𝑣1,𝑣2,…,𝑣𝐽},分别由 𝑢𝑖 和 𝑣𝑗 索引。交互矩阵 A∈R𝐼×𝐽 表示观察到的用户和项目之间的交互,如果用户𝑢𝑖采用了项目𝑣𝑗,则 𝑎𝑖,𝑗=1,否则 𝑎𝑖,𝑗=0。基于上述定义,基于cf的推荐器可以形式化为一个推理模型,
- i)输入用户-项目交互数据a∈R𝐼×𝐽,基于输入建模用户的交互模式;
- ii)输出未观察到的用户-项目对(𝑢𝑖,𝑣𝑗)之间的交互预测结果𝑦𝑖,𝑗。
一般来说,CF模型可以概括为以下两阶段模式:
- 第一阶段 Embed(·) 表示嵌入过程项目user𝑢𝑖和项目𝑣𝑗到𝑑-diemen隐藏空间基于观察到的历史交互a嵌入(·)的结果是向量化表示h𝑖,h𝑗∈R𝑑为每个用户𝑢𝑖和项目𝑣𝑗,保持用户项交互模式。
- 第二阶段的 Predict(·) 旨在利用学习到的嵌入数据h𝑖,h𝑗,利用预测得分𝑦𝑖,𝑗∈R来预测用户-项目关系。基于上述两阶段模式,作者提出的SimRec方法旨在从嵌入和预测水平进行知识精馏,以有效的知识转移。
基于MLP的协同过滤。提出了基于MLP的神经CF方法[13,37]来赋予CF非线性关系建模。由于模型架构的简单性,基于MLP的CF是高效的,并且不太可能像GNNs [3]那样学习过度平滑的消息消息。受到其优势的启发,作者采用了MLP作为在作者的KD对比框架中的学生模型。简而言之,SimRec中的MLP遵循以下的两阶段范式:
其中,¯h𝑖,¯h𝑗∈R𝑑分别表示用户𝑢𝑖和项目𝑣𝑗的初始嵌入向量。M-Embed(·)表示基于MLP的嵌入函数。作者采用点积来预测(·),这已被证明是有效的和有效的。
GNN增强的协同过滤。最近的CF模型将图神经信息传播应用于二部交互图G = {U,V,E}上,将用户的高阶交互关系编码到节点嵌入中。这里,U={𝑢𝑖},V={𝑣𝑗}分别表示用户节点集和项目节点集。当且仅当𝑒𝑖,𝑗=1时,𝑎𝑖,𝑗∈E存在。通常,基于gnn的CF可以抽象为:
其中,H,¯H∈R(𝐼+𝐽)×𝑑表示其行为节点嵌入向量的嵌入矩阵。G-Embed(·)表示基于gnn的嵌入函数,它迭代传播(Prop(·)并沿交互图G聚合(Agg(·))𝐿次。
- 需要注意的是,虽然它注入了信息丰富的结构信息,但基于整体图建模和高阶迭代的gnn也会损害了模型的可伸缩性,并在协同过滤任务中带来过度平滑的风险。
3.2 模型
在本节中,将详细说明作者提出的 SimRec 框架的技术细节,其工作流如图2所示。
3.2.1 对比知识精馏
在模型设计中,作者的动机是:
- i) gnn在学习结构感知节点嵌入方面的优势,
- ii) 在防止过度平滑问题方面的高效mlp方面的优势。
为此,作者建议将知识从基于gnn的教师模型提取为基于MLP的学生模型。具体来说,教师模型是一个轻量级的图卷积网络(GCN),其嵌入过程通过如下传播显示:
其中,H(𝑡)∈R(𝐼+𝐽)×𝑑 为教师模型给出的嵌入矩阵。索引 𝑙 表示图神经迭代的次数(一共为𝐿迭代)。¯A∈R(𝐼+𝐽)×(𝐼+𝐽)表示由相互作用矩阵A 生成的图G的对称相邻矩阵。I 表示单位矩阵,D表示¯A的对角度矩阵。迭代由 H(𝑡)0=¯H(𝑡)初始化。学生模型使用一个共享的MLP网络来从用户和项目的初始嵌入中提取特征。对于用户𝑢𝑖,嵌入层的形式表示如下:
其中,h𝑖(𝑠),¯h(𝑠)𝑖∈R𝑑表示由学生给出的 𝑢𝑖 的嵌入。FC(·)表示全连接的图层。𝐿′是FC层的数量。一个FC层配置了一个转换 W ∈ R 𝑑×𝑑 应用LeakyReLU激活𝛿(·)和残差连接。项目侧嵌入层的构建方法也很类似。
-
预测级蒸馏。为了将知识从教师模型提取到学生模型,SimRec首先遵循基于kl-散度的KD [14]范式,以调整教师和学生模型之间的预测输出。受推荐系统中面向排序的BPR loss [22]成功的启发,SimRec将两种模型进行用户偏好排序任务。具体来说,在每个训练步骤中,作者随机抽取一批三联体T1={(𝑢𝑖,𝑣𝑗,𝑣𝑘)},其中𝑢𝑖、𝑣𝑗、𝑣𝑘以统一的概率从整体用户和项目集合中分别抽取。然后SimRec计算两种模型的(𝑢𝑖,𝑣𝑗)和(𝑢𝑖,𝑣𝑘)之间的偏好差,如下:
其中, z i , j , k z_{i,j,k} zi,j,k∈R表示用户对三组(𝑢𝑖,𝑣𝑗,𝑣𝑘)的偏好的差异得分。作者将学生模型的分数表示为𝑧(𝑠)𝑖,𝑗,𝑘,将教师模型的分数表示为𝑧(𝑡)𝑖,𝑗,𝑘。然后,通过最小化以下损失函数来进行面向预测的精馏:
其中,𝑧¯(𝑡)𝑖𝑗𝑘、𝑧¯(𝑠)𝑖𝑗𝑘 是由s型函数sigm(·)与温度因子𝜏1处理的偏好差异。在这里,𝑧(𝑡)𝑖𝑗𝑘 是由训练有素的教师模型给出的,并且不存在反向传播梯度。借助面向预测的蒸馏 L1,简单的 mlp 学习模拟高级GNN模型的预测,从而直接生成推荐结果。通过这种末端监督,对学生模型的参数进行优化,以保留从教师模型中提取的知识。
值得注意的是,作者的预测级KD与普通KD在CF中深度暗知识学习的训练样本富集方面有所不同。具体来说,用于多类分类的普通KD[14]不仅从得分最高的类中挖掘暗知识,而且从所有类的等级中挖掘暗知识。然而,将CF视为多分类是有问题的,因为有太多的类(项),因此软标签很容易接近零,变得难以排序。为了解决这个问题,作者的预测水平KD采用了成对排序任务,通过从丰富的样本中提取来挖掘黑暗知识。不同于基于BPR的模型训练,将每个积极项目与一个消极项目配对,作者的KD方案从教师对𝑣𝑗的预测中学习,𝑣𝑘分别从整体项目集中抽样。这里的𝑣𝑗,𝑣𝑘不是固定为阳性或阴性。这极大地丰富了作者的KD训练集,并促进了更深的黑暗知识提炼。 -
嵌入级蒸馏。上述预测级蒸馏虽然有效,但只监督了模型的输出,而忽略了学生和教师之间嵌入分布的潜在差异。由于这两种模型都遵循Eq 1中的嵌入和预测模式,作者通过基于嵌入级知识转移扩展了SimRec中的KD范式在对比学习。具体来说,作者从每个训练步骤中观察到的交互中抽取一批用户和项目T2={𝑢𝑖,𝑣𝑗}。然后,作者在相应的用户/项目嵌入上应用以下对比损失:
其中,cos(·)表示余弦相似度函数。𝜏2表示温度超参数。为了迫使学生模型从基于MLP的CF所缺乏的高阶模式中学习到更多信息,这里作者只使用了来自教师的高阶节点嵌入。教师的嵌入经过良好的训练和参数优化固定。通过使用面向嵌入的蒸馏直接对隐藏嵌入进行正则化,模拟法不仅进一步提高了学生模型的性能,而且大大加速了交叉模型的蒸馏,这在作者的实证评价中得到了验证。
3.2.2 自适应对比正则化
为了防止过平滑信号从基于gnn的教师转移到学生模型,SimRec提出通过普遍最小化节点上的相似性来对学生的嵌入学习进行正则化。特别是,SimRec通过比较蒸馏任务的梯度和主要任务的梯度,自适应地定位哪些节点更有可能被过度平滑。特别地,作者重用了从嵌入级蒸馏中得到的采样用户和项目t2,并对学生模型的节点嵌入应用以下自适应对比正则化:
其中,损失L3由三项(𝜑(·))组成,分别推开用户距离、用户项目距离和项目项目距离。第一项𝜑(𝑢𝑖,U,𝜔𝑖)将𝑢𝑖嵌入和每个用户𝑢𝑖‘嵌入U之间的点积相似性最小化,加权因子为𝜔𝑖。在这里,相似性得分用温度超参数𝜏3进行调整。用于用户-项目关系和项目-项目关系的𝜙(·)函数的工作方式类似。加权因子𝜔𝑖、𝜔𝑗对应分别为𝑢𝑖、𝑣𝑗,其权重计算如下:
其中,𝜔𝑖∈R为用户 𝑢𝑖 调整对比正则化的权重。简而言之,当蒸馏任务给出的梯度(可能过于平滑)与主任务产生的梯度(很难过于平滑)相矛盾时,𝜔𝑖具有更大的值(即1+𝜖)。这里,0<𝜖<1是一个超参数。▽𝑖∈R𝑑表示嵌入向量h𝑖w.r.t,不同的优化任务的梯度。例如,▽𝑖1,2表示两个蒸馏任务目标L1和L2的复合梯度。▽rec𝑖表示推荐任务的梯度,它独立于基于gnn的教师,因此没有过度平滑的风险。任务Lrec将在稍后详细阐述。用点积法估计了梯度之间的相似性。当蒸馏任务与推荐任务之间的相似性大于两个蒸馏任务之间的相似性时,作者可以假设蒸馏任务与推荐任务之间的优化差异足够小,足以削弱正则化。
3.2.3 SimRec的参数学习
遵循知识蒸馏的训练范式,作者的 SimRec 首先对基于gnn的教师模型进行训练,直到收敛。在每一步中,SimRec采样一批三联体Tbpr={(𝑢𝑖,𝑣𝑗,𝑣𝑘)|𝑎𝑖,𝑗= 1,𝑎𝑖,𝑘= 0},其中𝑢𝑖表示锚定用户。𝑣𝑗和𝑣𝑘分别表示正项和负项。BPR损失函数[22]对采样数据的应用如下:
其中最后一项表示权值𝜆(𝑡)的权重衰减正则化,以防止过拟合。
然后,SimRec进行联合训练,以优化基于MLP的学生的参数,在此期间,结构感知的节点表示从高级的gnn中提取为抗过平滑的mlp。培训过程在A.1中有详细阐述。通过两个蒸馏任务和正则化项的强化,提出了总体优化目标:
其中,𝜆1、𝜆2、𝜆3、𝜆4为不同优化项的权重。T2表示上述包含从观察到的交互e中采样高阶的用户-项目对的集合。由于对比正则化L3使负用户-项目对之间的相似性最小化,推荐目标Lrec仅使正用户-项目对之间的相似性最大化。L4表示MLP神经网络的权值-衰减正则化方法。
4. 实验
在之前工作之后,作者进行了全秩评估,其中测试集中的积极项目与每个用户的所有未交互的项目进行排序。广泛使用的Recall@N和NDCG@N指标[16,32]被用于评估,其中默认情况下是𝑁= 20。
5. 总结
在本文中,作者提出了一个对比的知识蒸馏模型,该模型自适应地将知识从基于gnn的教师模型转移到一个小的前馈网络中,显著提高了推荐模型的效率和鲁棒性。作者设计的自适应对比正则化产生无偏自监督信号,以缓解推荐系统中普遍存在的过平滑和噪声效应。作者的综合实验证明,与最先进的学习技术相比,作者的方法在提高推荐准确性和获得更好的效率方面的有效性。