论文阅读-federated unlearning via class-discriminative pruning
论文阅读-federated unlearning via class-discriminative pruning
FUCP 通过类别区分性剪枝进行联邦遗忘
综述中描述:属于面向全局模型中的局部参数调整
利用卷积层的结构特定进行联邦忘却学习,wang等人提出了针对图像分类任务的联邦忘却学习算法FUCP,用于完成类别忘却任务。针对图像分类任务,FUCP依据卷积神经网络结构中通道对类别的评分剪枝通道参数,使联邦学习模型有选择地"遗忘"特定类别的贡献。然而,FUCP只能删除某个类别数据对全局模型的贡献,而无法剔除类别中的特定样本子集,并且该算法只适合卷积神经网络分类模型。
CNN-convolutional neural network 卷积神经网络
TF-IDF–term frequency inverse document frequency 术语频率逆文档频率
fine-tuning 微调
SGD–stochastic gradient descent 随机梯度下降
NLP–natural language processing 自然语言处理
提出了一种方法来清除模型中有关特定类别的信息。该方法不需要从头开始重新训练,也不需要全局访问用于训练的数据。相反,我们引入术语频率逆文档频率的概念来量化通道的类别区分度。TF-IDF分数高的通道对目标类别有更多的辨别力,因此需要进行修剪以消除学习。通道剪枝之后是微调过程,以恢复剪枝模型的性能。
TF-IDF是一种统计度量,用于评估单词与一组文档中文档的相关程度。我们的忘却学习方法将通道的输出视为单词,将类别的特征图视为文档,并使用TF-IDF来评估通道和类别之间的相关分数。TF-IDF分数高的通道具有更多的类别区分,因此需要进行剪枝以消除目标类别的贡献。剪枝过程不需要任何迭代训练或搜索,因此计算效率高。最后,进行微调过程以恢复剪枝模型的性能。

