Eliminating Domain Bias for Federated Learning in Representation Space【文笔可参考】

文章及作者信息:

NIPS2023     Jianqing Zhang 上海交通大学

之前中的NeurIPS'23论文刚今天传到arxiv上,这次我把federated learning的每一轮看成是一次bi-directional knowledge transfer过程,提出了一种促进server和client之间bi-directional knowledge transfer的方法,从而同时提升generalization和personalization性能,该方法可以用在现有的FL和pFL算法上,提高它们的性能。对于improved bi-directional knowledge transfer我还提供了理论支持。大家感兴趣的话,可以先看看,论文地址https://arxiv.org/abs/2311.14975,项目地址(包含代码、ppt、poster):https://github.com/TsingZ0/DBE。希望能给大家一点从knowledge transfer角度看federated learning的启发。

knowledge transfer是普遍存在的一个问题,而且有很多现有的工具和理论支撑。站在这个角度思考问题,比较能理解模型学习过程的深层原理

摘要:

针对表征偏差——>提出通用框架域偏差消除器(Domain Bias Eliminator DBE)—>促进服务器和客户端之间的双向知识转移

在统计异构场景下,客户端上有偏差的数据域会导致表征偏差现象,并在局部训练过程中进一步退化一般表征,即表征退化现象。

这个现象是不是客户端灾难遗忘问题?  

