分裂联邦学习论文-混合联邦分裂学习GAN驱动的预测性多目标优化

论文标题:《Predictive GAN-Powered Multi-Objective Optimization for Hybrid Federated Split Learning

期刊:IEEE Transactions on Communications, 2023

一、论文介绍

背景:联邦学习作为一种多设备协同训练的边缘智能算法,可以保护数据隐私,但增加了无线设备的计算负担。

模型:为了解决上述问题,我们提出了一种无线网络的混合联邦分裂学习框架,该框架结合了FL多clients协同训练和SL的灵活分割。为了减少模型分裂中的计算的空闲时间,我们设计了一种不共享标签的模型分裂并行计算方案,并从收敛性上对时延梯度的影响进行理论分析。为了平衡训练时延和能耗,我们通过联合优化分割点决策带宽计算资源分配最小化训练时延和能耗(多目标优化:时延、能耗)。然后,我们提出了一种预测生成对抗网络(GAN)驱动的多目标优化算法来获得问题的帕累托前沿,它利用鉴别器来指导生成器的训练来预测有前途的解决方案。

算法:GAN驱动预测的多目标优化算法

二、系统模型

本文框架包含一个Base Station (BS)和集合\mathcal{K} =\{1,2,...,k,...,K\}表示的客户端,框架如图所示。

图中的神经网络共有L层,且分为3部分进行训练,第一部分:第k个客户端计算1->S_k层。第二部分:边缘服务器计算S_k+1->H_k层。第三部分:客户端计算H_k+1->L层。假设第l层的神经网络前向和反向传播所需的浮点数分别为C_l^FC_l^B

2.1通信和计算模型

1、通信时延-前向传播:两部分的前向传播时延分别为:

T_{k,t}^{UF}=\frac{b_kO_{S_k}^F}{B_k\log(1+\frac{p_kg_{k,t}^2}{B_kN_0} )}  

T_{k,t}^{DF}=\frac{b_kO_{H_k}^F}{B_k\log(1+\frac{p_0g_{k,t}^2}{B_kN_0} )}

其中b_k表示客户端k训练时的batch size,O_{S_k}^F表示第一部分计算后的结果,O_{H_k}^F表示第二部分计算后的结果。两部分的反向传播时延分别为:

T_{k,t}^{UB}=\frac{b_kO_{H_k+1}^B}{B_k\log(1+\frac{p_kg_{k,t}^2}{B_kN_0} )}

T_{k,t}^{DB}=\frac{b_kO_{S_k+1}^B}{B_k\log(1+\frac{p_0g_{k,t}^2}{B_kN_0} )}

其中O_{H_{k+1}}^B表示第三部分反向传播时梯度的大小,O_{S_{k+1}}^B表示第二部分反向传播时梯度的大小。

第二部分前向传播和反向传播的时延为:

T_{k,t}^{EF}=\frac{\sum_{l=S_{k+1}}^{H_k} b_kC_l^F }{f_k^E n^E}

T_{k,t}^{EB}=\frac{\sum_{l=S_{k+1}}^{H_k} b_kC_l^B }{f_k^E n^E}

前面已经对传输过程的时延和边缘服务器的计算时延进行说明。下面分析并行计算时(由上图可知,蓝色--绿色--橙色--黄色为相邻的本地轮次,假设分别为第1,2,3,4轮次。本地训练相邻轮次可以同时进行,对于精度如何影响暂时不知)客户端产生的资源空闲或等待的情况。下面依次进行分析:

了解下面四种情况,主要是知道空闲与等待的发生位置以及原因(I和2说明本地计算能力过高,可能是计算的层数较多。3和4计算能力太低,可能原因是计算的层数较少)。

在Stage I:很明显出现了资源空闲的情况(首先进行第1轮(蓝色)计算,此时在c部分计算完成,资源空闲。因为第2轮(绿色)前向传播未完成)。则在Part C 的最大时间为:

