【论文阅读笔记】Federated Unlearning with Knowledge Distillation

news2024/10/6 12:19:34

个人阅读笔记,如有错误欢迎指出

Arxiv 2022 [2201.09441] Federated Unlearning with Knowledge Distillation (arxiv.org)

问题:

        法律要求客户端有随时要求将其贡献从训练中消除的权利

        让全局模型忘记特定客户的贡献的一种简单方法是从头开始对模型进行重新训练,但已有的联邦消除方法增加了时间和能量的损耗

挑战:

        全局模型的更新是一个增量过程,每一次更新都依赖上次的更新结果。若需要消除某一客户端的影响,单单在其退出的轮次消除是不够的,需要从头训练才能完全抹除该客户端对全局的贡献。

        由于参与训练的客户端是随机选取的。每个客户端的局部训练过程中存在很多随机性,比如随机抽样的小批数据和批次的排序。所以,即使从头开始重新训练模型,也可能导致全局模型每次都收敛到不同的局部极小值。

        边缘客户端存储空间可能有限,在训练完毕后很有可能会将数据删除。所以,要求客户通过再训练模型来校准历史更新,只在理论上有效。

创新:

        知识蒸馏训练完全在服务器端,不需要标记的数据集,因此不会在客户端侧有时间和能量的消耗,同时也没有网络传输。

        后门特征并不会从教师模型转移到遗忘模型,因为这些特征如果不出现后门模式就不会被激活。

        蒸馏方法阻止了模型与数据的拟合太紧密,有助于更好地泛化训练点,从而有助于提高模型的鲁棒性,并在训练后进一步提高模型的性能。

方法:

        核心思想:消除攻击者的历史参数更新,并通过知识蒸馏的方法恢复损害

        FL知识蒸馏

        (1)在服务器上使用知识蒸馏且不需要标记数据集,因此没有客户端的时间和能量损耗,也没有网络故障

        (2)由于没有触发器,后门特征无法从教师模型转移到消除模型上

        (3)知识蒸馏防止模型过拟合,有更好的泛化性

        消除历史更新

        若用\Delta M_t表示第t轮更新,最终的全局模型M_F​可以看作是初始模型权重M_1和第1轮到第F-1轮更新的组合

        假设共N个客户端且第N个为要消除的目标客户端。由此可以将问题简化为从全局模型更新\Delta M_t​中消除目标客户端N\Delta M_t^N

        计算第t轮新的全局模型更新\Delta M_t'

        方法一:假设在第t轮时只有N-1个客户端参与训练。

        在这种情况下我们可以得到聚合的全局更新

        由于FL的增量学习的性质,该方法不能直接计算累计更新以重构消除模型

        对每轮全局模型进行修正,使用\epsilon_i来表示在每一轮中对全局模型的必要修正

        但是因为联邦学习增量学习过程的特点, \epsilon_t随着通信轮数增加而增加,即使客户端在某轮通信中贡献较小,也会对全局模型造成较大的改变,并且该改变将在后续迭代中放大

        方法二:鉴于方法一,使用懒学习消除客户端影响,

        假设目标客户端仍然参与训练,但是模型更新为0,即\Delta M_t^N=0

        根据上式推导,可得到最终的全局模型M'_F

        只需要从最终的全局模型M_F中减去来自目标客户端N的所有历史平均的更新,然后使用\epsilon_t修正了因为联邦学习增量学习过程引起的偏差

        结合知识蒸馏

        动机:

        当前没有方法能够通过不重新训练更新模型来得到偏差\epsilon_t

        知识蒸馏在训练过程中获得的知识不仅被编码在权重中,还可以从模型的类概率中反映出来,可以提高模型的泛化性和鲁棒性。

        方法:

        将原始的全局模型作为教师模型,将其输出作为lable

        服务器使用无标签的数据训练消除模型,并纠正补救偏差\epsilon。若有带标签的数据,可以结合软标签和硬标签进行训练,且为了获得更多知识,需要给硬标签更少的权重

        具体来说,原始的全局模型通过一个转换logit的softmax输出层产生类预测概率,z_i为每个类计算成一个概率q_i。下式为原始全局模型计算软分类

        T为温度,在softmax层中共享,温度越高概率分布越平均

        z输出层的logit

整体算法

