首页 > 其他分享 >联邦学习学习(模型理解)

联邦学习学习(模型理解)

时间:2024-08-28 20:56:57浏览次数:6  
标签:异构 模型 更新 学习 本地 联邦 数据 客户端

联邦学习模型学习/持续更新


记录看完论文后对联邦学习方法的理解和总结,有理解不对的欢迎大家交流和指正

FedDF(24/8/27)

论文:Ensemble Distillation for Robust Model Fusion in Federated Learning
主要解决问题:客户端异构(数据异构、模型异构)导致性能下降
创新点:使用无标签数据、或者生成器生成的数据通过知识蒸馏融合客户端知识,在保证用户数据隐私的同时降低了数据异构、模型异构的影响且增强了全局模型的性能。且具有较好的鲁棒性。
理解模型:模型整个流程
一.本地模型算法是同构的但是数据是异构的:
在这里插入图片描述在这里插入图片描述
模型是这样的,首先有K个客户端,一共进行T轮客户端和服务端的数据传输,每轮会随机抽出C(这个是个比例)的客户端激活进行训练(也就是 S t S_{t} St​个激活,看上面伪代码)对于每一轮通信前,本地模型会进行本地模型训练,这个训练使用的是本地独有的数据,因此每个模型训练出来的效果大同小异。本地模型训练完后会进行一轮通信,将本地模型的参数传送给服务端模型。服务端接收到 S t S_{t} St​个本地模型参数后会根据数据量对本地模型参数进行加权平均。(到此就是一趟Fedavg了)接着以这个全局模型为学生模型。以传输上来的本地模型为教师模型。接着直接使用(1)其他范围的无标签数据。(2)生成器生成的数据(这里绕过了客户端数据,保护了隐私,虽然没有使用到客户端数据,但是这里仍然达到了较好的蒸馏效果)
数据通过教师模型,接着得到若干个软标签(几个概率)最后对这些软标签进行加权平均,得到一个全局的软标签。同时数据也通过前面生成的全局模型,同样也生成一个软标签,然后计算KL损失,优化全局模型。这样集中式知识蒸馏就结束了。知识蒸馏后的全局模型。相对于Fedavg这个模型相当于再通过软标签修正了一下模型。
一.本地模型算法是异构的但是数据是异构的:
在这里插入图片描述在这里插入图片描述

若本地模型算法是异构的,就不能直接对各个客户端模型进行简单的加权平均获得全局模型了,因为算法不同网络结构也不同,参数数量都对应不上,没办法加权平均。这里相对于上面主要的应对措施是,若干个客户端,若干种算法,将传输上来的客户端按照算法种类分类。同一类的模型进行上面的蒸馏操作。最后将若干类的最终模型分配给指定类别的客户端,实现客户端模型更新

持续更新

持续更新

持续更新

持续更新

持续更新

持续更新

标签:异构,模型,更新,学习,本地,联邦,数据,客户端
From: https://blog.csdn.net/JTYANGWEI/article/details/141606171

相关文章

  • pytorch统计模型计算强度
    计算强度=运算数/访存数运算数有很多库可以算,例如thop的profilefromthopimportprofilemodel=torchvision.models.resnet18(weights=None)flops,params=profile(model,inputs=(torch.randn(1,3,224,224),))print("flops:{:.2f}Gflops".format(flops/1000/10......
  • 组合计数学习笔记
    组合计数整合8.14:模拟赛组合计数又寄,积累还是不够。8.24:谢拜龚神讲解VJ大专题谢拜龚神括号有关问题P3058[USACO12NOV]BalancedCowBreedsG/S对于括号类问题,研究其合法性时,一个重要的性质就是这一路过来都合法(和栈类似)。套路地,将\(\texttt{(}\)看做\(+1\),\(\textt......
  • 【人工智能时代】- 大模型技术的发展与实践
    一、大模型的概念大型语言模型,也称大语言模型、大模型(LargeLanguageModel,LLM;LargeLanguageModels,LLMs)。大语言模型是一种深度学习模型,特别是属于自然语言处理(NLP)的领域,一般是指包含数干亿(或更多)参数的语言模型,这些参数是在大量文本数据上训练的,例如模型GPT-3,PaLM,LLaMA......
  • 24数学建模国赛准备!!!(8——稳定状态模型)
    需要资料的宝子们可以看文章末尾获取!!!点击链接加入群聊获取免费资料https://qm.qq.com/q/NGl6WD0Bky......
  • Java中final关键字的学习
    final关键字目录final关键字1.修饰变量2.修饰方法3.修饰类4.修饰方法参数注意事项示例在Java编程语言中,final关键字是一个非常重要的概念,它用于表示一个变量、方法或类是不可变的或不能被进一步修改的。以下是final关键字的几种常见用法:1.修饰变量常量:final修饰的变量......
  • Markdown学习
    1.哪些内容是你掌握的?哪些内容是你没有掌握的?使用AI推荐的工具或者你喜欢的工具实践一下没有掌握的内容。在AI推荐的推荐Markdown工具中,Typora和Ulysses是我比较掌握的工具,而Github我不太掌握。1.从Github上找到并下载一个项目2.以记事本打开内部附带的.md文件3.以支持Markd......
  • 【视频讲解】数据挖掘实战:Python金融贷款模型分类潜在贷款客户
    全文链接:https://tecdat.cn/?p=37521原文出处:拓端数据部落公众号分析师:HengtaoFan模型的存在依托于这样一个事实:基于概率的决策乃是最优之选。将概率转化为评分,能够便于对齐风险。而评分则是通过统计的方法来识别潜在客户,进而判断客户是否合乎心意。这里的“合意”由我们预......
  • 后缀相关学习笔记
    应用任意子串\(\text{LCP}\)长度$LCP(i,j)=\min\limits_{k=rk_i+1}^{rk_j}ht_k$运用此性质,可以有通用套路:\(\text{Height}\)分段,下面题目会有讲解。练习题P2743[USACO5.1]乐曲主题MusicalThemes最长不重复多次出现子串。\(\text{Height}\)分段经典题目。首先求......
  • prometheus学习笔记之cAdvisor
    一、cAdvisor简介监控Pod指标数据需要使⽤cadvisor,cadvisor由⾕歌开源,cadvisor不仅可以搜集⼀台机器上所有运⾏的容器信息,还提供基础查询界⾯和http接⼝,⽅便其他组件如Prometheus进⾏数据抓取cAdvisor可以对节点机器上的资源及容器进⾏实时监控和性能数据采集,包括CPU使⽤情......
  • YOLOv9改进策略【注意力机制篇】| 引入MobileNetv4中的Mobile MQA,提高模型效率
    一、本文介绍本文记录的是基于MobileMQA模块的YOLOv9目标检测改进方法研究。MobileNetv4中的MobileMQA模块是用于模型加速,减少内存访问的模块,相比其他全局的自注意力,其不仅加强了模型对全局信息的关注,同时也显著提高了模型效率。文章目录一、本文介绍二、MobileMQA......