T_{k,t}^1=\max\{T_{k,t}^{UF}+T_{k,t}^{EF}+T_{k,t}^{DF}, \frac{\sum_{H_{k+1}}^L b_k(C_l^F+C_l^B) }{f_k^{max}n_k}\}

其中第三部分的本地计算频率可以自适应设置为f_{k,t}^1=\frac{\sum_{l=H_{k+1}}^1b_k(C_l^F+C_l^B) }{T_{k,t}^1 n_k}

在Stage II: 此时第1轮次(蓝色)进行反向传播,第二轮次(绿色)开始在Part C 处计算。此时也会造成资源空闲,解决的办法则是使得第1轮(蓝色)与第2轮(绿色)的时间最好相等(情况(b))。此时Part C的最大持续时间为:

T_{k,t}^2=\max\{T_{k,t}^{UB}+T_{k,t}^{EB}+T_{k,t}^{DB}, \frac{\sum_{H_{k+1}}^L b_k(C_l^F+C_l^B) }{f_k^{max}n_k}\}

其中第二部分的本地计算频率可以自适应设置为f_{k,t}^2=\frac{\sum_{l=H_{k+1}}^1b_k(C_l^F+C_l^B) }{T_{k,t}^2 n_k}

在Stage III: 此时第1轮次(蓝色)反向传播执行完成,第3(橙色)轮次前向开始计算,当绿色轮次完成时,本地计算资源被占用,需要等待。此时Part a 的最大持续时间为:

T_{k,t}^3=\max\{T_{k,t}^{UB}+T_{k,t}^{EB}+T_{k,t}^{DB}, \frac{\sum_{1}^{S_k} b_k(C_l^F+C_l^B) }{f_k^{max}n_k}\}

其中第三部分的本地计算频率可以自适应设置为f_{k,t}^3=\frac{\sum_{l=1}^{S_k}b_k(C_l^F+C_l^B) }{T_{k,t}^2 n_k}

在Stage IV: 此时第2轮次(绿色)执行完反向传播,第3(橙色)轮未到达,开始计算第4(黄色)轮。第3(橙色)轮等待。Part a 的最大持续时间为:

T_{k,t}^4=\max\{T_{k,t}^{UF}+T_{k,t}^{EF}+T_{k,t}^{DF}, \frac{\sum_{1}^{S_k} b_k(C_l^F+C_l^B) }{f_k^{max}n_k}\}

其中第四部分的本地计算频率可以自适应设置为f_{k,t}^4=\frac{\sum_{l=1}^{S_k}b_k(C_l^F+C_l^B) }{T_{k,t}^4 n_k}

参数的下载和上传时延为

T_{k,t}^{ParD}=\frac{\sum_{l=1}^{S_k}G_l + \sum_{l=H_k+1}^L G_l }{B_k\log(1 + \frac{p_0g_{k,t}^2}{B_kN_0} )}

T_{k,t}^{ParU}=\frac{\sum_{l=1}^{S_k}G_l + \sum_{l=H_k+1}^L G_l }{B_k\log(1 + \frac{p_kg_{k,t}^2}{B_kN_0} )}

因此,对于分裂联邦学习整个训练过程中总的时延和能耗为:

对于只执行联邦学习的客户端而言,其总的时延和能耗为:

其中客户端本地计算资源为f_{k,t}^{nsp}=\frac{e_kD_k\sum_{l=1}^L (C_l^E+C_l^B)}{(T_t^{max}-T_{k,t}^{ParD}-T_{k,t}^{ParU} )n_k}

总的能耗为

2.2优化目标

假设表示优化变量,通过联合优化模型分割决策、服务器的带宽分配和服务器的计算资源分配,实现最小化训练过程中的时延和能耗。

其中V_1(\varphi)=\sum_{t \in \tau}T_t^{max}V_2(\varphi)=\sum_{t \in \tau}E_t^{sum}.

