1 摘要

最近的研究表明,推荐系统是脆弱的,攻击者很容易将精心设计的恶意配置文件注入系统,从而导致有偏见的推荐。我们不能否认这些数据的合理性,因此建立一个强大的推荐系统势在必行。对抗性训练已被广泛研究以获得可靠的建议。然而,传统的对抗训练给参数(输入)增加了小的扰动,这不符合推荐系统中的中毒机制。因此,对于非常擅长学习现有数据的实用模型,它的表现并不好。为了解决上述限制,我们提出了对抗性中毒训练(APT)。它通过注入虚假用户(ERM 用户)来模拟中毒过程,这些虚假用户致力于最小化经验风险以构建一个强大的系统。此外,为了生成 ERM 用户,我们探索了一种近似方法来估计每个假用户对经验风险的影响。尽管“以火取胜”的策略似乎违反直觉,但我们从理论上证明了所提出的 APT 可以提高中毒鲁棒性的上限。此外,我们提供了第一个理论证明,即对抗性训练对增强推荐稳健性具有积极影响。通过对四个真实世界数据集进行五次中毒攻击的广泛实验,结果表明 APT 的鲁棒性改进显着优于基线。值得一提的是,APT 在大多数情况下也提高了模型泛化能力。

2 预备知识

2.1 矩阵分解


问:矩阵分解为什么不能进行精确分解?也就是R=UVR = UVR=UV,而不是R≈UVR \approx UVR≈UV。
答:从欠定方程、正定方程、超定方程角度考虑,由于评分矩阵上需要拟合的点比变量多,通过最小二乘法进行误差最小拟合。
问:为什么需要正则项?
答:为了防止过拟合。
问:为什么正则项必须是二范数?
答:一范数和二范数,还有其它的都可以作为正则项,推荐去看B站上的浙江大学胡浩基老师的《机器学习》的视频,里面有理论推导。

2.2 针对推荐系统的对抗训练

对抗训练向模型参数(或输入)添加扰动以迫使推荐系统适应这种噪声并学习扰动的非鲁棒性特征,从而增强面对对抗性攻击的鲁棒性。

Δ\DeltaΔ是专门用于破坏推荐的附加扰动,ϵ>0\epsilon > 0ϵ>0限制扰动的幅度,λadv\lambda_{adv}λadv​控制扰动的影响,D\mathcal{D}D、θR\theta_RθR​和L\mathcal{L}L分别是推荐系统的数据集、参数和训练损失。
简而言之,对抗训练在推荐者和攻击对手之间进行零和博弈,并在博弈中寻求鲁棒模型。

问:公式(2)里面为什么有min⁡\minmin,还有max⁡\maxmax?
答:这个公式很有意思,可以分为两个步骤来理解,第一步是在已经训练好的模型(即固定参数θR\theta_RθR​),攻击者通过加入扰动Δ\DeltaΔ使得模型的误差最大,这样可以保证攻击的效果最佳;第二步是利用已经污染后的数据集进行重新训练模型,也就是改变θR\theta_RθR​,如果是矩阵分解,就是重新计算新的子矩阵UUU和VVV,使得损失最小。

2.3 威胁模型

攻击目标。根据攻击者的意图,他们可以设计各种攻击,包括提升攻击、降级攻击和可用性攻击[22]。提升攻击(降级攻击)通常旨在增加(降低)目标项目的受欢迎程度(例如,提高(降低)项目在基于排名的模型上的推荐排名 [24])。对于可用性攻击,攻击者希望最大化推荐误差以最终使模型无用。我们不能删除现有的评分,因此降级攻击可以通过增加非目标项目的受欢迎程度来实现,直到目标项目不在用户的推荐列表中[42],这在某种意义上相当于提升攻击。此外,可用性攻击本质上是提升攻击和降级攻击的混合体。为简单起见,我们主要专注于防御提升攻击。

攻击能力。理论上,只要注入的假配置文件足够大,任何模型都是脆弱的。显然,模型的鲁棒性和攻击能力不能解耦。另外,注入过多的假用户操作难度大,难免会产生与正常用户不同的签名,导致被检测到。鉴于上述考虑,我们限制攻击者最多注册