总结:

        相比FedEraser,本文先在全局模型上减去中毒更新,再利用知识蒸馏恢复模型性能。

        后门特征不会从教师模型转移到遗忘模型,因为在知识蒸馏的训练过程中没有后门模式的出现,这些特征就不会被激活。

        减少了额外的通信量,但是对服务器的存储量有较高的要求,并且需要服务器已知恶意客户端是哪一个,需要结合检测方法共同作用。

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

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

相关文章

【机器视觉4】双目立体视觉标定

双目立体视觉标定的目的是标定左、右两个摄像机之间的坐标转换关系。 双目立体视觉的标定过程:采用MATLAB图像处理和计算机视觉库中的 Stereo Camera Calibrator(SCC)来标定双目立体视觉系统中左、右摄像机并获得左右摄像机的内参矩阵 M 1 M_1 M1​、 M 2 M_2 M2​…

Midjourney|文心一格prompt教程[技巧篇]:生成多样性、增加艺术风格、图片二次修改、渐进优化、权重、灯光设置等17个技巧等你来学

Midjourney|文心一格prompt教程[技巧篇]:生成多样性、增加艺术风格、图片二次修改、渐进优化、权重、灯光设置等17个技巧等你来学 1.技巧一:临摹 我认为学习图片类的 prompt,跟学习画画是类似的,最好的学习方法不是直接用模板。…

【FMC155】2 路14-bit、500MSPS/1GSPS/1.25GSPS 直流耦合ADC 同步采集FMC 子卡模块(AD9680)中文资料

板卡概述 FMC155 是一款基于VITA57.1 标准的,实现2 路14-bit、500MSPS/1GSPS/1.25GSPS 直流耦合ADC 同步采集FMC 子卡模块。该模块遵循VITA57.1 规范,可直接与FPGA 载卡配合使用,板卡ADC 器件采用ADI 的AD9680 芯片,该芯片具有两…

结合Sqoop练习一下columns、where和query参数

