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

【博士每天一篇文献-综述】2024机器遗忘最新综述之一:An overview of machine unlearning

1 介绍

年份:2024
作者:
期刊: High-Confidence Computing(2区)
引用量:0
Li C, Jiang H, Chen J, et al. An overview of machine unlearning[J]. High-Confidence Computing, 2024: 100254
本文详细提供了机器遗忘的全面定义,包括问题方程、精确遗忘和近似遗忘的概念,为机器遗忘研究领域建立了一个清晰的理论基础。提出机器遗忘的目标分类,包括特征删除和类别删除。将机器遗忘方法分为模型不可知、模型固有和数据驱动三类方法。提出机器遗忘验证指标,包括准确性、完整性、遗忘时间和重训练时间、模型反演攻击、成员推断攻击和后门攻击。总结机器遗忘在联邦学习和终身学习中的应用。

2 创新点

  1. 全面的定义和框架:论文提供了机器遗忘的全面定义,包括问题方程、精确遗忘和近似遗忘的概念,为机器遗忘研究领域建立了一个清晰的理论基础。
  2. 遗忘需求和验证的系统化讨论:文章不仅讨论了机器遗忘的必要性,还系统化地讨论了遗忘的需求、设计要求以及验证方法,这有助于标准化机器遗忘的过程。
  3. 算法分类与总结:论文对现有的机器遗忘算法进行了分类和总结,包括模型不可知方法、模型固有方法和数据驱动方法,为研究者提供了一个全面的技术概览。
  4. 应用领域的深入分析:论文深入分析了机器遗忘在联邦学习和终身学习等应用领域的应用情况,指出了机器遗忘在这些领域的潜力和挑战。
  5. 未来研究方向的提出:文章提出了机器遗忘领域的未来研究方向,包括设计要求的协调、统一基准测试、对抗性机器遗忘、可解释的机器遗忘以及在演化数据流中的无意识机器学习。

3 相关研究

3.1 机器遗忘的框架

3.1.1 工作流程

在这里插入图片描述

  • 训练特征移除/类别移除:模型首先在完整数据集上训练,然后根据用户遗忘请求进行遗忘学习。
  • 重训练:遗忘后的模型与在保留数据集上重新训练的模型进行比较,目标是使两者的特征尽可能相似。
  • 遗忘模型与重训练模型的比较:通过比较遗忘模型和重训练模型,确保遗忘过程的有效性。

3.1.2 请求

(1)特征删除
常见的机器遗忘请求是删除训练数据集中的特定样本。隐私泄露可能由单个数据项或具有相似特征或标签的数据集引起。提出了基于影响函数的特征移除技术,通过估计和公式化训练数据对模型参数的更新。
(2)类别删除
数据遗忘可能涉及训练模型中的一个或多个类别。类别删除比删除某些样本更具挑战性,因为数据按类别划分本身无助于训练模型。提出了基于数据增强的类别移除方法,通过引入噪声最大化目标类别的分类错误。

3.1.3 设计要求

  • 可验证性:机器遗忘框架应提供认证机制,确保模型在遗忘后有效保护用户隐私。
  • 一致性:遗忘后的模型和重新训练的模型应对任何可能的数据样本做出相同的预测。
  • 准确性:遗忘后的模型应能够正确预测测试样本,或至少其准确性应与重新训练的模型相当。

3.2 机器遗忘验证指标

  • 准确性:在遗忘集、保留集和测试集上测量模型的准确性。
  • 完整性:确保被移除样本对遗忘模型的影响被完全消除,并测量遗忘模型与重训练模型的兼容性。
  • 遗忘时间和重训练时间:量化使用遗忘而非重训练进行模型更新所节省的时间。
  • 模型反演攻击:使用模型反演攻击来确定模型是否保留了关于被遗忘样本的信息。
  • 成员推断攻击:使用成员推断攻击来确定模型是否保留了关于被遗忘样本的信息。
  • 后门攻击:在数据中注入后门以欺骗机器学习模型。后门攻击被用来验证机器遗忘的有效性,特别是所有用户用混合了干净数据和有毒数据训练模型,一些用户希望删除他们的数据。

