当前位置: 首页 > 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)...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...