【博士每天一篇文献-综述】2024机器遗忘最新综述之一:A Survey on Machine Unlearning Techniques and New Emerged Privacy Risks

简介: 本文综述了机器遗忘技术及其面临的新兴隐私风险,提出了面向数据和模型的分类法,分析了信息窃取和模型破坏攻击手段,探讨了相应的防御策略,并讨论了机器遗忘技术在大型语言模型、联邦学习和异常检测等领域的应用。

1 介绍

年份:2024
作者:Ping Xiong,中南政法大学,朱天清,澳门城市大学
期刊: arXiv未发表
引用量:0
Liu H, Xiong P, Zhu T, et al. A Survey on Machine Unlearning: Techniques and New Emerged Privacy Risks[J]. arXiv preprint arXiv:2406.06186, 2024.
论文提出了一个分类法,将现有的机器遗忘方法分为两个分支:面向数据的技术(data-oriented techniques)和面向模型的技术(model-oriented techniques)。总结机器遗忘存在的威胁和攻击,包括信息窃取攻击和破坏模型攻击。总结针对信息窃取攻击和模型破坏攻击的防御方法,包括差分隐私、同态加密、置信度分数掩蔽、温度缩放、数据预处理和鲁棒训练。提出机器遗忘在大语言模型、联邦学习和异常检测中的应用。
image.png
image.png

2 创新点

  1. 全面综述:提供了对机器遗忘领域的全面概述,包括技术和新兴的隐私风险,为读者提供了该领域的宏观视角。
  2. 分类法提出:提出了一个新的分类法,将现有的机器遗忘方法分为两大类:面向数据的技术(data-oriented techniques)和面向模型的技术(model-oriented techniques),这有助于更系统地理解和比较不同方法。
  3. 隐私风险分析:深入分析了机器遗忘过程中可能出现的隐私风险,包括定义、实现方法和现实世界应用中的隐私问题。
  4. 攻击技术视角:从隐私威胁的角度出发,分析了最新的恶意攻击技术对机器遗忘构成的新挑战,这有助于理解当前方法的脆弱性。
  5. 防御方法提出:针对分析出的隐私风险,提出了可能的防御方法,为设计更安全的遗忘算法提供了指导。

3 相关研究

3.1 机器遗忘方法分类

两种主要的机器遗忘方法:面向数据的技术(Data-oriented Techniques)和面向模型的技术(Model-oriented Techniques)。
image.png

3.1.1 面向数据的方法

  • 数据分割:通过将原始训练集分割成多个子集,并在每个子集上训练子模型来实现遗忘。当需要遗忘特定数据时,只需重新训练包含这些数据的子模型。例如,SISA方法。
    • 文献:[10] Lucas Bourtoule 等人
  • 数据修改:通过向训练集添加噪声或新转换的数据来实现遗忘,例如使用转换后的数据替换需要遗忘的数据。
    • 文献:[8] Yinzhi Cao 和 Junfeng Yang;[32] Ayush K. Tarun 等人;[31] Tao Guo 等人
  • 优缺点
    • 数据导向技术可能在提高遗忘效率的同时牺牲了模型的准确性和有效性。缺乏对遗忘结果的验证和隐私保护的鲁棒性测试。可能面临成员推断攻击,尤其是在数据分割方法中,由于重新训练子模型导致输出分布的差异。

3.1.2 面向模型的方法

  • 模型重置:通过直接更新模型参数来抵消需要遗忘的数据对模型的影响。例如,Certified Removal机制。
    • 文献:[11] Chuan Guo 等人;[37] Zachary Izzo 等人;[44] Aditya Golatkar 等人;[45] Aditya Golatkar 等人
  • 模型修改:通过用计算出的参数替换模型中与需要遗忘的数据相关的参数,从原始模型中移除数据。
    • 文献:[13] Brophy et al.; [47] Wu et al.; [48] Chundawat et al.; [49] Chundawat et al.; [50] Baumhauer et al.; [53] Kong et al.; [54] Bae et al.; [56] Moon et al.; [57] Sun et al.
  • 优缺点
    • 模型导向遗忘可能在保持模型性能和删除效率之间做出权衡。可能面临投毒攻击,尤其是在基于模型重置的方法中,因为删除操作可能触发后门,导致模型重新训练。模型修改方法由于存储所有参数,可能更容易受到模型反演攻击。

3.2 隐私风险

image.png

3.2.1 隐私风险分类

