论文阅读-Federated-Unlearning-With-Momentum-Degradation

论文阅读-Federated Unlearning With Momentum Degradation

联邦忘却与动量退化

Yian Zhao IEEE Internet of Things Journal 2023 年 10 月 2 日
CCF-C


momentum degradation-MoDe 动量退化

memory guidance-记忆引导

knowledge erasure-知识擦除

Deep-learning neural network—DNN深度神经网络

backdoor attacks -后门攻击

degradation model-退化模型


  • Abstract

FL系统中的全局模型容易受到恶意节点的数据中毒攻击。在本文中,我们分析了将忘却学习和训练过程解耦的必要性,并提出了一种与训练无关的有效方法,可以有效地执行两种类型的忘却任务:1)客户端撤销 2)类别删除。

具体来说,我们将遗忘过程分解为两个步骤:1)知识擦除 2)记忆引导

首先提出了一种新颖的知识擦除策略,称为动量退化MoDe,他实现了模型中隐含知识的擦除,并确保模型能够平滑地移动到重新训练模型的早期状态。为了减轻第一步造成的性能下降,记忆引导策略在不同数据点上对模型进行引导微调,可以有效恢复模型在剩余点上的可区分性。

  • Introduction

FL带来的安全问题主要是由私有数据对全局模型的参数更新造成的。通过及时撤销恶意节点对全局模型的参数更新,可以有效降低数据泄露的可能性。联邦忘却学习可以通过撤销那些被污染的数据,为系统提供抵御数据中毒的方法,从而提供FL训练的安全性。

即使数据从服务器或数据库中删除,训练数据也已经隐式嵌入到使用该数据训练的模型的参数分布中。因此,为了让数据持有者或FL系统安全可靠的撤销目标数据,有必要擦除先前从特定数据中获取的模型的隐含知识。。

在这里插入图片描述

与训练无关的高效联邦忘却学习方法。所提出的方法将联邦忘却学习过程与训练完全解耦,并允许将两种类型的忘却学习任务(类别删除和客户端撤销)应用于任何设置下成功完成FL训练的任何模型架构,而无需修改训练过程以适应忘却学习算法。

主要贡献:

  1. 提出了一种基于MoDe和记忆引导的知识擦除来微调模型性能。所提出的方法将联邦忘却学习过程与训练完全解耦,并允许将忘却学习应用于任何设置下完成FL训练的任何模型架构,而无需修改训练过程以适应忘却学习算法。
  2. 所提出的方法可以有效执行客户端撤销和类别删除两种类型的撤销任务,不仅可以满足用户发起的数据撤销请求,而且可以实现服务器对数据中毒攻击的主动防御。

FedEraser、FUKD、UPGA->针对客户端撤销

FUCP->类别删除

  • Method

  • 概述:

在这里插入图片描述

​ (本文使用的主要符号)

当客户端ci发出数据撤销请求时或者服务器需要擦除一个或多个特定类别时,我们的方法利用同构且随机初始化的退化模型Mde分别在MoDe和记忆引导阶段进行退化和引导M。

  • 在MoDe阶段,利用退化模型Mde的参数Wde作为影子参数对预训练模型参数W进行动量更新,从而实现预训练模型M到再训练模型Mre早期状态的平滑转移。MoDe抹去了目标数据点si在M的参数中的贡献。
  • 在记忆引导阶段,我们利用退化模型Mde获得目标数据点的分类结果作为伪标签来引导预训练模型M并同时在剩余数据点上进行更新。记忆引导恢复了M对剩余数据点S的可区分性。

在这里插入图片描述

MoDe概述:客户端Client N发出撤销请求,利用同构且随机初始化的退化模型(unlearning框中的蓝色菱形)分别在MoDe和记忆引导阶段对目标模型(图中橙色菱形)进行降级和引导。

  • 知识擦除knowledge erasure

MoDe阶段的基本原理是调整预训练的模型参数W,从而使其失去对目标数据点的强辨别力。理想的结果是调整后的模型参数Wadj非常接近重新训练的模型参数Wre

使用随机分配的参数Wde初始化同构模型Mde,该参数作为Wre的初始状态。在忘却学习过程中,由于Mde是使用剩余数据点进行训练的,因此Wde逐渐向Wre收敛。因此,我们利用Wde作为更新W的方向。 W ← λW + (1 − λ )Wde

  • 记忆引导 memory guidance

