网站首页 > 技术文章 正文
前言
《未来望远镜——联邦学习系列》上一期对联邦学习的基础概念进行了简单介绍,本文重点介绍横向联邦学习的代表方法——联邦平均算法。联邦平均算法[1][2]是联邦学习的开山之作,也是入门联邦学习的首读且必读篇目。本文通过梯度平均算法引出联邦平均算法,辅助理解联邦平均算法的精髓,从而更好地理解横向联邦学习。
梯度平均算法
梯度平均算法首先在本地计算各个参与方模型参数的梯度(多元函数的梯度由多元函数对每个变量的偏导数组成),然后将梯度上传至服务器,接着服务器进行梯度的聚合,最后将聚合后的梯度下发给各个参与方,此时各个参与方基于聚合后的梯度执行一次梯度下降进行模型参数的更新。梯度平均算法的具体步骤如下:
联邦平均算法
梯度平均算法每计算一次梯度,便进行一次通信,导致通信开销过大,有些参与方网络带宽可能较小,且网络连接不稳定,因此其不太适用于联邦学习的场景。为了解决此问题,谷歌的研究团队提出联邦平均算法[1][2],其先在本地进行一次或多次参数的更新(即在本地执行一次或多次梯度下降),然后将更新后的参数上传至服务器,接着服务器进行参数的聚合,最后将聚合后的参数下发至各个参与方。联邦平均算法的具体步骤如下:
参考文献
[1] McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Artificial intelligence and statistics. PMLR, 2017: 1273-1282.
[2] McMahan H B, Moore E, Ramage D, et al. Federated learning of deep networks using model averaging[J]. arXiv preprint arXiv:1602.05629, 2016, 2.
[3] 杨强,刘洋,程勇等著. 联邦学习. 北京: 电子工业出版社. 2020.4
[4] 联邦学习:技术的角度讲解(中文). 王树森. B站
本文根据参考文献[1][2][3][4]理解总结,主要介绍梯度平均算法和联邦平均算法最朴素的核心思想,没有展开介绍具体细节,比如进行联邦学习时每次需要随机选择一些客户端等,若想进一步了解,可以参考原始论文[1][2]。如有描述不当或者错误的地方,敬请大家批评指正!
猜你喜欢
- 2024-11-26 俄媒:俄罗斯人认为月薪多少才“幸福”?
- 2024-11-26 德国参保45年后获得的平均养老金能有多少?五分之一低于1200欧元!
- 2024-11-26 人口结构是否关乎国家经济增长?联邦德国历史上的人口与历史
- 2024-11-26 联邦学习 (FL) 中常见的3种模型聚合方法的 Tensorflow 示例
- 2024-11-26 俄罗斯人口分布情况:远东联邦管区面积达621万平方公里
- 2024-11-26 一图看懂:欧洲国家的个人所得税
- 2024-11-26 一切模型皆可联邦化:高斯朴素贝叶斯代码示例
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)