Membership Inference Attacks Against Recommender Systems论文解读

0 摘要

推荐系统通常针对高度敏感的用户数据进行训练,因此推荐系统潜在的数据泄露可能会导致严重的隐私问题。
本文首次尝试通过成员推理的角度来量化推荐系统的隐私泄漏。 与针对机器学习分类器的传统成员推理相比,本文的攻击面临两个主要差异。 首先,我们的攻击是在用户级别,而不是在数据样本级别。 其次,对手只能观察来自推荐系统的有序推荐项目,而不是后验概率形式的预测结果。 为了解决上述挑战,我们提出了一种通过从相关项目中表示用户的新方法。 此外,建立影子推荐器以导出用于训练攻击模型的标记训练数据。 大量的实验结果表明,我们的攻击框架取得了强大的性能。 此外,我们设计了一种防御机制来有效减轻推荐系统的成员推理威胁。

1 引言

在本文中,我们迈出了第一步,通过成员推断的视角量化推荐系统的隐私风险。 与之前针对机器学习分类器的成员推理攻击 [39, 43] 相比,我们的攻击面临两个主要差异。 首先,我们攻击的目标是确定目标推荐者是否使用了用户的数据。 这表明我们的攻击是在用户级别,而之前的大多数攻击都集中在样本级别 [39, 43]。 与样本级成员资格推断不同,用户级成员资格推断具有更广泛的范围,正如之前的工作[45]中提到的,它可以帮助我们全面了解推荐系统的隐私风险。 其次,从对手的角度来看,目标推荐者只能获得项目的排名列表,这带来了几个技术挑战:
在这里插入图片描述

  • 在我们的攻击中,如图 1 所示,对手只能观察项目列表,即使推荐系统在做出决定之前已经计算了后验概率。 这种设置在现实世界中很普遍,比如亚马逊或Netflix提供的服务。 此外,公开较少的信息可以保护推荐服务提供商的知识产权[39]。 相反,在针对分类器的经典成员推理攻击中,对手可以访问用于决策的后验概率 [31, 37, 39, 43]。
  • 最近针对分类器的一些成员推断攻击集中在仅决策(即仅标签)场景[10,28]。然而,这些研究要么依赖于目标模型来标记阴影数据集[28],要么使用对抗性示例[28],这在现实世界中针对推荐系统时并不实用。我们的目标是为攻击模型提供一种从决策结果中提取信息的新方法。
  • 与经典分类器不同,推荐系统的输出是除无序标签之外的项目的排序列表。在这种情况下,订单信息起着重要作用,可以极大地促进用户偏好预测。因此,我们的攻击模型有必要从推荐物品中获取订单信息,而以往的成员推理攻击方法仍然忽略了这一点。

威胁模型: 对手的目标是对目标推荐系统进行成员推断攻击,推断目标用户的数据是否用于训练目标推荐。然而,此类攻击可能导致严重的安全和隐私风险。具体地说,当推荐系统使用来自具有某些敏感信息(例如健康状况)的人的数据进行训练时,知道用户数据是推荐训练数据的一部分会直接泄露他们的私人信息。此外,成员推理还可以获得对手关于目标推荐训练数据的信息,这可能会损害推荐的知识产权,因为收集高质量数据通常需要大量的经验[18,27]。从另一个角度来看,用户还可以使用成员资格推断作为工具来审核目标推荐是否使用了他们的数据。

我们假设对手可以黑盒访问目标推荐系统,这是对手最困难的设置[43]。与推荐的后验概率不同,只有与用户相关的项目可用,如评分或购买和推荐项目。基于知识,建立了一个阴影推荐器来导出标记的训练数据,以便攻击模型更好地推断目标推荐器中的成员状态。

攻击方法:对于用户级成员关系推断,我们需要根据目标推荐者和它们之间的相互作用总结每个特征向量。作为攻击模型的输入。然而,与以往针对分类器的隶属度推理工作相比,对手只能观察推荐系统中的推荐项,而不是作为预测结果的后验概率。因此,在第一步中,对手使用用于生成特征向量的数据集构建用于评级的用户项矩阵。然后,他们把这个矩阵分解成两个低维矩阵,即用户矩阵和项目矩阵。 每个项目的特征向量可以由项目矩阵中对应的行向量表示。 对于每个用户,对手提取两组项目(一组包含用户推荐的项目,另一组包含用户与之交互的项目)并分别计算这两组的中心向量。 每个用户的这两个中心向量之间的差异描述了推荐者对该用户的准确程度。 在这种情况下,较低的差异表明用户的数据更有可能用于训练推荐者。 因此,我们使用这种差异作为攻击模型的输入,即用户特征向量。 对手在影子推荐器的帮助下为其攻击模型生成所有标记的训练数据集。 为了发起攻击,攻击者按照相同的步骤生成目标用户的特征向量,并从攻击模型中获得预测。