(1)信息窃取攻击
用户希望在使用机器学习模型时保护训练数据的隐私,包括数据值、特征或特定数据是否属于训练集(成员资格)。此外,由于复制训练模型的能力,模型结构和参数也被视为敏感信息。这些训练数据和模型的私有信息是攻击的主要目标,通常包括成员资格推断攻击、属性推断攻击、模型反演攻击和模型提取攻击。

  • 成员资格推断攻击(Membership Inference Attack):确定目标样本是否属于模型训练集。

image.png

  • 属性推断攻击(Attribute Inference Attack):收集和分析可观察特征以获取敏感属性。
  • 模型反演攻击(Model Inversion Attack):使用模型输出结果恢复或推断模型的输入数据。
  • 模型提取攻击(Model Extraction Attack):从黑盒机器学习模型中提取非公开信息,如模型参数。
    • [14] Qiang Liu, Pan Li, Wentao Zhao, Wei Cai, Shui Yu, and Victor CM Leung. “A survey on security threats and defensive techniques of machine learning: A data driven view.” IEEE access, 6:12103–12117, 2018.
    • [15] Bo Liu, Ming Ding, Sina Shaham, Wenny Rahayu, Farhad Farokhi, and Zihuai Lin. “When machine learning meets privacy: A survey and outlook.” ACM Computing Surveys, 54(2):1–36, 2021.

(2)破坏模型攻击
针对模型的隐私攻击主要指破坏模型的完整性,即模型预测的准确性与预期输出的比较。这类攻击包括投毒攻击、规避攻击、对抗性攻击和后门攻击,对模型性能产生负面影响,如降低准确性、有效性和效率。

  • 投毒攻击(Poisoning Attack)

投毒攻击是一种模型破坏攻击,攻击者在模型的训练阶段故意引入错误或恶意数据。目的是在模型学习过程中植入偏见或错误模式,导致模型的预测准确性下降或行为被操纵。

  • 规避攻击(Evasion Attack)

规避攻击通常针对已经部署的模型,攻击者通过微妙地改变输入数据来欺骗模型做出错误的预测。这种攻击不需要访问模型的训练过程,而是在模型推理时对输入进行精心设计的扰动。

  • 对抗性攻击(Adversarial Attack)

对抗性攻击是一种特殊类型的规避攻击,它使用精心设计的输入扰动来误导模型,使其做出错误的判断。这些扰动通常对人类观察者不明显,但对模型的输出有显著影响。

  • 后门攻击(Backdoor Attack)

后门攻击涉及在模型中植入一个隐藏的触发器(backdoor),当输入数据满足特定条件时,模型会被引导输出攻击者预定的结果。这种攻击可以在模型的部署和使用阶段被激活,用于恶意目的,如数据泄露或系统控制。

  • 恶意遗忘攻击(Malicious Unlearning Attack)

image.png
恶意遗忘攻击是针对机器遗忘过程的攻击,攻击者利用遗忘机制中的漏洞来破坏模型的完整性或可用性。攻击者可能通过提出恶意的遗忘请求来操纵模型,使其在处理特定数据时无法正确预测,或者在模型中植入后门,使其在特定触发条件下表现异常。

  • [16] Guowen Xu, Hongwei Li, Hao Ren, Kan Yang, and Robert H Deng. “Data security issues in deep learning: Attacks, countermeasures, and opportunities.” IEEE Communications Magazine, 57(11):116–122, 2019.

3.2.2 面向攻击的评估指标

(1)成员资格推断攻击指标(Membership Inference Attack Metrics):
用于估计样本是否成功被遗忘。通过测量成员资格推断攻击的准确性,可以验证数据是否已经被有效地从模型中移除。错误否定率(False Negative Rate, FNR)用于成员资格推断攻击,定义为错误否定(即错误地将训练集中的数据判断为非成员)在所有推断样本中的比例。FNR 的计算公式为:
F N R = T N + F P T N FNR=TN+FPTN FNR\=TN+FPTN
其中,TN 表示错误否定的数量,FP 表示错误肯定的数量。FNR 越大,表示遗忘操作的效果越好。

(2)模型反演攻击指标(Model Inversion Attack Metrics):
利用学习模型的置信度分数来获取数据信息并复制目标样本。通过评估遗忘后的模型是否仍含有有关被遗忘数据的信息,可以验证遗忘操作的有效性。
(3)模型后门攻击指标(Model Backdoor Attack Metrics):
评估在训练过程中通过添加训练样本插入隐藏触发器的后门攻击。通过检查后门攻击算法在遗忘模型上的效果,可以验证遗忘操作是否成功。
image.png

