Fedproto:原型聚合的联邦学习框架

news2024/11/26 6:22:09

题目:FedProto: Federated Prototype Learning across Heterogeneous Clients

网址:http://arxiv.org/abs/2105.00243

目录

前言 

什么是原型?

Fedproto框架

fedproto settings

 Fedproto算法

优化目标

全局聚合

局部更新

伪代码


前言 

文中说明,联邦学习通过计算传递梯度聚合模型时,客户端之间的异构性通常会阻碍模型优化收敛和泛化性能。故本文提出新的FedProto框架,将梯度替换成为原型,通过计算、聚合从不同客户端收集到的本地原型,然后将全局原型发送回所有客户端,以规范本地模型的训练。对每个客户机进行局部训练的目的是最小化对本地数据的分类损失,同时保持生成的本地原型足够接近相应的全局原型(损失函数最小+正则)。

什么是原型?

文中提到:“受原型学习的启发,在异构数据集上合并原型可以有效地整合来自不同数据分布的特征表示,例如,当我们谈到“狗”时,不同的人会有一个独特的“想象图片”或“原型”来代表“狗”的概念。由于不同的生活体验和视觉记忆,他们的原型可能会略有不同。在人之间交换这些概念特定的原型,使他们能够获得更多关于“狗”概念的知识。将每个FL客户端视为一个类人的智能代理,我们的方法的核心思想是交换原型,而不是共享模型参数或原始数据,这可以自然地匹配人类的知识获取行为。

Fedproto框架

fedproto settings

在理解FedProto架构之前,需要理解一些settings

对于异质数据集联邦学习,其服务器端需要识别全体数据集的样本类别C,C={c1,c2,...,cn},对于客户端而言,只需识别构成C子集的少数几个。

深度学习模型被分为两部分:

1、表示层:通过将样本嵌入到embedding function中将输入的实例x从原始特征空间转换到嵌入空间。第i个客户端的嵌入函数为fi( φi ),由φi参数化。记hi = fi( φi ; x)为x的嵌入。

2、决策层:分类。给定一个监督学习任务,可以通过νi参数化的函数gi( νi )生成对输入样本x的预测。Fi( φi , νi) = gi( νi )*fi ( φi ),我们用ωi表示( φi , νi)

原型:定义一个原型C ( j )来表示C中的第j类。对于第i个客户端,原型是第j类中实例的嵌入向量embedding vector的均值。

 Fedproto算法

优化目标

其中Ls是监督学习的损失和Lr是一个正则化术语,它度量一个局部原型 C(j) 和相应的全局原型 C¯(j) 之间的距离(使用L2距离)。Di是客户端i的数据集大小,N是所有客户端上的实例总数,Nj是所有客户端上属于j类的实例数。

全局聚合

给定一个类j,服务器从一组具有类j的客户端接收原型Ci(j)。在原型聚合操作之后,生成j类的全局原型 C¯(j)

C ( j ) i表示来自客户端i的j类原型,Nj表示具有j类的客户集合。这儿可以看出,除客户端数据集与总数据集占比加权后,用具有j类的客户端数量,做了一次平均(注意区分前面一项和后面一项的Nj)

局部更新

客户端需要更新局部原型,目的是为了使不同的客户端生成一致的原型。为此目的,一个正则化项加入到局部损失函数中,使局部原型Ci(j)能够接近全局原型 C¯i(j) ,同时最小化分类误差的损失。首先,计算本地原型:

其次,计算损失:前一项监督学习下的损失函数,后一项是正则,衡量全局原型与局部原型的距离。

伪代码

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

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

相关文章

抖音seo源码搭建,抖音矩阵系统源码分发,抖音矩阵账号管理

前言: 抖音seo源码,抖音矩阵系统源码搭建,抖音矩阵同步分发。抖音seo源码部署是需要对接到这些正规接口再来做开发的,目前账号矩阵程序开发的功能,围绕一键管理多个账号,做到定时投放,关键词自动…

[Linux笔记]vim基础

vim本身不是像vs那样什么都能做的ide,只是单纯的编辑器。 命令行输入vim 文件名,会以vim打开文件。 若当前路径下尚无该名称的文件,则会在保存退出时创建该文件。 在vim中操作,尽量不要用鼠标及其滚轮操作,而只用键盘…

tql!AD域渗透信息收集可视化工具

工具介绍 adalanche是一款ad域中的ACL可视化及利用工具,和BloodHound功能类似,能方便域渗透人员快速发现域中的弱点;有开源版和商业两个版本。 关注【Hack分享吧】公众号,回复关键字【230709】获取下载链接 相比于BloodHound工具…

nest.js 添加 swagger 响应数据文档

基本使用 通常情况下,在 nest.js 的 swagger 页面文档中的响应数据文档默认如下 此时要为这个控制器添加响应数据文档的话,只需要先声明 数据的类型,然后通过ApiResponse 装饰器添加到该控制器上即可,举例说明 todo.entity.ts …

DP1044 CAN FD 待机模式总线收发器替代TJA1044

