2024机器遗忘(Machine Unlearning)技术分类-思维导图

1 介绍

机器遗忘(Machine Unlearning)是指从机器学习模型中安全地移除或"遗忘"特定的数据点或信息。这个概念源于数据隐私保护的需求,尤其是在欧盟通用数据保护条例(GDPR)等法规中提出的"被遗忘的权利"(Right to be Forgotten)。机器遗忘的目标是确保一旦用户请求删除其个人数据,相关的机器学习模型也能够相应地更新,以确保不再利用这些数据进行预测或分析。

具体来说,机器遗忘包括以下几个关键点:

  1. 数据点的移除:从训练数据集中删除特定的数据点,同时确保模型的泛化能力不受影响。
  2. 模型更新:在数据点被移除后,对模型进行更新,以反映数据的变更,这可能涉及到重新训练或使用更高效的更新技术。
  3. 隐私保护:确保在数据被遗忘后,模型不会保留任何可以追溯到被遗忘数据的信息,从而保护用户的隐私。
  4. 法律遵从:满足法律法规对于数据删除和隐私保护的要求。

本文介绍了机器遗忘技术的分类、优缺点、威胁、攻击、防御机制以及评估方法。首先将机器遗忘技术分为精确遗忘和近似遗忘两大类,并对每类中的不同方法进行了详细讨论。精确遗忘技术涉及SISA结构、图模型、k-Means和联邦学习等,而近似遗忘技术则基于影响函数、重新优化、梯度更新和特定于图数据的方法。此外指出这些技术在存储、假设、模型效用、计算成本和处理动态数据方面的局限性。

2 机器遗忘技术分类

2.1 技术分类

2.1.1 精确遗忘

(1)基于SISA结构的精确遗忘

  • 随机森林的精确遗忘:讨论了如何将SISA框架应用于随机森林模型,特别是DaRE森林和HedgeCut方法,它们通过不同的策略来提高遗忘效率和降低延迟。
  • 基于图的模型的精确遗忘:由于图数据的相互连接特性,提出了GraphEraser和RecEraser方法,这些方法扩展了SISA框架以适应图数据结构。
  • k-Means的精确遗忘:DC-k-means方法采用了类似SISA的框架,但使用了树状分层聚合方法。
  • 联邦学习的精确遗忘:KNOT方法采用了SISA框架,实现了客户端级别的异步联邦遗忘学习。

截屏2024-06-30 上午11.15.37.png
(2)非SISA的精确遗忘

  • 统计查询学习:Cao等人提出了一种中介层“求和”,通过更新求和来实现数据点的移除。
  • 联邦学习的快速重训练:Liu等人提出了一种快速重训练方法,利用一阶泰勒近似技术和低代价的Hessian矩阵近似方法来减少计算和通信成本。

(3)精确遗忘方法的优缺点

  1. 附加存储成本:精确遗忘方法通常需要大量的额外存储空间来缓存模型参数、统计数据或中间结果。例如,SISA框架需要存储每个数据分片的模型参数,而HedgeCut需要存储子树变体。这限制了在大型模型或频繁遗忘请求中的可扩展性。
  2. 强假设:一些方法对学习算法或数据特性有强烈的假设。例如,SISA可能在处理高度依赖的数据时表现不佳,而统计查询学习要求算法能够以求和形式表达。特定于某些模型的方法,如DaRE、HedgeCut、GraphEraser和RecEraser,适用性有限。
  3. 模型效用:尽管大多数方法声称在遗忘后能够保持准确性,但缺乏在不同设置下的彻底分析。需要对不同模型、数据集和移除量进行严格的评估,以提供具体的效用保证。
  4. 计算成本:精确遗忘方法在初始训练期间增加了计算成本,因为需要训练多个子模型并进行聚合。当计算资源有限时,这可能不可行。
  5. 处理动态数据:现有方法主要集中在固定训练集上移除数据。处理动态变化的数据,以及持续的插入和移除请求,仍然是一个开放问题。
  6. 选择和实用性:尽管现有的精确遗忘方法能够高效准确地移除数据,但它们在存储、假设、效用维持和可扩展性方面存在局限性。选择最合适的方法取决于应用的具体要求,包括数据类型、模型类型、可用资源,以及效率和准确性之间的期望平衡。

2.1.2 近似遗忘

