当前位置: 首页 > news >正文

TwinCL: A Twin Graph Contrastive Learning Model for Collaborative Filtering

TwinCL: A Twin Graph Contrastive Learning Model for Collaborative Filtering

在这里插入图片描述

摘要

在推荐和协同过滤领域,图对比学习(Graph Contrasive Learning,GCL)已经成为一种有影响的方法。然而,对比学习有效性的原因还没有得到很好的理解。本文对传统的随机扩充图结构或嵌入空间的方法提出了质疑,因为这些方法可能会破坏图神经网络的结构和语义信息.此外,固定速率的数据增强被证明与具有自适应速率的增强相比效率较低。在初始训练阶段,较大的扰动更适合,而随着训练接近收敛,较温和的扰动产生较好的结果。我们引入了一个双编码器来代替随机增强,证明了传统增强技术的冗余性。双编码器更新机制确保在早期阶段生成更多样的对比视图,随着训练的进行过渡到具有更大相似性的视图。此外,我们还从超球面上的对齐和均匀性的角度研究了学习表示,以更有效地进行优化。我们提出的孪生图对比学习模型- TwinCL -在保持超球面上嵌入的一致性的同时,对齐用户和项目嵌入的正对以及来自孪生编码器的表示。

引言

为了克服这些挑战,我们在本文中提出了一个双图对比学习模型的建议,称为TwinCL。关于第一个挑战,在追求简化GCL的协同过滤,我们放弃了传统的随机扩增应用到图结构或嵌入空间。受CL中动量更新机制[9,17]的启发,我们采用了一种使用动量更新的孪生编码器与主图编码器进行对比学习的策略。双编码器从主编码器迭代地更新自身,实现历史参数值与主编码器的当前梯度之间的平衡。这种基于孪生的模型具有在稀疏的用户-项目交互图中保留关键信息并以减少的计算操作有效地细化表示的优点。此外,它提供了不同的对比视图在初始阶段,过渡到更相似的视图在后期阶段,由于其更新机制,这被证明是有效的,以加强对比学习。关于第二个挑战,我们从[32]中推导出对齐和均匀性损失,并直接优化推荐任务,而无需负采样[44]。通过优化用户和项目嵌入内的对齐和均匀性属性,训练过程获得更快的收敛,同时表现出对过拟合的敏感性降低,从而增强鲁棒性。此外,对准和均匀性的设计,与双编码器相结合,协同有助于实现增强的性能。在最初的几个时期,模型受益于对齐和均匀性的优化,允许图形编码器更新到更合适的参数。通过从图形编码器获取更高质量的参数,双编码器可以通过从主图形编码器提取知识来迭代地细化其自身的参数,从而生成上级节点表示。

贡献:

  1. 我们提出了一种新的图对比学习范式TwinCL,它使用动量更新的孪生编码器,而没有对图和节点嵌入进行任何随机扩增。
  2. 我们将对齐和一致性的优化与我们的双图对比学习模型相结合,提高了性能,效率和对流行偏见的鲁棒性

孪生图对比学习

在这里插入图片描述

TwinCL利用孪生编码器生成有效的对比视图,而无需对图结构或节点表示进行扩充。此外,TwinCL利用对齐和一致性的特性来测量表示的质量,从而提高了双编码器的有效性。

现有的基于图的推荐方法通常依赖于随机扩增,这可能引入噪声并干扰图的结构和语义信息,特别是当图稀疏且用户-项目交互很少时。此外,这些方法需要反复试验选择增强方法和参数。我们需要选择一种具有适当扰动幅度的增强方法,例如辍学率[38]或噪声率[42,48]。然而,我们注意到,增强的最佳丢弃率或噪声率根据训练时期和迭代而不同。在训练的初始阶段,采用较高的丢弃率或扰动导致增强的对比学习结果。然而,随着模型达到一定数量的时期,为了减轻过拟合并促进进一步的改进,降低丢失率变得合乎需要,从而促进增强视图之间的更大相似性并实现上级结果。为了减轻固定丢弃率的不利影响,另一种方法涉及使用可学习的神经生成器[16]来创建对比视图。然而,这种方法在协同过滤场景中可能不是有效的,因为训练额外的生成器可能是繁重的。我们的目标是确定一种计算效率高的方法,并允许在训练的早期阶段进行较大的扰动,在后期阶段过渡到较稳定的扰动。

