摘要:推荐系统作为解决信息超载问题的一种重要手段,在电子商务、广告等多个领域得到了广泛的应用。然而,最近的研究表明,推荐系统很容易受到中毒攻击;也就是说,在推荐系统中注入一组精心设计的用户档案会严重影响推荐质量。目的(从先令攻击发展到基于优化的攻击,但在大多数攻击中生成的数据的不可感知性和危害是难以平衡的)为此,我们提出了一种基于影响的中毒攻击(三重对抗性中毒攻击),这是一种灵活的端到端中毒框架,可以生成不显著和有害的用户档案。具体来说,在考虑到输入噪声的情况下,试验攻击通过对生成器、鉴别器和影响模块的三重对抗性学习,生成恶意用户。此外,为了为试验攻击训练提供可靠的影响,我们探索了一种新的近似方法来估计每个假用户的影响。通过理论分析,证明了在执行有效攻击的前提下,试验攻击的分布近似于真实用户的评级分布。这个属性允许注入的用户以一种简单的方式进行攻击。在三个真实数据集上的实验表明,试验攻击的攻击性能优于最先进的攻击,并且生成的假轮廓比基线更难检测。

1 介绍

推荐系统容易受到中毒攻击,即在推荐系统中注入少量设计良好的虚假用户,很容易欺骗推荐模型。一方面,这种脆弱性是无可辩驳的,鼓励研究人员学习和探索模型的鲁棒性。另一方面,不同系统中的许多商家都有很好的动机去利用数据中毒攻击来推广他们的产品或降低他们的竞争对手的产品。例如,索尼影业制作了一些通过伪造电影评论而被广泛推荐的特定电影1。因此,从学术研究和现实实践的角度来看,非常需要对推荐系统的数据中毒攻击进行研究,为开发有效的防御方法提供关键的见解和策略。

复杂的中毒攻击方法不仅应有效地实现攻击目标,而且应以非显着的方式起作用 [12,28]。大多数现有的中毒攻击方法都集中在优化定义的攻击对象 [13,22]; 但是,生成的中毒配置文件通常缺乏多样性,并且严重偏离正常用户的数据 [7]。这一缺陷导致中毒攻击很容易被防御工具或机制检测到 [7,26]。尽管先令攻击利用统计信息生成更接近真实用户的用户,但它们没有得到理论分析,也无法优化具体模型,这显著削弱了攻击的破坏性 [32]。

鉴于现有攻击的不足,最近的一些作品 [9,25] 利用生成对抗网络 (GAN) 对数据分布进行建模 [3,8,15,18,444],并考虑使用GAN的生成能力来产生恶意用户。例如,Christakopoulou等人 [9] 使用DCGAN生成 “真实” 用户,然后根据特定的攻击意图对其进行修补。这样的逐步处理主要集中在第二优化阶段,在最坏的情况下,它会退化到传统的基于模型的优化攻击。林等 [25] 将先令损失纳入发电机,但本质上仍是先令攻击,攻击性能令人难以保证。

为了解决上述挑战,我们提出了三重对抗学习,以共同攻击优化和GAN以生成有害且晦涩的中毒数据。然而,评估用户对攻击的奖励是具有挑战性的。一种简单的方法是重新训练受污染的数据集,然后评估攻击性能。这种方法需要推荐模型在每个GAN训练时期进行多次重新训练,这在计算上是不可行的。这就是为什么当前基于GAN的攻击仅限于添加与模型无关的先令损失的原因 [25]。受影响函数在跟踪训练样本对决策影响的效率 [19] 的启发,我们提出了一种计算中毒用户攻击影响的近似方法,避免了耗时的重新训练。此外,我们使用神经网络将影响力建模为影响力模块,并将其与GAN集成,以开发基于影响力的中毒攻击 (TrialAttack) 的三重对抗学习。与三个玩家玩minimax游戏的TripleGAN [8] 类似,TrialAttack允许生成器,鉴别器和影响力模块通过三重对抗机制相互竞争。通过理论和实验分析,我们证实了TrialAttack可以生成非显着且有效的中毒数据,从而实现了攻击目标。

总而言之,我们工作的主要贡献如下。

• 我们为推荐系统中的中毒攻击提出了一个灵活的端到端框架TrialAttack。通过三重对抗性学习,TrialAttack可以有效平衡生成用户的不可感知性和危害性。此外,与现有的模型相关攻击相比,我们的框架可以更有效地生成假用户。我们从理论上证明,在有效攻击的前提下,以TrialAttack为特征的分布可以近似于真实分布。该属性允许假用户不显眼地注入,显著增加了防御难度。

• 在TrialAttack中,我们提供了一种新的近似方法来估计中毒数据对攻击目标的影响。给定任何用户,它可以有效地评估用户对推荐器系统的损害。