(1)基于移除数据的影响函数的近似遗忘
原理:这种方法通过计算被移除数据点对模型参数的影响,然后更新模型参数以减少这些数据点的影响。影响函数衡量了单个训练样本对模型预测的影响。
代表性算法:Guo等人提出的算法利用影响函数进行数据移除,并实现了L2正则化线性模型的认证移除。Sekhari等人的工作通过使用训练数据的统计信息来减少存储和计算需求。
截屏2024-06-30 上午11.33.22.png

(2)基于移除数据后的重新优化的近似遗忘
原理:此方法首先在完整数据集上训练模型,然后定义一个新的损失函数以在保留的数据上维持准确性,并通过重新优化过程来最小化这个新的损失函数,从而实现对特定数据点的遗忘。
代表性算法:Golatkar等人提出的选择性遗忘算法通过修改网络权重,使得被遗忘数据的分布与从未训练过这些数据的网络权重分布不可区分。
截屏2024-06-30 上午11.33.41.png

(3)基于梯度更新的近似遗忘
原理:在这种方法中,通过对新数据执行少量梯度更新步骤来适应模型参数的小变化,而无需完全重新训练模型。
代表性算法:DeltaGrad算法利用缓存的梯度和参数信息来快速适应小的训练集变化。FedRecover算法从被污染的模型中恢复准确的全局模型,同时最小化客户端的计算和通信成本。
截屏2024-06-30 上午11.33.58.png

(4)特定于图数据的近似遗忘
原理:图数据由于其固有的依赖性,需要专门的方法来处理。这些方法考虑了图结构数据中节点和边的相互依赖性。
代表性算法:Wu等人提出的Graph Influence Function (GIF) 考虑了节点/边/特征对其邻居的结构影响。Cheng等人提出的GNNDELETE方法集成了一种新颖的删除操作符来处理图中边的删除影响。
截屏2024-06-30 上午11.34.15.png

(5)基于新颖技术的近似遗忘
原理:这种方法利用独特的模型架构或数据特性来开发新的近似遗忘技术。
代表性算法:Wang等人提出的模型剪枝方法在联邦学习中选择性地移除CNN分类模型中的类别。Izzo等人提出的Projective Residual Update (PRU) 用于从线性回归模型中移除数据。ERM-KTP是一种可解释的知识级机器遗忘方法,通过在训练期间使用减少纠缠的掩码(ERM)来分离和隔离特定类别的知识。

2.2 威胁、攻击、防御

(1)威胁(Threats):指的是危害机器遗忘系统的安全和隐私的潜在风险。这些威胁源自系统内部的脆弱性或外部的恶意行为。威胁包括信息泄露(Information Leakage)和恶意遗忘(Malicious Unlearning)。

  • 信息泄露(Information Leakage):未遗忘模型和遗忘模型之间的差异被用来推断敏感信息。
    • 模型差异导致的泄露(Leakage from Model Discrepancy): 这种方式的信息泄露来自于训练模型和被遗忘模型之间的差异。攻击者可以利用这些差异来获取关于被遗忘数据的额外信息。具体手段可能包括:
      • 成员资格推断攻击(Membership Inference Attacks):攻击者尝试确定特定的数据点是否属于被遗忘的数据,通过分析模型对数据点的响应差异。
      • 数据重建攻击(Data Reconstruction Attacks):攻击者尝试根据模型的输出重建被遗忘的数据点。
      • 恶意请求(Malicious Requests):恶意用户提交请求以破坏模型的安全性或性能。
    • 知识依赖性导致的泄露(Leakage from Knowledge Dependency): 这种方式的信息泄露来自于模型与外部知识源之间的自然关系。这可能包括:
      • 自适应请求(Adaptive Requests):连续的遗忘请求可能揭示关于其他数据点的信息,攻击者可以通过一系列请求来收集足够的知识,以确定特定数据的成员资格。
      • 缓存的计算(Cached Computations):遗忘算法可能缓存部分计算以加快处理速度,这可能无意中泄露了跨多个版本中本应被删除的数据的信息。
  • 恶意遗忘(Malicious Unlearning)
    • 直接遗忘攻击(Direct Unlearning Attacks): 这类攻击仅在遗忘阶段发生,不需要在训练阶段操纵训练数据。攻击者可能利用模型的推断服务来获取关于训练模型的知识,并使用对抗性扰动等方法来制定恶意遗忘请求。直接遗忘攻击可以是无目标的,旨在降低模型在遗忘后的整体性能,也可以是有目标的,目的是使遗忘模型对具有预定义特征的目标输入进行错误分类。
    • 预条件遗忘攻击(Preconditioned Unlearning Attacks): 与直接遗忘攻击不同,预条件遗忘攻击采取更策略性的方法,在训练阶段操纵训练数据。这些攻击通常设计为执行更复杂和隐蔽的有目标攻击。预条件遗忘攻击通常通过以下步骤执行:
      • 攻击者在干净数据集中插入有毒数据(Poisoned Data)和缓解数据(Mitigation Data),形成一个训练数据集。
      • 服务器基于这个数据集训练机器学习模型并返回模型。
      • 攻击者提交请求以遗忘缓解数据。
      • 服务器执行遗忘过程并返回一个遗忘模型,该模型实际上对应于仅在有毒数据和干净数据上训练的模型。通过这种方式,遗忘过程中移除缓解数据后,模型就会对训练阶段插入的有毒数据变得脆弱。
  • 其他漏洞(Other Vulnerabilities)
    • “减速攻击”:一种旨在减慢遗忘过程的投毒攻击,通过策略性地在训练数据中制作有毒数据,最小化通过近似更新处理的遗忘请求的间隔或数量。
    • 公平性影响:讨论了遗忘算法本身可能在特定领域应用中引入的副作用,例如在大型语言模型中影响公平性。