此外,GCL模型中对齐和一致性优化的未充分利用代表了改进推荐性能的未开发机会。大多数现有的GCL方法[23,42,48]只是分析学习表示的对齐和一致性,而没有利用这些属性。因此,我们的研究致力于设计一种GCL模型,该模型放弃了随机增强,有利于直接优化对齐和均匀性,寻求克服数据稀疏性,并在训练的早期阶段受到显著扰动时增强鲁棒性。

预备知识

1. 对齐、均匀

在对比学习领域,对齐和均匀性被认为是衡量表征质量的两个关键属性。给定一个正对的分布,对齐被定义为对比学习中正对的归一化嵌入之间的期望距离。
在这里插入图片描述

换句话说,均匀性是嵌入分布均匀程度的度量。
在这里插入图片描述

对齐和一致性度量非常适合对比学习的中心目标:正实例的嵌入应该彼此靠近,而随机实例的嵌入应该分散在超球面上。此外,这两个指标同样与协同过滤密切相关[32],其中用户感兴趣的项目可以与用户形成正对。这里类似地,正用户-项目对的归一化嵌入应该保持接近,而所有用户和项目的归一化嵌入应该均匀分布在超球体上:
在这里插入图片描述

孪生图对比学习

动机

现有的基于图的推荐方法通常依赖于随机增强,这会引入噪声并干扰图的结构和语义信息,特别是当图稀疏且用户-项目交互很少时。此外,这些方法需要反复试验选择增强方法和参数。我们需要选择一种具有适当扰动幅度的增强方法,例如丢弃率[38]或噪声率[42,48]。然而,我们注意到,用于增强的最佳丢弃率或噪声率取决于训练时期和迭代而不同。在训练的初始阶段,采用较高的丢弃率或扰动导致增强的对比学习结果。然而,随着模型达到一定数量的时期,为了减轻过拟合并促进进一步的改进,降低丢失率变得合乎需要,从而促进增强视图之间的更大相似性并实现上级结果。为了减轻固定丢弃率的不利影响,另一种方法涉及使用可学习的神经生成器[16]来创建对比视图。然而,这种方法在协同过滤场景中可能效率不高,因为训练额外的生成器可能很繁重。
我们的目标是确定一种计算效率高的方法,并允许在训练的早期阶段进行较大的扰动,在后期阶段过渡到较温和的扰动。此外,GCL模型中对齐和一致性优化的未充分利用代表了改进推荐性能的未开发机会。大多数现有的GCL方法[23,42,48]只是分析学习表示的对齐和一致性,而没有利用这些属性。因此,我们的研究致力于设计一种GCL模型,该模型放弃了随机增强,有利于直接优化对齐和均匀性,寻求克服数据稀疏性,并在训练的早期阶段受到显著扰动时增强鲁棒性。

双编码器

在这里插入图片描述

双编码器更新机制

主编码器通过梯度来训练模型参数,孪生网络不需要训练,每次从主网络中来拷贝部分参数来优化孪生网络。

在这里插入图片描述
双编码器更新机制保证了双编码器之间的多样性,并在训练的早期阶段生成对比视图。随着模型接近收敛,双编码器之间的相似性显著增加。与固定速率扰动方法相比,该功能增强了对比学习的性能,同时还确保了对比视图的有效生成。

	主编码其和其孪生网络通过图编码器生成用户、物品嵌入,用于对比学习。

在这里插入图片描述

对比学习

主编码器和孪生编码器之间的对比学习是为了最大化由双编码器和双编码器生成的正对的表示之间的相似性,同时鼓励嵌入空间中的均匀性。
在这里插入图片描述

