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

news2024/11/24 9:29:04

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.coloradmin.cn/o/892003.html

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

相关文章

选择大型语言模型自定义技术

推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑器的3D应用场景 企业需要自定义模型来根据其特定用例和领域知识定制语言处理功能。自定义LLM使企业能够在特定的行业或组织环境中更高效,更准确地生成和理解文本。 自定义模型使企业能够创建符合其品牌…

Android Studio实现解析HTML获取图片URL将图片保存到本地

目录 效果activity_main.xmlMainActivityImageItemImageAdapter 效果 项目本来是要做成图片保存到手机然后读取数据后瀑布流展示&#xff0c;但是有问题&#xff0c;目前只能做到保存到手机 activity_main.xml <?xml version"1.0" encoding"utf-8"?…

《python编程基础及应用》,python编程基础及应用pdf

大家好&#xff0c;小编为大家解答python编程基础课后答案上海交通大学出版社周志化的问题。很多人还不知道python编程基础及应用课后答案高等教育出版社&#xff0c;现在让我们一起来看看吧&#xff01; 单项选择题 第一章python语法基础 1. Python 3.x 版本的保留字总数是C A…

UDP TCP 报文内容

1.UDP 2.TCP 源/目的端口号:表示数据是从哪个进程来,到哪个进程去; 32位序号/32位确认号:后面详细讲;4位TCP报头长度:表示该TCP头部有多少个32位bit(有多少个4字节);所以TCP头部最大长度是15*460 6位标志位: o URG:紧急指针是否有效 ——urgent 紧急的 o ACK:确认号是否有…

K8S核心组件etcd详解(上)

1 介绍 https://etcd.io/docs/v3.5/ etcd是一个高可用的分布式键值存储系统&#xff0c;是CoreOS&#xff08;现在隶属于Red Hat&#xff09;公司开发的一个开源项目。它提供了一个简单的接口来存储和检索键值对数据&#xff0c;并使用Raft协议实现了分布式一致性。etcd广泛应用…

vector使用以及模拟实现

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

【云原生】Docker基本原理及镜像管理

目录 一、Docker概述 1.1 IT架构的演进&#xff1a; 1.2 Docker初始 1.3 容器的特点 1.4 Docker容器与虚拟机的区别 1.5 容器在内核中支持2种重要技术 1.6 Docker核心概念 1&#xff09;镜像 2&#xff09;容器 3&#xff09;仓库 二、安装Docker 2.1 Yum安装Docker…

【NEW】视频云存储EasyCVR平台H.265转码配置增加分辨率设置

关于视频分析EasyCVR视频汇聚平台的转码功能&#xff0c;我们在此前的文章中也介绍过不少&#xff0c;感兴趣的用户可以翻阅往期的文章进行了解。 安防视频集中存储EasyCVR视频监控综合管理平台可以根据不同的场景需求&#xff0c;让平台在内网、专网、VPN、广域网、互联网等各…

sCrypt编程马拉松于8月13日在复旦大学成功举办

继6月在英国Exeter大学成功举办了为期一周的区块链编程马拉松后&#xff0c;美国sCrypt公司创始人兼CEO刘晓晖博士带领核心团队成员王一强、郑宏锋、周全&#xff0c;于8月13日在复旦大学再次成功举办了一场全新的sCrypt编程马拉松。 本次活动由上海可一澈科技有限公司与复旦大…

【数据挖掘】使用 Python 分析公共数据【01/10】

一、说明 本文讨论了如何使用 Python 使用 Pandas 库分析官方 COVID-19 病例数据。您将看到如何从实际数据集中收集见解&#xff0c;发现乍一看可能不那么明显的信息。特别是&#xff0c;本文中提供的示例说明了如何获取有关疾病在不同国家/地区传播速度的信息。 二、准备您的…

QT中的按钮控件Buttons介绍