(2)攻击(Attacks):基于上述威胁,攻击者执行的具体行动。这些攻击发生在机器遗忘的任何阶段,包括:

  • 训练阶段攻击(Training Phase Attacks):如数据投毒,攻击者在训练数据中注入恶意数据。
  • 遗忘阶段攻击(Unlearning Phase Attacks):如提交设计精巧的请求以移除对模型性能至关重要的数据点。
  • 后遗忘阶段攻击(Post-Unlearning Phase Attacks):利用对模型的双重访问来提取额外信息或发起更复杂的攻击。

(3)防御(Defenses):为了保护机器遗忘系统免受威胁和攻击,研究者和实践者开发了多种防御机制。这些防御包括:

  • 预遗忘阶段(Pre-unlearning Stage):在遗忘过程开始之前检测恶意请求或制定遗忘规则。
  • 遗忘阶段(In-unlearning Stage):监控模型变化,如果检测到异常则停止遗忘过程。
  • 后遗忘阶段(Post-unlearning Stage):保护遗忘后模型的信息泄露,或恢复模型到攻击前的状态。

2.3 通过攻击手段来评估机器遗忘系统的有效性

(1)隐私泄露审计(Audit of Privacy Leakage)

  • 目的:评估机器遗忘系统在遗忘过程中可能产生的隐私泄露。
  • 方法:使用攻击手段,如推断攻击,来检测训练模型和遗忘模型之间的差异,或利用系统内部的漏洞来提取信息。
  • 指标:采用诸如区域下曲线(AUC)和攻击成功率(ASR)等指标来量化隐私攻击的有效性,从而指示隐私泄露的程度。

(2)模型鲁棒性评估(Assessment of Model Robustness)

  • 目的:通过恶意遗忘评估遗忘模型的鲁棒性,类似于对抗性攻击中使用的原则。
  • 方法:提交被扰动的数据点进行遗忘,以改变分类器的决策边界,从而评估模型对边界附近数据点的敏感性和对挑战模型预测能力的点的影响。
  • 技术:例如,在大型语言模型(LLMs)中,攻击者可能插入对抗性嵌入到提示的嵌入中,以提取模型中本应被遗忘的知识。

(3)遗忘证明(Proof of Unlearning)

  • 目的:使用攻击手段来证明遗忘过程的有效性,即验证数据是否已被有效地从模型中移除。
  • 方法:如果遗忘后的数据在模型中没有显示出成员资格,或者遗忘数据中的后门无法被检测到,则可以认为遗忘数据已以高概率从模型中有效移除。
  • 应用:研究中使用了标准的推断攻击和后门攻击的变体,或其他对抗性攻击来检测遗忘程序的不足。

2.4 验证指标和评价指标

截屏2024-06-30 下午3.05.17.png
(1)验证指标(Verification Metrics)
验证指标主要用于数据提供者来验证模型提供者声称的遗忘效果是否真实。

  1. 侵入性指标(Invasive Metrics):
    • 基于水印的指标:通过在数据或模型参数中嵌入水印(如后门触发器或特定二进制字符串),然后在遗忘后验证这些水印是否仍被模型所记忆。
  2. 非侵入性指标(Non-invasive Metrics):
    • 成员资格推断指标:确定给定数据样本是否存在于训练数据集中,以验证模型是否仍包含有关被遗忘数据的信息。
    • 数据重构指标:基于模型输出或参数,尝试重构训练数据信息,以验证遗忘数据是否仍被模型保留。
    • 基于密码学的指标:使用密码学方法提供遗忘过程的证明,如使用简洁的非交互式知识论证。

