微信网站开发制作公司,网络推广推广公司,wordpress 汉化包,毛衣品 东莞网站建设0 摘要
推荐系统通常针对高度敏感的用户数据进行训练#xff0c;因此推荐系统潜在的数据泄露可能会导致严重的隐私问题。 本文首次尝试通过成员推理的角度来量化推荐系统的隐私泄漏。 与针对机器学习分类器的传统成员推理相比#xff0c;本文的攻击面临两个主要差异。 首先因此推荐系统潜在的数据泄露可能会导致严重的隐私问题。 本文首次尝试通过成员推理的角度来量化推荐系统的隐私泄漏。 与针对机器学习分类器的传统成员推理相比本文的攻击面临两个主要差异。 首先我们的攻击是在用户级别而不是在数据样本级别。 其次对手只能观察来自推荐系统的有序推荐项目而不是后验概率形式的预测结果。 为了解决上述挑战我们提出了一种通过从相关项目中表示用户的新方法。 此外建立影子推荐器以导出用于训练攻击模型的标记训练数据。 大量的实验结果表明我们的攻击框架取得了强大的性能。 此外我们设计了一种防御机制来有效减轻推荐系统的成员推理威胁。
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×q≈Up×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数据集呢? 答目前暂时还不知道怎么做到的。