目录 Buttons 按钮控件 1、常用属性介绍 2、按钮介绍 2.1QPushButton 普通按钮 2.2QtoolButton 工具按钮 2.3Radio Button单选按钮 2.4CheckButton复选按钮 2.5Commam Link Button命令链接按钮 2.6Dialog Button Box命令链接按钮 Buttons 按钮控件 在Qt里&#xff0c;…

公告:微信小程序备案期限官方要求

备案期限要求 1、若微信小程序未上架&#xff0c;自2023年9月1日起&#xff0c;微信小程序须完成备案后才可上架&#xff0c;备案时间1-20日不等&#xff1b; 2、若微信小程序已上架&#xff0c;请于2024年3月31日前完成备案&#xff0c;逾期未完成备案&#xff0c;平台将按照…

docker启用cgroup v2

要求 本人的操作系统是kali&#xff0c;基于debian docker info如果你这里是2那么说明启用了&#xff0c;如果是1&#xff0c;那么就未启用 对于Docker来说&#xff0c;Cgroups v2的使用需要满足以下条件&#xff1a; Linux内核版本在4.15以上。 uname -r 系统已经启用Cgro…

vue-组件库-storybook:理解storybook、实践

一、理解 storybook Storybook是一个开源的工具&#xff0c;可以帮助前端开发者更好地构建、测试和展示组件。 具体来说&#xff0c;Storybook可以做以下几件事情&#xff1a; 1、为每个组件提供一个独立的页面&#xff0c;可以快速展示或调试组件。 2、管理多个组件&#x…

微服务-Ribbon(负载均衡)

负载均衡的面对多个相同的服务的时候&#xff0c;我们选择一定的策略去选择一个服务进行 负载均衡流程 Ribbon结构组成 负载均衡策略 RoundRobinRule&#xff1a;简单的轮询服务列表来选择服务器AvailabilityFilteringRule 对两种情况服务器进行忽略&#xff1a; 1.在默认情…

linux部署clickhouse(单机)

一、下载安装 1.1、下载地址 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区阿里巴巴开源镜像站&#xff0c;免费提供Linux镜像下载服务&#xff0c;拥有Ubuntu、CentOS、Deepin、MongoDB、Apache、Maven、Composer等多种开源软件镜像源&#xff0c;此外还提供域名解析DNS、…

使用 Visual Studio Code Docker 工具调试 .NET 容器

作者&#xff1a;Chet Husk 排版&#xff1a;Alan Wang Visual Studio Code Docker 工具已发布1.26.0版本&#xff0c;这个版本为使用 .NET SDK 构建和调试容器映像提供了内置支持。 VS Code 中的 Docker 调试 Visual Studio Code Docker 工具使开发人员可以轻松入门容器。它…

微服务—Eureka注册中心

eureka相当于是一个公司的管理人事HR,各部门之间如果有合作时&#xff0c;由HR进行人员的分配以及调度&#xff0c;具体选哪个人&#xff0c;全凭HR的心情&#xff0c;如果你这个部门存在没有意义&#xff0c;直接把你这个部门撤销&#xff0c;全体人员裁掉&#xff0c;所以不想…

跟着美团学设计模式(感处)

读了着篇文章之后发现真的是&#xff0c;你的思想&#xff0c;你的思维是真的比比你拥有什么技术要强的。 注 开闭原则 开闭原则&#xff08;Open-Closed Principle&#xff09;是面向对象设计中的基本原则之一&#xff0c;它的定义是&#xff1a;一个软件实体应该对扩展开放…

Redis——list类型详解

概要 Redis中的list类型相当于双端队列&#xff0c;支持头插&#xff0c;头删&#xff0c;尾插&#xff0c;尾删&#xff0c;并且列表中的内容是可以重复的。 如果搭配使用rpush和lpop&#xff0c;那么就相当于队列 如果搭配使用rpush和rpop&#xff0c;那么就相当于栈 lpu…