(2)评价指标(Evaluation Metrics)
评价指标帮助模型提供者评估其遗忘算法的有效性、效用和效率。

  1. 有效性指标(Effectiveness Metrics):
    • 重学时间指标:测量遗忘后的模型重新获得与原始模型相同精度所需的训练周期数。
    • 基于相似度的指标:通过测量遗忘模型与重新训练模型之间的激活、权重或分布距离来评估遗忘效果。
    • 理论基础的指标:基于特定遗忘方法设计的指标,如基于重学的指标和基于认证的指标。
  2. 效率指标(Efficiency Metrics):
    • 遗忘速度指标:评估遗忘过程的效率,测量遗忘操作与从头开始训练相比所需的时间差异。
  3. 效用指标(Utility Metrics):
    • 在被遗忘数据集上的精度:评估遗忘操作对模型在剩余数据集上预测准确性的影响,确保遗忘后的模型仍然可用。

(3)其他相关指标

  • 遗忘率(Forgetting Rate):通过测量成员资格推断的精度变化来直观地衡量遗忘成功率。
  • 记忆掩蔽(Neuron Masking):通过掩盖神经网络中的特定神经元来实现对特定数据的遗忘。

3 参考文献

  1. Xu J, Wu Z, Wang C, et al. Machine unlearning: Solutions and challenges[J]. IEEE Transactions on Emerging Topics in Computational Intelligence, 2024. 【引用量 12】

  2. Liu Z, Ye H, Chen C, et al. Threats, attacks, and defenses in machine unlearning: A survey[J]. arXiv preprint arXiv:2403.13682, 2024. 【引用量 3】

  3. Li N, Zhou C, Gao Y, et al. Machine Unlearning: Taxonomy, Metrics, Applications, Challenges, and Prospects[J]. arXiv preprint arXiv:2403.08254, 2024. 【引用量 3】

  4. Wang W, Tian Z, Yu S. Machine Unlearning: A Comprehensive Survey[J]. arXiv preprint arXiv:2405.07406, 2024.【引用量 0】

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

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

相关文章

【漏洞复现】飞企互联-FE企业运营管理平台——SQL注入

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据…

【8】相关补充

【8】相关补充 文章目录 前言一、不同模型在测试集上的精度二、实验记录三、SNP位点筛选及其它python脚本四、总结五、后续安排总结 前言 存放一些有关这个项目研究的补充。 三叶青图像识别研究简概 一、不同模型在测试集上的精度 存放了不同识别模型在测试集上精度评估展示…

Android HWASAN使用与实现原理

一、背景 为了提前检测出Android User Sapce的app或native进程的内存错误问题,帮助研发定位与分析这些问题,基于Android 14版本上对HWASAN做了调研分析。 二、ASAN介绍 HWASAN是在ASAN的基础上做了拓展,因此在介绍HWASAN之前先了解下ASAN.…

WBCE CMS v1.5.2 远程命令执行漏洞(CVE-2022-25099)

前言 CVE-2022-25099 是一个影响 WBCE CMS v1.5.2 的严重安全漏洞,具体存在于 /languages/index.php 组件中。该漏洞允许攻击者通过上传精心构造的 PHP 文件在受影响的系统上执行任意代码。 技术细节 受影响组件:/languages/index.php受影响版本&…

如何在 Odoo 16 中向新视图添加字段

例如,让我们看看如何在新视图或新操作窗口中创建“many2one”字段。 请考虑下面的屏幕截图,它表示不包含任何字段的新视图类型或客户端操作窗口。 我们现在可以将与“res.partner”关联的“多对一”字段引入到我们的新视图或客户端操作窗口中。 为了实现这一点,在 XML 模板…

Using a text embedding model locally with semantic kernel

题意:在本地使用带有语义核(Semantic Kernel)的文本嵌入模型 问题背景: Ive been reading Stephen Toubs blog post about building a simple console-based .NET chat application from the ground up with semantic-kernel. Im…

idea中maven全局配置

配置了就不需要每次创建项目都来设置maven仓库了。 1.先把项目全关了 2. 进入全局设置 3.设置maven的仓库就可以了

SpringBoot实现多数据源切换

1. 概述 随着项目规模的扩大和业务需求的复杂化,单一数据源已经不能满足实际开发中的需求。在许多情况下,我们需要同时操作多个数据库,或者需要将不同类型的数据存储在不同的数据库中。这时,多数据源场景成为必不可少的解决方案。…

