【RS-Attack】Data Poisoning Attacks to Deep Learning Based Recommender Systems NDSS‘21
Data Poisoning Attacks to Deep Learning Based Recommender Systems NDSS’21
首个在基于深度学习的推荐系统中进行投毒攻击的研究。文章总结的攻击深度学习推荐系统的难点,概括的来说就是:
- user-item 的数据是离散变量(和loss function建立不起联系)
- 神经网络的训练过程耗时(重新训练embedding至收敛)
本文方法
近似 Hit Ratio
我们的优化目标肯定是希望最大化target item的hit ratio:
maxHRtsubject to ∥y(v)∥0≤n+1,∀v∈{v1,v2,…,vm}yvi∈{0,1,…,rmax}\begin{aligned} \max & \ \ \mathrm{HR}_{t} \\ \text { subject to } &\left\|\mathbf{y}_{(v)}\right\|_{0} \leq n+1, \forall v \in\left\{v_{1}, v_{2}, \ldots, v_{m}\right\} \\ & y_{v i} \in\left\{0,1, \ldots, r_{\max }\right\} \end{aligned} maxsubject toHRt∥∥y(v)∥∥0≤n+1,∀v∈{v1,v2,…,vm}yvi∈{0,1,…,rmax}
直接优化这个函数行不通,采取多种方法:
Relaxing Rating Scores to Obtain Continuous Variables
把整数评分都转换成0.0~1.0的连续值,最后生成打分时再离散成整数。
Approximating the Hit Ratio
因为Hit Ratio是非线性不可微的。对于一个用户u定义一个loss function:
lu=max{mini∈Lulog[y^ui]−log[y^ut],−κ}l_{u}=\max \left\{\min _{i \in L_{u}} \log \left[\widehat{y}_{u i}\right]-\log \left[\widehat{y}_{u t}\right],-\kappa\right\} lu=max{i∈Luminlog[y
如果目标物品 t 已经出现在推荐列表LuL_uLu中,那么不需要做优化;否则应该提高 t 的排名,使y^ut\widehat{y}_{u t}yut至少应该比LuL_uLu中排名最低的y^ui\widehat{y}_{u i}yui高。其中$\kappa 是一个超参数,保证目标物品至少高于是一个超参数,保证目标物品至少高于是一个超参数,保证目标物品至少高于L_u$中最后一个物品一段距离。
所有用户的loss function就是
l′=∑u∈Slul^{\prime}=\sum_{u \in S} l_{u} l′=u∈S∑lu
现在优化问题转换成了:
minG[y(v)]=∥y(v)∥22+η⋅l′subject to yvi∈[0,rmax]\begin{aligned} \min G\left[\mathbf{y}_{(v)}\right] &=\left\|\mathbf{y}_{(v)}\right\|_{2}^{2}+\eta \cdot l^{\prime} \\ \text { subject to } & y_{v i} \in\left[0, r_{\max }\right] \end{aligned} minG[y(v)]subject to=∥∥y(v)∥∥22+η⋅l′yvi∈[0,rmax]
因为推荐系统里的标签是离散的,梯度在反向传播到输入层时会消失,所以直接用图片的攻击方法不行。一个自然的想法时把fake user的评分向量y(v)y_(v)y(v)作为自变量,定义如下投毒攻击:
miny(v)G[y(v),w∗]subject to w∗=argminwL[w,Y∪y(v)]\begin{aligned} \min _{\mathbf{y}_{(v)}} & G\left[\mathbf{y}_{(v)}, \mathbf{w}^{*}\right] \\ \text { subject to } & \mathbf{w}^{*}=\underset{\mathbf{w}}{\arg \min } \mathcal{L}\left[\mathbf{w}, \mathbf{Y} \cup \mathbf{y}_{(v)}\right] \end{aligned} y(v)minsubject toG[y(v),w∗]w∗=wargminL[w,Y∪y(v)]
其中w∗w^*w∗表示模型参数,L\mathcal{L}L是目标推荐系统的原损失函数。所以这是一个两阶段优化问题,目标推荐系统的参数w∗w^*w∗也需要依赖y(u)y_{(u)}y(u)。
麻烦就麻烦在这,这个y(u)y_{(u)}y(u)一变,这个w∗w^*w∗还得重新训练至收敛。这在现实中不可能实现优化。
所以需要一个本地代理模型
构建代理模型
本地构建一个代理模型,首先在训练数据集上训练一个有效的推荐系统模型,然后再进行投毒训练:
l=L+λ⋅G[y^(v)]l=\mathcal{L}+\lambda \cdot G[\widehat{\mathbf{y}}(v)] l=L+λ⋅G[y
The poison model in this stage will use Eq. (6) as loss function and be trained repeatedly w.r.t all model parameters inside it with the back-propagation method.
模型的所有参数都训练。
上式可以带入、展开、省略掉和求导无关的项,即:
l=L+η(∑u∈S(y^ui−y^ut))+∥y(v)∥22l=\mathcal{L}+\eta\left(\sum_{u \in S}\left(\hat{y}_{u i}-\hat{y}_{u t}\right)\right)+\|y(v)\|_{2}^{2} l=L+η(u∈S∑(y^ui−y^ut))+∥y(v)∥22
文章里反复提了好几次,本文的方法最后得到的是:“本地模型最后会非常接近 目标模型实现了攻击目标的 理想状况”。 我的理解就是:这个时候本地模型收敛到了一个理想中被攻击的模型应该达到的状态,即模型的参数,既包含了有效的推荐系统,又包含了对target item的“偏爱”。
换句话说作者把本地模型当作目标模型进行白盒攻击,攻击完之后,本地模型就是攻击者最想要的模型,即能用又可以获利。然后从本地模型里采样一些数据样本(fake user:filler items + target item),希望目标模型可以迁移训练一下,向本地模型靠拢。
那就把这个时候fake user的评分高的物品作为filler item。从这个名字就能看出,fake user的rating并不能很好的优化到目标模型。
【RS-Attack】Data Poisoning Attacks to Deep Learning Based Recommender Systems NDSS‘21相关推荐
- Data Poisoning Attacks to Deep Learning Based Recommender Systems论文解读
1 摘要 在这项工作中,作者对基于深度学习的推荐系统的数据中毒攻击进行了首次系统研究.攻击者的目标是操纵推荐系统,以便向许多用户推荐攻击者选择的目标项目.为了实现这一目标,作者将精心设计的评分注入到推 ...
- [阅读笔记1]Data Poisoning Attacks to Deep Learning BasedRecommender Systems
个人总结:本文主要通过构造一个毒药模型--用于预测假用户的评分项目,从而构造m个假用户,将假用户注入到推荐系统中,达到影响推荐系统对普通用户的推荐项目(让一个项目能尽可能多的出现在普通用户的推荐列表中 ...
- 【推荐算法】深度学习推荐算法综述 Deep Learning based Recommender System: A Survey and New Perspectives
一.MLP based Recommender System 1. Deep Crossing模型 Deep Crossing模型完整的解决了从特征工程.稀疏向量稠密化.多层神经网络进行优化目标拟合等 ...
- 【COPOD】Suppressing Poisoning Attacks on Federated Learning for Medical Imaging
Suppressing Poisoning Attacks on Federated Learning for Medical Imaging 抑制针对医学影像联邦学习的毒化攻击 论文 Abstrac ...
- 【全文翻译】Membership Inference Attacks Against Machine Learning Models
针对机器学习模型的成员推理攻击 I. INTRODUCTION II. MACHINE LEARNING BACKGROUND (机器学习背景) III. PRIVACY IN MACHINE LEA ...
- 论文笔记 【Wide Deep Learning for Recommender Systems】
标题 * 表示未完成 论文原文传送门 文章提出了 m e m o r i z a t i o n a n d g e n e r a l i z a t i o n memorization\ and ...
- 【论文阅读】3D点云 -- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
前言 本博客详解遵从论文讲述的顺序.但我们要明确该论文的要点,以更好的阅读论文:针对点云的3个特性,pointnet设计的应对方法,以及设计理念. 点云的无序性:网络使用了对称函数 (maxpooli ...
- Wide Deep Learning for Recommender Systems【论文记录】
特点在于联合学习,将线性模型和神经网络联合在一起共同学习 线性模型作用于所给的特征,直接记忆专家给的有效特征 神经网络作用于所有特征,挖掘新特征,进行泛化 也就是结合 人为发现的规则和机器探索的联系 ...
- 【文献翻译】Epileptic Seizures Detection Using Deep Learning Techniques: A Review
利用深度学习技术检测癫痫发作:综述 文章目录 摘要 1 - 引言 2 - 基于深度学习技术的癫痫发作检测 A. 癫痫数据集 B. 预处理 C. 深度学习技术回顾 1) 卷积神经网络(CNN) 2D卷积 ...
最新文章
- 《我也能做CTO之.程序员职业规划》新书出版推举
- web3.js(三)查询智能合约币数量(erc20)
- C#数据结构与算法揭秘17
- 神经网络 Stanford UFLDL
- 二进制、八进制、十六进制和十进制的相互转换,原码反码补码计算以及Java中数字的存储
- 八、深入JavaScript的条件语句和循环语句(四)
- 数据库02_字段类型
- Python符号计算入门及隐函数图像绘制
- java播放mp3背景音乐_Java如何实现MP3播放!!
- open cv+C++错误及经验总结(十二)
- android开发常用的组件,Android开发常用控件与属性
- Retrofit + RxJava + OkHttp 让网络请求变的简单-基础篇
- 在 COMSOL 中模拟地震波的传播
- Endnote--在参考文献列表中添加DOI
- 微博图片设计模板素材推荐 精品 小众
- SAP MM库存盘点流程
- openstack RPC通信
- linux springboot开机启动,SpringBoot 部署到Linux开机自启动和运行
- Excel函数完整列表(Excel Function Full List)
- pdf文档转化为doc文档 (转载)