3.3 遗忘算法分类

3.3.1 模型不可知方法(Model-agnostic methods)

  • 差分隐私:用于限制数据样本对机器学习模型的影响。
  • 统计查询学习:通过查询训练数据的统计信息而非数据本身来训练模型。
  • MCMC 遗忘(参数抽样):使用马尔可夫链蒙特卡洛方法对模型参数进行抽样。

文献

  • Bourtoule, L., Chandrasekaran, V., Choquette-Choo, C.A., Jia, H., Travers, A., Zhang, B., Lie, D., Papernot, N., 2021.
  • Nguyen, Q.P., Low, B.K.H., Jaillet, P., 2020.

3.3.2模型固有方法(Model-intrinsic methods )

  • Softmax 分类器(逻辑基分类器)的机器遗忘:调整模型参数以确保被遗忘的数据不再影响模型的决策过程。
  • 线性模型的机器遗忘:从训练的线性模型中移除特定数据点的影响。
  • 基于树的模型的机器遗忘:如极端随机树,通过测量分割决策的鲁棒性来进行遗忘。
  • 贝叶斯模型的机器遗忘:需要特殊处理,因为训练已经涉及优化模型参数的后验分布。
  • 基于 DNN 模型的机器遗忘:自动从数据中学习特征的模型,需要特定方法来遗忘数据。

文献

  • Baumhauer, T., Schöttle, P., Zeppelzauer, M., 2022.
  • Izzo, Z., Anne Smart, M., Chaudhuri, K., Zou, J.Y., 2021.
  • Schelter, S., Grafberger, S., Dunning, T., 2021.
  • Golatkar, A., Achille, A., Ravichandran, A., Polito, M., Soatto, S., 2021.

3.3.3 数据驱动方法(Data-driven methods )

  • 数据分区(高效重训练):使用数据分区机制加速重训练过程。
  • 数据增强:通过添加更多数据来支持模型训练,这种方法也可用于机器遗忘。
  • 数据影响:研究训练数据变化如何影响模型参数。

文献

  • Bourtoule, L., Chandrasekaran, V., Choquette-Choo, C.A., Jia, H., Travers, A., Zhang, B., Lie, D., Papernot, N., 2021.
  • Huang, H., Ma, X., Erfani, S.M., Bailey, J., Wang, Y., 2021.
  • Wu, G., Hashemi, M., Srinivasa, C., 2022.

3.4 机器遗忘应用

(1)联邦学习中的机器遗忘

  • 数据隐私和商业机密:由于隐私和法规限制,组织和机构无法整合原始数据共同训练大型模型。
  • 联邦学习:一种新的机器学习范式,允许参与者在不共享数据的情况下共同建模。
  • 机器遗忘在联邦学习中的挑战:全球权重是通过聚合而非原始梯度计算得到的,且客户端可能拥有重叠数据。

文献

  • Liu, G., Ma, X., Yang, Y., Wang, C., Liu, J., 2021.
  • Wu, C., Zhu, S., Mitra, P., 2022.
  • Liu, Y., Xu, L., Yuan, X., Wang, C., Li, B., 2022b.

(2)终身学习中的机器遗忘

  • 终身学习:也称为持续学习或增量学习,探索模型在多个任务上的表现。
  • 机器遗忘在终身学习中的应用
    • 防止灾难性遗忘:通过遗忘有害样本并更新模型以保持性能。
    • 处理爆炸性损失:通过遗忘方法调节极端情况以减轻问题。
    • 增量模型中的动态遗忘:如决策树和朴素贝叶斯,允许模型动态遗忘数据样本。

文献

  • Du, M., Chen, Z., Liu, C., Oak, R., Song, D., 2019. Lifelong anomaly detection through unlearning, in: Proceedings of the 2019 ACM SIGSAC conference on computer and communications security, pp. 1283–1297.
  • Liu, B., Liu, Q., Stone, P., 2022a. Continual learning and private unlearning, in: Conference on Lifelong Learning Agents, PMLR. pp. 243–254

