前言


题目: Federated Learning with Personalization Layers
论文地址:Federated Learning with Personalization Layers

这篇论文在arXiv挂着时作者已经将其投到了AISTATS(International Conference on Artificial Intelligence and Statistics, 2020),不过好像没有在会议官网找到这篇文章,应该是没有被录用。虽然没被录用,但这篇论文也具有一定参考意义。

FedPer

1. 模型

FedPer的视图如下所示:

可以看到,所有客户端模型共享基本层(蓝色),然后由于数据分布的不同,不同客户端模型具有不同的个性化顶层。

2. 问题定义

参数定义:

  1. KBK_BKB​:客户端模型基本层数量。
  2. KPK_PKP​:客户端模型个性化层数量。
  3. NNN:设备总数。
  4. αB,1,...,αB,KB\alpha_{B,1},...,\alpha_{B, K_B}αB,1​,...,αB,KB​​:基本层的激活函数。
  5. WB=(WB,1,...,WB,KB)W_B=(W_{B,1},...,W_{B, K_B})WB​=(WB,1​,...,WB,KB​​):基本层权重矩阵。这里需要注意,基本层中不同层的权重矩阵可能具有不同的维度。
  6. WPj=(WPj,1,...WPj,KP)W_{P_j}=(W_{P_j,1},...W_{P_j, K_P})WPj​​=(WPj​,1​,...WPj​,KP​​):第jjj个客户端的个性化层的权重矩阵。

因此,神经网络的forward pass可以描述为:

客户端的样本首先经过基本层,然后再经过个性化层,最后得到输出。forward pass可以简单描述为:
y^=f(x;WB,WPj)\hat{y}=f(x;W_B,W_{P_j})y^​=f(x;WB​,WPj​​)
不同客户端的基本层权重矩阵WBW_BWB​是一样的,个性化层权重矩阵WPjW_{P_j}WPj​​不一样。

需要优化的损失函数:

即所有客户端损失的均值。

其中第jjj个设备上的损失定义为:

3. 算法

算法伪代码:

总体流程描述:

  1. 服务器端初始化基本层权重WB(0)W_B^{(0)}WB(0)​。
  2. 客户端初始化自己的个性化层权重WPj(0)W_{P_j}^{(0)}WPj​(0)​。
  3. 服务器端将WB(0)W_B^{(0)}WB(0)​发送到各个客户端。
  4. 服务器端和客户端都执行相同的循环:客户端收到服务器传来的基本层权重,然后利用本地数据来进行SGD更新:

    其中ηj(k)\eta_j^{(k)}ηj(k)​表示当前学习率,eee为本地训练轮数,bbb为batch size。
  5. 本地训练完毕后只将基本层权重传回服务器。
  6. 服务器聚合所有客户端的基本层权重,然后分发给所有客户端,进行下一轮通信。

总得来说,FedPer与FedAvg有以下3点不同:

  1. FedAvg每次需要随机选择客户端,而FedPer需要激活所有客户端。
  2. FedAvg需要聚合所有参数,FedPer只是聚合基础层参数。
  3. FedAvg中只有一个全局模型,所有客户端都使用该全局模型,而FedPer中每个客户端都有自己的个性化模型。

代码实现在下一篇文章!

