基于深度学习的推荐系统中的毒药攻击

发表于2021年的NDSS,首个在基于深度学习的推荐系统中进行毒药攻击的研究。

《Data Poisoning Attacks to Deep Learning Based Recommender Systems》论文阅读笔记

  1. 背景:
    (1)推荐系统,从基于近邻,关联规则,矩阵分解,到基于深度学习的模型(非线性变换,传统方法达不到,性能好),已在工业界得到广泛应用。
    非个性推荐系统:给所有用户推荐相同的项目;
    个性化:根据用户的历史行为建模兴趣,给每个用户推荐排名靠前的几个
    (2)推荐系统中的毒药攻击:
    在系统中注入伪用户,攻击者的目标是操纵推荐系统,给用户推荐攻击者选择的目标项目。可能对推荐系统的可靠性构成威胁,操纵互联网观点。如果攻击者操纵新闻推荐系统,始终把特定类型的新闻推荐给用户,就可以操纵用户的观点。
  2. 已有方法:
    现有的数据毒药攻击只是对传统的推荐算法(如基于关联规则,图形,矩阵分解)进行了优化。
  3. 存在问题:
    尽管基于深度学习的推荐系统越来越受到人们关注,但他们在数据毒药攻击中的安全性还不清楚。
    构造攻击的关键是为每一个伪用户选择评分的项目。将攻击视为最优化问题,目标函数是最大化目标项目的命中率(也就是项目推荐给用户的概率)。问题:
    (1) 用户项目的数据是离散变量;
    (2) 神经网络的训练过程耗时。
  4. 本文:
    采用启发式的方法解决优化问题。训练一个毒药模型来模拟基于深度学习的推荐系统。使用这个模型预测伪用户的评分向量,进而选择项目。实验证明我们的攻击对基于深度学习的推荐系统构成了安全威胁。
    (1) 使用损失函数逼近命中率;
    (2) 基于上一步得到的损失函数构造毒药模型:首先预训练能准确预测用户喜好的毒药模型,然后使用损失函数更新这个模型,最后根据模型预测的评分为假用户选择一些项目。
    基于深度学习的推荐系统中的毒药攻击_第1张图片
  5. 具体:
    攻击者目标:推送一个目标项目。也就是尽可能让这个项目出现(也有可能不出现,竞争对手)在正常用户的前K推荐列表中。在训练数据集中注入假用户操纵深度学习模型的训练过程。攻击者获取部分用户项目交互,我们的攻击仍有效。
    5.1 使用损失函数逼近命中率
    命中率:正常用户的前N推荐中包含某项目的比例。
    (1) 计算每个用户的损失:
    在这里插入图片描述
    (2) 计算所有用户的损失:
    在这里插入图片描述
    (3) 最优化问题:
    在这里插入图片描述
    5.2 构造毒药模型
    5.3 选择项目
    问题:推荐系统中使用的数据集通常非常稀疏,并且从数据中训练出来的模型具有很高的随机性,基于深度学习的推荐系统对特定用户和项目的推荐结果往往不稳定,这意味着从毒药模型中获得的假用户可能不是好的选择。如果使用毒药模型直接为假用户选择项目,更有可能偏离正确的方向。
    解决:选择概率,即项目被选为推荐项目的概率。
    在这里插入图片描述

相关知识:
(1) NCF使用神经网络获得用户项目的非线性交互关系,MF用隐向量表示用户项目,只能获得简单的交互关系。
(2) 推荐系统中的攻击:
数据毒药攻击:注入虚假用户来欺骗推荐系统,每一个假用户都为选定的项目集打分(精心设计);
特征破坏攻击:污染正常用户的历史行为,操纵推荐。
(3) 基于深度学习的推荐系统,当用户项目都是离散标签,反向传播时梯度会消失,因此反向传播优化的方法是不合理的。

你可能感兴趣的:(推荐系统,深度学习)