• 我们评估三个真实世界数据集的TrialAttack。实验结果表明,我们的攻击优于最先进的方法,并且与基线相比,生成的假用户更难检测。

2相关工作

近年来,人们对中毒攻击、攻击检测和推荐系统鲁棒性进行了深入研究 [28]。

中毒攻击: 早期的先令攻击,如平均攻击 [28] 和乐队攻击 [4],只是基于类似用户有相似兴趣的事实,没有优化具体的模型,使得攻击的伤害不令人满意。2016年,Li等人 [22] 提出了基于因式分解的协同推荐的中毒攻击,通过最小化攻击目标来实现完整性攻击和可用性攻击。它为后续基于模型的攻击 [12,13,30,34,36] 的研究奠定了基础。Yang等 [34] 将攻击建模为约束线性优化问题,并注入有限的假同访以欺骗推荐系统。Fang等人 [13] 攻击了基于图的推荐系统,将中毒轮廓转化为最小化问题,并使用投影梯度下降来解决它。TNA [12] 通过选择和评估一部分有影响力的用户来实现卓越的性能。考虑到恶意用户往往不同于正常数据,[9,25] 利用GANs来研究真实用户的分布,以生成难以检测的假用户,[11] 从不同的域获得配置文件来执行攻击。最近,将攻击轨迹建模为马尔可夫决策过程,并使用强化学习来攻击已逐渐引起人们的注意 [30,36]。

攻击检测: 传统的检测方法 [4,27] 主要从评级矩阵中提取特征来判断其是否为恶意用户。但是,由于数据的不平衡和不足,这些方法无法获得足够令人满意的结果。Aktukmak等 [2] 建立了检测恶意用户的概率模型。边界-SMOTE方法可以解决数据不平衡,并进一步微调目标项目的检测结果 [40]。Zhang等 [38] 提出了标签传播的方法来传播已知的恶意用户标签。此外,一段时间监视数据流是合理的 [37,39]。

推荐系统的鲁棒性: 最近的研究表明,对抗示例不是错误,而是有意义的数据特征,容易被模型忽略 [17]。因此,当前的工作主要集中在对抗性训练上,希望提高推荐算法对数据变化的容忍度 [6,16,31,35]。Deldzoo等 [10] 利用回归模型分析了URM数据特征与协同过滤的脆弱性之间的关系。

3问题定义

3.1威胁模型

攻击目标: 根据攻击的效果,中毒攻击可分为升级攻击,降级攻击和可用性攻击 [28]。其中,提升攻击和降级攻击旨在提升或降级目标项目的推荐频率 [28],可用性攻击旨在最大化未看到项目的预测误差 [22],从而降低对系统的信任。拟议的TrialAttack可以通过设计不同的攻击目标来有效地执行这些攻击。为简单起见,我们在本文中重点介绍促销攻击

攻击知识: 我们首先考虑大多数现有作品 [9,12,13,22,25] 所关心的全知识攻击。在全知性攻击中,攻击者可以捕获所有用户的历史行为,包括产品浏览记录或评级 (例如,攻击者可以从地下市场、内部员工获得)。此外,攻击者知道推荐器系统的算法和参数。尽管许多现实世界的推荐者都是黑匣子,但一些系统仍然揭示了他们的推荐算法,例如,亚马逊 [29] 和Netflix [14] 已经报告了推荐算法。更重要的是,它为防御提供了最坏的情况假设,为攻击和捍卫许多真正的推荐者揭示了重要的见解和发现。因此,实际上需要调查全知识攻击。

其次,我们研究更实用的部分知识攻击。在这种情况下,只有部分历史行为暴露给攻击者,并且攻击者只知道推荐器系统的类型,而无法捕获内部参数。它的关键思想是通过估计目标模型将这种类型的攻击转变为全知识攻击。具体来说,假设目标模型的参数是未知的,攻击者使用web爬虫获得的部分数据来训练一个本地模拟器,该模拟器使用与目标模型相同的算法,但具有攻击者定义的参数。此时,本地模拟器是攻击者的白盒。相应地,攻击者可以基于本地模拟器执行全知识攻击以生成假用户,并将这些本地生成的用户注入到目标模型中以执行攻击。

攻击能力: 理论上,攻击者拥有的权限越高,目标模型就越容易受到攻击。然而,太多的假用户注射是无法操作的,并且很容易被检测程序感知 [38,40]。因此,我们限制攻击者在推荐系统中注入多达

