当前位置: 首页 > article >正文

【机器遗忘之Amnesiac算法】2021年AAAI顶会论文:Amnesiac machine learning

1 介绍

年份:2021

会议: 2021AAAI

Graves L, Nagisetty V, Ganesh V. Amnesiac machine learning[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(13): 11516-11524.

Graves L, Nagisetty V, Ganesh V. Amnesiac machine learning[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2021, 35(13): 11516-11524.

本文提出了两种从训练好的神经网络模型中删除个人数据的方法——“Unlearning”和“Amnesiac Unlearning”。其中,“Unlearning”通过给敏感数据随机分配错误标签并重新训练模型来混淆模型对敏感数据的理解;而“Amnesiac Unlearning”则通过撤销包含敏感数据的批次的参数更新来精确地从模型中移除特定数据,这两种方法都在保持模型性能的同时有效抵御了模型反转和成员资格推断攻击。提出在训练过程中记录哪些样本出现在哪些批次中,以及每个批次的参数更新。当收到数据删除请求时,仅撤销包含敏感数据的批次的参数更新。优点:时间效率高,适用于需要精确移除少量数据段的情况。缺点:需要较大的存储空间来保存每个批次的参数更新值。

2 创新点

  1. Unlearning方法
    • 通过将敏感数据重新标记为随机选择的错误标签,并在修改后的数据集上重新训练网络,以混淆模型对敏感数据的理解。
  2. Amnesiac Unlearning方法
    • 通过保留训练过程中的参数更新记录,并在数据删除请求时仅撤销包含敏感数据的批次的参数更新,实现对特定数据的精确删除。
  3. 实证分析
    • 提供了广泛的实证分析,展示了这些方法在保护敏感数据不被模型反转攻击和成员资格推断攻击泄露方面的有效性。
  4. 对模型性能的影响评估
    • 评估了应用这些删除方法后神经网络模型的性能,显示这些方法对非目标数据的模型性能影响极小。
  5. 对抗性攻击的适应性
    • 展示了修改后的模型反转攻击和成员资格推断攻击,即使对于复杂的卷积网络(如Resnet18),也能有效地评估模型泄露私有数据的可能性。
  6. 存储和计算效率的平衡
    • Amnesiac Unlearning方法虽然需要较大的存储空间来保存每个批次的参数更新值,但相比于从头开始重新训练整个模型,其计算成本较低。
  7. 对不同数据删除需求的适应性
    • 区分了Unlearning方法适用于删除大量学习数据,而Amnesiac Unlearning方法更适用于精确删除特定数据段,如单个样本或样本集合。

3 算法

3.1 算法原理

Unlearning算法原理:

  1. 重新标记敏感数据
    • 将敏感数据的标签替换为随机选择的错误标签。对于整个类别的Unlearning,该类别中的每个样本都被替换为一个随机选择的错误标签;对于特定样本集的Unlearning,移除这些样本,并插入少量复制的样本,这些复制样本带有随机选择的错误标签。
  2. 重新训练模型
    • 使用修改后的数据集(包含重新标记的敏感数据)对模型进行额外的训练迭代。这个过程计算成本较低,且研究表明只需少量训练迭代即可有效。
  3. 混淆模型理解
    • 通过上述步骤,模型对敏感数据的理解被混淆,使其无法保留关于这些数据的有意义信息。

Amnesiac Unlearning算法原理:

  1. 记录训练批次和参数更新
    • 在模型训练过程中,记录哪些批次包含了敏感数据,以及每个批次的参数更新。
  2. 撤销参数更新
    • 当收到数据删除请求时,仅撤销包含敏感数据的批次的参数更新。这可以通过从学习到的模型参数中减去敏感数据批次的参数更新来实现。
  3. 精确删除敏感数据
    • 通过撤销特定批次的参数更新,可以从模型中精确地移除对特定数据的学习,而对模型的其他部分影响较小。
  4. 模型微调
    • 如果撤销的批次较多,可能需要对模型进行少量的微调,以恢复性能。

3.2 算法步骤

Unlearning算法步骤:

  1. 识别敏感数据
    • 确定需要从模型中删除的敏感数据。
  2. 重新标记数据
    • 将敏感数据的标签替换为随机选择的错误标签。如果是针对整个类别的Unlearning,则该类别中的每个样本都被替换为一个随机选择的错误标签;如果是针对特定样本集的Unlearning,则移除这些样本,并插入少量复制的样本,这些复制样本带有随机选择的错误标签。
  3. 重新训练模型
    • 使用修改后的数据集(包含重新标记的敏感数据)对模型进行额外的训练迭代。
  4. 评估模型
    • 评估模型在敏感数据和非敏感数据上的性能,确保模型性能未受负面影响。

Amnesiac Unlearning算法步骤:

  1. 记录训练信息
    • 在模型训练过程中,记录每个批次中包含的样本以及每个批次的参数更新。
  2. 识别敏感批次
    • 确定哪些批次包含了需要删除的敏感数据。
  3. 撤销参数更新
    • 对于包含敏感数据的批次,撤销这些批次的参数更新。这涉及到从学习到的模型参数中减去敏感数据批次的参数更新。
  4. 创建保护模型
    • 生成一个保护模型,该模型不再包含对敏感数据的学习。
  5. 微调模型(如有必要):
    • 如果撤销的批次较多,可能需要对模型进行少量的微调,以恢复其在非敏感数据上的性能。
  6. 评估模型
    • 评估保护模型在敏感数据和非敏感数据上的性能,确保模型性能未受负面影响。

5 实验分析

图1展示了不同数据删除方法对模型在目标和非目标数据上准确性的影响,其中Unlearning和Amnesiac Unlearning方法能有效降低模型对目标数据的准确性,同时保持对非目标数据的准确性,而简单重新训练方法效果较差,且对目标数据的遗忘速度慢。在“Empirical Evaluation”部分,实验结果的分点总结如下:

  1. 模型准确性对比
    • Naive Retraining:在MNIST和CIFAR100数据集上,简单重新训练方法导致模型在目标数据上的准确性下降缓慢,表明这种方法在保护隐私方面的效率较低。
    • Unlearning:在MNIST数据集上,Unlearning方法能迅速降低模型对目标数据的准确性,而在CIFAR100数据集上,这种方法也能在几个训练周期内显著降低模型对目标数据的准确性。
    • Amnesiac Unlearning:这种方法能立即移除模型对目标数据的识别能力,特别是在CIFAR100数据集上效果显著。
  2. 模型反转攻击(Model Inversion Attacks)
    • Naive Retraining:即使经过多次重新训练,模型仍然能够通过模型反转攻击泄露有关目标类别的信息。
    • Unlearning:这种方法能有效地防止模型反转攻击,保护目标数据不被泄露。
    • Amnesiac Unlearning:这种方法在撤销参数更新后,模型几乎无法通过模型反转攻击获取有关目标数据的信息。
  3. 成员资格推断攻击(Membership Inference Attacks)
    • Naive Retraining:简单重新训练方法在几次训练周期后仍然无法有效防止成员资格推断攻击。
    • Unlearning:Unlearning方法在不到一个训练周期内就能显著降低成员资格推断攻击的成功率。
    • Amnesiac Unlearning:这种方法无需额外训练即可有效防止成员资格推断攻击。
  4. Amnesiac Unlearning对模型效能的影响
    • 当移除的批次较少时(1%或更少),模型的准确性几乎不受影响。
    • 随着移除的批次数量增加,模型的准确性会迅速下降,但可以通过微调来恢复。
  5. 数据保留和隐私保护
    • 测试准确性、模型反转攻击和成员资格推断攻击的结果表明,尽管这些方法可以提供有关模型泄露敏感数据倾向的信息,但它们并不是衡量模型保留了多少敏感数据的全面方法。
  6. 黑盒攻击的考虑
    • 即使限制模型的访问为黑盒,模型提取攻击也能在某些情况下窃取模型的功能,表明仅靠黑盒访问限制不足以保护模型免受攻击。

http://www.kler.cn/a/469653.html

相关文章:

  • Linux中的tty和pts概念和区别
  • vite打包报错“default“ is not exported by “node_modules/dayjs/dayjs.min.js“
  • 实时数仓:数据湖 + Flink当前实时数仓中非常主流且高效的方案之一
  • 算法14、基础二分查找的运用(快速幂)
  • 决策树中的相关概念
  • windows下git clone报错:error: invalid path xxxxxx
  • 电脑steam api dll缺失了怎么办?
  • 网络安全领域的证书考试
  • Spire.PDF for .NET【页面设置】演示:向 PDF 添加平铺背景图像
  • 使用 C++ 和函数式编程构建高效的 AI 模型
  • MySQL 备份方案设计之准备事项
  • wps版excel中如何快速生成倒序序号?
  • 基于单片机的核辐射探测系统设计(论文+源码)
  • RabbitMQ案例
  • 【ArcGIS Pro二次开发实例教程】(2):BSM字段赋值
  • JAVA类和对象练习
  • Vue2: table加载树形数据的踩坑记录
  • 【数据结构05】排序
  • centos,789使用mamba快速安装R及语言包devtools
  • MySQL 的事务与多版本并发控制(MVCC)的那些事