arXiv | FedPer:带个性化层的联邦学习相关推荐

  1. 带个性化层联邦学习论文解读

    先上结论:本文提出了一种新颖的方法Fed Per,使用现有的联邦学习方法,将深度学习模型视为基础+个性化层,以协作方式对基础层进行训练,在本地进行个性化层训练,用于捕获联邦学习设置中用户的个性化方面. ...

  2. 「隐语小课」联邦学习之Non-IID问题

    更多干货内容,请移步公众号:隐语的小剧场 一.引言 本文针对联邦学习中遇到的Non-IID问题进行探讨,介绍Non-IID产生的原因,分析Non-IID对联邦学习的影响,以及调研了近年来针对该问题的解 ...

  3. 虚拟专题:联邦学习 | 联邦学习研究综述

    来源:网络与信息安全学报 联邦学习研究综述 周传鑫,孙奕,汪德刚,葛桦玮 信息工程大学,河南 郑州 450001 摘要:联邦学习由于能够在多方数据源聚合的场景下协同训练全局最优模型,近年来迅速成为安全 ...

  4. 联邦学习【分布式机器学习技术】【①各客户端从服务器下载全局模型;②各客户端训练本地数据得到本地模型;③各客户端上传本地模型到中心服务器;④中心服务器接收各方数据后进行加权聚合操作,得全局模型】

    随着计算机算力的提升,机器学习作为海量数据的分析处理技术,已经广泛服务于人类社会. 然而,机器学习技术的发展过程中面临两大挑战: 一是数据安全难以得到保障,隐私数据泄露问题亟待解决: 二是网络安全隔离 ...

  5. 万字整理联邦学习系统架构设计参考

    引 言 联邦学习定义了一个机器学习框架,在这个框架下,不同的数据拥有方可以在不交换彼此数据的情 况下,建立一个虚拟的共有模型,这个虚拟模型的效果等同于各方把数据聚合在一起建立的最优模型. 这样,建好的 ...

  6. 【联邦学习论文阅读】FedProx(2018)Federated Optimization in Heterogeneous Networks

    [FedProx]论文链接:https://arxiv.org/abs/1812.06127 摘要 联邦学习面临两个关键挑战:系统异构性:统计异构性.本文的FedProx可以解决联邦学习的异构性,可看 ...

  7. 个性化联邦学习PFedMe详细解读(NeurIPS 2020)

    关注公众号,发现CV技术之美 本文介绍一篇 NeurIPS 2020 的论文『Personalized Federated Learning with Moreau Envelopes』,对个性化联邦 ...

  8. 【阅读笔记】联邦学习实战——联邦个性化推荐案例

    联邦学习实战--联邦个性化推荐案例 前言 1. 引言 2. 传统的集中式个性化推荐 2.1 矩阵分解 2.2 因子分解机 3. 联邦矩阵分解 3.1 算法详解 3.2 详细实现 4 联邦因子分解机 4 ...

  9. 【个性化联邦学习】Towards Personalized Federated Learning 论文笔记整理

    Towards Personalized Federated Learning 一.背景 二.解决策略 2.1 策略一.全局模型个性化 2.2 策略二.学习个性化模型 三.具体方案 3.1 全局模型个 ...

  10. 个性化联邦学习算法框架发布,赋能AI药物研发

    摘要:近期,中科院上海药物所.上海科技大学联合华为云医疗智能体团队,在Science China Life Sciences 发表题为"Facing Small and Biased Dat ...

最新文章

  1. Oracle 11g-oracle 启动与关闭
  2. MYSQL 设计数据结构注意事项
  3. 当你扛不住的时候就读读
  4. 【ArcGIS微课1000例】0020:关于ArcCatalog,你知道多少?
  5. window下查看dll, lib文件是32位还是64位
  6. 央视放出荣耀9X系列广告宣传片:麒麟810处理器+侧面指纹识别
  7. java面向对象计算机与CD实验,Java面向对象上机实验指导书.doc
  8. php 中文key_API常用签名验证方法(PHP实现)
  9. oracle 自动执行存储过程,oracle 自动执行存储过程
  10. IT公司对员工电脑监控一般使用什么软件?
  11. 思维导图:统计学习方法
  12. webservice接口与HTTP接口
  13. linux journalctl使用详解
  14. led同步回显到计算机屏幕,手把手教您如何将笔记本电脑的画面投屏到LED大屏幕上显示,音视频同步传输...
  15. 0704最简单的驱动hello
  16. ‘pom.xml‘ has syntax errors
  17. mac常见问题(五) Mac 无法开机
  18. java无法验证发布者_Win10系统提示无法验证发布者的解决技巧
  19. 如何精准实现OCR文字识别?
  20. Java里鲜为人知的“机器人”类库

热门文章

  1. BitTorrent下载原理和演示
  2. c++随笔-删除文件
  3. 解决Windows桌面部分快捷方式图标变为空白的问题
  4. OCCT示例学习笔记3--Modeling项目
  5. 计算机继续教育笔记,第三轮继续教育自学读书笔记
  6. Atitit 圣阿提拉克斯阿克巴仁波切诗歌集 1. 诗歌集分类 1 1.1. 国王颂歌 1 1.2. 爱情类(相逢 赞美 相识 思念 离去 分分离离 忘记) 1 1.3. 其他 1 1.4. 大
  7. 【Windows】无法访问指定设备,路径或文件,您可能没有合适的权限访问这个项目
  8. 移动Win7用户文件夹(我的文档)默认位置至D盘
  9. 电脑连接另一台电脑发出wifi时,显示ip4无访问权限,ip6无访问权限
  10. getActivePinia was called with no active Pinia. Did you forget to install pinia?