3.2.3 遗忘攻击的可能防御方法

针对信息窃取攻击和模型破坏攻击的防御方法,包括差分隐私、同态加密、置信度分数掩蔽、温度缩放、数据预处理和鲁棒训练。
image.png
(1)针对信息窃取攻击的防御

  1. 差分隐私(Differential Privacy, DP):
    • 通过在模型训练过程中引入随机性来保护数据点的隐私,确保模型输出对单个数据点的敏感性降低。
  2. 同态加密(Homomorphic Encryption, HE):
    • 允许对加密数据进行操作,而无需解密,从而在保护数据隐私的同时进行计算。
  3. 置信度分数掩蔽(Confidence Score Masking):
    • 通过隐藏或修改模型输出的置信度分数,减少攻击者从模型预测中获取信息的可能性。
  4. 温度缩放(Temperature Scaling):
    • 调整模型输出的概率分布,使其更加平滑,增加攻击者推断信息的难度。

(2)针对模型破坏攻击的防御

  1. 数据预处理(Data Preprocessing):
    • 在训练模型之前对数据进行清洗和增强,以减少恶意数据对模型训练的影响。
  2. 鲁棒训练(Robust Training):
    • 通过调整训练算法,使模型对恶意数据更加鲁棒,减少投毒攻击和后门攻击的影响。

3.3 机器遗忘技术的应用及隐私威胁

image.png

3.3.1 大型语言模型中的遗忘

  • 应用背景:大型语言模型(LLMs)使用深度学习技术和大型数据集来理解和生成语言内容,但可能面临版权侵犯和潜在偏见问题。
  • 隐私威胁:需要通过机器遗忘技术移除训练集中的版权数据或减少偏见。
  • 具体方法:
    • 知识遗忘:通过改变梯度更新的方向来减少模型对遗忘数据的预测能力。
    • 选择性遗忘:训练基线模型以识别目标内容的标记,然后替换这些标记并进行微调以消除模型中的原始信息。
    • 上下文遗忘:在推理阶段通过提供特定上下文信息来遗忘数据点,而无需更新模型参数。

3.3.2 联邦学习中的遗忘

  • 应用背景:联邦学习是一种分布式计算技术,允许在保持数据隐私的同时训练机器学习模型。
  • 隐私威胁:需要从全局模型中移除特定客户端的数据及其影响。
  • 具体方法:
    • FedEraser:通过调整保留的更新来重构遗忘模型,有效擦除客户端数据及其对全局模型的影响。
    • Forget-Stein Variational Gradient Descent (SVGD):在本地客户端执行SVGD更新,实现高效的遗忘效率。
    • 快速联邦遗忘:使用PCMU方案训练本地遗忘模型,并基于非线性函数理论进行修改。

3.3.3 异常检测中的遗忘

  • 应用背景:异常检测用于识别那些显著偏离大多数样本的罕见观测值,对于计算机视觉、金融监控和网络安全等领域至关重要。
  • 隐私威胁:在持续的异常检测中,历史任务数据可能变得不可访问,直接应用梯度下降可能导致灾难性遗忘。
  • 具体方法:
    • 生命周期异常检测:通过遗忘方法移除模型中的有害样本,然后更新模型以保持性能。

4 总结

(1)机器遗忘的设计

  • 兼容性:未来的研究需要探索设计具有高兼容性的遗忘方法,这些方法应适用于不同的数据类型和模型结构。
  • 性能与效率的平衡:研究应致力于在模型性能和遗忘效率之间找到平衡点。
  • 鲁棒性:需要开发能够抵御攻击的遗忘方法,并考虑与其他技术结合提高安全性。

(2) 机器遗忘的脆弱性

  • 隐私攻击的脆弱性:研究显示,现有的遗忘操作方法可能未能有效保护隐私,甚至增加了信息泄露的风险。
  • 后门攻击和投毒攻击:这些攻击手段对遗忘技术构成威胁,需要进一步研究如何防御。
  • 差异性利用:攻击者可能利用学习模型与遗忘模型之间的差异来实施信息窃取攻击。

(3) 机器遗忘的评估

  • 评估指标:需要提出统一的评估标准,以确保每个遗忘方法的实际性能。
  • 可验证性和鲁棒性的评估:评估方法应该提供全面的指标,并为用户验证其请求是否已完成提供简单的机制。

