【论文阅读】 Model Sparsity Can Simplify Machine Unlearning

Model Sparsity Can Simplify Machine Unlearning

  • 背景
  • 主要内容
    • Contribution Ⅰ:对Machine Unlearning的一个全面的理解
    • Contribution Ⅱ:说明model sparsity对Machine Unlearning的好处
    • Pruning方法的选择
    • sparse-aware的unlearning framework
  • Experiments
    • Model sparsity improves approximate unlearning
    • Effectiveness of sparsity-aware unlearning
    • Application: MU for Trojan model cleanse.
    • Application: MU to improve transfer learning.

背景

Machine Unlearning(MU)是指出于对数据隐私保护的目的以及对"RTBF"(right to be forgotten)等数据保护方案的响应,而提出的一种数据遗忘的方法。在现实中,用户有权请求数据收集者删除其个人数据,但是仅将用户数据从数据集中删除是不够的。 原因:对model的攻击,比如成员推理攻击(membership inference attack,MIA),模型反演攻击等,能够从model反推出训练数据集的信息。 如果model A是用完整的数据集训练的,那么将用户信息从数据集中删除的同时,还需要从model A中抹除用户的数据信息。
对MU分类,可以分为exact unlearning和approximate unlearning。

  • 前者即利用删除部分数据后的剩余数据集(Dr)重新训练(Retrain),得到一个新的model,因为这个model的训练并没有用到被删除的数据(Df),自然不包含Df的信息。因此通过Retain得到的model被认为是gold-standard retrained model 。 但是重训练需要很高的计算成本、时间成本,因为在模型较大、数据集较大的情况下,训练一个model是需要耗费很多计算资源,并需要很长时间的。因为仅删除几条用户数据,就直接重新训练一个model是不实际的。
  • 因此有了后者,近似MU。近似二字体现出这类MU方法在遗忘的程度和计算成本等上一个trade-off。近似遗忘是指通过其他的方法,比如influence function(也是newton step)去更新模型参数,使得模型不必耗费大量计算资源去重训练,而大致从模型中,抹除Df的信息。
    实际上,在近似MU的过程中,比如利用influence function,或者fasher information matrix去更新模型参数的过程中,涉及到对模型参数的hessian matrix求逆的操作(hessian matrix就是二阶偏导),如果模型参数量很大,比如百万个参数,那么这些操作的计算量依旧是很大的。 因此为了降低计算量,在基于influence function的放上上又有很多优化,涉及很多理论的推导。

主要内容

论文链接:Model Sparsity Can Simplify Machine Unlearning
这篇论文的核心内容是,使用model sparsity,缩小approximate MU和exact MU之间的gap。这篇论文的model sparsity就是利用pruning,得到稀疏的模型,再去做MU,即先prune,再unlearn。主要内容如下:

Contribution Ⅰ:对Machine Unlearning的一个全面的理解

本文将approximate MU分为了以下四类:

  • Fine-tuning(FT):把原来的model θ.在剩余数据集Dr微调少量的epochs,得到unlearning后的model θu。这个过程是希望能够通过在Dr上微调以启动 catastrophic forgetting(即在增量学习、连续学习的过程中,在另外个任务上微调model参数的时候,model就忘掉了在之前任务上学到的东西),使得模型遗忘掉Df的信息(因为原始数据集是Dr+Df)。
  • Gradient ascent (GA):模型训练过程中,模型参数是在往loss减小的方向移动,现在针对Df里面的数据集,将模型参数往在Df上数据点上的loss增大的方向移动。
  • Influence unlearning(IU):使用influence function来表示数据点对模型参数w的影响。但是这个方法仅使用删除的数据Df不大的情况。因为influence function中用到了first-order Taylor expansion,如果数据集变化较大的话,这个近似就不准确了。
  • Fisher fogetting(FF):这个方法主要是用到了fisher information matrix(FIM)……【这个方法相关的论文我没看懂】……FIM的计算量也是很大的。

