原文链接https://arxiv.org/pdf/1806.01246
摘要
本文研究了机器学习模型中的成员推理攻击,即攻击者试图确定数据点是否属于模型的训练数据。文章放宽了先前研究中的假设,展示了更广泛的应用场景和更低的攻击成本。通过使用单一影子模型、数据无关攻击和无需训练的攻击方法,文章证明了成员推理攻击的严重性。此外,文章提出了两种防御机制,即 dropout 和模型堆叠,以减轻成员推理攻击的风险。
工作内容
针对模型无关的成员推理攻击 (攻击者 1):第一个攻击者,使用单个影子模型和攻击模型进行成员推理攻击。
针对数据无关的成员推理攻击 (攻击者 2):第二个攻击者,使用来自不同分布的数据集训练影子模型,并提出了数据转移攻击方法,该方法比 Shokri 等人 [38] 的合成数据生成方法更有效。
无需训练的模型和数据无关的成员推理攻击 (攻击者 3):第三个攻击者,她使用目标模型的后验概率进行成员推理攻击,无需构建影子模型。
防御: 提出了两种防御机制,即 dropout 和模型堆叠,以减轻成员推理攻击的风险。
实验细节
攻击
三种攻击者逐步放宽了成员推理攻击的假设,展示了其广泛的应用场景和严重性。攻击者 1 放松了影子模型结构的假设,攻击者 2 放松了数据分布的假设,攻击者 3 则进一步放松了攻击复杂度的假设。这些结果表明,即使攻击者没有大量数据和模型知识,仍然可以对机器学习模型进行有效的成员推理攻击。
攻击者1:模型无关攻击
- 目标: 确定数据点是否属于模型的训练数据。
- 假设: 攻击者拥有来自与目标模型训练数据相同分布的数据集。
- 方法: 使用单个影子模型和攻击模型进行成员推理攻击。
- 特点:
- 使用单个影子模型,降低了攻击成本。
- 放松了影子模型结构必须与目标模型相同的假设。
- 提出了“结合攻击”,无需知道目标模型使用的分类器类型。
- 在多个数据集上取得了与使用多个影子模型相似的攻击性能。
攻击者2:数据无关攻击
- 目标: 确定数据点是否属于模型的训练数据。
- 假设: 攻击者没有来自与目标模型训练数据相同分布的数据集。
- 方法: 使用来自不同分布的数据集训练影子模型,并进行数据转移攻击。
- 特点:
- 无需查询目标模型生成合成数据,降低了攻击成本和被检测的风险。
- 数据转移攻击在不同领域的数据集之间也有效。
- 攻击性能在某些情况下甚至优于攻击者 1。
攻击者3:无需训练的模型和数据无关攻击
- 目标: 确定数据点是否属于模型的训练数据。
- 假设: 攻击者无需构建影子模型,且攻击无需训练过程。
- 方法: 使用目标模型后验概率的统计指标(如最大值和熵)进行成员推理。
- 特点:
- 攻击者只需使用目标模型进行查询,无需训练任何模型。
- 攻击性能虽然略低于前两种攻击者,但仍然有效。
- 进一步证明了成员推理攻击的严重性。
防御
dropout
- 目标: 降低机器学习模型的过拟合程度,从而提高其对成员推理攻击的鲁棒性。
- 方法: 在每个训练迭代中,随机删除全连接神经网络模型中一定比例的边。
- 实现:
- 选择合适的 dropout 比率: 通常选择 0.5 作为默认值,但可以根据具体情况进行调整。
- 应用于输入层和隐藏层: 在模型的每个层都应用 dropout,以更有效地防止过拟合。
- 评估效果: 通过比较应用 dropout 之前和之后的攻击性能,评估其有效性。结果显示,dropout 可以显著降低攻击性能,同时保持目标模型的预测精度。
正则化技术
- 目标: 提高机器学习模型的泛化能力,从而降低其对成员推理攻击的敏感性。
- 方法: 将多个机器学习模型组织成层次结构,每个模型训练在不同的数据子集上。
- 实现:
- 选择不同的机器学习模型: 通常选择多层感知器、随机森林和逻辑回归作为模型堆叠的组成部分。
- 数据分割: 将数据集分割成多个互斥的子集,每个子集用于训练一个模型。
- 模型组合: 使用第一个模型的输出作为第二个模型的输入,第二个模型的输出作为第三个模型的输入,最终得到模型的预测结果。
- 评估效果: 通过比较应用模型堆叠之前和之后的攻击性能,评估其有效性。结果显示,模型堆叠可以显著降低攻击性能,但可能会对目标模型的预测精度产生负面影响。