5V 供电,IO 口兼容 3.3V,5Mbps,CAN FD 待机模式总线收发器DP1044是一款应用于 CAN 协议控制器和物理总线之间的接口芯片,可应用于卡车、公交、小汽车、工业控制等领域,支持 5Mbps 灵活数据速率(Flexible Da…

新零售商城系统开发流程,新零售商城系统的前景如何?

近10年来,新零售商城系统火爆的原因在于移动互联网普及、个性化需求的增加、优化用户体验、数据驱动的营销和线上线下融合。新零售商城系统是基于互联网技术的商城平台,通过线上线下融合、数据分析和个性化推荐等功能,为零售商提供全方位的销…

N!Weblogic CVE-2023-21839 RCE

项目简介 Weblogic CVE-2023-21839/CVE-2023-21931/CVE-2023-21979 一键检测工具,这是来自长亭xray的代码,该漏洞扫描已集成到新版本xray中。 关注【Hack分享吧】公众号,回复关键字【230708】获取下载链接 无需任何Java依赖,构造…

【C语言】unsigned 与 signed 详解

1. 基本概念 整数在存储单元中都是以补码形式存储的,存储单元中的第 1 个二进制位代表符号。整型变量的值的范围包括负数到正数。 但是在实际应用中,有的数据的范围常常只有正值(如学号、年龄等),为了充分利用变量的值…

网盘工具alist在Windows中使用教程

alist 软件同时支持 http 协议和 WebDAV 协议,并且支持很多网盘种类,这样就给我们留下了很多可玩的空间,比如: 实现网盘本地化访问关联本地的播放器,以实现很好的播放效果多端文件互传,比如将阿里云盘的文…

GO语言slice

slice: data lencap 以及存取的元素是可以安全读写的 Slice 扩容。 1,预估: 2,预估容量后*字节数 所需的内存 3,各种语言从OS上提前申请内存,匹配GO规则的内存

nosql——Redis,Mongodb

目录 一、redis 1、 string类型数据的命令操作 2、 list类型数据的命令操作 3、 hash类型数据的命令操作 4、Keys相关的命令操作 二、mongodb 1. 创建一个数据库 名字grade 2. 数据库中创建一个集合名字 class 3. 集合中插入若干数据 文档格式如下 4. 查找 5. 增加、…

配置jenkins 服务器与目标服务器自动化部署

在配置完远程构建后可以通过添加post-build step 执行shell脚本的方式将包传到远程服务器等一系列操作。 通过scp传输打包好的项目到目标服务器 按照链接 方式配置免密操作,需要注意的是要在jenkins 用户目录下配置生成私钥密钥,配置jenkins 的免密&…

SQL数据库(设置模式、数据库操作、表操作、列操作、SQL索引/约束、SQL数据类型、SQL函数、常见问题)

目录 SQL数据库 设置模式 SET NAMES utf-8 set sql_safe_updates1 数据库操作 CREATE DATABASE databaseName(创建数据库) USE databaseName(选择数据库) DROP DATABASE databaseName(删除数据库) …

一种集成低损耗二极管的SiC沟槽MOSFET,用于提高开关性能

标题:A Low-Loss Diode Integrated SiC Trench MOSFET for Improving Switching Performance 阅读日期:2023.7.17 研究了什么 该研究提出并通过数值模拟对一种集成低损耗二极管(LLD-ATMOS)的硅碳化物(SiC&#xff09…

【SSCMS 内容管理系统】环境配置篇

SSCMS 内容管理系统基于微软 .NET Core 平台开发,用于创建在 Windows、Linux、Mac 以及 Docker 上运行的 Web 应用程序和服务。 具有”跨平台、分布式部署“、”网站群与多服务器发布“、”良好的扩展性与二次开发“ 等特点。 MySqlSSCMS系统(V6版本&am…

初识react

初识react 第一步就给我出个问题版本太低 https://www.cnblogs.com/gslgb/p/16585233.html https://blog.csdn.net/xiangshiyufengzhong/article/details/124193898 第二个问题 便利生成dom 需要绑定key 不要总想着加冒号这不是vue 第三个问题 我p标签包裹 MapList组件 MapLis…

一致性哈希算法总结

title: 一致性哈希算法总结 date: 2023-05-22 11:25:13 tags: 算法 categories:数据结构与算法 cover: https://cover.png feature: false 1. 背景 假设,我们有三台缓存服务器,用于缓存图片,我们为这三台缓存服务器编号为 0 号、1 号、2 号…

使用Vue + el-form + rules实现图书信息录入功能实战

前言 上节回顾 转眼2023年已经过去一半了,我咋记得2022年刚过去呢,有时候在前端打版本的时候我还不小心写成2022啥啥啥呢,写完才发现自己自己写错了,应该是2023,真是时光一去不复回,往事只能回味啊。 上…

基于FPGA的视频接口之SDI编码

简介 SDI接口是一种“数字分量串行接口”,对于详细解释,可以在Google下SDI,我就不当网络的搬运工了,划重点的是,SDI常见的分为3种模式,即SD-SDI、HD-SDI和3G-SDI,以及升级版12G-SDI。 SD-SDI很少有人用,我怀疑可能是640x512的说法,270Mb/s的数据传输量 HD-SDI最常遇到…

vue3 实现 Map 地图区域组件封装

图例:重庆区域 一、安装echarts 坑:地图echarts版本必须在5.0.0以下,否则不能显示,此处指定安装 echarts4.9.0 即可 cnpm install echarts4.9.0 --save 二、下载 “重庆” 区域地图json文件 下载地址:https://www.…