这篇论文也提到,MU性能的评估指标有很多方面,再related works中各个approximate MU使用的评估指标不仅相同,也不全面,有些方法在metric A下性能可以,但在metric B下就不太优秀;而某些方法则相反。因此这篇论文希望对MU有一个全面的评估:

  • Unlearning accuracy (UA):属于反映unlearning efficacy的指标。UA(θu) = 1 - AccDf(θu)。就是unlearn后的model θu对遗忘数据Df的inference accuracy。AccDf(θu)越小越好,因此UA越大越好。
  • Membership inference attack(MIA)on Df:MIA-efficacy是指Df中有多少样本被MIA预测为unlearn后的model θu的non-training samples。MIA-efficacy越大越好。
  • Remaining accuracy(RA):unlearn后的model θu在Dr上的inference accuracy。属于fidelity of MU。越大越好。
  • Test accuracy(TA):unlearn后的model θu在test dataset(不是Df也不是Dr,是一个新的用于测试的数据集)上的inference accuracy,反应了unlearn后的model θu的generalization。
  • Run-time efficiency(RTE):以retrain为baseline,看approximate MU在计算上有多少加速。

Contribution Ⅱ:说明model sparsity对Machine Unlearning的好处

model sparsity,其实就是给model的参数上✖一个mask(m),保留的wi对应mi=1,不保留的wj对应mj=0。这里先给出了基于gradient ascent的MU方法的unlearning error+model sparsity的理论分析(proposition 2):在这里插入图片描述
θt是迭代更新θ过程中的某个结果,θ0是初始的model。因为mask m只有很少的项为1,因此m使得unlearning error减少了。
之后通过实验,在上面的4中approximate MU方法上,验证model sparsity对MU是有好处的,尤其是针对FT,随着sparsity rate的增加,efficacy上(UA、MIA)有很大的提升:
在这里插入图片描述
这里的实验是基于one-shot magnitude pruning(OMP)的。

Pruning方法的选择

这篇论文提到的主要方法是:先pruning,再unlearn。那么用什么pruning的方法呢?提到了三个criteria:①least dependence on the forgetting dataset (Df);因为最终是要移除model中包含的Df的信息,如果pruning的过程中过多的依赖Df的信息,那么sparse model中还是有很多Df的信息; ② lossless generalization when pruning;这个是希望pruning尽可能小的影响到TA;③ pruning efficiency,这个是希望尽可能小的影响到RTE,需要高效的pruning方法。 最终列出了三种:SynFlow (synaptic flow pruning),OMP (one-shot magnitude pruning),IMP。最终是用了SynFlow和OMP,因为这两个更优:
在这里插入图片描述
OMP和SynFlow在95% sparsity的时候,相对Dense模型,TA有所下降,但是UA提高很多。IMP则是TA有所上升,但是UA下降了。因此最终选择了OMP和SynFlow。因为IMP这个pruning方法对training dataset是强依赖的。

sparse-aware的unlearning framework

前面提到的都是先pruning再unlearn,后面文章提到pruning和unlearning同时进行,在unlearning的目标函数中引入一项L1-norm sparse regularization,最终MU的目标函数如下:
在这里插入图片描述
||θ||1越小的话,model也就越稀疏。这里的γ,是这个正则化项的权重,文章给了三种方案极其实验结果,最后说明“use of a linearly decreasing γ scheduler outperforms other schemes.”
在这里插入图片描述

Experiments

Model sparsity improves approximate unlearning

两种unlearning scenario:class-wise(Df consisting of training data points of an entire class)的和random datapoints(10% of the whole training dataset together)。
在这里插入图片描述
没一纵列,右边的和左边的对比,括号里是与Retain这个gold-standard的对比,数字越小越好。所以文章提出的先pruning能够boost MU performance。

Effectiveness of sparsity-aware unlearning

实验验证文章提出的pruning和unlearning同时进行的sparsity-aware unlearning方法效果:在class-wise forgetting和random data forgetting两个scenario下,与基于Fine-tuning的MU方法和Retain,在五个metric下对比:
在这里插入图片描述
蓝线即提出的方法,简直是五边形战士!(但是和FT比有点取巧了吧hhhhFT在dense model上性能本来就不行)。

Application: MU for Trojan model cleanse.