【CentOS7.6】docker部署EMQX教程,本地镜像直接导入(附下载链接),没法在云服务器上魔法拉取镜像的快来

总览 先把下载链接放在这里吧,这是 EMQX 的 tar 包,能够直接导入 CentOS 的 docker: 链接:https://pan.baidu.com/s/1rSGSLoVvj83ai6d5oolg8Q?pwd0108 提取码:0108 一、安装配置教程 1.将 EMQX-latest.tar 包导入…

[图解]企业应用架构模式2024新译本讲解19-数据映射器1

1 00:00:01,720 --> 00:00:03,950 下一个我们要讲的就是 2 00:00:04,660 --> 00:00:07,420 数据映射器这个模式 3 00:00:09,760 --> 00:00:13,420 这个也是在数据源模式里面 4 00:00:13,430 --> 00:00:14,820 用得最广泛的 5 00:00:16,250 --> 00:00:19,170…

链篦机回转窑球团生产工艺

生球在回转窑氧化焙烧,回转窑头部设有燃烧器,燃料可以采用气体、固体、液体。 来自环冷机一冷却段的高温废气作为二次风进入窑内参与燃烧,烧成成品球进入环冷机。 环冷机采用鼓风冷却,热风风箱分为四段: 一段气体引至…

无人机有哪些关键技术?

一、控制技术 无人机的核心还是在控制上,飞控系统的可靠性、稳定性及可扩展性是其中重要的指标。可靠性上,除了器件选型之外,目前主要靠多余度来增加;稳定性主要体现在多场景下仍能保持良好的工作状态,主要靠算法来进…

【Nginx】docker运行Nginx及配置

Nginx镜像的获取 直接从Docker Hub拉取Nginx镜像通过Dockerfile构建Nginx镜像后拉取 二者区别 主要区别在于定制化程度和构建过程的控制: 直接拉取Nginx镜像: 简便性:直接使用docker pull nginx命令可以快速拉取官方的Nginx镜像。这个过程…

通透!手把教你如何从头构建一个机器学习模型

目录 1.业务理解 2.数据收集和准备 数据采集 探索性数据分析 (EDA) 和数据清理 特征选择 3.建立机器学习模型 选择正确的模型 分割数据 训练模型 模型评估 4.模型优化 5.部署模型 今天我将带领大家一步步的来构建一个机器学习模型。 我们将按照以下步骤开发客户流失…

【基础算法】UE中实现轮播

本期作者:尼克 易知微3D引擎技术负责人 当前N 总数M 从0到M-1 从1到M 感谢阅读,以上内容均由易知微3D引擎团队原创设计,以及易知微版权所有,转载请注明出处,违者必究,谢谢您的合作。申请转载授权后台回复【…

掌握XD数字设计:打造令人惊艳的用户体验

xd是adobe旗下一款主打UI界面设计-建立原型的软件,它可以将wireframe、design、以及prototype等UI/UX设计流程整合到一个软件中,算是一款与sketch对打的软件。 与PS相比,在UI设计方面,Adobe XD有非常突出的3个优点:能…

从0到1手写vue源码

模版引擎 数组join法(字符串) es6反引号法(模版字符串换行) mustache (小胡子) 引入mustache 模版引擎的使用 mustache.render(templatestr,data) mustache.render 循环简单数组 循环复杂数组 循环单项数组 数组的嵌套 musta…

江苏徐州SAP代理商有哪些?怎么选择?

在数字化浪潮席卷全球的今天,企业对于高效、智能的管理系统需求日益迫切。SAP作为全球领先的企业管理软件解决方案提供商,其产品在市场上享有极高的声誉。而在江苏徐州,哲讯智能科技作为SAP的代理商,以其专业的技术实力和优质的服…

开源205W桌面充电器,140W+65W升降压PD3.1快充模块(2C+1A口),IP6557+IP6538

开源一个基于IP6557和IP6538芯片的205W升降压快充模块(140W65W),其中一路C口支持PD3.1协议,最高输出28V5A,另一路是A口C口,最高输出65W(20V3.25A),可搭配一个24V10A的开关…

SpringBoot-第一天学习

SpringBoot介绍-约定大于配置 SpringBoot是在Spring4.0基础上开发的,不是替代Spring的解决方案,而是和Spring框架结合并进一步简化Spring搭建和开发过程的。 如何简化?就是通过提供默认配置等方式让我们更容易,集成了大量常用的…