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. 模型聚合:在多次迭代后,全局模型会在参与者之间聚合,以获得一个共同的模型,这个模型在所有参与者上都是可用的。

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

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

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

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

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

相关文章

【机构vip教程】Requests(1):Requests模块简介与安装

Requests模块简介 在python的标准库中,虽然提供了urllib,utllib2,httplib,但是做接口测试,requests使用更加方便快捷,正如官方说的,“让HTTP服务人类”。 Requests是用python语言基于urllib编写的,采用的是…

【漏洞复现-通达OA】通达OA swfupload_new存在前台SQL注入漏洞

一、漏洞简介 通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台。通达OA为各行业不同规模的众多用户提供信息化管理能力,包括流程审批、行政办公、日常事务、数据统计…

UVa1359/LA3491 Hills

题目链接 本题是2005年ICPC亚洲区域赛杭州欧赛区的H题 题意 平面上有 n(n≤500)条线段,其中每条线段的端点都不会在其他线段上。你的任务是数一数有多少个“没有被其他线段切到”的三角形(即小山)。如下图所示&#x…

初始树莓派 + VMware17 安装树莓派(Raspberry Pi 4B/5)

文章目录 树莓派入门 VMware17 安装树莓派(Raspberry Pi 4/5B)前言一、树莓派入门指南:从零开始探索树莓派树莓派4B和5对比 二、在VMware Workstation 17上安装树莓派4B/5操作系统:实现强大性能与便捷模拟工具准备开始安装树莓派1.创建一个虚拟机2. 选择…

[Docker实战] 旭日X3派上Docker Openwrt +Samba 实现局域网NAS 开启AP模式

​ 🌈 博客个人主页:Chris在Coding 🎥 本文所属专栏:[旭日X3派] [Docker实战] ❤️ 前置学习专栏:[Linux学习] ⏰ 我们仍在旅途 …

【C++】类与对象【定义、访问限定符、this指针】

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:http://t.csdnimg.cn/eCa5z 目录 面向过程和面向对象初步认识 类的引入 类的定义 成员变量命名规则的建议: 类的访问限定符及…

Java面试第一站:计算机网络基础知识

该系列会持续更新,关注我,第一时间获取我的最新动态哟 Java面试中,经常会问到跟计算机网络知识相关的考点,有的小伙伴不是很明白。考察网络知识有什么意义? 因为编程的时候,多数的情况下是不用我们来编写 …

单主模式和多主模式切换

1 组复制模式切换注意点 组复制有两种运行模式,一种是单主模式,一种是多主模式。这个模式是在整个组中设置的,由 group_replication_single_primary_mode 这个系统变量指定,而且在所有成员上必须保持一致。ON 表示单主模式&#…

OpenAI Sora视频生成机制:时空补丁

AI如何将静态图像转化为动态、逼真的视频?OpenAI 的 Sora 通过时空补丁(spacetime patches)的创新使用给出了答案。 独特的视频生成方法 在生成模型的世界中,我们看到了从 GAN 到自回归和扩散模型的许多方法,它们都有…

基于结点电压法的配电网状态估计算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 结点电压法的基本原理 4.2 结点电压法在配电网状态估计中的应用 5.完整程序 1.程序功能描述 基于结点电压法的配电网状态估计算法.对配电网实施有效控制和操作的前提是实时数据库中数据…

在职阿里6年,一个28岁女软件测试工程师的心声

简单的先说一下,坐标杭州,16届本科毕业,算上年前在阿里巴巴的面试,一共有面试了有6家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少) 其中成功的有4家&am…

Swift 5.9 新 @Observable 对象在 SwiftUI 使用中的陷阱与解决

概览 在 Swift 5.9 中,苹果为我们带来了全新的可观察框架 Observation,它是观察者开发模式在 Swift 中的一个全新实现。 除了自身本领过硬以外,Observation 框架和 SwiftUI 搭配起来也能相得益彰,事倍功半。不过 Observable 对象…

10M上下文,仅靠提示就掌握一门语言,Google Gemini 1.5被OpenAI抢头条是真冤

这两天,几乎整个AI圈的目光都被OpenAI发布Sora模型的新闻吸引了去。其实还有件事也值得关注,那就是Google继上周官宣Gemini 1.0 Ultra 后,火速推出下一代人工智能模型Gemini 1.5。 公司首席执行官 Sundar Pichai携首席科学家Jeff Dean等众高…

在网络死磕5-10年的人,最后都怎么样了?

你们好,我是老杨。 此时此刻,如果你仍然在一家公司坚强的干着活,你已经打败了80%的职场朋友了。 现如今,从一毕业就做同一个行业超过5年的人,已经少之又少,更别说同一家公司干超过五年了。 这对别的行业…

redis 值中文显示乱码

问题: 解决办法: exit退出 进入时添加 --raw参数

【C++初阶】新手值得一做vector的oj题

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

解决updatexml和extractvalue查询显示不全

报错注入是一种常见的SQL 注入方式,通过注入代码,触发数据库的错误响应,并从错误信息中获取有用的信息。 updatexml和extractvalue updatexml和extractvalue 是常用的两个报错注入函数 http://localhost/sqli/Less-5/?id1%27and%20updat…

解锁Spring Boot中的设计模式—04.桥接模式:探索【桥接模式】的奥秘与应用实践!

桥接模式 桥接模式也称为桥梁模式、接口模式或者柄体(Handle and Body)模式,是将抽象部分与他的具体实现部分分离,使它们都可以独立地变化,通过组合的方式建立两个类之间的联系,而不是继承。 桥接模式是一种…

代码随想录刷题笔记 DAY 29 | 非递减子序列 No.491 | 全排列 No.46 | 全排列 II No. 47

文章目录 Day 2901. 非递减子序列(No. 491)1.1 题目1.2 笔记1.3 代码 02. 全排列(No. 46)2.1 题目2.2 笔记2.3 代码 03. 全排列 II(No. 47)3.1 题目3.2 笔记3.3 代码 Day 29 01. 非递减子序列(…

数据结构——单链表专题

目录 1. 链表的概念及结构2. 实现单链表初始化尾插头插尾删头删查找在指定位置之前插入数据在指定位置之后插入数据删除指定位之前的节点删除指定位置之后pos节点销毁链表 3. 完整代码test.cSList.h 4. 链表的分类 1. 链表的概念及结构 在顺序表中存在一定的问题: …