首页 > 编程语言 >读论文-基于注意力机制的对抗性协同过滤推荐算法

读论文-基于注意力机制的对抗性协同过滤推荐算法

时间:2024-01-23 11:13:41浏览次数:21  
标签:模型 对抗性 算法 过滤 鲁棒性 物品 推荐

前言

今天读的论文为一篇名叫《基于注意力机制的对抗性协同过滤推荐算法》,文中主要介绍了一种基于相关注意力的协同过滤推荐算法,该算法结合深度学习中的注意力机制为不同物品分配不同的权值来捕获与目标物品最相关的物品,探索不同物品的权重对模型预测的影响并以此提升推荐的准确度,此外,为了解决推荐算法鲁棒性低的问题,进一步提出了注意力协同对抗性训练的推荐算法,通过对抗性学习的方法并使用快速梯度符号算法(FGSM)构建对抗样本输入模型进行对抗训练,缓解模型受扰动的影响从而提升算法鲁棒性。

摘要

针对协同过滤推荐算法中用户所交互的物品对其决策的不同贡献度问题,提出了一种基于相关注意力的协同过滤推荐算法。 该算法结合深度学习中的注意力机制为不同物品分配不同的权值来捕获与目标物品最相关的物品,探索不同物品的权重对模型预测的影响并以此提升推荐的准确度;在此基础上,为了解决推荐算法鲁棒性低的问题,进一步提出了注意力协同对抗性训练的推荐算法,通过对抗性学习的方法并使用快速梯度符号算法(FGSM)构建对抗样本输入模型进行对抗训练,缓解模型受扰动的影响从而提升算法鲁棒性。 在 Pinterest 和 MovieLens-1M 这 2 个数据集上的实验结果表明,所提算法不仅有效提升了推荐算法的准确度,同时也增强了推荐系统的鲁棒性。

引言

推荐系统已成为信息检索和数据挖掘的重要手段之一。

基于物品的协同过滤( item based collaborativefiltering, ICF)是当前推荐算法中最主要的一种,其原理是通过“用户-物品” 的交互数据来预测用户的偏好并生成 K 个用来推荐给用户的候选物品,然后再通过一个排序系统对生成的候选进行 Top-K 排序。

早期的ICF使用统计度量来量化2个物品间的相似性,例如物品间的余弦相似性,但为了使模型表现良好,此类方法通常需要对相似性度量进行手动调整。近年来,研究人员进一步地通过数据驱动的方法来学习物品间的相似性,代表性的2种方法是稀疏线性模型(sparselinearmethods,SLIM)和物品相似性分解模型(factoreditemsimi-laritymethods,FISM)。SLIM通过对数据的稀疏性和非负性限制,直接学习物品-物品的相似度矩阵,而FISM则将2个物品间的相似度分解为它们的潜在向量的内积。

上述方法只考虑了物品间的简单交互而没有考虑到高阶交互关系,例如某些具有共同属性的多个物品。为了有效捕捉物品间的高阶交互关系,Feng等人提出了一种深度协同过滤推荐算法(deepitem-basedcollaborativefilteringfortop-nrecommendation,DICF),该算法使用不同的神经层来分别捕获物品间的低阶和高阶关系。具体地说,首先在神经网络的底层,通过对每个物品对的嵌入进行Hadamard乘积运算来捕捉物品间的低阶交互关系;然后,使用一个深度交互层,并利用非线性学习的方法来捕捉物品间的高阶交互关系。得益于多层神经网络强大的学习能力,这种端到端的方案可以有效捕捉到物品间高阶关系对用户决策的影响。

尽管上述方法在推荐准确性上取得了良好的性能,但还是忽略了历史上不同交互物品对用户当前选择贡献度的差异。事实上,某个用户对其所交互过的一组历史物品中不同物品的偏好应该是不同的。例如,用户分别购买了衣服、电脑和皮包3种物品,但并不意味着用户对这3种物品具有相同的偏好。当用户需要购买一件上衣时,显然衣服这个历史样本对当前决策的影响更大,因此它的权重因子也就更大。为了处理这类问题,引入深度学习中的注意力机制,其核心思想是从原始信息中捕获与当前任务最相关的部分并进行加权处理。通过注意力机制,为不同的历史物品分配不同的权重,从而提升模型的推荐精度。

研究表明,如果在训练过程中人为地对模型输入施加微小的扰动时,模型性能会急剧下降,这也就意味着推荐模型抗干扰能力差。受到计算机视觉领域对抗性机器学习的启发,本文发现将对抗性学习结合到推荐系统模型中时,可以有效增强模型的鲁棒性。通过对用户和物品嵌入对抗扰动,再将扰动后的样本和原始样本一起输入到模型中进行训练,可以有效提升模型的鲁棒性。

注意力机制

此前的研究表明,如果在训练过程中人为地对模型输入施加微小的扰动时,模型性能会急剧下降,这也就意味着推荐模型抗干扰能力差。受到计算机视觉领域对抗性机器学习的启发,本文发现将对抗性学习结合到推荐系统模型中时,可以有效增强模型的鲁棒性。通过对用户和物品嵌入对抗扰动,再将扰动后的样本和原始样本一起输入到模型中进行训练,可以有效提升模型的鲁棒性。

对抗性训练

对抗训练是提升机器学习模型鲁棒性的重要方式,其原理是在模型训练过程中动态地生成对抗样本,将其添加到模型中进行训练,使得模型能够适应这些样本,进而提升鲁棒性。推荐系统的本质也是一个分类任务,因此对抗性训练的方法同样适用于推荐系统。

