当前位置: 首页 > news >正文

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

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

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,本文先在全局模型上减去中毒更新,再利用知识蒸馏恢复模型性能。

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

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

相关文章:

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

个人阅读笔记,如有错误欢迎指出 Arxiv 2022 [2201.09441] Federated Unlearning with Knowledge Distillation (arxiv.org) 问题: 法律要求客户端有随时要求将其贡献从训练中消除的权利 让全局模型忘记特定客户的贡献的一种简单方法是从头开始对模型进…...

常用MQ介绍与区别

RabbitMQ RabbitMQ是实现AMQP协议(0.9.1) 的消息中间件的一种,由RabbitMQ Technologies Ltd开发并且提供商业支持的,最初起源于金融系统,服务器端用Erlang语言编写,用于在分布式系统中存储转发消息,在易用性、扩展性、…...

今天面试招了个20K的人,从腾讯出来的果然都有两把刷子···

现在找个会自动化测试的人真是难呀,10个里面有8个写了会自动化,但一问就是三不知 公司前段时间缺人,也面了不少测试,前面一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在15-20k,面试的…...

加速度传感器的量程估算

下面推导过程中包含一个重要的错误:sinx/x1没有错,但是这里的x是 t,当x t时,位移并非sin(t),而是n*sin(t),我稍後修訂。 在测震动和噪声的场合,现有的加速度传感器,需要客户提供加…...

0601-指针的基础

内存 物理存储器和存储地址空间 物理存储器:实际存在的具体存储器芯片。比如:内存条、RAM芯片、ROM芯片。 存储地址空间:对存储器编码的范围。 编码:对每个物理存储单元(一个字节)分配一个号码寻址&…...

关于K8S库中高可用的锁机制详解

简介 对于无状态的组件来说,天然具备高可用特性,无非就是多开几个副本而已;而对于有状态组件来说,实现高可用则要麻烦很多,一般来说通过选主来达到同一时刻只能有一个组件在处理业务逻辑。 在Kubernetes中,…...

常用中外文献检索网站大盘点

一、常用中文文献检索权威网站: 1、知网:是全球最大的中文数据库。提供中国学术文献、外文文献、学位论文、报纸、会议、年鉴、工具书等各类资源,并提供在线阅读和下载服务。涵盖领域包括:基础科学、文史哲、工程科技、社会科学、…...

公司招了一个00后,以为是个小年轻,没想到人家是个卷王...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资也不低,面试的人很多,但平均水平很让人失望。 令我印象最深的是一个00后测试员,…...

数字化转型难?怎么转?听听厂商、CIO、CEO怎么说

数字化转型已经成为当今商业领域中的热门话题。对于许多企业来说,数字化转型是一项重要而且必不可少的战略,以适应快速变化的市场环境并保持竞争力。然而,数字化转型并不是一项容易的任务,它涉及到许多方面,需要综合考虑技术、组织和文化等因素。那么,让我们来听听一些厂…...

C++面试题汇总

C面试题汇总 1. new/delete和malloc/free:2. delete和delete[]:3. 常引用:4. overload、override、overwrite的介绍5. C是不是类型安全的?6. main 函数执行以前,还会执行什么代码?7. 数组与指针的区别&…...

OpenAi编写基于Python+OpenCV的人脸识别实现带墨镜效果

要基于Python和OpenCV实现带墨镜效果的人脸识别,你可以按照以下步骤进行操作: 安装所需的库:确保你已经安装了Python和OpenCV库。你可以使用pip命令来安装OpenCV库:pip install opencv-python。 导入必要的库:在Pytho…...

安卓闲谈吹水

一、熟练掌握 Java 语言,面向对象分析设计能力,反射原理,自定义注解及泛型,多次采用设计模式重构项目 首先我们先了解什么是对象。 1.对象是由我们自己定义的类来创建出来的。 2.对象实际上就是类的具体实现。 (对象是类的一个实…...

测试类的使用

1.在pom文件中添加依赖 <dependencies> <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>compile</scope> </dependency> </dependencies>2.在s…...

【物联网技术对生活的影响与展望】

随着科技日新月异的发展&#xff0c;物联网&#xff08;IoT&#xff09;技术正在快速地影响着我们的生活。它是将各种设备和物品连接在一起&#xff0c;通过互联网使它们可以相互交流和传递数据的技术。它的应用范围广泛&#xff0c;可以涵盖从智能家居到工业网络的各个领域。 …...

MySQL数据库函数详解及示例

以下是一份按照常见MySQL数据库函数&#xff0c;并且包含函数示例&#xff1a; 字符串函数 字符串函数用于处理和操作文本数据。 CONCAT&#xff1a;将多个字符串连接为一个字符串。SUBSTRING&#xff1a;提取字符串的一部分。LENGTH&#xff1a;返回字符串的长度。REPLACE&…...

ES6对象新增了哪些扩展?

一、属性的简写 ES6中&#xff0c;当对象键名与对应值名相等的时候&#xff0c;可以进行简写 const baz {foo:foo}// 等同于 const baz {foo} 方法也能够进行简写 const o {method() {return "Hello!";} };// 等同于const o {method: function() {return &qu…...

深入理解 Linux 内核

Linux 内核系列文章 Linux 内核设计与实现 深入理解 Linux 内核 深入理解 Linux 内核&#xff08;二&#xff09; Linux 设备驱动程序 Linux设备驱动开发详解 文章目录 Linux 内核系列文章前言一、绪论二、内存寻址1、内存地址2、硬件中的分段&#xff08;1&#xff09;段选择符…...

机器人科普--evoBOT

机器人科普--evoBOT 1 介绍2 视频3 Modular prototype4 Mechanical construction5 Hardware architecture and technology6 Autonomy und navigation7 Operation of the robot8 Technical data参考 1 介绍 The evolution of autonomous mobile robotic systems 2 视频 evoBOT…...

数据结构课程设计——运动会分数统计

运动会分数统计 数据结构课程设计任务书 学生姓名&#xff1a;xxx 专业班级&#xff1a;软件工程 指导教师&#xff1a; 工作单位&#xff1a; 题 目: 运动会分数统计 基础要求&#xff1a; 要求具有C语言的理论基础…...

C语言递归算法实现经典例题

一.递归 1.什么是递归 递归是一种编程技术&#xff0c;它通过在函数内部反复调用自身来解决问题。当一个程序调用自己时&#xff0c;这就称为递归调用。递归可以有助于简化某些算法的实现和理解。在递归过程中&#xff0c;每个调用都会将一些数据保存在栈上&#xff0c;直到递…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...