对齐和均匀性优化

本文深入研究了如何为我们的协同过滤模型调整对齐和一致性的优化的细节。在传统的推荐系统中,贝叶斯个性化排序(BPR)[28]损失是优化项目排序的流行选择。但是,它也有自己的一系列限制,主要是由于它对负采样的敏感性以及捕获复杂的用户-项目交互的困难。负采样的性能可能会受到采样负样本的低质量和缓慢收敛的影响。为了克服这些限制,我们的模型采用了两种主要的优化损失。对齐损失确保了图中相似用户和项目的嵌入在表示空间中更接近,从而导致更准确的推荐均匀性损失确保嵌入均匀地分布在表示空间上,从而减少模型过度拟合特定项目或用户类别的机会,并使模型更加稳健和可推广

	bpr损失

在这里插入图片描述
当用户和项目的正对表示具有完美对齐且所有表示在超球面上均匀分布时,BPR损失最小.因此,对齐和均匀性损失可以替代BPR损失来优化推荐模型。通过直接优化对齐损失Lalign和均匀性损失Luniform,该模型在保证正用户-项目对的均匀分布的同时,内在地对齐了正用户-项目对的嵌入,从而得到了比依赖于BPR损失的传统方法更丰富的表示。在这里插入图片描述

TwinCL 算法

在这里插入图片描述
在这里插入图片描述

相关文章:

TwinCL: A Twin Graph Contrastive Learning Model for Collaborative Filtering

TwinCL: A Twin Graph Contrastive Learning Model for Collaborative Filtering 摘要 在推荐和协同过滤领域,图对比学习(Graph Contrasive Learning,GCL)已经成为一种有影响的方法。然而,对比学习有效性的原因还没有…...

如何区分实例化网格中的每个实例

1)如何区分实例化网格中的每个实例 2)项目在模拟器上切换程序后有概率画面冻结 3)Unity工程导入团结引擎,GUID会变化,导致引用关系丢失 4)Mask在Android平台下渲染异常 这是第407篇UWA技术知识分享的推送&a…...

理解 WordPress | 第一篇:与内容管理系统的关系

初步了解 WordPress 在互联网世界里,WordPress 是一个家喻户晓的名字。它是一个开源的内容管理系统(Content Management System,简称 CMS),帮助用户轻松创建和管理网站。WordPress 诞生于 2003 年,最初是一…...

Python游戏脚本之实现飞机大战(附源码)

一.游戏设定 游戏界面如下图所示: 游戏的基本设定: 敌方共有大中小3款飞机,分为高中低三种速度; 子弹的射程并非全屏,而大概是屏幕长度的80%; 消灭小飞机需要1发子弹,中飞机需要8发,大飞机需要20发子弹; 每消灭一架小飞机得1000分,中飞机6000分,大飞…...

使用Spring Boot搭建简单的web服务

1 引言 1.1 Spring Boot简介 Spring Boot是由Pivotal团队提供的一套开源框架,旨在简化Spring应用的创建及部署。 一、核心设计思想 Spring Boot的核心设计思想是“约定优于配置”(Convention Over Configuration,简称COC)。这…...

【IF-MMIN】利用模态不变性特征进行缺失模态的鲁棒多模态情感识别

代码地址:github地址传送 文章是基于MMIN的改进 -> MMIN传送 abstract 多模态情感识别利用跨模态的互补信息来获得性能。然而,我们不能保证所有模式的数据总是存在于实践中。在跨模态数据缺失预测研究中,异质性模态之间的固有差异即模态…...

RGB图像,排列方式NHWC适合CPU计算,NCHW适合GPU计算

之前写过笔记OpenCV读取图像时按照BGR的顺序HWC排列,PyTorch按照RGB的顺序CHW排列,HWC格式排列,那么内存位置计算公式是? 在比较NHWC(channels_last)和NCHW(channels_first)这两种图像数据通道格式的效率时…...

布朗运动

