diff --git a/chapter_federated_learning/challenge.md b/chapter_federated_learning/challenge.md index 7e94b97..b30e809 100644 --- a/chapter_federated_learning/challenge.md +++ b/chapter_federated_learning/challenge.md @@ -2,7 +2,7 @@ ### 部署流程 -随着端上算力的提升和算法的快速发展,跨设备联邦学习在智能手机或智能设备中的应用越来越广泛。其主要流程如图:numfef:`ch10-federated-learning-flow`所示,可分为如下几步: +随着端上算力的提升和算法的快速发展,跨设备联邦学习在智能手机或智能设备中的应用越来越广泛。其主要流程如 :numfef:`ch10-federated-learning-flow`所示,可分为如下几步: 1. FL-Client选择:FL-Client主动向FL-Server发起参与联邦学习的请求。FL-Server根据配置筛选出满足条件的FL-Client。选择成功后FL-Server下发模型以及相关联邦学习配置。 2. FL-Client训练:在终端设备上进行本地模型训练。 diff --git a/chapter_federated_learning/fedavg.md b/chapter_federated_learning/fedavg.md index c6d2dde..c25700a 100644 --- a/chapter_federated_learning/fedavg.md +++ b/chapter_federated_learning/fedavg.md @@ -1,6 +1,6 @@ ## 联邦平均算法 -和传统分布式学习相比,联邦学习存在训练结点不稳定和通信代价大的难点。这些难点导致了联邦学习无法和传统分布式学习一样:在每次单步训练之后,同步不同训练结点上的权重。为了提高计算通信比并降低频繁通信带来的高能耗,谷歌公司提出了联邦平均算法(Federated Averaging,FedAvg)。图:numfef:`ch10-federated-learning-fedavg`展示了FedAvg的整体流程。在每轮联邦训练过程中,端侧进行多次单步训练。然后云侧聚合多个端侧权重,并取加权平均。 +和传统分布式学习相比,联邦学习存在训练结点不稳定和通信代价大的难点。这些难点导致了联邦学习无法和传统分布式学习一样:在每次单步训练之后,同步不同训练结点上的权重。为了提高计算通信比并降低频繁通信带来的高能耗,谷歌公司提出了联邦平均算法(Federated Averaging,FedAvg)。 :numfef:`ch10-federated-learning-fedavg`展示了FedAvg的整体流程。在每轮联邦训练过程中,端侧进行多次单步训练。然后云侧聚合多个端侧权重,并取加权平均。 ![联邦平均算法](../img/ch10/ch10-federated-learning-fedavg.png) diff --git a/chapter_federated_learning/index.md b/chapter_federated_learning/index.md index f032b5d..d57a02a 100644 --- a/chapter_federated_learning/index.md +++ b/chapter_federated_learning/index.md @@ -1,6 +1,6 @@ # 联邦学习系统 -在本章中,我们介绍深度学习的一个重要分支——强化学习及其在系统方面的知识。本章的学习目标包括: +在本章中,我们介绍深度学习的一个重要分支——联邦学习及其在系统方面的知识。本章的学习目标包括: - 掌握联邦学习基本知识。 - 掌握联邦系统架构组成部分。 diff --git a/chapter_federated_learning/overview.md b/chapter_federated_learning/overview.md index f7e4e88..a1a2160 100644 --- a/chapter_federated_learning/overview.md +++ b/chapter_federated_learning/overview.md @@ -2,20 +2,10 @@ 为了解决“隐私保护”与“数据孤岛”这两大难题,联邦学习(Federated Learning,FL)应运而生。联邦学习的概念最早在2016年被提了出来,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。在联邦学习场景中,每个用户,被定义为客户端这一角色,使用各自的本地数据进行训练、模型更新、权重上传,并在中央服务器的协调下,多个客户端协作建立机器学习模型。 -根据数据分布的不同,联邦学习可以分为跨设备(cross-device)与跨组织(cross-silo)联邦学习。一般而言,跨组织联邦学习的用户一般是企业、机构单位级别的,而跨设备联邦学习针对的则是便携式电子设备、移动端设备等。表:numref:`differences-and-connections`展示了两者的区别和联系: +根据数据分布的不同,联邦学习可以分为跨设备(cross-device)与跨组织(cross-silo)联邦学习。一般而言,跨组织联邦学习的用户一般是企业、机构单位级别的,而跨设备联邦学习针对的则是便携式电子设备、移动端设备等。 :numref:`ch10-federated-learning-different-connection`展示了两者的区别和联系: -| | 跨设备联邦学习 | 跨组织联邦学习 | -| :------------: | :----------------------------------------------------------: | :----------------: | -| 组网架构 | 由中央服务器和不同客户端之间的交互,且客户端之间没有直接联系。 | | -| 数据分布 | 不同客户端上的数据非独立同分布。 | | -| 主要瓶颈 | 客户端的计算性能以及中央服务器的内存 | 通信开销 | -| 客户端来源 | 不同的终端设备 | 不同的组织 | -| 客户端性能 | 较差 | 较好 | -| 客户端规模 | 较大 | 较小 | -| 客户端参与情况 | 不会参与所有联邦迭代 | 参与大部分联邦迭代 | -| 客户端状态 | 无状态 | 有状态 | -| 客户端可靠性 | 高度不可靠 | 相对可靠 | +![跨设备和跨组织联邦学习的区别和联系](../img/ch10/ch10-federated-learning-different-connection.png) -:label:`differences-and-connections` +:label:`ch10-federated-learning-different-connection` 下面就联邦学习中的要点:系统架构、联邦平均算法、隐私加密算法以及实际部署时的挑战进行详细描述。 \ No newline at end of file diff --git a/chapter_federated_learning/system_architecture.md b/chapter_federated_learning/system_architecture.md index 96e3843..5f561e8 100644 --- a/chapter_federated_learning/system_architecture.md +++ b/chapter_federated_learning/system_architecture.md @@ -1,6 +1,6 @@ ## 系统架构 -联邦学习系统由调度器模块、服务器模块和客户端模块三个部分组成,其系统架构如图:numref:`ch10-federated-learning-architecture`所示。其中: +联邦学习系统由调度器模块、服务器模块和客户端模块三个部分组成,其系统架构如 :numref:`ch10-federated-learning-architecture`所示。其中: - 联邦学习调度器: diff --git a/img/ch10/ch10-federated-learning-architecture.pdf b/img/ch10/ch10-federated-learning-architecture.pdf deleted file mode 100644 index a30e5a1..0000000 Binary files a/img/ch10/ch10-federated-learning-architecture.pdf and /dev/null differ diff --git a/img/ch10/ch10-federated-learning-different-connection.png b/img/ch10/ch10-federated-learning-different-connection.png new file mode 100644 index 0000000..b02ccf0 Binary files /dev/null and b/img/ch10/ch10-federated-learning-different-connection.png differ diff --git a/img/ch10/ch10-federated-learning-fedavg.png b/img/ch10/ch10-federated-learning-fedavg.png index a8d4651..52047ba 100644 Binary files a/img/ch10/ch10-federated-learning-fedavg.png and b/img/ch10/ch10-federated-learning-fedavg.png differ