模型架构

image

RACF 模型

为了区分用户不同交互物品的贡献度,本文采用深度学习中的注意力机制,提出了基于注意力网络的协同过滤推荐算法(RACF),整个模型包括输入层、嵌入层、注意力层、逐对交互层、池化层、深度交互层以及预测层。在输入层,分别使用one-hot和multi-hot编码来对目标物品i和用户的历史物品集Ru+进行特征嵌入,将目标物品和每一个历史物品j∈Ru+,映射成一个维度为16的特征向量pi、qj。因此,嵌入层输出的就是代表用户物品的特征向量qj的集合和代表目标物品的特征向量pi
注意:有关one-hot和multi-hot编码,可以参考这篇博客:知乎-one-hot\multi-hot\Embedding详解

算法流程

image

实验数据集

在MovieLens-1M和Pinterest这2个数据集上评估所提出的模型性能。Movielens-1M是一个电影评价的数据集,被广泛用于协同过滤算法上,本文使用包括100万个评分、每个用户至少有20个评价的版本。Pinterest是一个图片数据集,原始的Pinterest数据集非常稀疏,选择使用一个类似于MovieLens-1M的版本,即每个用户至少有20次交互。数据集信息如表1所示。

image

结尾

本文提出一种结合注意力机制的协同过滤推荐算法(RACF),通过注意力网络解决了推荐系统中用户不同历史物品的贡献度问题。在此基础上,为了研究推荐系统鲁棒性问题,提出了基于注意力机制的对抗性协同过滤推荐算法(ARACF)以此增强模型的鲁棒性。在2个数据集上进行的实验结果表明,本文所提算法不仅提升了模型的性能,还有效提升了模型的鲁棒性。



好了,今天的论文就先读到这儿了,明天再见。

标签:模型,对抗性,算法,过滤,鲁棒性,物品,推荐
From: https://www.cnblogs.com/wephiles/p/17981648

相关文章

  • 算法学习Day38斐波那契数、爬楼梯
    Day38斐波那契数、爬楼梯ByHQWQF2024/01/22笔记509.斐波那契数斐波那契数,通常用 F(n)表示,形成的序列称为斐波那契数列。该数列由 0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1) =1F(n)=F(n-1)+F(n-2),其中n>1给你n,请计算F(......
  • 算法学习Day39不同路径
    Day39不同路径ByHQWQF2024/01/22笔记62.不同路径一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n......
  • 算法学习Day41整数拆分、不同的二叉搜索树
    Day41整数拆分、不同的二叉搜索树ByHQWQF2024/01/22笔记343.整数拆分给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。返回你可以获得的最大乘积。示例1:输入:2输出:1解释:2=1+1,1×1=1。示例 2:输入:10输出:36解释......
  • 《算法引论》第二章(数学归纳法)
    第二章总结2.1原始的数学归纳法可以变形为各种形式,核心是有几个知道的n比较小的值或者性质+有一些从前向后的推断方式,然后推出一系列东西。比较常见的变形有强归纳法、间隔归纳法(n=1,2,..k时成立,n-k成立能推出n成立)、指数归纳法(n/k推n),等等。关键:根据我们掌握了什么决定使用什么......
  • 算法学习Day37单调递增的数字
    Day37单调递增的数字ByHQWQF2024/01/22笔记738.单调递增的数字给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x<=y 时,我们称这个整数是单调递增的。)示例1:......
  • 机器人的控制算法(传统控制算法、基于模型的控制算法、非人工智能算法) —— 自动控制算
    参考:https://careers.tencent.com/jobdesc.html?postId=1742828601499197440机器人算法:机器人算法在AI领域兴起之前其实就是指自动控制算法,但是自动控制算法只能解决简单场景环境下的控制问题,对于复杂场景下自动控制算法往往效果有限,而复杂场景下使用AI算法来进行控制会得到......
  • 算法基础_1
    title:(算法基础课)link:(https://www.acwing.com/)cover:(https://cdn.acwing.com/media/activity/surface/log.png)上课理解思路->下课理解背过代码模板->做3-5遍题目(循环AC)排序快速排序快速排序模板题例题分治:用一个数来分,不需要必须是中心数先分完再递归两边......
  • Johnson 全源最短路算法
    ​ Johnson全源最短路是一种允许带负权边的全源最短路算法。它的主要实现思路即为将原先带负权边的图转化成求一个无负权边的图的全源最短路。​ 我们定义一个新节点\(0\),其中\(0\)节点与其它各节点连接一条边权为\(0\)的边。令\(h_i\)为\(0\)节点到\(i\)节点的最短......
  • STL-算法
    STL-算法目录STL-算法查找统计算法统计查找二分查找排序和通用算法排序随机合并反转复制替换删除算法复制替换删除唯一互换生成和异变算法数值算法关系集合算法交并集实践操作Vector中去重参考资料STL的三大组件:容器(container)算法(algorithm)迭代器(iterator)。STL算法部分......
  • 基于项目的协同过滤推荐算法(Item-Based Collaborative Filtering Recommendation Alg
    前言协同过滤推荐系统,包括基于用户的、基于项目的息肉通过率等,今天我们读一篇基于项目的协同过滤算法的论文。今天读的论文为一篇名叫《基于项目的协同过滤推荐算法》(Item-BasedCollaborativeFilteringRecommendationAlgorithms)。摘要Recommendersystemsapplyknowledg......