- 每个在线FL设备从联合服务器下载一个忘却学习程序
- 本地训练的CNN模型将私有图像作为输入,并生成每个通道和类别之间的特征图分数
- 这些特征图分数被传送到联邦服务器并聚合为全局特征图分数
- 服务器使用TF-IDF评估通道和类别之间的相关分数并构建剪枝器对目标类别最具判别力的通道执行剪枝
- 收到剪枝完成的通知后,每个在线FL设备从联邦服务器下载剪枝后的模型,并使用排除目标类别的训练数据进行正常的联邦训练程序以实现微调。
machine unlearning机器忘却学习,他通常以低成本产生完全重新训练的模型的近似值。 这些方法粗略分为三组:
1)Fisher 忘却学习方法 2)影响遗忘方法 3)梯度遗忘法
如果能够在不全局访问数据的情况下量化每个通道学到的类别信息,我们就有机会通过剪枝类别区分性最大的通道来忘记特殊类别。
1、通道的类别区分
每个通道的特征图具有局部性即一个特征图中的特定区域是被激活的。第13个卷积层中的第52个通道总是生成突出显示头部信息的特征图,而第127个通道总是突出显示文本信息。因此,不同的通道对图像分类中的不同类别有不同的贡献,所以我们可以通过类别区分找到与目标类别具有最大可分离性的通道。
2、基于TF-IDF的信道评分
TF-IDF定义了单词和文档之间相关性的量化,相关性随着单词在文档中出现的次数而成比例增加,但会被包含该单词的文档数量所抵消。例如,如果某个单词在文档中出现多次,而在其他文档中出现次数不多,则可能意味着该单词非常相关。
文档中单词的TF-IDF通过乘以两个不同的度量来量化:文档中单词的术语频率TF;文档集合中单词的逆文档频率IDF
对于所有文档集合E中的文档e中的单词t,TF通常是通过e中出现的t实例的计数来计算的。然后,频率除以e的长度。IDF可以通过将E的总体积除以包含t的文档数并计算对数来计算。将TF和IDF相乘得出e中t的TF-IDF分数。
我们的忘却方法将通道的输出视为单词,将类别的特征图视为文档。因此这个TF-IDF变体可以评估通道和类别之间的相关分数。TF-IDF分数高的通道具有更多的类别区分,因此需要进行剪枝。
3、类别区分性通道剪枝
通道剪枝的目标是删除每一层中的特定通道并将CNN模型缩小为更薄的模型。通道级剪枝的优点是直接删除整个通道。
与现有的类别区分性剪枝方法相比,TF-IDF引导通道剪枝不需要任何迭代训练或搜索,在计算开销方面要轻很多。
考虑到从本地和全局存储的预训练模型中删除特定类别的请求,框架描述的工作流程由分别在运行在FL客户端和联邦服务器中两个关键组件组成:参与者客户将他们的私人图像转换为本地表示,这些本地表示被传送到服务器,以便于目标类别和通道之间的TF-IDF分数构成剪枝器。
1、FL客户端中的本地处理
在每个FL客户端,忘却学习程序中的本地过程是使用本地私有图像进行的,以便生成通道和类之间的本地表示。
2、联邦服务器中的处理
在联邦服务器中,服务器过程是使用类和通道之间的本地表示进行的。在从所有参与者客户端接收到本地表示后,服务器首先平均聚合这些本地表示以生成类和通道之间的全局表示。
根据公式计算出的通道和类别之间的TF-IDF分数,服务器然后构建一个剪枝器,对目标类别中最具判别力的通道执行剪枝。剪枝是压缩神经网络模型的常用技术。它从模型中修剪特定的权重,从而将它们的值归零,并且我们确保它们不参与反向传播过程。
在多类去除的情况下,剪枝过程会执行多次,每次去除一个类。最后,修剪完成后,联邦服务器将通知每个参与者FL客户端从中下载修剪后的模型,然后进行微调过程以获得具有目标精度的剪枝后模型。
3、微调处理
在修剪目标类别中最具辨别力的通道后,应通过重新训练修剪后的模型来补偿精度下降。为了减少遗忘时间,我们应用一次剪枝再训练策略:一次剪枝多层通道并重新训练它们,直到恢复目标精度。
4、讨论
可以将此方法应用于集中式学习;本研究针对FL场景中类级忘却问题,而样本级忘却问题是一个更具有挑战性问题。
使用ResNet和VGG模型在CIFAR10和CIFAR100数据集上进行实验。CIFAR10数据集由10个类别的60000张32x32彩色图像组成,每个类别6000张图像。CIFAR100数据集与CIFAR10类似,不同之处在于它有100个类,每个类包含600个图像。
包含目标类别的测试集(忘却学习的测试集-U-set)
包含其余类别的测试集(其余测试集–R-set)
将此忘却方法与两个基线进行了比较:
1、完全重新训练(没有需要忘却的要点)
2、基于fisher unlearning方法忘却目标类别(该方法利用参与者数据的Fisher信息并注入最优噪声以实现遗忘)
FL的特点是仅将总客户端的一部分采样为参与者,并且参与者客户端具有非独立同分布的本地训练数据。因此参与者的数据不完整且存在偏差。我们假设参与者数据的分布与学习任务的整体训练数据分布不同。
- 1、忘却学习加速
从不同的预训练模型中忘却了CIFAR10和CIFAR100的最后一个类别并比较了完全重新训练的加速比。学习方法是FedSGD,x轴表示微调过程中的训练轮数,y轴表示测试集上忘却模型的准确性。
与完全重新训练相比,我们的方法产生的遗忘加速非常显著。

- 2、不同偏差概率的影响
与使用fisher信息的基线方法相比,我们的方法表现明显更好,因为我们的方法对训练数据的分布不敏感,因此即使在参与者数据存在严重偏差的情况下也可以准确的忘却学习。

- 3、信息删除
分别比较了我们的方法和完全重新训练在R/U集上的模型准确性,这是衡量忘却质量的合适方法。
我们的方法在R集上没有精度损失,在此基础上,我们的方法在U-set上的准确率与完全重新训练相同,均为0%。表明我们的方法在预训练模型上实现了与完全重新训练类似的信息擦除效果,而无需牺牲准确性。