第一个和第二个约束表示已分配的计算资源和带宽的范围,第三个约束表示输入和输出层应该保持在工人上,以保护隐私。且S_kH_k都为整数。该优化问题是非凸的,通常很难得到这类问题的帕累托最优解集。因此,提出了一种基于GAN的多目标优化算法来逼近帕累托最优解集。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用nginx+HTML2canvas将任意html网页转为png图片自定义张数

文章目录 概述网页的转换html2canvas的使用导入导入HTML2canvas库函数定义 nginx部署编写控制截图网页代码iframe 网页控制代码 测试说明 概述 本文简述如何使用nginxhtml2canvas将任意网页html转为png图片 网页的转换 如果是本地网页,直接进行nginx反向代理就行…

30天精通Nodejs--第十七天:express-路由配置

目录 引言基础路由配置路由参数与查询参数路由前缀与子路由路由重定向结语 引言 上篇文章我们简单介绍了express的基础用法,包括express的安装、创建路由及项目启动,对express有了一个基础的了解,这篇开始我们将详细介绍express的一些高级用…

【开源】基于JAVA语言的民宿预定管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

python MySQL学习

免费 MySQL Community Server 社区版本 免费 但是MySQL 不提供官方技术支持 MySQL Cluster 集群版 开源免费 可将几个 MySQL Server 封装乘一个Server 收费 MySQL Enterprise Edition 商业版 该版本是收费的 可以试用30天 官方提供技术支持 MySQL Cluster CGE 高级集群版…

Unable to start embedded Tomcat Nacos启动报错

Nacos报错解决 报错信息:Unable to start embedded Tomcat 无法加载内置的tomcat。 无需重新配置JDK,轻松解决 Windows 系统为例 startup.cmd 操作步骤如下: 在nacos解压后的文件中,进入bin目录下如图1所示: 在红框中…

IDEA—初始化配置

注:以下红框圈的部分,均为已设置好的 外观与行为 编辑器 高级设置 按两次 shift 弹出提示问题解决

分块矩阵的定义、计算

目录 一、定义 二、分块矩阵的加减乘法 三、考点 一、定义 分块,顾名思义,将整个矩阵分成几部分,如下图所示 二、分块矩阵的加减乘法 三、考点 分块矩阵的考点不多,一般来说,有一种: 求分块矩阵的转置…

【qt】opencv导入pro

我的sdk0文件夹在opencv003项目下,使用opencv451 INCLUDEPATH $$PWD/sdk0/opencv/includeCONFIG(release, debug|release) {LIBS -L$$PWD/sdk0/opencv/lib/ -lopencv_world451opencv.files $$PWD/sdk0/opencv/bin/opencv_world451.dllopencv.path $$OUT_PWD/Re…

【Oracle】Oracle编程PLSQL

Oracle编程 一、PL/SQL 1、PL/SQL概述 PL/SQL(Procedure Language/SQL)是 Oracle 对 sql 语言的过程化扩展,使 SQL 语言具有过程处理能力。 基本语法结构 [declare -- 声明变量 ]begin-- 代码逻辑 [exception-- 异常处理 ]end;2、变量 …

Java面试之虚拟机

1、前言 本篇的面试题基于网络整理,和自己编辑。在不断的完善补充哦。 2、什么是虚拟机? Java 虚拟机,是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件( .class )。 Java 被设计成允许应用程…

编译和链接(1)

目录 1. 程序的翻译环境和执行环境 2. 详解编译链接 2.1 翻译环境 2.2 编译本身也分为几个阶段: 2.3 运行环境 3. 预处理详解 3.1 预定义符号 3.2 #define 3.2.1 #define 定义标识符 3.2.2 #define 定义宏 3.2.3 #define 替换规则 3.2.4 #和## 1. 程序的翻译环境和执…

怎么做手机App测试?app测试详细流程和方法介绍!

1、手机APP测试怎么做? 手机APP测试,主要针对的是android和ios两大主流操作系统,主要考虑的就是功能性、兼容性、稳定性、易用性(也就是人机交互)、性能。 手机APP测试前的准备: 1.使用同类型的产品&…