2 方法

2.1 攻击概述

在这里插入图片描述
如图 2 所示,攻击过程遵循三个步骤:标记数据生成、攻击模型建立和参数优化。
标记数据生成。 为了表示项目,通过分解用户-项目评分矩阵来导出项目矩阵。 由于攻击者对目标推荐器的黑盒访问,构建了一个影子推荐器来为攻击模型生成标记的训练数据。 此外,我们使用相应的特征向量表示用户的交互和推荐。 之后,根据用户交互和推荐的两个中心之间的差异对用户进行分析。 并且每个用户都被标记为 1 或 0,表示他们是会员或非会员。

攻击模型建立。 受 [39] 的启发,两个隐藏层的多层感知器(MLP)被用作攻击模型 Aattack \mathcal{A}_{\text {attack }}Aattack  来推断成员状态。 每个隐藏层后跟一个 ReLU 激活层。 并使用 softmax 函数作为输出层来预测隶属度的概率。

参数优化。 在标记数据生成和攻击模型建立之后,如图 2 所示,攻击者更新攻击模型的参数。 在推理阶段,按照与训练数据生成相同的步骤建立目标用户的测试数据集。 目标用户的成员资格状态由经过训练的攻击模型推断。

2.2 具体实现过程

标记数据生成。 Aattack \mathcal{A}_{\text {attack }}Aattack  优化过程中需要训练数据。 然而,对手不能直接从目标推荐者 Atarget\mathcal{A}_{\text {target}}Atarget 获得成员资格。 为了解决这个问题,开发了一个影子推荐器 Ashadow\mathcal{A}_{\text {shadow}}Ashadow来模拟目标推荐器的数据集和推荐算法。

用到了矩阵分解:Rp×q≈Up×lVq×lTR_{p \times q} \approx U_{p \times l}V_{q \times l}^TRp×qUp×lVq×lT
VjV_jVj表示项目jjj的特征向量;
UiU_iUi表示用户iii的特征向量;由于UiU_iUi不能覆盖在影子和目标推荐器的所有用户,所以不能用UiU_iUi作为代表性用户(目前还没完全懂这句话的意思)

有了UVTUV^TUVT分解后,就可以得到Ashadow\mathcal{A}_{\text {shadow}}Ashadow,再利用Ashadow\mathcal{A}_{\text {shadow}}Ashadow模型来构建Dshadow\mathcal{D}_{\text {shadow}}Dshadow,并且把Dshadow\mathcal{D}_{\text {shadow}}Dshadow分解为两个不相交的成员数据集Dshadowin\mathcal{D}_{\text {shadow}}^{\text {in}}Dshadowin和非成员数据集Dshadowout\mathcal{D}_{\text {shadow}}^{\text {out}}Dshadowout

问:按照作者的思路,攻击者是没有办法获取到Rp×qR_{p \times q}Rp×q,那怎么得到UVTUV^TUVT分解呢?又怎么能够通过Ashadow\mathcal{A}_{\text {shadow}}Ashadow来获取到Dshadow\mathcal{D}_{\text {shadow}}Dshadow数据集呢?
答:目前暂时还不知道怎么做到的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k近邻推荐用到的各种距离

1 kkk-近邻推荐原理 2 各种距离 2.1 欧几里得距离 d12(x1−x2)2(y1−y2)2d_{12} \sqrt{(x_{1} - x_{2})^2 (y_{1} - y_{2})^2}d12​(x1​−x2​)2(y1​−y2​)2​ 缺点:欧式距离是一种常用的距离度量,但它并不是尺度不变的,这意味着所计算…

stacking模型融合_【干货】比赛后期大招之stacking技术分享

各位同学大家好,我是本次参赛选手李博,比赛ID是深蓝(DeePBluE)。现在就读于北京邮电大学,是一名研一的在校生,研究方向是数据分析和机器学习。是的,我又来分(na)享&#…

多stream_基础之Lambda和Stream的邂逅

基础之Lambda和Stream的邂逅show me the code and take to me,做的出来更要说的明白GitHub项目JavaHouse同步收录喜欢就点个赞呗! 你的支持是我分享的动力!引入是否有遇到看不懂身边同事代码的情况,是否有被面试官问到 Java 新特性不懂的情况。我掐指一算…

注意力机制--转载自我的学生隆兴写的博客

原文链接为:https://a-egoist.com/posts/a44b8419/,学生自己搭建的博客,点赞! 1 Attention 1.1 什么是 Attention 灵长类动物的视觉系统中的视神经接受了大量的感官输入。在检查视觉场景时,我们的视觉神经系统大约每…

