【论文阅读】Graph-less Collaborative Filtering

news2024/10/6 22:23:45

【论文阅读】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的教师模型转移到一个小的前馈网络中,显著提高了推荐模型的效率和鲁棒性。作者设计的自适应对比正则化产生无偏自监督信号,以缓解推荐系统中普遍存在的过平滑和噪声效应。作者的综合实验证明,与最先进的学习技术相比,作者的方法在提高推荐准确性和获得更好的效率方面的有效性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/663872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】linux | 服务响应慢、问题排查 | 带宽问题导致 | 网速

一、说明 1、项目使用云服务器&#xff0c;服务器配置&#xff1a;5M带宽、4核、32G&#xff0c;1T&#xff0c;CentOS7 2、CPU、内存、磁盘IO都没有达到瓶颈&#xff0c;猜测是带宽问题 3、应用比较多&#xff0c;应用中间件&#xff0c;十几个差不多 4、同时在线人数30 5、已…

“暗网议会”如今已成为现实

图片来源:Marcin Balcerzak 最近&#xff0c;“暗网议会”已经成为了网络犯罪分子试图证明自己影响力的最新流行语&#xff0c;安全内部人士对这个词也很感兴趣。 上周五&#xff0c;臭名昭著的亲俄黑客组织Killnet在其电报威胁帖子中使用了这个词语。随后&#xff0c;twitte…

d2l_第五章学习_Multilayer Perceptrons多层感知机

x.1 Hidden Layers 线性模型的基本假设是单调&#xff0c;即任何特征的增大都会导致模型的输出增大&#xff08;权重正时&#xff0c;负值时亦&#xff09;。但是现实中很多的关系并不仅仅是简单的线性关系&#xff0c;这个时候就需要引入非线性关系&#xff0c;而非线性关系由…

Verilog基础之七、译码器实现

目录 一、前言 二、工程实现 2.1 工程代码 2.2 仿真结果 2.3 参考 一、前言 ​译码器的实现为编码器的逆过程&#xff0c;以3-8译码器为例&#xff0c;真值表如下。 二、工程实现 ​实现同时使用for循环和case两种方式。 2.1 工程代码 module Decoder(in,out,out_case )…

【菜单折叠效果】这菜单效果千万别让领导看了,一不小心就升职加薪(附源码)

【写在前面】 上周想着冲一波粉丝量&#xff08;周冲700&#xff09;&#xff0c;但是事与愿违&#xff0c;没办法我只能不断的督促自己多分享&#xff0c;多总结了&#xff0c;那么今天晚上我就好好整理了一篇常见后台管理系统的菜单收缩动态效果&#xff0c;主要是用于后台管…

基于深度学习的高精度打电话检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度打电话检测识别系统可用于日常生活中或野外来检测与定位打电话目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的打电话目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检…

Web3通过ganache运行起一个本地虚拟区块链

通过文章 Web3开发准备工作 手把手带你创建自己的 MetaMask 账号大家简单的对网络 有了个比较模糊的概念 不同的网络连接这不同的区块链 那么 我们就要搞清楚 我们切换不同的网络 我们的数字资产是不一样的 在这里 我们需要先安装一个插件工具 ganache 我们先在本地创建一个文…

大学面试三分钟自我介绍七篇

大学面试三分钟自我介绍篇1 尊敬的领导&#xff1a; 您好! 首先对占用您的宝贵时间深表歉意。我叫__&#xff0c;是一名于__年7月毕业的全日制本科大学生。所学专业&#xff1a;中文系汉语言文学。 经过长期努力拼搏&#xff0c;今天我怀着满腔热血站在了人生的又一个起点。在这…

VMware14虚拟机安装Ubuntu16.04 LTS

VMware14虚拟机安装Ubuntu16.04 LTS 一、基本介绍二、vmware下安装ubuntu系统2.1 下载ubuntu客户端镜像2.2 安装及配置2.2.1 安装2.2.2 配置 三、ubuntu系统使用 回到目录   回到末尾 一、基本介绍 对于ubuntu而言&#xff0c;就是linux操作系统的具体&#xff0c;而linux对…

西安石油大学2023年第三届里奇杯编程大赛(初赛)