——>提出通用框架域偏差消除器(Domain Bias Eliminator DBE

理论分析表明,DBE可以促进服务器和客户端之间的双向知识转移,因为它减少了服务器和客户端在表示空间中的域差异

理论分析是在文章中进行公式或数学证明吗

四个数据集上从泛化能力个性化验证

泛化能力(最小描述长度衡量)和个性化能力(精度衡量)分别的实验是哪些?

优于十种最先进的个性化FL方法

十种比较方法的选择与参数呢?

统计异质性:每个客户端的数据域是有偏差的,不包含所有标签的数据

传统联邦学习:通过在客户端本地训练模型和在服务器上聚合客户端模型,以迭代的方式学习一个单一的全局模型

存在统计异构—>准确率下降(每个客户端的数据域有偏差,不包含所有标签数据) 

表征偏差:

由于接收到的全局模型是在个别客户的有偏差数据域上进行局部训练的,该模型在局部训练期间提取有偏差(即形成特定于客户的聚类)表示。通过训练接收到的带有缺失标签的全局模型,在局部训练过程中,所有标签的通用表征质量也会下。

图1:t-SNE[73]可视化和fedag局部训练前后表示的逐层MDL (bits)。t-SNE我们用颜色和形状分别来区分标签和客户。较大的MDL意味着较低的表示质量。最好以彩色和放大观看。

t-SNE学会如何使用!!!

t-SNE(t-分布随机邻近嵌入)是一种流行的机器学习算法,主要用于数据降维。在联邦学习中,t-SNE的使用通常集中在以下几个方面:

  1. 数据可视化:由于联邦学习中的数据通常分布在多个客户端上,而且每个客户端可能拥有大量的高维数据点,t-SNE可以帮助我们将这些数据点降到2维或3维,以便于进行可视化分析,更好地理解数据分布和模式。
  2. 特征抽取:在联邦学习模型训练之前,可以使用t-SNE对数据进行降维,提取出最重要的特征,这有助于减少模型训练的复杂性,并且可能提高模型在低维空间中的表现。
  3. 提高通信效率:通过降维,可以减少需要传输的数据量,从而提高联邦学习中的通信效率。这对于带宽受限的联邦学习环境尤为重要。
  4. 促进模型聚合:在联邦学习的聚合阶段,各个客户端的数据需要被综合起来。使用t-SNE可以确保不同客户端的数据在降维后能够更好地匹配,有助于提高模型聚合的效果。
  5. 辅助模型解释性:降维后的数据更容易被人类理解,这对于解释联邦学习模型的预测和决策是有益的。

提出架构:

为解决FL中的表示偏差和表示退化问题—>提出了一个用于FL的通用框架域偏差消除器(DBE)

模块一:从原始表征中分离表征偏差,并将其保存在每个客户端的个性化表征偏差记忆(PRBM)中;

模块二:设计了一种均值正则化(Mean Regularization, MR),明确引导局部特征提取器在局部训练过程中提取具有共识全局均值的表征,使局部特征提取器专注于剩余的无偏信息,提高一般表征质量—>将每个客户端的特征提取器和分类器之间的一层表示分别转换为具有客户端特定偏差和客户端不变平均值的两层表示。

模块一和二的最终目标——>消除为客户需求提取具有客户特定偏差的表示的冲突,同时在相同的表示空间中为服务器需求提取具有客户不变特征的表示

效果:DBE能够以较低的泛化界限促进服务端和客户端之间的双向知识传递

客户端:特征提取器和分类器

理解:

场景:经典的联邦学习多类分类任务中的统计异构场景(N个客户端共享相同的模型结构)

针对表征偏差提出DBE—>可结合FedAvg方法(FedAvg+DBE){形成新的个性化联邦学习架构}

实验与十种最先进的个性化联邦学习比较

基于FedAvg方法解决统计异构问题:

基于更新校正的FL

基于正则化的FL

基于模型分裂的FL

基于知识蒸馏的FL

个性化联邦学习:

基于元学习的pFL

基于正则化的pFL

基于个性化聚合的pFL

基于模型分裂的pFL

联邦学习中的表示学习:

在联邦学习中,表示学习(Representation Learning)是一个重要方面,它涉及到如何在本地数据集上训练模型,以便在保护隐私的同时获得有效的模型参数。表示学习通常包括以下几个步骤:

  1. 特征提取:在本地数据集上进行训练之前,首先进行特征提取。这涉及从原始数据中提取有助于模型训练的信息。这些特征可以是图像的直方图、文本的词嵌入等。
  2. 模型训练:使用提取的特征,在本地数据集上训练模型。训练过程可以是监督学习、无监督学习或半监督学习,具体取决于应用场景和需求。
  3. 模型更新:一旦模型在本地训练完毕,参与者会比较各自的模型参数,并基于某种共识算法(如联邦平均算法)更新全局模型。
  4. 模型聚合:在多次迭代后,全局模型会在参与者之间聚合,以获得一个共同的模型,这个模型在所有参与者上都是可用的。

为了保护隐私,联邦学习中的表示学习通常遵循以下原则:

  • 差分隐私:在模型训练过程中应用技术,如噪声添加,以保证训练数据的隐私。
  • 同态加密:在参与者之间传输信息时使用同态加密,确保数据在传输过程中的安全。
  • 联邦学习框架的隐私和安全设计:设计时考虑如何保护用户数据,避免数据泄露。

表示学习的有效性和安全性对于联邦学习的成功至关重要。它不仅保证了数据的隐私,还能确保训练出的模型具有较高的预测性能。

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

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

相关文章

Day4. 文件IO的基本概念和读写

温习&#xff1a; 文件的拷贝&#xff08;单个字符&#xff09;(fgetc/fputc) #include <stdio.h>int main(void) {FILE* fp NULL;FILE* fq NULL;char ch 0;fp fopen("str.txt","r");if (fp NULL){perror("file to fopen!");retur…

网络模型及传输基本流程

1.OSI 七层模型 OSI &#xff08; Open System Interconnection &#xff0c;开放系统互连&#xff09;七层网络模型称为开放式系统互联参考模型&#xff0c;是一个逻辑上的定义和规范; 把网络从逻辑上分为了 7 层 . 每一层都有相关、相对应的物理设备&#xff0c;比如路由器…

RCS系统之:冲突解决

在RCS系统中&#xff0c;避免碰撞是至关重要的。以下是一些常见的方法和技术用于避免碰撞&#xff1a; 障碍物检测&#xff1a;机器人可以配备各种传感器&#xff0c;如激光雷达、超声波传感器、摄像头等&#xff0c;用于检测周围的障碍物和环境。通过实时监测周围情况&#xf…

RocketMQ订阅关系不一致和不能消费时如何排查?

订阅关系不一致 调整任意一个实例的订阅关系和另一个保持一致 消费者不能消费消息 它是最常见的问题之一&#xff0c;也是每个消息队列服务都会遇到的问题 1.确认哪个消息未消费。在这时消费者至少需要手机消息id、消息key、消息发送时间段三者之一 2.确认消息是否发送成功…

JVM--- 垃圾收集器详细整理

目录 一、垃圾收集需要考虑的三个事情&#xff1a; 二、垃圾回收针对的区域 三、如何判断对象已死 1.引用计数算法&#xff1a; 2.可达性分析算法 四、引用 五、生存还是死亡&#xff1f; 六、回收方法区 七、垃圾收集算法 1.分代收集理论 2.标记-清除算法 3.标记-复制算…

huggingface库LocalTokenNotFoundError:需要提供token

今天刚开始学习huggingface&#xff0c;跑示例的时候出了不少错&#xff0c;在此记录一下&#xff1a; (gpu) F:\transformer\transformers\examples\pytorch\image-classification>.\run.bat Traceback (most recent call last):File "F:\transformer\transformers\e…

一站式安装对应显卡版本的cuda和torch(windows)

前言 一年前&#xff0c;安装过cuda&#xff0c;觉得并不难&#xff0c;就没有记录。 这次安装还算顺利&#xff0c;就是在找资料的时候&#xff0c;浪费了不少时间 这次就记录下来&#xff0c;方便以后再次安装 总结安装程序&#xff1a; 1、安装python环境 2、安装VS的C环境&…

【机构vip教程】Unittest(1):unittest单元测试框架简介

unittest单元测试框架简介 unittest是python内置的单元测试框架&#xff0c;具备编写用例、组 织用例、执行用例、功能&#xff0c;可以结合selenium进行UI自动化测 试&#xff0c;也可以结合appium、requests等模块做其它自动化测试 官方文档&#xff1a;https://docs.pytho…

机试指南:3-4章

文章目录 第3章 排序与查找(一) 排序1.sort函数&#xff1a;sort(first,last,comp)2.自定义比较规则3.C函数重载&#xff1a;同一个函数名&#xff0c;有不同的参数列表4.机试考试最重要的事情&#xff1a;能把你曾经做过的题目&#xff0c;满分地做出来5.例题例题1&#xff1a…

kettle--JavaScript脚本日期使用

输入日期为20240216&#xff0c;运行如下代码&#xff0c;结果为true var reportdate parent_job.getVariable("v_reportdate"); var date_type parent_job.getVariable("v_date_type"); var reportdate_freportdate.substr(0,4) "/" report…

RK3399平台开发系列讲解(USB篇)U盘等存储类设备

🚀返回专栏总目录 文章目录 一、什么是U盘等存储类设备二、U盘设备传输数据结构三、U盘识别需要打开的宏沉淀、分享、成长,让自己和他人都能有所收获!😄 📢介绍U盘等存储类设备。 一、什么是U盘等存储类设备 USB Mass Storage Device Class(USB MSC/UMS) USB大容量存…

springboot199疫情打卡健康评测系统

疫情打卡健康评测系统设计与实现 摘 要 当下&#xff0c;如果还依然使用纸质文档来记录并且管理相关信息&#xff0c;可能会出现很多问题&#xff0c;比如原始文件的丢失&#xff0c;因为采用纸质文档&#xff0c;很容易受潮或者怕火&#xff0c;不容易备份&#xff0c;需要花…

《剑指 Offer》专项突破 - 面试题 43 : 在完全二叉树中添加节点(两种方法 + C++ 实现)

目录 前言 方法一 方法二 前言 题目链接&#xff1a;LCR 043. 完全二叉树插入器 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 在完全二叉树中&#xff0c;除最后一层之外其他层的节点都是满的&#xff08;第 n 层有 个节点&#xff09;。最后一层的节点可能…

IO进程-day1

1、使用fgets统计给定文件的行数。 #include<stdio.h> #include<string.h> #include<stdlib.h>int main(int argc, const char *argv[]) {if(argc ! 2){printf("inout file error\n");printf("usage:./a.out srcfile destfile\n");ret…

在UE5中使用体积材质

在平时使用UE的材质设置时&#xff0c;经常会看见Material Domain Volume类型&#xff0c;但是却很少使用。其实该类型可以配合体积雾使用&#xff0c;并制作体积效果以弥补自带雾参数的不足。 操作流程 首先找到场景中的ExponentialHeightFog组件&#xff0c;开启体积雾Volu…

【论文精读】SimCLR2

摘要 本文提出了一个半监督学习框架&#xff0c;包括三个步骤&#xff1a;无监督或自监督的预训练&#xff1b;有监督微调&#xff1b;使用未标记数据进行蒸馏。具体改进有&#xff1a; 发现在半监督学习&#xff08;无监督预训练有监督微调&#xff09;中&#xff0c;对于较大…

Linux第61步_“buildroot”构建根文件系统第3步_烧写根文件系统到EMMC中_并完善开发板配置

烧录到EMMC测试&#xff0c;还需进一步测试和配置。 1、删除rootfs”目录下的“rootfs.tar”压缩包 打开第1个终端 输入“ls回车” 输入“cd linux/回车”&#xff0c;切换到“linux”目录 输入“ls回车”&#xff0c;列出“linux”目录下的文件和文件夹 输入“cd nfs/回…

数据结构与算法java—算法时间复杂度计算

课程安排 一、数据结构与算法的重要性 数据结构&#xff1a;数据与数据间的关系 1.1、数据结构的研究内容 数据结构&#xff1a;研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。 非数值计算问题中的数学模型不是数学方程&#xff0c;而是诸如…

线程安全性的原理分析学习

初步认识Volatile 一段代码引发的思考 下面这段代码&#xff0c;演示了一个使用volatile以及没使用volatile这个关键字&#xff0c;对于变量更新的影响 package com.sp.demo;/*** author : lssffy* Description :* date : 2024/2/16 18:42*/ public class VolatileDemo {publi…

5G——小区搜索流程

小区搜索流程 小区搜索目标&#xff1a;读取到SIB1. 小区搜索流程概述&#xff1a;SIB1在PDSCH信道承载&#xff0c;承载SIB1的信道在哪个位置由PDCCH告诉&#xff0c;而PDCCH的基本信息由MIB告诉&#xff0c;MIB信息由广播信道PBCH广播出去&#xff0c;物理信道解调需要解调…