4 思考

在终身学习上的应用很有启发性。

相关文章:

【博士每天一篇文献-综述】2024机器遗忘最新综述之一:An overview of machine unlearning

1 介绍 年份:2024 作者: 期刊: High-Confidence Computing(2区) 引用量:0 Li C, Jiang H, Chen J, et al. An overview of machine unlearning[J]. High-Confidence Computing, 2024: 100254 本文详细提供…...

【机器学习】Jupyter Notebook如何使用之基本步骤和进阶操作

引言 Jupyter Notebook 是一个交互式计算环境,它允许创建包含代码、文本和可视化内容的文档 文章目录 引言一、基本步骤1.1 启动 Jupyter Notebook1.2 使用 Jupyter Notebook 仪表板1.3 在笔记本中工作1.4 常用快捷键1.5 导出和分享笔记本 二、进阶用法2.1 组织笔…...

C++ | Leetcode C++题解之第279题完全平方数

题目: 题解: class Solution { public:// 判断是否为完全平方数bool isPerfectSquare(int x) {int y sqrt(x);return y * y x;}// 判断是否能表示为 4^k*(8m7)bool checkAnswer4(int x) {while (x % 4 0) {x / 4;}return x % 8 7;}int numSquares(i…...

Vue 3 响应式高阶用法之 `shallowRef()` 详解

Vue 3 响应式高阶用法之 shallowRef() 详解 文章目录 Vue 3 响应式高阶用法之 shallowRef() 详解简介一、使用场景1.1 深层嵌套对象的性能优化1.2 需要部分响应式的场景 二、基本使用2.1 引入 shallowRef2.2 定义 shallowRef 三、功能详解3.1 浅层响应式3.2 与 ref 的对比 四、…...

流量录制与回放:jvm-sandbox-repeater工具详解

在软件开发和测试过程中,流量录制与回放是一个非常重要的环节,它可以帮助开发者验证系统在特定条件下的行为是否符合预期。本文将详细介绍一款强大的流量录制回放工具——jvm-sandbox-repeater,以及如何利用它来提高软件测试的效率和质量。 …...

内网渗透—内网穿透工具NgrokFRPNPSSPP

前言 主要介绍一下常见的隧道搭建工具,以此来达到一个内网穿透的目的。简单说一下实验滴环境吧,kali作为攻击机,winserver2016作为目标靶机。 kali 192.168.145.171 winserver2016 10.236.44.127 显然它们处于两个不同的局域网&#xff0c…...

嵌入式中传感器数据处理方法

大家好,在传感器使用中,我们常常需要对传感器数据进行各种整理,让应用获得更好的效果,以下介绍几种常用的简单处理方法: 加权平滑:平滑和均衡传感器数据,减小偶然数据突变的影响。 抽取突变:去除静态和缓慢变化的数据背景,强调瞬间变化。 简单移动平均线:保留数据流最…...

生成式 AI 的发展方向,是 Chat 还是 Agent?

据《福布斯》报道,商业的未来是自动化。他们报告说,自动化的应用是不可避免的,“工人们即将被一个圈子和一套规则包围,要严格遵守,不能偏离。得益于聊天机器人ChatGPT于2022年11月推出所带来的强劲加持,202…...

金字塔监督在人脸反欺骗中的应用

介绍 论文地址:https://arxiv.org/pdf/2011.12032.pdf 近年来,人脸识别技术越来越普及。在智能手机解锁和进出机场时,理所当然地会用到它。人脸识别也有望被用于管理今年奥运会的相关人员。但与此同时,人们对人脸欺骗的关注度也…...

vue3——两种利用自定义指令实现防止按钮重复点击的方法

方法一:利用定时器设置时间,下方代码设置时间为1秒 但是有个缺点:请求如果很慢,1秒钟还没有好,那么该方法就没用了 // 利用定时器:1秒之后才能再次点击app.directive(preventReClick, {mounted: (el, bind…...

Chrome谷歌浏览器Console(控制台)显示文件名及行数

有没有这样的困扰?Chrome谷歌浏览器console(控制台)不显示编译文件名及行数? 设置(Settings)- > 忽略列表(lgnore List)-> 自定义排除规则(Custom exclusion rules) 将自定义排除规则…...

Vue3+Element Plus 实现table表格中input的验证

实现效果 html部分 <template><div class"table"><el-form ref"tableFormRef" :model"form"><el-table :data"form.detailList"><el-table-column type"selection" width"55" align&…...

安宝特方案|解放双手,解决死角,AR带来质量监督新体验

AR质量监督 解放双手&#xff0c;解决死角 在当今制造业快速发展的背景下&#xff0c;质量监督成为确保产品高质量和完善的管理制度的关键环节。然而&#xff0c;传统的质量监督方式存在诸多挑战&#xff0c;如人工操作带来的效率低下、查岗不及时、摄像头死角等问题。 为了解…...

Django教程(005):基于ORM操作数据库的部门管理系统

文章目录 1、功能介绍2、新建项目3、创建app4、 表结构创建6、生成表7、静态文件管理8、部门管理8.1、部门列表8.2、添加部门8.3、删除部门8.4、编辑部门9、员工管理9.1、员工列表9.2、使用ModelForm添加员工9.3、编辑员工9.4、删除员工10、完整代码下载地址1、功能介绍 部门添…...

git等常用工具以及cmake

一、将git中的代码克隆进电脑以及常用工具介绍 1.安装git 首先需要安装git sudo apt install git 注意一定要加--recursive&#xff0c;因为文件中有很多“引用文件“&#xff0c;即第三方文件&#xff08;库&#xff09;&#xff0c;加入该选项会将文件中包含的子模…...

Mybatis(四)特殊SQL的查询:模糊查询、批量删除、动态设置表明、添加功能获取自增的主键

实体类&#xff1a; 数据库&#xff1a; 1、模糊查询 方案一&#xff1a; 不适用#{ }&#xff0c;’%?%‘ 问号是属于字符串的一部分 不会被解析成占位符&#xff0c;会被当作是我们字符串的一部分来解析&#xff0c;所以我们执行的语句中找不到占位符&#xff0c;但是我们却…...

JS原型与原型链

JS原型与原型链 JavaScript中一切引用类型都是对象&#xff0c;对象就是属性的集合。 Array类型、Function类型、Object类型、Date类型、RegExp类型等都是引用类型。 原型是什么 总计一句话就是&#xff08;继承里的父亲&#xff0c;你可以使用你的原型里的函数&#xff09;…...

Python编程学习第一篇——Python零基础快速入门(六)(4)异常处理

我们已经了解了Python的基本数据类型、变量和基本的逻辑控制语句&#xff0c;基于这些基础知识可以编写一些小程序了&#xff0c;但是在写程序的时候我们会发现&#xff0c;有时候程序并不是按我们预期的方向执行&#xff0c;有的直接报错&#xff0c;有的没有报错&#xff0c;…...

GraphHopper-map-navi_路径规划、导航(web前端页面版)

文章目录 一、项目地址二、踩坑环境三、问题记录3.1、graphhopper中地图问题3.1.1. getOpacity不存在的问题3.1.2. dispatchEvent不存在的问题3.1.3. vectorLayer.set(background-maplibre-layer, true)不存在set方法3.1.4. maplibre-gl.js.map不存在的问题3.1.5. Uncaught Ref…...

2-46 基于matlab的声音信号的短时能量、短时过零率、端点检测

基于matlab的声音信号的短时能量、短时过零率、端点检测。通过计算计算短时能量、调整能量门限&#xff0c;然后开始端点检测。输出可视化结果。程序已调通&#xff0c;可直接运行。 2-46 短时能量 短时过零率 端点检测 - 小红书 (xiaohongshu.com)...

力扣630.课程表 II

力扣630.课程表 II 反悔堆 将课程按照结束时间从大到小排序每次取一个判断当前是否能学完该课程如果能学完就将持续时间加入堆 更新答案如果学不完就判断该课程持续时间是否比之前学过的最大的还大 用时更短的话就将旧的弹出 class Solution {public:int scheduleCourse(ve…...

数字IC后端流程简述

1. 设计输入 目标:接收前端设计(如RTL代码和约束文件)的输出。 工具:前端设计工具(如Synopsys Design Compiler或Cadence Genus)。 步骤: 确保前端设计的RTL代码经过综合并生成了门级网表(Netlist)。 收集约束文件(Constraints),如时序约束(SDC文件)、功率约束等…...

数学建模--整数规划和非线性规划

目录 整数规划 非线性规划 总结 整数规划中分支定界法的具体步骤和实现细节是什么&#xff1f; 初始化&#xff1a; 分支&#xff1a; 定界&#xff1a; 剪枝&#xff1a; 终止条件&#xff1a; 非线性规划中的梯度法、牛顿法和拟牛顿法的比较分析有哪些&#xff1f;…...

Linux-查看dd命令进度

查看dd命令进度 一、概述1. 在一个终端执行拷贝任务2. 在另一终端执行进度命令 一、概述 系统&#xff1a;Ubuntu 22.04 在使用 dd 命令做拷贝大量数据的时候&#xff0c;因为并没有输出&#xff0c;所以比较难判断当前进度&#xff0c;因此可以使用下面的命令作为进度查看 …...

高效微调 100 多种大语言模型:先计算法,急速推理!

hiyouga/LLaMA-Factoryhttps://github.com/hiyouga/LLaMA-Factory Stars: 26.9k License: Apache-2.0 LLaMA-Factory 是一个用于高效微调 100 多个大型语言模型&#xff08;ACL 2024&#xff09;的 WebUI。 多种模型&#xff1a;LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Y…...

opencv grabCut前景后景分割去除背景

参考&#xff1a; https://zhuanlan.zhihu.com/p/523954762 https://docs.opencv.org/3.4/d8/d83/tutorial_py_grabcut.html 环境本次&#xff1a; python 3.10 提取前景&#xff1a; 1、需要先把前景物体框出来 需要坐标信息&#xff0c;可以用windows自带的画图简单提取像素…...

qt--电子相册

一、项目要求 设计一个电子相册&#xff0c;点击上一张&#xff0c;切换到上一张图片&#xff0c;点击下一张&#xff0c;切换到下一张图片。 要求&#xff1a;图片的展示可以循环&#xff08;QList<QString>&#xff09; 要求&#xff1a;界面美观 二、项目代码 本质是通…...

【MSP430】MSP430F5529几个定时器

MSP430F5529共有四个定时器&#xff0c;其中三个是Timer_A定时器&#xff0c;一个是Timer_B定时器。 这些定时器在MSP430F5529微控制器中发挥着重要的作用&#xff0c;不仅支持多重捕获/比较、PWM输出和内部定时功能&#xff0c;还具有丰富的中断处理能力。这些特性使得MSP430…...

苍穹外卖(一)之环境搭建篇

Ngnix启动一闪而退 启动之前需要确保ngnix.exe的目录中没有中文字体&#xff0c;在conf目录下的nginx.conf文件查看ngnix的端口号&#xff0c;一般默认为80&#xff0c;若80端口被占用就会出现闪退现象。我们可以通过logs/error.log查看错误信息&#xff0c;错误信息如下&…...

【限免】16PAM、16PSK、16QAM、16CQAM星座图及误码率【附MATLAB代码】

​微信公众号&#xff1a;智能电磁频谱算法 QQ交流群&#xff1a;949444104 主要内容 MATLAB代码 % Parameters M 16; N 4; % Number of circles for CQAM SNR_dB 0:2:25; % Extended SNR range to reach higher values num_symbols 1e5; % Total number of symbols for s…...