经过MoDe之后,预训练的模型M对所有数据点的可辨别性都有轻微下降。需要在下一次退化之前及时微调其参数W,确保W既不会持续向Wre的早期状态移动,导致M对剩余数据点的可辨别性下降,也不会更新得太过平滑导致数据撤销过程缓慢。

为了实现此目标,提出了一种记忆引导策略。利用初始化的退化模型Mde将目标数据点的预测推断为伪标签,以指导预训练模型M,同时用剩余数据点的真值标签更新它。

  • 实现 implementation

服务器端的MoDe算法):首先服务器随机初始化一个与预训练模型M结构相同的退化模型Mde。然后服务器将退化模型Mde发送给其余客户端进行FL训练,退化模型根据公式完成一轮聚合后,服务器对预训练模型M进行MoDe。最后,通过记忆引导对预训练模型M进行微调。

即小于一定轮次时,随机生成一个退化模型发给非目标Client,训练聚参,动量更新全局模型: W ← λW + (1 − λ )Wde

在这里插入图片描述

目标客户端MoDe算法):服务器将预训练模型M发送给所有客户端,同时将退化模型Mde发送给目标客户端ci。其他客户端对M进行FL训练,而目标客户端ci利用Mde在本地数据集上的输出结果作为伪标签来指导M的本地训练。

即把WWde都发给目标Client,用Wde在目标数据集上产生的伪标签训练W。所有的模型再聚合

在这里插入图片描述

  • Experiments

在四个数据集上评估MoDe在客户端撤销和类别删除方面的性能。实验表明,MoDe可以有效地从预训练模型中消除目标数据点或特定类别的贡献,并且与重新训练相比,实现了显著的加速。

数据集:MNIST、Fashion-MNIST、CIFAR-10、CIFAR-100

评估指标

  1. 客户端撤销指标:后门攻击是一种针对DNN是隐蔽性破坏性攻击方法,他通过毒害部分训练数据将后门触发器植入到模型中。将目标客户端的本地训练图像插入特定的后门触发器,这样全局模型容易受到后门触发的影响。成功的忘却学习过程应该产生一个模型,该模型在后门攻击的测试集上后门攻击的成功率较低,同时保证干净测试集的可区分性。
  2. 类别删除指标:为了评估类别删除的有效性,我们计算测试集上目标类别(U集)和剩余类别(R集)。我们的期望是忘却学习模型在U集上获得较低的准确度,但在R集上保持与预训练模型相似或更高的准确度。

实验结果:

客户端撤销:

  • 对5个和10个客户端进行FL训练,并对目标客户端进行后门攻击。FL训练完,MoDe被用来撤销目标客户端的所有数据点。
  • FedAvg表示使用FedAvg聚合算法训练的全局模型结果,Retrained表示从头开始重新训练的模型结果。
  • 分别评估了后门攻击的成功率模型在后门攻击测试集和干净测试集上的准确性,对应atk和clean
  • speed up表示提出的MoDe相比重新训练的加速

MoDe处理的模型准确率和后门攻击成功率与重新训练的模型相似,差异小于1%,但是执行速度方面具有显著优势。

在这里插入图片描述

类别删除:

对10个客户进行FL训练,并应用所提出的MoDe来消除数据集中类别索引"0"的所有样本的贡献。

在这里插入图片描述

U-set表示目标类别的准确度,R-set表示其余类别的平均准确度。

所提出的MoDe方法在所有四个数据集上有效地执行了类别去除(U集精度为0.00%)

与SOTA的比较:

比较了两种算法:FUKD和UPGA(专门处理客户端撤销)

在这里插入图片描述

在这里插入图片描述

FUCP(专门处理类别删除)

在这里插入图片描述

消融实验:

MoDe由两个阶段组成,即MoDe和记忆引导。这两个阶段中使用的同构退化模型在每一轮的MoDe期间的剩余数据点上进行训练。

为了验证MoDe各部分的有效性,我们对MoDe中的三个关键变量,即MoDe、记忆指导和退化模型更新进行了消融实验。

在这里插入图片描述

后三行分别表示省略MoDe、记忆引导和退化模型更新时的结果。