Triple Adversarial Learning for Influence based PoisoningAttack in Recommender Systems相关推荐

  1. DEAR: Deep Reinforcement Learning for Online Advertising Impression in Recommender Systems

    文章目录 总结 细节 实验 总结 dqn,在线学习 细节 由DQN判断是否应该在推荐序列中加入广告,并且给出最佳广告.广告出现的最佳位置 states: 用户的推荐历史和广告历史,contexutal ...

  2. A Survey of Adversarial Learning on Graph

    图的对抗性学习概况 概述: 图上的深度学习模型在各种图分析任务(例如节点分类,链接预测和图聚类)中均取得了卓越的性能.但是,它们暴露了对设计良好的输入(即对抗性样本)的不确定性和不可靠性.因此,针对不 ...

  3. 域对抗自适应算法的设计、不足与改进(Domain Adversarial Learning)

    ©作者 | 江俊广 单位 | 清华大学 研究方向 | 迁移学习 本文主要介绍域自适应(Domain Adaptation)中的对抗域自适应方法(Domain Adversarial Learning) ...

  4. Simple Contrastive Representation Adversarial Learning for NLP Tasks

    论文目的 对比学习是自监督学习在NLP中的应用,本文使用对抗方法生成对比学习需要的训练样本对,对比学习提升了对抗训练的泛华能力,对抗训练也增强了对比学习的鲁棒性,提出了两种结构:supervised ...

  5. 论文阅读: 3D Human Pose Estimation in the Wild by Adversarial Learning

    论文地址:https://arxiv.org/abs/1803.09722 出自港中文,CUHK-SenseTime Joint Lab 一.总体框架描述 1.本篇论文主体思路是提出了一个对抗性的学习 ...

  6. 【RS-Attack】Data Poisoning Attacks to Deep Learning Based Recommender Systems NDSS‘21

    Data Poisoning Attacks to Deep Learning Based Recommender Systems NDSS'21 首个在基于深度学习的推荐系统中进行投毒攻击的研究.文 ...

  7. 【论文翻译】KDD19 -HeGAN: Adversarial Learning on Heterogeneous Information Networks 异构信息网络中的对抗学习

    文章目录 摘要 1 引言 2 定义 3 所提方法:HeGAN 3.1 整体框架 3.2 HeGAN中的生成器和鉴别器 4 实验 4.1 实验设置 4.2 实验分析 5 相关工作 6 结论 论文链接: ...

  8. Generative Adversarial Learning Towards Fast Weakly Supervised Detection

    Generative Adversarial Learning Towards Fast Weakly Supervised Detection Abstract 近年来,弱监督对象检测已经吸引了广泛 ...

  9. ALSA: Adversarial Learning of Supervised Attentions for VQA (VQA中有监督注意的对抗学习)

    目录 Abstract Introduction Related Work VQA Adversarial Learning ALSA for VQA Problem Statement Superv ...

最新文章

  1. gitee插件在androidstudio使用踩坑
  2. [湖南师大集训2018 7 26] hunger 解题报告 (SPFA)
  3. Visual Studio 2010旗舰版在安装Windows Phone 7 SDK后项目模版里没有Windows Phone 项目解决办法...
  4. 正则表达式来判断Sql语句中Select到from之间使用了*而不是字段名
  5. ConcurrentHashMap核心原理,这次彻底给整明白了
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的高校运动会管理系统
  7. python 操作excel神器_【转】多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!...
  8. o'Reill的SVG精髓(第二版)学习笔记——第四章
  9. 生活中运筹学的3个小案例_10个“乡村庭院”设计案例,生活在乡下,家家都有自己的小庭院...
  10. VsCode+PicGO+腾讯云实现快速上传markdown图床
  11. Resnet网络结构图和对应参数表的简单理解
  12. python写入excel数据教程_python实现数据写入excel表格
  13. java手机 最新版本_JAVA手机模拟器安卓版
  14. ARM处理器对比分析
  15. 【Shell】shell脚本中的空格
  16. 在科学史上,“革命”意味着什么?
  17. 计算机应用应用研究,计算机应用研究属于什么期刊_计算机应用研究_计算机研究应用...
  18. Java获取本机ip和服务器ip
  19. 聚合函数与F/Q表达式
  20. CentOS安装JDK1.8

热门文章

  1. 软构复习12 Construction for Robustness and Correctness
  2. 收藏一篇分析很到位的巨蟹座性格
  3. 计算机办公小知识,办公室电脑日常维护小常识
  4. R语言游程检验:使用runs.test函数对二值序列数据执行游程检验(检验序列是否是随机的)
  5. 层次聚类算法实例分析
  6. 关于 Android 工作的心得随笔
  7. 电脑进入pe时蓝屏_电脑进入PE会蓝屏是为什么
  8. myeclipse导项目_Myeclipse或eclipse导入项目并部署到tomcat中运行
  9. 我家的家常菜之“家常焖鱼”
  10. iOS 8最佳适配——被点赞的百度输入法