用MU遗忘掉adversarial examples的信息,可以实现后门的移除:
在这里插入图片描述
sparsity rate增加,unlearning后的model的ASR明显下降,同时standard accuracy降低不多。

Application: MU to improve transfer learning.

transfer learning是指在一个领域上学习好的较大的model,换一个领域的数据集微调最后分类相关的层就能继续用。但是原始的数据集,可能其中一些类对模型迁移影响是负面的,那么如果把这些类移除后训练的model迁移性更好。那么可以考虑用MU先将一些类的信息从model中移除,再transfer learning:
在这里插入图片描述
可见本文的方法,与参考方法相比,在两个数据集上的迁移Acc都有所增加,但是Time更少。

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

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

相关文章

JetBrains IDE远程开发功能可供GitHub用户使用

JetBrains与GitHub去年已达成合作,提供GitHub Codespaces 与 JetBrains Gateway 之间的集成。 GitHub Codespaces允许用户创建安全、可配置、专属的云端开发环境,此集成意味着您可以通过JetBrains Gateway使用在 GitHub Codespaces 中运行喜欢的IDE进行…

VScode搭建Opencv(C++开发环境)

VScode配置Opencv 一、 软件版本二 、下载软件2.1 MinGw下载2.2 Cmake下载2.3 Opencv下载 三、编译3.1 cmake-gui3.2 make3.3 install 四、 VScode配置4.1 launch.json4.2 c_cpp_properties.json4.3 tasks.json 五、测试 一、 软件版本 cmake :cmake-3.27.2-windows-x86_64 Mi…

JAVA基础知识(一)——Java语言描述、变量和运算符

TOC(Java语言描述、变量和运算符) 一、JAVA语言描述 1.1 java语言描述 JDK、JRE、jVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些? JDKJre java的开发工具(javac.exe java.exe javadoc.exe) jre jvmjava的核心类库 为什…

【JavaEE基础学习打卡03】Java EE 平台有哪些内容?

目录 前言一、Java EE平台说明二、Java EE平台容器及组件1.平台容器2.平台组件 三、JavaEE平台API服务1.API服务概览2.平台API 总结 前言 📜 本系列教程适用于Java Web初学者、爱好者,小白白。我们的天赋并不高,可贵在努力,坚持不…

使用CLI添加磁盘到VM

登录 https://portal.azure.com/#home,点击右上角的控制台图标 ,打开CLI 在控制台中输入如下指令,在NetworkWatcherRG创建一个名字为TEST的虚拟机,使用的镜像是Win2019datacenter,username是aaa,password是1234567890A…

mysql的快速复习 和一些思考记录

数据库设计 第一范式:有主键,具有原子性,字段不可分割 数据库表中不能出现重复记录,每个字段是原子性的不能再分 关于第一范式,每一行必须唯一,也就是每个表必须有主键。 每一列不可再分!&#…

okhttp源码简单流程分析

拦截器详细解析可以看大佬简书 "https://www.jianshu.com/p/6fac73f7570f"和 “https://www.jianshu.com/p/3c740829475c” okhttp请求流程 1:OkHttpClient okHttpClient new OkHttpClient.Builder() 构建一个okhttpClient对象,传入你想传入的…

vector使用以及模拟实现

vector使用以及模拟实现 vector介绍vector常用接口1.构造2.迭代器3.容量4.增删查改5.练习 vector模拟实现1.迭代器失效2.反向迭代器3.完整代码 vector介绍 和我们原来讲的string不同&#xff0c;vector并不是类&#xff0c;是一个类模板&#xff0c;加<类型>实例化以后才…

主机防护的重要性和方式

01 主机防护的重要性 主机防护是网络安全的重要组成部分。在互联网时代&#xff0c;网络攻击成为了一种常见的威胁&#xff0c;而主机防护则是保护计算机系统免受网络攻击的重要手段。 主机防护可以防范各种网络攻击&#xff0c;如病毒、木马、黑客攻击等&#xff0c;从而保…

气象监测站:用科技感知气象变化

气象监测站是利用科学技术感知当地小气候变化情况的气象观测仪器&#xff0c;可用于农业、林业、养殖业、畜牧业、环境保护、工业等多个领域&#xff0c;提高对环境数据的利用率&#xff0c;促进产业效能不断提升。 气象监测站主要由气象传感器、数据传输系统、电源系统、支架…