根据实验结果得出三个结论:

  1. MoDe的缺乏导致无法有效消除目标数据点的贡献
  2. 没有记忆引导,预训练模型在所有数据点上的准确率会不断下降,因为MoDe后的模型参数无法及时调整。
  3. 冻结退化模型会导致预训练模型迭代向初始状态退化,导致判别出现轻微随机性。
  • Conclusion

提出了一种与训练无关且高效的联邦忘却学习方法,称为MoDe,该方法通过两个步骤迭代执行:知识擦除MoDe和记忆引导。MoDe能有效消除预训练模型中目标数据点的贡献,而记忆引导在MoDe之后恢复了模型的性能,因此这两个步骤是协作和互补

支持client revocation and category removal。包括knowledge erasure 和 memory guidance两个步骤:knowledge erasure是一个逐渐趋近的过程,memory guidance是再次微调的过程。
型中目标数据点的贡献,而记忆引导在MoDe之后恢复了模型的性能,因此这两个步骤是协作和互补

支持client revocation and category removal。包括knowledge erasure 和 memory guidance两个步骤:knowledge erasure是一个逐渐趋近的过程,memory guidance是再次微调的过程。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【笔记】vscode debug进入site-packages包源码

选择左侧栏第三个图标,点击创建 launch.json 文件 选择 Python Debugger 选择Python文件 这里可以看到launch.json 文件 在configurations中添加键值对 "justMyCode": false在文件中打上断点,点击"三角符"号开始调试 按F11或者红框…

ROS 2边学边练(27)-- 创建一个launch文件

前言 ROS 2中的启动系统负责帮助用户描述其系统的配置,然后按描述执行。系统的配置包括运行什么程序,在哪里运行,传递什么参数,以及ROS特定的约定,这些约定通过为每个组件提供不同的配置,使其易于在整个系统…

[stm32]DMA使用

自动重装和M2M(软件trig)不能一起使用,否则会停不下来 void MyDMA_Init(uint32_t AddrA,uint32_t AddrB,uint16_t Size){RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);DMA_InitTypeDef DMA_InitStructure;DMA_InitStructure.DMA_PeripheralBaseAddrAddrA;//外…

go语言并发实战——日志收集系统(三) 利用sarama包连接KafKa实现消息的生产与消费

环境的搭建 Kafka以及相关组件的下载 我们要实现今天的内容,不可避免的要进行对开发环境的配置,Kafka环境的配置比较繁琐,需要配置JDK,Scala,ZoopKeeper和Kafka,这里我们不做赘述,如果大家不知道如何配置环境&#x…

STM32芯片flash被锁导致Error Flash Download failed Cortex-M4,解决办法(全)亲测有效

