图神经网络(GNNs)在图结构的用户-项目交互数据上显示了表示学习的协同过滤(CF)任务的能力。然而,
基于这些限制,作者提出了一个简单而有效的协同过滤模型(SimRec),该模型将知识蒸馏和对比学习的力量结合起来。在SimRec中,在教师GNN模型和轻量级学生网络之间实现自适应转移知识,不仅可以保留全局协作信号,还可以解决表示重新校准的过平滑问题。在公共数据集上的经验结果表明,与各种强基线相比,SimRec在效率更好的同时,保持了更好的推荐性能。
在本节中,作者将介绍协同过滤中的重要符号,并概述基于MLP的神经CF和基于gnn的CF架构。在一个典型的推荐场景中, 用户{1,2,…,}和 项目{1,2,…,},分别由 和 索引。交互矩阵 A∈R× 表示观察到的用户和项目之间的交互,如果用户采用了项目,则 ,=1,否则 ,=0。基于上述定义,基于cf的推荐器可以形式化为一个推理模型,
基于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(·))次。
在本节中,将详细说明作者提出的 SimRec 框架的技术细节,其工作流如图2所示。
在模型设计中,作者的动机是:
为此,作者建议将知识从基于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所缺乏的高阶模式中学习到更多信息,这里作者只使用了来自教师的高阶节点嵌入。教师的嵌入经过良好的训练和参数优化固定。通过使用面向嵌入的蒸馏直接对隐藏嵌入进行正则化,模拟法不仅进一步提高了学生模型的性能,而且大大加速了交叉模型的蒸馏,这在作者的实证评价中得到了验证。
为了防止过平滑信号从基于gnn的教师转移到学生模型,SimRec提出通过普遍最小化节点上的相似性来对学生的嵌入学习进行正则化。特别是,SimRec通过比较蒸馏任务的梯度和主要任务的梯度,自适应地定位哪些节点更有可能被过度平滑。特别地,作者重用了从嵌入级蒸馏中得到的采样用户和项目t2,并对学生模型的节点嵌入应用以下自适应对比正则化:
其中,损失L3由三项((·))组成,分别推开用户距离、用户项目距离和项目项目距离。第一项(,U,)将嵌入和每个用户‘嵌入U之间的点积相似性最小化,加权因子为。在这里,相似性得分用温度超参数3进行调整。用于用户-项目关系和项目-项目关系的(·)函数的工作方式类似。加权因子、对应分别为、,其权重计算如下:
其中,∈R为用户 调整对比正则化的权重。简而言之,当蒸馏任务给出的梯度(可能过于平滑)与主任务产生的梯度(很难过于平滑)相矛盾时,具有更大的值(即1+)。这里,0<<1是一个超参数。▽∈R表示嵌入向量hw.r.t,不同的优化任务的梯度。例如,▽1,2表示两个蒸馏任务目标L1和L2的复合梯度。▽rec表示推荐任务的梯度,它独立于基于gnn的教师,因此没有过度平滑的风险。任务Lrec将在稍后详细阐述。用点积法估计了梯度之间的相似性。当蒸馏任务与推荐任务之间的相似性大于两个蒸馏任务之间的相似性时,作者可以假设蒸馏任务与推荐任务之间的优化差异足够小,足以削弱正则化。
遵循知识蒸馏的训练范式,作者的 SimRec 首先对基于gnn的教师模型进行训练,直到收敛。在每一步中,SimRec采样一批三联体Tbpr={(,,)|,= 1,,= 0},其中表示锚定用户。和分别表示正项和负项。BPR损失函数[22]对采样数据的应用如下:
其中最后一项表示权值()的权重衰减正则化,以防止过拟合。
然后,SimRec进行联合训练,以优化基于MLP的学生的参数,在此期间,结构感知的节点表示从高级的gnn中提取为抗过平滑的mlp。培训过程在A.1中有详细阐述。通过两个蒸馏任务和正则化项的强化,提出了总体优化目标:
其中,1、2、3、4为不同优化项的权重。T2表示上述包含从观察到的交互e中采样高阶的用户-项目对的集合。由于对比正则化L3使负用户-项目对之间的相似性最小化,推荐目标Lrec仅使正用户-项目对之间的相似性最大化。L4表示MLP神经网络的权值-衰减正则化方法。
在之前工作之后,作者进行了全秩评估,其中测试集中的积极项目与每个用户的所有未交互的项目进行排序。广泛使用的Recall@N和NDCG@N指标[16,32]被用于评估,其中默认情况下是= 20。
在本文中,作者提出了一个对比的知识蒸馏模型,该模型自适应地将知识从基于gnn的教师模型转移到一个小的前馈网络中,显著提高了推荐模型的效率和鲁棒性。作者设计的自适应对比正则化产生无偏自监督信号,以缓解推荐系统中普遍存在的过平滑和噪声效应。作者的综合实验证明,与最先进的学习技术相比,作者的方法在提高推荐准确性和获得更好的效率方面的有效性。