Linux debian12解压和压缩.rar文件教程

一、Debian12安装rar命令 sudo apt install rar二、使用rar软件 1.解压文件 命令格式&#xff1a; rar x 文件名.rar实力测试&#xff1a; [rootdoudou tmp]# rar x test.rar2.压缩文件 test是一个文件夹 命令格式&#xff1a; rar a 文件名.rar 文件夹名实例测试&#x…

centos7 yum获取软件所有依赖包 创建本地yum源 yum离线安装软件

centos7 yum获取软件所有依赖包 创建本地yum源 离线安装软件 1、以安装docker 20.10为例2、centos7 yum获取docker 20.10 所有依赖包3、创建本地docker yum源4、yum使用本地docker源 离线安装docker 1、以安装docker 20.10为例 参考链接&#xff1a; 添加docker 清华软件源 y…

git环境超详细配置说明

一&#xff0c;简介 在git工具安装完成之后&#xff0c;需要设置一下常用的配置&#xff0c;如邮箱&#xff0c;缩写&#xff0c;以及git commit模板等等。本文就来详细介绍些各个配置如何操作&#xff0c;供参考。 二&#xff0c;配置步骤 2.1 查看当前git的配置 git conf…

使用 Apache Kafka 和 Go 将数据引入 OpenSearch

需要编写自定义集成层来满足数据管道中的特定要求&#xff1f;了解如何使用 Go 通过 Kafka 和 OpenSearch 实现此目的。 可扩展的数据摄取是OpenSearch等大规模分布式搜索和分析引擎的一个关键方面。构建实时数据摄取管道的方法之一是使用Apache Kafka。它是一个开源事件流平台…

米尔瑞萨RZ/G2L开发板-02 ffmpeg的使用和RTMP直播

最近不知道是不是熬夜太多&#xff0c;然后记忆力减退了&#xff1f; 因为板子回来以后我就迫不及待的试了一下板子&#xff0c;然后发现板子有SSH&#xff0c;但是并没有ffmpeg&#xff0c;最近总是在玩&#xff0c;然后今天说是把板子还原一下哇&#xff0c;然后把官方的固件…

前端单点登录SSO面试回答

JWT鉴权机制 1.JWT用于登录身份验证 2.用户登录成功后&#xff0c;后端通过JWT机制生成一个token&#xff0c;返回给客户端 3.客户端后续的每次请求都需要携带token&#xff0c;放在header的authorization中 4.后端从authorization中拿到token后&#xff0c;通过secretKey进…

Spring Boot中使用validator如何实现接口入参自动检验

文章目录 一、背景二、使用三、举例 一、背景 在项目开发过程中&#xff0c;经常会对一些字段进行校验&#xff0c;比如字段的非空校验、字段的长度校验等&#xff0c;如果在每个需要的地方写一堆if else 会让你的代码变的冗余笨重且相对不好维护&#xff0c;如何更加规范和优…

微服务-GateWay(网关)

所谓网关是什么意思&#xff1f; 相当于就是你们小区家的保安&#xff0c;进出小区都得获得保安的同意&#xff0c;守护你们小区的生命财产健康&#xff0c;网关也是如此&#xff0c;对每个请求都严格把关&#xff0c;将合法的或者是获得权限的请求进入服务器 网关的功能&…

扩散模型实战(四):从零构建扩散模型

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型实战&#xff08;二&#xff09;&#xff1a;扩散模型的发展 扩散模型实战&#xff08;三&#xff09;&#xff1a;扩散模型的应用 本文以MNIST数据集为例&#xff0c;从…

智能楼宇综合布线实训室建设方案

一、楼宇智能综合布线实训室方案概述 楼宇智能综合布线实训室方案旨在为学生提供一个真实的学习和实践环境&#xff0c;以培养他们在楼宇智能综合布线领域的实际操作能力和技能。以下是一个概述&#xff1a; 1. 培养目标&#xff1a;培养学生在楼宇智能综合布线方面的综合能力…