- 4、多类移除
多类去除情况下的性能仍然先进。经过第二类剪枝后,剪枝后模型在U集上的准确性变低(即0%)表明信息擦除是理想的。

- 5、成员推理攻击
给定目标类别的样本和遗忘后的模型,攻击的目的是推断该样本是否用于训练原始模型。也就是,攻击的目的是知道目标样本位于原始模型的训练数据集中。测量攻击的成功率,以评估在遗忘后的模型中仍包含多少有关目标类别的信息。
完全重新训练和我们的方法之间的攻击成功率没有显著差异。

- 6、分类准确性分布
研究了忘却学习后分类精度在所有类别中的分布情况,以及它是否近似于从头开始重新训练的理想分布。
类间准确率差异最多仅为0.59%。

为联邦学习设置中训练的CNN分类模型提出了选择性遗忘类别的定义。基于这个定义,我们提出了一种清理程序,可以从训练模型中清理有关特定类别的信息,而不需要全局访问训练数据,也不需要从头开始重新训练。
相关文章:
论文阅读-federated unlearning via class-discriminative pruning
论文阅读-federated unlearning via class-discriminative pruning FUCP 通过类别区分性剪枝进行联邦遗忘 综述中描述:属于面向全局模型中的局部参数调整 利用卷积层的结构特定进行联邦忘却学习,wang等人提出了针对图像分类任务的联邦忘却学习算法FUCP&…...
研发效能DevOps: OpenEuler 部署 drone 持续集成平台
目录 一、实验 1.环境 2.OpenEuler 部署 drone 持续集成平台 二、问题 1.drone登录失败 一、实验 1.环境 (1)主机 表1 主机 系统架构版本IP备注LinuxopenEuler22.03 LTS SP2 192.168.204.145(动态) 192.168.204.141&…...
C#,图论与图算法,图着色问题(Graph Coloring)的威尔士-鲍威尔(Welch Powell Algorithm)算法与源代码
Welsh, D.J.A. and Powell, M.B. (1967) An Upper Bound for the Chromatic Number of a Graph and Its Application to Timetabling Problems. 《The Computer Journal》, 10, 85-86. 《The Computer Journal》 1 图着色算法概述 1967年,Welsh和Powell算法引入了…...
用python写一个脚本,实现加速3X并压缩mp4视频以降低文件大小。
为了实现您的需求,我们将使用Python的moviepy库来加速MP4视频3倍并使用ffmpeg选项来进行压缩,以降低文件大小。如果您还没有安装这些库,请先通过以下命令进行安装: pip install moviepy这是一个步骤概述: 读取视频文…...
Flink广播流 BroadcastStream
文章目录 前言BroadcastStream代码示例Broadcast 使用注意事项 前言 Flink中的广播流(BroadcastStream)是一种特殊的流处理方式,它允许将一个流(通常是一个较小的流)广播到所有的并行任务中,从而实现在不同…...
IP数据报格式
每一行都由32位比特,即4个字节组成,每个格子称为字段或者域。IP数据报由20字节的固定部分和最大40字节的可变部分组成。 总长度 总长度为16个比特,该字段的取值以字节为单位,用来表示IPv4数据报的长度(首部长度数据载荷长度)最大…...
GET https://registry.npm.taobao.org/xxxx error (CERT_HAS_EXPIRED)解决
PNPM用的阿里源,提示意思是证书过期了,参考网上的解决办法。执行 pnpm config set registry https://registry.npmmirror.com 再用pnpm config get registry查看,确实是 https://registry.npmmirror.com 但是仍旧报错,发现还…...
SSM Java Web项目由于spring-mvc.xml配置不对带来的一系列问题
1 介绍 一年多前,我就买了好多关于Java开发类的书籍,内容关于Java Web实操、Spring 学习指南、Maven实战、IntelliJ IDEA软件开发与应用等等。可是由于工作繁忙,这些书没系统地看完。这也是参加工作后的无奈吧! 寒假期间的一周&…...
MySQL事务隔离
什么是事务隔离? 为了确保在并发事务执行时,各个事务之间能够相互独立、互不干扰地运行,从而保证数据的一致性。 事务的隔离级别 MySQL事务隔离为了满足不同场景,提供了4个事务隔离级别(严格来讲是InnoDB存储引擎支…...
Java基础知识总结(1)
Java概况 JavaSE是java分类中的标准版,是刚接触java要学习的基础知识。 JavaEE是java分类中的企业版,是java中的高级,涉及到的知识广泛。 JavaME中M是Micro的缩写,用在嵌入式等电子设备中。 Java软件工程师:通过Ja…...
脚手架原理之webpack处理html文件和模块打包
脚手架原理之webpack处理html文件和模块打包 为了更好的理解项目脚手架的使用,我们来学习一下webpack工具,因为脚手架的底层就是基于webpack工具实现的。 安装 webpack工具是基于nodejs的,所以首先要有nodejs环境,其次需要下载…...
Winform编程详解一:Form窗口
一、属性介绍 1. (Name) 窗体的对象标识符ID 2. Text 修改窗口左上角标题 3. Icon 修改窗口左上角图标,图标最合适大小 32*32 4. 修改窗体第一次出现位置 代码修改:StartPosition System.Windows.Forms.FormStartPosition.CenterScreen; 5…...
Windows Server 2025 Install Preview
前言 Windows Server 2025 带来了巨大的发展,例如面向所有人的热补丁、下一代 Active Directory 和 SMB、关键任务数据和存储、Hyper-V 和 AI 等 Windows Server 2025 Preview download 下载 已注册的预览体验成员可以直接导航到 Windows Server Insider Preview 下载页面。…...
四、MySQL
MySQL MySQL1.初识网站2.安装MySQL2.1 下载(最重要的一点是路径中不能有中文,哪怕是同级目录也不行)2.2安装补丁2.3安装2.4创建配置文件2.5初始化 3.启动MySQL4.连接测试4.1 设置密码4.2 查看已有的文件夹(数据库)4.3 …...
C#使用泛型自定义的方法设计队列CQueue<T>类
目录 一、涉及到的知识点 1.C#中的队列类 2.自定义队列的方法 (1)先设计一个CList<T>类 (2)再设计CQueue<T>类 二、自定义队列CQueue<T>类的实例 一、涉及到的知识点 1.C#中的队列类 在C#中实现队列类&a…...
IDEA自定义Maven仓库
Maven 是一款广泛应用于 Java 开发的工具,其作用类似于一个全自动的 JAR 包管理器,能够方便地导入开发所需的相关 JAR 包。在使用 Maven 进行 Java 程序开发时,开发者能够极大地提高开发效率。以下是关于如何安装 Maven 以及在 IDEA 中配置自…...
Codeql复现CVE-2018-11776学习笔记
基本使用 1、首先下载struts2漏洞版本源码: https://codeload.github.com/apache/struts/zip/refs/tags/STRUTS_2_3_20 2、构建codeql数据库(构建失败文末有解决办法): codeql database create ~/CodeQL/databases/struts2-2.3.…...
CVE-2024-27199 JetBrains TeamCity 身份验证绕过漏洞2
漏洞简介 TeamCity Web 服务器中发现了第二个身份验证绕过漏洞。这种身份验证旁路允许在没有身份验证的情况下访问有限数量的经过身份验证的端点。未经身份验证的攻击者可以利用此漏洞修改服务器上有限数量的系统设置,并泄露服务器上有限数量的敏感信息。 项目官网…...
ms office学习记录12:Excel学习记录㈥
数据工具 分列的其他运用:身份证号中“出生日期”切片:分列→固定宽度→下一步→切割出三列→下一步→不导入第一列→导入第二列且转换成日期→不导入第三列→完成 删除重复值:定位到要“数据”选项卡→删除重复项→取消全选再勾选要删除的…...
基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的条形码二维码检测系统(深度学习+UI界面+训练数据集+Python代码)
摘要:在物流和制造业中,开发一套高效的条形码与二维码识别系统显得尤为关键。本博文深入探讨了如何利用深度学习技术打造出一套先进的条形码及二维码检测系统,并且提供了一套完整的实施方案。该系统搭载了性能卓越的YOLOv8算法,并…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