STM32芯片flash被锁导致Error: Flash Download failed - "Cortex-M4",解决办法(全)亲测有效🤩! 方法1:由于Keil 中debug的仿真器配置出错导致的下载失败(这种问题虽然是低级错误&…

友思特应用 | 红外视角的延伸:短波红外相机的机器视觉应用

导读 短波红外SWIR在不同波段针对不同材料的独特成像特征为各领域检测应用的拓宽提供了基础。本文将展现短波红外成像技术在水分检测、塑料检测、太阳能电池板检查和矿场开采等领域的丰富应用案例,讨论短波红外相机在未来的发展方向。 SWIR 背景简介 短波红外 &am…

基于SpringBoot+Vue的IT技术交流平台(源码+文档+包运行)

一.系统概述 我国科学技术的不断发展,计算机的应用日渐成熟,其强大的功能给人们留下深刻的印象,它已经应用到了人类社会的各个层次的领域,发挥着重要的不可替换的作用。信息管理作为计算机应用的一部分,使用计算机进行…

PHP货运搬家/拉货小程序二开源码搭建的功能

运搬家/拉货小程序的二次开发可以添加许多功能,以增强用户体验和提高业务效率。以下是一些可能的功能: 用户端功能: 注册登录:允许用户创建个人账户并登录以使用应用程序。货物发布:允许用户发布他们需要搬运的货物信息…

OpenHarmony实战开发-如何通过分割swiper区域,实现指示器导航点位于swiper下方的效果。

介绍 本示例介绍通过分割swiper区域,实现指示器导航点位于swiper下方的效果。 效果预览图 使用说明 1.加载完成后swiper指示器导航点,位于显示内容下方。 实现思路 1.将swiper区域分割为两块区域,上方为内容区域,下方为空白区…

HAL STM32 I2C方式读取MT6701磁编码器获取角度例程

HAL STM32 I2C方式读取MT6701磁编码器获取角度例程 📍相关篇《Arduino通过I2C驱动MT6701磁编码器并读取角度数据》🎈《STM32 软件I2C方式读取MT6701磁编码器获取角度例程》📌MT6701当前最新文档资料:https://www.magntek.com.cn/u…

生产服务器变卡怎么排查

服务器变卡怎么排查,可以从以下四个方面去考虑 生产服务器变卡怎么排查 1、网络2、cpu的利用率3、io效率4、内存瓶颈 1、网络 可以使用netstat、iftop等工具查看网络流量和网络连接情况,检查是否网络堵塞、丢包等问题 2、cpu的利用率 1、用top命令定…

VMWare Ubuntu压缩虚拟磁盘

VMWare中ubuntu会越用越大,直到占满预分配的空间 即使系统里没有那么多东西 命令清理 开机->open Terminal sudo vmware-toolbox-cmd disk shrink /关机-> 编辑虚拟机设置->硬盘->碎片整理&压缩 磁盘应用 开机->disk usage analyzer(应用) …

【LLM】认识LLM

文章目录 1.LLM1.1 LLM简介1.2 LLM发展1.3 市面常见的LLM1.4 LLM涌现的能力 2.RAG2.1 RAG简介2.2 RAG 的工作流程2.3 RAG 和 Finetune 对比2.4 RAG的使用场景分析 3. LangChain3.1 LangChain简介3.2 LangChain的核心组件3.3 LangChain 入门 4.开发 RAG 应用的整体流程5. 环境配…

stm32中的中断优先级

在工作中使用到多个定时器中断,由于中断的中断优先级不熟悉导致出错,下面来写一下中断的一些注意事项。 一、中断的分类 1、EXTI外部中断:由外部设备或外部信号引发,例如按键按下、外部传感器信号变化等。外部中断用于响应外部事件,并及时处理相关任务。 2、内部中断:…

搭建Zookeeper完全分布式集群(CentOS 9 )

ZooKeeper是一个开源的分布式协调服务,它为分布式应用提供了高效且可靠的分布式协调服务,并且是分布式应用保证数据一致性的解决方案。该项目由雅虎公司创建,是Google Chubby的开源实现。 分布式应用可以基于ZooKeeper实现诸如数据发布/订阅…

Jmeter 测试-跨线程调用变量

1、Jmeter中线程运行规则 ①各个线程组是完全独立的,每个线程组是不同的业务,互不影响 ②线程组中的每个线程也是完全独立 ③线程组中的每个线程,都是从上往下执行,完成一轮循环后,继续下一轮循环 ④存在业务流或者…

考察自动化立体库应注意的几点

导语 大家好,我是智能仓储物流技术研习社的社长,老K。专注分享智能仓储物流技术、智能制造等内容。 整版PPT和更多学习资料,请球友到知识星球 【智能仓储物流技术研习社】自行下载 考察自动化立体仓库的关键因素: 仓库容量&#x…

python爬虫之爬取微博评论(4)

一、获取单页评论 随机选取一个微博,例如下面这个 【#出操死亡女生家属... - 冷暖视频的微博 - 微博 (weibo.com) 1、fnf12,然后点击网络,搜索评论内容,然后预览,就可以查看到网页内容里面还有评论内容 2、编写代码…

稀碎从零算法笔记Day51-LeetCode:最小路径和

题型:DP、数组、矩阵 链接:64. 最小路径和 - 力扣(LeetCode) 来源:LeetCode 题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为…

适用于Windows电脑的最佳数据恢复软件是哪些?10佳数据恢复软件

丢失我们系统中可用的宝贵信息是很烦人的。我们可以尝试几种手动方法来重新获取丢失的数据。然而,当我们采用非自动方法来恢复数据时,这是一项令人厌烦和乏味的工作。在这种情况下,我们可以尝试使用一些正版硬盘恢复软件进行数据恢复。此页面…
最新文章