推荐系统--矩阵分解(1)

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 1 引入 一个矩阵可以分解为两个小矩阵的乘积,以音乐为例,利用潜在特征向量来给用户和音乐打上标签&#xff…

Yolo家族算法分析

1 历史简介 2 YOLO算法思想 YOLO算法的基本思想: (1)将图片划分为SSS \times SSS个网格; (2)计算每个边界框和置信度; (3)计算每个网格属于某个类别的概率; &…

u8 附件上传后存放路径_织梦DedeCms附件按月份保存的修改方法

正常情况下,dedecms织梦系统的图片附件是按日保存的,一天一个文件夹, 时间长了, 这样在allimg中就会生成很多文件夹, 不方便管理.虽然,dedecms织梦的后台设置有”附件保存形式”的先项, 但功能太弱,如果是在后台上传和…

推荐系统--矩阵分解(2)

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 3 BiasSVD:考虑偏置 有一些用户会给出偏高的评分,有一些物品也会收到偏高的评分,比如电影观众为…

tga文件怎么打开_教你win10系统怎么打开stp文件

stp文件怎么打开呢?近来有很多小伙伴反映有朋友发送了一个stp文件给它,搞了半天也没能打开。其实打开stp文件很简单,不过前提是需要有绘图软件。我给大家整理了打开stp文件的图文教程,赶紧来瞧瞧吧有些朋友在使用win10系统的过程中…

推荐系统--矩阵分解(4)

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 7 基于情感分析的矩阵分解 7.1 引入 【摘要】推荐系统旨在基于丰富的信息预测用户的偏好,例如用户评分、人口统计和评论…

yarn 卸载包_0609-6.1.0-如何卸载CDH6.1

1.文档编写目的Fayson在两年前的文章中介绍过CDH的卸载,参考《如何卸载CDH(附一键卸载github源码)》。除非你是使用Cloudera官方提供的一键安装脚本安装的CDH,否则并没有现成的一键卸载的脚本供使用。为了更好的理解CDH的卸载,这里再次简单介…

xss跨站脚本攻击_网络安全xss跨站脚本攻击原理

以下在未经授权的网站操作均为违法行为XSS跨站脚本攻击xss的危害网络钓鱼,盗取各类账号密码我们先来看一下下面的案例:先来记住一下下面中的表我们来做一个转发上面页面显示已经登录,但是突然页面中提醒再此登录此时,我们并没有多…

推荐系统--联邦学习下的矩阵分解(6)

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 9 应用于联邦学习的矩阵分解 这个部分主要参考以下两篇论文: 2008-Collaborative Filtering for Implicit Feedback Dat…

什么是联邦学习

联邦学习 1.1 联邦学习的概念 历史:联邦学习最早在 2016 年由谷歌提出,原本用于解决安卓手机终端用户在本地更新模型的问题; 本质:联邦学习本质上是一种分布式机器学习技术,或机器学习框架。 目标:联邦学…

循环自增_大学C语言—循环结构及应用

基础知识常见循环结构及形式for循环for(设置初始值;循环条件判断;设置循环增减量){语句1;语句2;…… 语句n;}while循环while(条件判断){语句1;语句2;……语句n;}do-while循环d…

dac0832控制电机驱动流程图_某驱动电机控制器拆解实拍照片

小编作为一个电控专业100%小白,机缘巧合获得某纯电动汽车驱动电机控制器一台,拆解之,权为业内人士参考之用,文中显得外行、用词不对及谬误之处还请各位大神不吝赐教!外观标牌背面拆解固定托架侧面拆解固定托架拆解固定…

推荐系统--安全联邦矩阵分解(7)

相关论文: Secure Federated Matrix Factorization 论文源代码见: https://github.com/Di-Chai/FedMF 1 摘要 为了保护用户隐私和满足法律法规,联邦(机器)学习近年来获得了广泛的关注。 联邦学习的关键原则是在不需要知道每个用…

联邦学习--数据攻击(1)

参考论文:Deep Leakage from Gradients(NeurIPS 2019) 源代码: https://github.com/mit-han-lab/dlg 核心思想:作者通过实验得到,从梯度可以反推用户的个人信息。并验证了其在计算机视觉和自然语言处理任务…

联邦学习--数据攻击(2)

参考论文:See through Gradients: Image Batch Recovery via GradInversion(CVPR 2021 ) 源代码: 核心思想:解决了Deep Leakage from Gradients(NeurIPS 2019)中batch大于1效果无效的情况。 缺点…

对抗攻击(1)

本文是根据李宏毅老师在B站上的视频整理而来,视频地址为: https://www.bilibili.com/video/BV1n3411y7xD?p65 1 无目标和有目标攻击的区别 无目标攻击:攻击后的标签不确定,只要是和原始标签差别越大越好。 有目标攻击&#xff…