以毒攻毒Fight Fire with Fire: Towards Robust Recommender Systems via Adversarial Poisoning Training论文解读相关推荐

  1. 推荐系统论文笔记(1):Hybrid Recommender Systems:Survey and Experiments

    一.基本信息 论文题目: <Hybrid Recommender Systems:Survey and Experiments> 论文发表时间: 2002, 论文作者及单位:Robin  ...

  2. 多任务学习综述Multi-Task Deep Recommender Systems

    Multi-Task Deep Recommender Systems: A Survey 最近看到一篇多任务学习的综述,觉得总结的不错,记录一下. 1. 简介 推荐系统天然具有多任务学习的需求,以视 ...

  3. Pareto-Efficient Hybridization for Multi-Objective Recommender Systems

    ABSTRACT 简介 Performing accurate suggestions is an objective of paramount importance for effective re ...

  4. 【RS】Improving Implicit Recommender Systems with View Data - 使用浏览数据提升隐式推荐系统...

    [论文标题]Improving Implicit Recommender Systems with View Data(IJCAI 18) [论文作者]Jingtao Ding  , Guanghui ...

  5. Machine Learning week 9 quiz: Recommender Systems

    Recommender Systems 5 试题 1. Suppose you run a bookstore, and have ratings (1 to 5 stars) of books. Y ...

  6. 序列化推荐系统总结:Sequential Recommender Systems: Challenges, Progress and Prospect

    作者:一元, 公众号:炼丹笔记, 特约审稿:杰少 背景 序列推荐系统(SRS)不同于传统推荐系统(RSs)包括协同过滤和基于内容的过滤,SRSs试图理解和建模用户的连续行为.用户与物品之间的交互作用以 ...

  7. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统...

    Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...

  8. A Survey on Knowledge Graph-Based Recommender Systems 知识图谱提升推荐系统准确性与可解释性ArXiv 2020

    论文链接:https://arxiv.org/pdf/2003.00911.pdf 导读 近来,知识图谱用于推荐系统是关注的焦点,能够提升推荐系统的准确性与可解释性.如何将知识图谱融入到推荐系统呢? ...

  9. 【Paper-Attack】Poisoning Attacks to Graph-Based Recommender Systems

    Poisoning Attacks to Graph-Based Recommender Systems 背景 一些研究显示推荐系统容易受到poisoning attack(向推荐系统注入虚假数据,从 ...

最新文章

  1. 奠定了整个计算机科学的基础是什么,冯 诺依曼对计算机科学发展所作的贡献是什么...
  2. 005 Ceph配置文件及用户管理
  3. 中国汽车零部件行业需求预测及投资前景建议报告2022-2028年版
  4. Cmake安装遇到问题
  5. 资深程序员:Python中你不知道的那些小工具
  6. redis缓存雪崩,缓存穿透,缓存击穿的解决方法
  7. 4t硬盘实际容量是多少_4TB超大容量+便携实用的移动硬盘-东芝A3移动硬盘体验
  8. 【王道操作系统笔记】操作系统的运行机制和体系结构
  9. TCP/IP 选项TcpTimedWaitDelay设置
  10. 【C语言 穷举法编程实例——韩信点兵问题(苏小红版C语言(第3版))】
  11. 不到两年的前端小白2017个人年终总结:今年的年终总结是为了更好的自己
  12. 张小龙请回答:微信这些功能是咋想的?
  13. Imu_heading源码阅读(三)——Ransac_fitline部分
  14. rails 调试工具pry 换掉debugger 和 rails c
  15. 前端页面如果不放在statis等文件夹,想正常访问该如何解决
  16. 什么是基于模型的测试?
  17. 【计算几何】计算几何复习
  18. 如何获取(清除)IE缓存地址信息
  19. 战神引挚手游数据库解析mysql/mir
  20. 真果科技董事长贾求真女士应邀出席2019APEC女性领导力论坛

热门文章

  1. 电脑计算机d盘有用吗,d盘不见了,教您电脑d盘不见了怎么解决
  2. 有必要考国二mysql_计算机二级必须要考吗
  3. 【论文党福利】如何提取图像中的数据
  4. c++ 线性回归_模型之母:简单线性回归的代码实现
  5. 软件工程讲义 0 微博上的软件工程
  6. hbuilder边框代码是什么_看懂HTML代码,摸清国外买家喜欢搜什么关键词
  7. python读取大文件内容_python读取大文件
  8. java 等待几秒_问懵逼:请站在 JVM 角度谈谈 Java 的锁?
  9. iis7php怎么301重定向,iis7/8设置网站301重定向的方法
  10. java多线程教程_java 基础教程之多线程详解及简单实例