推荐系统中不得不学的对比学习(Contrastive Learning)方法(三)

简介: 推荐系统中不得不学的对比学习(Contrastive Learning)方法(三)

图结构上的数据扩充


由于以下特定特征,直接在基于图的推荐中采用CV和NLP任务中的数据增强是不可行的。


  1. 用户和物品的特征是离散的,如one-hot ID等分类变量。因此,图像上的增强操作,如随机裁剪、旋转或模糊,是不适用的。


  1. 更重要的是,与将每个数据实例视为独立的CV和NLP任务不同,交互图中的用户和项目本质上是相互连接和依赖的。因此,我们需要为基于图的推荐定制新的增强运算符。


二部图建立在观察到的用户-物品交互上,因此包含协同过滤信号。具体来说,第一跳邻近节点直接描述了自我用户和项目节点,即用户的历史项目(或项目的交互用户)可以被视为用户(或项目)的预先存在特征。用户(或项目)的第二跳邻近节点表示类似用户(或类似项目)。此外,从用户到商品的higher-order路径反映了用户对商品的潜在兴趣。毫无疑问,挖掘图结构中的固有模式有助于表示学习。因此,作者在图结构上设计了三个算子:node dropout, edge dropout 和 random walk,以创建不同的节点视图。运算符可以一致表示为:


27.png


其中,在图G中独立进行随机选择s1和s2,从而构建两个相关视图Z1(l)和Z2(l)。三个增广算子详细阐述如下:Node Dropout (ND):以概率ρ从图中丢弃每个节点及其连接边。


28.png


式中,M`, M``∈{0,1} | V |是两个掩码向量,应用于节点集V生成两个子图。因此,这种增强可以从不同的增强视图中识别出有影响的节点,使表示学习对结构变化不那么敏感。Edge Dropout (ED):以概率ρ从图中丢弃边。


29.png


其中M1, M2∈{0,1} | E |是边集E上的两个掩码向量。只有邻域内的部分连接对节点表示有贡献。因此,耦合这两个子图的目的是捕获节点局部结构的有用模式,并进一步赋予表示对噪声交互的更强的鲁棒性。


Random Walk :上面的两个算子生成一个跨所有图卷积层共享的子图。为了探索更高的性能,作者考虑为不同的层分配不同的子图。这可以看作是使用随机游走为每个节点构造单独的子图。假设在每一层(有不同的比例或随机种子)选择edge dropout,则可以通过利用边掩蔽向量对层敏感来制定RW(如下图所示):


30.png


为了简单起见,作者在图结构的每个epoch上应用这些增强,也就是说,在一个新的训练epoch开始时,对每个节点生成两个不同的视图(对于RW,每层生成两个不同的视图)。请注意,对于两个独立进程(即s1和s2), dropout和masking比率是相同的。我们将不同比例的调整留到以后的工作中。值得一提的是,只涉及到dropout和masking操作,并且没有添加任何模型参数。


对比学习


将来自同一节点的增强视图视为正例,来自不同节点间的增强视图视为负例。正例辅助监督促进了同一节点的不同视图之间的预测一致性,而负例监督则强化了不同节点之间的分歧。形式上,遵循SimCLR,并采用对比损失InfoNCE来最大化正例的一致性,最小化负例的一致性:


31.png


项目上的损失如上类似构建。最终的自监督任务损失如下:


32.png


多任务学习


为了改进自监督学习任务的推荐,作者利用多任务训练策略联合优化经典推荐任务和自监督学习任务:


33.png


本文的主要贡献总结如下:


探索了自监督学习解决监督学习范式下基于图推荐的局限性的潜力;


提出了一个模型无关的框架SGL来补充监督推荐任务与自监督学习的用户-项目图;


从图结构的角度,设计了三种不同方面的数据扩充来构建辅助对比任务。


下面给大家留一个讨论题,希望大家踊跃发表意见,让我们所有人都从讨论中受益:


除了DHCN、MHCN和SGL,你还知道哪些将对比学习与推荐系统结合的模型,它们是如何将自监督应用在推荐任务中的,损失函数又是什么样的?


相关文章
|
7月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
442 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的线上学习资源智能推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的线上学习资源智能推荐系统附带文章源码部署视频讲解等
69 5
|
机器学习/深度学习 自然语言处理 搜索推荐
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战
|
人工智能 搜索推荐 算法
秒懂算法 | 推荐系统常用数据集和验证方法
推荐系统常用数据集和验证方法
2299 1
秒懂算法  | 推荐系统常用数据集和验证方法
|
机器学习/深度学习 人工智能 移动开发
人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)
人工智能领域:面试常见问题超全(深度学习基础、卷积模型、对抗神经网络、预训练模型、计算机视觉、自然语言处理、推荐系统、模型压缩、强化学习、元学习)
|
搜索推荐 安全 关系型数据库
基于知识图谱的个性化学习资源推荐系统的设计与实现(论文+源码)_kaic
最近几年来,伴随着教育信息化、个性化教育和K12之类的新观念提出,一如既往的教育方法向信息化智能化的转变,学生群体都对这种不受时间和地点约束的学习方式有浓厚的兴趣。而现在市面上存在的推荐系统给学生推荐资料时不符合学生个人对知识获取的需求情况,以至于推荐效果差强人意。与此同时,这种信息数字化的新学习方法在给学生群体带来方便的同时,也带来了很多其他的问题,例如信息冗杂、形式让人眼花缭乱的问题,导致系统检索变得难以运行。 解决问题的关键是个性化学习推荐系统,它适合于各式各样的用户产生的各式各样的需求。
|
人工智能 搜索推荐 算法
AAAI 2023杰出论文一作分享:新算法加持的大批量学习加速推荐系统训练
AAAI 2023杰出论文一作分享:新算法加持的大批量学习加速推荐系统训练
300 0
|
机器学习/深度学习 人工智能 搜索推荐
推荐系统:ARL(关联规则学习)
一家公司的产品内容一般都是非常丰富的,但用户的兴趣往往会针对整个内容集进行筛选,挑选出用户感兴趣的产品,筛选的规则因人而异。为了让用户不迷失在丰富的产品集群中,并根据兴趣领域达到所需的个性化服务,一般都会制作各种过滤器。这些过滤器和算法显示就是我们的“推荐系统”。
224 0
|
机器学习/深度学习 人工智能 搜索推荐
Google提出用对比学习解决推荐系统长尾问题
Google提出用对比学习解决推荐系统长尾问题
981 0
Google提出用对比学习解决推荐系统长尾问题
|
机器学习/深度学习 搜索推荐 索引
推荐系统中不得不学的对比学习(Contrastive Learning)方法(二)
推荐系统中不得不学的对比学习(Contrastive Learning)方法(二)
845 0
推荐系统中不得不学的对比学习(Contrastive Learning)方法(二)

热门文章

最新文章