1、前期的数据准备 1》创建一个学生表 create table student(id char(30),name char(30),age int,phone char(100),address char(100)); 2》插入数据 insert into student values("1001","zhanghuan","21","1111","guiyang&q…

wpf工程中加入Hardcodet.NotifyIcon.Wpf生成托盘

1、在项目中用nuget引入Hardcodet.NotifyIcon.Wpf。如下图所示。 2、在App.xaml中创建托盘界面&#xff0c;代码是写在 App.xaml 里面 注意在application中一定要加入这一行代码&#xff1a; xmlns:tb"http://www.hardcodet.net/taskbar" 然后在<Application.Re…

科研热点| 慎投!3本期刊被剔除SCIE, 5月SCIE/SSCI目录已更新 (附下载)~

2023年5月18日&#xff0c;科睿唯安更新了Web of Science核心期刊目录&#xff0c;此次更新后SCIE期刊目录共包含9503本期刊&#xff0c;SSCI期刊目录共包含3557本期刊。此次SCIE & SSCI期刊目录更新&#xff0c;与上次更新&#xff08;2023年4月&#xff09;相比&#xff…

NestedFormer:用于脑肿瘤分割的嵌套模态感知Transformer

文章目录 NestedFormer: Nested Modality-AwareTransformer for Brain Tumor Segmentation摘要方法Global Poolformer EncoderNested Modality-Aware Feature AggregationModality-Sensitive Gating 实验结果 NestedFormer: Nested Modality-AwareTransformer for Brain Tumor …

谈一谈CMDB

大家好&#xff0c;我是易安&#xff01;今天我们谈一谈运维相关的话题&#xff0c;配置管理&#xff0c;专业一点就叫作 CMDB&#xff08;Configuration Management DataBase&#xff09;。 概念 CMDB并不是一个新概念&#xff0c;它源于ITIL&#xff08;Information Technol…

大学毕业设计这样做可以吗

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

Evita中规定的安全汽车车载电子网络架构

摘要 文章目的 安全需求 安全架构 硬件和软件分区 EVITA硬件安全模块 ​编辑硬件接口 安全软件 部署 摘要和展望 REFERENCES 摘要 本文介绍了用于安全汽车车载网络的硬件和软件组件&#xff0c;为保护外部车辆通信提供基础。基于欧洲研究项目EVITA&#xff08;http://…

数据结构之初识树与堆

前言&#xff1a;前面学习了顺序表&#xff0c;队列&#xff0c;栈&#xff0c;链表&#xff0c;我们知道他们都是一种线性表&#xff0c;是一种线性结构&#xff0c;而除此之外&#xff0c;仍有许多我们还没认识的结构&#xff0c;比如树形结构&#xff0c;不同于线性结构&…

这个框架真心可以!10分钟就搞定一个网站!

最近有很多小伙伴问我&#xff1a;有没有能快速能搭建网站的框架。 首先我去尝试了低代码&#xff0c;快确实快&#xff0c;但是样式和功能确实差点意思。 偶然间&#xff0c;我发现一款神奇的网站框架:VuePress。 我尝试部署了下&#xff0c;然后一下爱上了它。我发现很多博…

百度飞桨语音PaddleSpeech在win上运行语音识别(ASR)与语音合成(TTS)

百度飞桨语音PaddleSpeech在win上运行语音识别(ASR)与语音合成(TTS) 前言 PaddleSpeech是PaddlePadle百度飞桨深度学习框架下的语音服务工具包。PaddleSpeech包括自监督学习模型、带标点符号的 SOTA/流式 ASR、带文本前端的流式 TTS、说话人验证系统、端到端语音翻译和关键字…

【Scala---01】Scala 基础 『 变量和数据类型 | 控制语句 | 函数式编程』

文章目录 1. 变量和数据类型1.1 变量和常量1.2 字符串1.3 数据类型1.4 伴生对象与伴生类1.5 代码块1.6 Unit、null、Nothing1.7 强制转换1.8 与 equals 2. 控制语句2.1 分支语句2.2 循环语句&#xff08;1&#xff09;for循环&#xff08;2&#xff09;while/do-while循环&…

QT客户端外包开发流程及难点

QT是一种跨平台的C应用程序开发框架&#xff0c;可以用于开发各种类型的客户端软件&#xff0c;包括桌面应用程序、移动应用程序、嵌入式应用程序等。在开发跨平台的客户端语言中&#xff0c;QT应该是应用最广泛的&#xff0c;今天和大家分享开发流程及技术难点&#xff0c;希望…

Consul系列:让服务Running in anywhere

引言 随着微服务概念深入人心&#xff0c;越来越多的解决方案选择使用微服务架构&#xff0c;这类架构的共同点是服务数量多&#xff0c;因此种类繁多的服务之间如何互相访问就变成了一个很现实的问 题。目前比较流行的分布式存储比如:Consul, etcd, ZooKeeper&#xff0c;如何…

【CSS】

目录 1. 什么是 CSS 2. CSS的引入方式 3. CSS 选择器 3.1 基础选择器 3.1.1 标签选择器 3.1.2 类选择器 3.1.3 id 选择器 3.1.4 通配符选择器 3.2 复合选择器 4. CSS 字体设置 5. CSS 文本属性 6. CSS 背景设置 7. CSS 的 display 属性 8. CSS 的盒子模型 9. CSS 的弹…

apple pencil二代平替笔哪个好用?ipad第三方电容笔了解下

近几年来&#xff0c;人们开始使用互联网的频率不断提高&#xff0c;网络教学也日益普及。再加上ipad在所有平板设备中都是数一数二的存在&#xff0c;所以很多人都将它当成了无纸化学习的首选。当然&#xff0c;如果要把 ipad变成一个可以用来学习的东西&#xff0c;那配件肯定…

软件工程实验:数据库设计

前言 本实验的主要内容是数据库设计&#xff0c;即如何根据需求分析&#xff0c;设计合理的数据模型&#xff0c;创建和管理数据库&#xff0c;以及实现数据的增删改查等操作。数据库设计是软件工程的重要组成部分&#xff0c;它涉及到数据的存储、组织、查询和处理等方面&…

JavaWeb-VUEElement综合案例

VUE&Element 今日目标&#xff1a; 能够使用VUE中常用指令和插值表达式能够使用VUE生命周期函数 mounted能够进行简单的 Element 页面修改能够完成查询所有功能能够完成添加功能 1&#xff0c;VUE 1.1 概述 接下来我们学习一款前端的框架&#xff0c;就是 VUE。 Vue 是…