内容来源 数理金融初步(原书第3版)Sheldon M. Ross著 冉启康译 机械工业出版社 布朗运动 定义 如果随机变量集合 X ( t ) X(t) X(t) 满足以下条件 X ( 0 ) X(0) X(0) 是一个给定的常数 对所有正数 y y y 和 t t t,随机变量 X ( y t …...

WPF+MVVM案例实战(二十二)- 制作一个侧边弹窗栏(CD类)

文章目录 1、案例效果1、侧边栏分类2、CD类侧边弹窗实现1、样式代码实现2、功能代码实现3 运行效果4、源代码获取1、案例效果 1、侧边栏分类 A类 :左侧弹出侧边栏B类 :右侧弹出侧边栏C类 :顶部弹出侧边栏D类 :底部弹出侧边栏2、CD类侧边弹窗实现 1、样式代码实现 在原有的…...

集成旺店通旗舰版售后单至MySQL数据库

旺店通旗舰版-售后单集成到MySQL的技术实现 在数据驱动的业务环境中,如何高效、准确地将旺店通旗舰奇门的数据集成到MySQL数据库,是许多企业面临的重要挑战。本文将分享一个具体的系统对接案例:旺店通旗舰版-售后单-->BI泰海-售后订单表(…...

【Linux】从零开始使用多路转接IO --- epoll

当你偶尔发现语言变得无力时, 不妨安静下来, 让沉默替你发声。 --- 里则林 --- 从零开始认识多路转接 1 epoll的作用和定位2 epoll 的接口3 epoll工作原理4 实现epollserverV1 1 epoll的作用和定位 之前提过的多路转接方案select和poll 都有致命缺点…...

爬虫学习4

from threading import Thread#创建任务 def func(name):for i in range(100):print(name,i)if __name__ __main__:#创建线程t1 Thread(targetfunc,args("1"))t2 Thread(targetfunc, args("2"))t1.start()t2.start()print("我是诛仙剑")from …...

CTF之web题集详情随手笔记

《Web安全》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484238&idx1&snca66551c31e37b8d726f151265fc9211&chksmc0e47a12f793f3049fefde6e9ebe9ec4e2c7626b8594511bd314783719c216bd9929962a71e6&scene21#wechat_redirect 1 WEB 1 靶场目…...

TDengine 集群能力:超越 InfluxDB 的水平扩展与开源优势

随着物联网、车联网等领域的快速发展,企业所面临的数据采集量呈爆炸式增长,这对 IT 基础设施和数据库提出了严峻挑战。传统单机版数据库逐渐无法应对高并发的数据写入和复杂的查询需求。因此,底层数据库必须具备水平扩展能力,以确…...

MATCH_DIRECT_BOOT_AWARE和MATCH_DIRECT_BOOT_UNAWARE

PackageManager.MATCH_DIRECT_BOOT_AWARE和PackageManager.MATCH_DIRECT_BOOT_UNAWARE 在Android系统中,PackageManager类提供了一些标志位,用于控制查询系统中的应用和组件时的行为。其中,MATCH_DIRECT_BOOT_AWARE和MATCH_DIRECT_BOOT_UNAWA…...

LabVIEW离心泵性能优化测试系统

开发了一套基于LabVIEW平台开发的离心泵性能优化测试系统。系统集成了数据采集、流量控制、数据存储、报表生成等功能,提供了低成本、便捷操作的解决方案,适用于工业场景中对离心泵性能的精确测评。 项目背景 随着工业化进程的加速,离心泵在…...

token和jwt区别

Token 和 JSON Web Token (JWT) 都是用于身份验证和授权的技术,但它们之间有一些重要的区别。下面是它们的主要区别和各自的特性: 1. 概念上的区别 Token: 广义概念:Token 是一个通用术语,指的是任何形式的令牌,用于在客户端和服务器之间传递身份验证和授权信息。实现方…...

新闻稿件管理:SpringBoot框架实战指南

3系统分析 3.1可行性分析 通过对本新闻稿件管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本新闻稿件管理系统采用SSM框架,JAVA作为开发语…...

AI运动小程序开发常见问题集锦二

截止到现在写博文时,我们的AI运动识别小程序插件已经迭代了23个版本,成功应用于健身、体育、体测、AR互动等场景;为了让正在集成或者计划进行功能扩展优化的用户,少走弯路、投入更少的开发资源,针对近期的咨询问题&…...

nginx安装

下载地址 https://nginx.org/en/download.html选择 把下载好的压缩包放在 解压 tar -zxf nginx-1.27.2.tar.gz下载 yum install -y gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel ./configuremake&&make install这样表示安装成功 接下去启动nginx…...

【Linux驱动开发】内核定时器的配置和使用

【Linux驱动开发】内核定时器的配置和使用 文章目录 Linux内核时钟定时器调用方式延时函数 应用附录:嵌入式Linux驱动开发基本步骤开发环境驱动文件编译驱动安装驱动自动创建设备节点文件 驱动开发驱动设备号地址映射,虚拟内存和硬件内存地址字符驱动旧…...

Kubernetes架构及核心组件

一、基本架构 Kubernetes集群可以被看作是一个工厂,而各个组件则是这个工厂里的不同部门: Kubernetes API服务器:就像是这个工厂的总经理,负责接收所有的请求并将它们分配给相应的部门进行处理。 etcd:就像是这个工厂的记事本,负责记录所有的配置信息和状态信息,以便其…...

Fastflow工作流系统源码

可视化工作流程审批插件,作为一款高效的企业管理工具,其核心价值在于帮助用户根据企业独特的业务模式和管理模式,灵活自定义所需的各种流程应用。这一功能极大地提升了企业的自主性和灵活性,使得企业能够迅速构建出贴合自身运营需…...

小林渗透入门:burpsuite+proxifier抓取小程序流量

目录 前提: 代理: proxifier: 步骤: bp证书安装 bp设置代理端口: proxifier设置规则: proxifier应用规则: 结果: 前提: 在介绍这两个工具具体实现方法之前&#xff0…...

AiPPT - 全智能 AI 一键生成 PPT

一、产品介绍 AiPPT是一款基于人工智能技术的智能演示文稿制作工具。它结合了先进的AI算法与用户友好的界面设计,旨在帮助用户快速、高效地创建出专业且富有吸引力的PPT演示文稿。AiPPT不仅能够自动排版、优化内容布局,还能根据用户输入的关键词或主题&…...

React 前端使用 Input 输入框的样式上传一个 Excel 文件并读取内容对象数组

本文讲解了关于如何在 React 前端使用 Input 输入框上传一个 Excel 文件,并读取文件内容转成 json 数据格式(对象数组)。 文章目录 1、Excel 文件展示2、完整代码3、数据结果展示4、前端样式展示5、使用 button 按钮的前端样式 1、Excel 文件…...

【测试工具】Fastbot 客户端稳定性测试

背景 做这个主要为了发版之前提前发现崩溃,风险前置。适合客户端很重的业务。 优点:你不改动也能用, 维护成本不高。 缺点:容易进入H5页面无法返回,效果有限。 备注:我这边接手别人维护,公司…...

软件测试学习笔记丨Vue常用指令-输入绑定(v-model)

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23461 指令 指令是将一些特殊行为应用到页面DOM元素的特殊属性 格式都是以v-开始的,例如: v-model:双向绑定v-if和v-else:元素是否存在v-sho…...

C#、C和C++的主要区别

C#和C的区别在于:C#代码首先会被编译为CLR(公共语言运行库),然后由.NET框架解析;它是在虚拟机上执行,会自动进行内存管理,不支持使用指针。C将会直接被编译为机器代码&am…...

我们来学mysql -- 连接(原理版)

我们来学mysql -- 连接 题记两张表驱动表 题记 回到初学者的视角,navicat或命令窗口,呈现一行行数据,类比为excel工作薄更是深入人心通过join将多表的记录关联起来,这似乎也没啥问题只是好像是那么回事,又…似乎有想说…...