(4) 机器遗忘的应用

  • 实际应用场景:机器遗忘技术为推荐系统、联邦学习和大型语言模型等场景提供了隐私保护的新解决方案。
  • 模型修复和公平性:遗忘技术不仅可以修复模型中的异常数据,还可以解决模型偏见问题。

5 思考

(1)成员资格推断攻击步骤
成员资格推断攻击(Membership Inference Attack, MIA)是一种隐私攻击手段,攻击者通过分析机器学习模型的行为来推断某个特定数据样本是否曾经是该模型训练数据的一部分。这种攻击可以揭示敏感信息,比如个人隐私数据是否被用于训练某个模型。这种攻击方法利用了学习模型和遗忘模型之间的差异,攻击者可以通过比较这两个模型的输出来推断数据的成员资格,从而可能泄露隐私信息。
image.png

  1. 训练影子模型(Shadow Model Training):
    • 攻击者在拥有访问权限的数据子集上训练多个影子模型。这些影子模型与目标模型有相同的架构,但训练数据不同。
  2. 生成攻击训练集(Generating Attack Training Set):
    • 使用影子模型对训练数据和测试数据进行预测,获取预测向量。
    • 将这些预测向量与实际标签结合起来,形成攻击模型的训练数据集。
  3. 训练攻击模型(Training Attack Model):
    • 攻击者利用生成的训练数据集训练一个或多个攻击模型,这些模型旨在区分训练集中的数据和非训练集中的数据。
  4. 成员资格推断(Membership Inference):
    • 攻击者将目标数据样本输入到目标模型中,获取其预测向量。
    • 然后,将这些预测向量输入到训练好的攻击模型中,以推断该数据样本是否属于目标模型的训练集。
  5. 评估攻击效果(Evaluating Attack Effectiveness):
    • 通过比较攻击模型的预测结果和实际标签,评估攻击的准确性。
    • 常用的评估指标包括准确率、召回率、F1分数等。
  6. 优化攻击策略(Optimizing Attack Strategy):
    • 根据评估结果,攻击者可能需要调整影子模型的训练策略或攻击模型的结构,以提高攻击的成功率。

(2)模型反演攻击步骤
模型反演攻击(Model Inversion Attack)是一种隐私攻击手段,攻击者利用机器学习模型的输出结果来恢复或推断模型的输入数据。这种攻击特别适用于图像分类器等模型。模型反演攻击的关键在于利用模型的输出来推断其训练数据的特征,这对于保护训练数据的隐私构成了严重威胁。因此,设计能够抵御这种攻击的机器学习模型和训练策略是非常重要的。

  • 第一阶段:构建攻击训练集:
    • 攻击者通过向目标模型发送查询,获取一系列输入输出对。例如,如果目标是图像分类器,攻击者可能会提交一系列图像并记录模型的分类标签作为输出。
  • 第二阶段:训练逆向模型:
    • 使用收集到的输入输出对训练一个模型,该模型能够从输出标签反推出原始输入数据的特征。这可能涉及到学习一个从输出空间到输入空间的映射函数。
  • 第三阶段:逆向推断:
    • 对于目标模型的特定输出,攻击者利用训练好的逆向模型来推断出原始输入数据的特征或内容。例如,如果攻击者知道某个图像被模型错误分类为某个类别,他们可能使用逆向模型来推断出图像中包含的特征。

(3)模型提取攻击步骤
攻击者的目标是从黑盒机器学习模型中提取非公开信息,如模型参数,以便构建一个能够模拟目标模型行为的替代模型。

  1. 构建攻击训练集(Construct Attack Training Set):
    • 攻击者通过向目标模型的预测API发送查询,收集一系列的输入-输出对(例如,特征向量和预测结果)。这些数据对构成了攻击训练集。
  2. 训练替代模型(Train Substitute Model):
    • 使用攻击训练集来训练一个替代模型,该模型旨在模拟目标模型的行为。这个替代模型不需要与目标模型完全相同,但需要足够接近,以便能够产生类似的预测结果。
  3. 细化替代模型(Refine Substitute Model):
    • 攻击者通过不断查询目标模型的预测API,并将其输出与替代模型的预测结果进行比较,来迭代地细化替代模型。这个过程可能涉及到调整替代模型的参数,以最小化两者预测结果之间的差异。
  4. 评估替代模型(Evaluate Substitute Model):
    • 通过测试错误率和一致性错误率(即两个模型在预测结果上不一致的特征空间的比例)等指标来评估替代模型的性能。目标是使替代模型尽可能地接近目标模型。
  5. 提取模型信息(Extract Model Information):
    • 一旦替代模型足够接近目标模型,攻击者就可以从替代模型中提取所需的信息,如模型参数、训练数据的特征等。这些信息可以用于进一步的分析或攻击。
  6. 验证和利用提取的信息(Verify and Exploit Extracted Information):
    • 攻击者可能会使用提取的信息来进行进一步的分析,例如,通过分析模型参数来推断训练数据的分布或敏感属性。此外,攻击者还可能利用这些信息来发起更有针对性的攻击,如成员资格推断攻击或属性推断攻击。
