《Membership Inference Attacks Against Recommender Systems》论文分析

贡献

第一个以成员推理视角量化了推荐系统的隐私风险

背景知识

推荐系统的矩阵分解

对于给定的用户-项目评分矩阵(评分值为1-5),利用矩阵分解可将用户和项目投影至共享的潜在空间。即将一个pxq的用户-项目评分矩阵M(f)(p和q分别表示用户数目和项目数目),分解成两个低维矩阵M(user) ∈ R(pxl)(潜在用户偏好特征矩阵,l为潜在特征空间的维数,每一行为一个用户的偏好特征向量)和M(item)∈ R(qxl)(潜在项目特征矩阵,l为潜在特征空间的维数,每一行为一个项目的特征向量)。本文在攻击模型训练数据生成阶段需要用到所有项目的特征向量,因此利用了上述矩阵分解思路提取了所有项目的特征向量,分解目标如下图所示,最小化LMF。M(user)和M(item)分别表示被预测的用户偏好矩阵和项目特征矩阵。(在本文工作中仅利用了M(item),分解同时得到的M(user)不使用) 

威胁模型 (敌手能观察到的知识)

方法论

攻击方法

核心思想

推荐系统给成员用户推荐的项目与交互项目更相关

步骤

1.标记数据生成(供攻击模型训练使用)

2.攻击模型建立(采用多层感知层MLP建立攻击模型)

3.参数优化(即对攻击模型进行训练优化)

4.对目标用户进行推测

攻击方法步骤详细介绍

标记数据生成

1.训练模仿目标推荐系统的影子推荐系统。

2.从数据集中获取各个用户的交互列表(例如,若User1对第1、5、8项目均有评分,则其交互列表为{1,5,8})。

3.从影子推荐系统中获取各个用户的推荐列表(例如,若系统对User1推荐的项目有第1、6、9项目,则其推荐列表为{1,6,9})。

4.对用户-项目矩阵进行矩阵分解得到各个项目的特征向量。

5、将各个用户的交互、推荐列表中的项目用项目的特征向量替代,得到各个用户向量化后的交互与推荐列表。(例如,第1、5、6、8、9项目对应的特征向量为v1、v5、v6、v8、v9,则User1向量化后的交互和推荐列表分别为{v1、v5、v8}、{v1、v6、v9}。

6.求出各个用户向量化后的交互和推荐列表分别的中心向量,如下所示 (i表示第i个用户,j为向量化后用户交互(或推荐)列表的第j个向量,N表示向量个数)

 7.对每个用户的交互和推荐中心向量作差,将其记为代表用户的特征向量。如下图所示。

8.对每个成员zi加以标签1,对每个非成员zi加以标签0,从而得到攻击模型的训练数据。

攻击模型建立

对于第i个用户,成员推理攻击预测可以被形式化如下,下图为攻击模型MLP架构:(yi为一个二维向量,分别表示zi对应的用户属于成员/非成员的概率) 

参数优化

采用随机梯度下架更新参数,旨在最小化交叉熵损失函数LMLP(Ntrain为训练样本数目,yi’为第i个用户被预测属于成员的概率,yi*为第i个用户的真实标签) 

对目标用户进行推测

对目标用户的交互和推荐进行和标记数据生成一致的处理(但不需要添加标签),从而得到目标用户的特征ztarget,将其输入攻击模型中得到预测 

针对推荐系统成员推理框架图 

防御方法(流行度随机化)

核心思想

推荐系统主要对非成员用户实施流行度算法,即推荐最流行的一些项目,这导致了非成员的特征向量极其相似,容易和成员区分开来。因此,本文提出了一种名为流行度随机化的防御方法,通过丰富非成员推荐项目的随机性降低成员推理攻击的性能。

具体方案

1.将要推荐的项目按照流行度进行降序排序,形式化如下

2.按照预定义的候选推荐项目个数Ncand,从排好序的推荐列表Ssorted中选取前Ncand个项目作为候选推荐项目Scand,形式化如下

3.推荐系统按照预定义的Nrec,随机从Scand中选择Nrec个项目推荐给某个非成员用户 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值