官方题解地址1v7w &#xff08;郭毅佬&#xff01;&#xff09;&#xff1a;https://www.cnblogs.com/1v7w/p/17437203.html A 签到 描述 你说得对&#xff0c;但是 “ 里奇杯 ” 是西安石油大学计算机协会举办的程序设计竞赛&#xff0c;比赛旨在激发同学们学习程序设计的热…

修罗论坛xiuno源码在线搭建

Xiuno BBS 是一款小巧、稳定、支持在大数据量下仍然保持高负载能力的轻论坛。它只有 20 多个表&#xff0c;源代码压缩后 1M 左右&#xff0c;运行速度非常快&#xff0c;处理单次请求在 0.01 秒级别&#xff0c;在有 APC、Yac、XCache 的环境下可以跑到 0.00x 秒&#xff0c;对…

基于物联网设计的酒驾检测系统(STM32+OneNet)

一、 设计说明 随着社会的发展和人们生活水平的提高,汽车已经成为人们出行的主要代步工具,与此同时,酒后驾车所引发的事故越来越多,对人们的生命安全带来了威胁。为了减少酒后驾车造成危险事故,本文设计了一款能够安装在车辆控制系统上的酒驾监测系统。 本系统主控芯片采…

TOGAF10®标准中文版--(阶段A — 架构愿景)方法

3.5.1 概述 阶段 A 从收到发起组织向架构组织发出的架构工作请求开始。 在TOGAF 标准 —EA能力和治理中讨论了确保公司管理层的适当认可和确认&#xff0c;以及直线管理层的支持和承诺所涉及的问题。 A阶段还定义了架构工作的范围内和范围外的内容以及必须处理的约束条件。在…

给httprunnermanager接口自动化测试平台加点功能(六)

文章目录 一、背景1.1、先看用例编辑/新增页面1.2、效果展示 二、思考三、总结 一、背景 这一讲&#xff0c;是想给维护用例信息留个缺口&#xff0c;咱们知道这个平台是基于httprunner框架开发的&#xff0c;那么在用例结构处可以发现&#xff0c;skip这个关键字&#xff0c;经…

我的创作纪念日_周年复盘

本文框架 前言机缘收获日常憧憬 前言 不知不觉又是一个特殊的纪念日&#xff0c;虽然工作很卷&#xff0c;生活很累&#xff0c;但也能在一次次文章发布及与读者的互动交流中不断充实自己&#xff0c;对于写文章也越来越成为自己的一个习惯&#xff0c;甚至一周不更都会生活感…

嵌入式软件测试笔记6 | 嵌入式软件测试中独立测试团队需要做哪些测试活动?

6 | 嵌入式软件测试中独立测试团队需要做哪些测试活动&#xff1f; 1 简介2 计划与控制阶段2.1 分配任务2.2 整体评审和研究2.3 建立测试基础2.4 确定测试策略2.5 设置组织2.6 列出测试交付清单2.7 指定基础设施2.8 组织管理和控制2.9 编制测试过程进度表2.10 整理测试计划2.11…

(UE4/UE5)Unreal Engine中使用HLOD

本教程将详细介绍在Unreal Engine的不同版本&#xff08;4.20-4.24、4.25-4.26、5.2&#xff09;中如何使用Hierarchical Level of Detail (HLOD)。注意&#xff0c;每个版本中使用HLOD的方法可能会有所不同。 一、预先生成LOD 步骤一&#xff1a;预先生成LOD打开UE4.21&…

深入理解cache对写好代码至关重要

CACHE的一致性 Cache的一致性有这么几个层面 1. 一个CPU的icache和dcache的同步问题 2. 多个CPU各自的cache同步问题 3. CPU与设备&#xff08;其实也可能是个异构处理器&#xff0c;不过在Linux运行的CPU眼里&#xff0c;都是设备&#xff0c;都是DMA&#xff09;的cache同…

商场开盲盒小程序软件

以下是商场开盲盒小程序软件可能具有的界面&#xff1a; 首页&#xff1a;展示热门盲盒产品、促销信息和优惠券等内容&#xff0c;提供快捷购物入口和搜索功能。 盲盒专柜或零售店铺列表&#xff1a;列出商场内所有盲盒专柜或零售店铺的地址和电话号码&#xff0c;帮助…