目录
相关文章
|
数据可视化 PyTorch 算法框架/工具
使用PyTorch搭建VGG模型进行图像风格迁移实战(附源码和数据集)
使用PyTorch搭建VGG模型进行图像风格迁移实战(附源码和数据集)
1243 1
|
机器学习/深度学习 算法 安全
【博士每天一篇文献-综述】2024机器遗忘最新综述之一:An overview of machine unlearning
本文提供了机器遗忘的全面定义、问题方程、精确与近似遗忘的概念,并分类总结了机器遗忘方法,讨论了其在联邦学习和终身学习中的应用,提出了未来研究方向,为机器遗忘研究领域奠定了理论基础并指出了实际应用的潜力与挑战。
956 5
【博士每天一篇文献-综述】2024机器遗忘最新综述之一:An overview of machine unlearning
|
机器学习/深度学习 存储 缓存
【博士每天一篇文献-综述】Machine Unlearning Solutions and Challenges
本文综述了机器遗忘的解决方案和挑战,全面分类并分析了精确遗忘和近似遗忘方法,探讨了它们在隐私保护、安全性增强、模型适应性提升中的应用,并提出了评价指标和未来研究方向。
867 2
|
机器学习/深度学习 存储 缓存
2024机器遗忘(Machine Unlearning)技术分类-思维导图
本文通过思维导图的形式,详细介绍了机器遗忘技术的分类、优缺点、面临的威胁和攻击以及防御机制,并探讨了评估机器遗忘系统有效性的方法,包括精确遗忘和近似遗忘技术,以及在数据隐私保护和法律遵从方面的应用。
1020 5
|
机器学习/深度学习 算法 安全
【博士每天一篇文献-综述】Machine Unlearning Taxonomy, Metrics, Applications, Challenges, and Prospects
本文综述了机器遗忘的分类、评价指标、应用场景、挑战和未来研究方向,提出了精确遗忘和近似遗忘的概念,并探讨了机器遗忘在模型优化和防御攻击中的应用,同时讨论了分布式学习环境下的遗忘挑战和解决方案。
512 6
|
机器学习/深度学习 存储 算法
【博士每天一篇文献-综述】2024最新联邦遗忘综述:Federated unlearning A survey on methods, design guidelines
本文提供了联邦遗忘(Federated Unlearning, FU)领域的全面综述,包括背景概念、动机、挑战、设计指南、评估指标体系,并探讨了FU在隐私保护和安全性方面的应用,以及面临的技术挑战和未来研究方向。
755 5
|
计算机视觉
增量学习中Task incremental、Domain incremental、Class incremental 三种学习模式的概念及代表性数据集?
本文介绍了增量学习中的三种主要模式:任务增量学习(Task-incremental)、域增量学习(Domain-incremental)和类别增量学习(Class-incremental),它们分别关注任务序列、数据分布变化和类别更新对学习器性能的影响,并列举了每种模式下的代表性数据集。
2301 4
增量学习中Task incremental、Domain incremental、Class incremental 三种学习模式的概念及代表性数据集?
|
Ubuntu NoSQL Linux
一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】
这篇文章详细介绍了Docker的基本使用,包括Docker的安装、常用命令、架构概念等,并通过图解和实践帮助读者快速掌握Docker的使用方法。
一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】
|
测试技术 Python
【手机群控】 利用Python与uiautomator2实现
使用Python的uiautomator2库进行多设备自动化测试,涉及环境准备(Python、uiautomator2、adb连接设备)和代码实现。通过`adb devices`获取设备列表,使用多进程并行执行测试脚本,每个脚本通过uiautomator2连接设备并获取屏幕尺寸。注意设备需开启USB调试并授权adb。利用多进程而非多线程,因Python的GIL限制。文章提供了一种提高测试效率的方法,适用于大规模设备测试场景。
1132 2
【手机群控】 利用Python与uiautomator2实现
|
机器学习/深度学习 数据采集 算法