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

news2024/9/30 1:29:27

论文标题:《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.coloradmin.cn/o/1378933.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA—初始化配置

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

OpenCV-19图像的仿射变换

放射变换是图像旋转,缩放,平移的总称,具体的做法是通过一个矩阵和原图片坐标进行计算,得到新的坐标,完成变换,所以关键就是这个矩阵。 一、仿射变换之图像平移 使用API------warpAffine(src &…

Nightingale 夜莺监控系统 - 监控篇(2)

Author:rab 官方文档:https://flashcat.cloud/docs/content/flashcat-monitor/categraf/3-configuration/ 目录 前言一、Categraf 配置文件二、Input 插件配置文件2.1 插件说明2.2 通用配置2.2.1 配置采集频率 interval2.2.2 配置采集实例 instances2.2…

C#编程-在线程中使用同步

在线程中使用同步 在线程应用程序中,线程需要相互共享数据。但是,应用程序应该确保一个线程不更改另一个线程使用的数据。考虑有两个线程的场景。一个线程从文件读取工资,另一个线程尝试更新工资。当两个线程同时工作时,数据就会受损。下图显示了两个线程同时访问一个文件…

【JAVA】concurrentHashMap和HashTable有什么区别

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 同步性质: 性能: 允许空键值(Allow Nulls): 迭代器(Iter…

Flask+ Dependency-injecter+pytest 写测试类

最近在使用这几个在做项目,因为第一次用这个,所以不免有些问题。总结下踩的坑 1.测试类位置 首先测试类约定会放在tests里面,不然有可能发生引入包的问题,会报错某些包找不到。 2. 测试类依赖注入 这里我就用的真实的数据库操作…

[AutoSar]BSW_OS 01 Autosar OS入门(一)

目录 关键词平台说明一、Autosar OS 的位置二、Autosar OS 与OSEK三、TASK 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C,C编译器HighTec (GCC) 一、Autosar OS 的位置 如在[AutoSar]基础部分 a…

如何使用统计鸟网站统计分析网站流量来源?

统计鸟官网地址:https://www.tongjiniao.com/ 站长必备!网站数据统计,流量监测平台 提供网站数据统计分析、搜索关键词、流量访问来源等服务 深入分析用户点击习惯,为智能化运营网站提供更好的用户体验 目录 一、注册账号信息 二…

电位器的基本知识

一、电位器简介 电位器是一种可调的电子元件。它是由一个电阻体和一个转动或滑动系统组成。当电阻体的两个固定触电之间外加一个电压时,通过转动或滑动系统改变触点在电阻体上的位置,在动触点与固定触点之间便可得到一个与动触点位置成一定关系的电压。…

DFT中的SCAN、BIST、ATPG基本概念

DFT中的SCAN、BIST、ATPG基本概念 SCAN 定义 扫描路径法是一种针对时序电路芯片的DFT方案,目标是在不影响正常功能的情况下来能够提高可控性和可观测性。 原理 原理是将时序电路可以模型化为一个组合电路网络和带触发器(Flip-Flop,简称FF)的时序电路…

【开源】基于JAVA的数据可视化的智慧河南大屏

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏,包含了GDP、…

蚁群算法(ACO)解决旅行商(TSP)问题的python实现

TSP问题 旅行商问题(Travelling Salesman Problem, 简记TSP,亦称货郎担问题):设有n个城市和距离矩阵D [dij],其中dij表示城市i到城市j的距离,i, j 1, 2 … n,则问题是要找出遍访每个城市恰好一次的一条回…

c#多线程中使用SemaphoreSlim

SemaphoreSlim是一个用于同步和限制并发访问的类,和它类似的还有Semaphore,只是SemaphoreSlim更加的轻量、高效、好用。今天说说它,以及如何使用,在什么时候去使用,使用它将会带来什么优势。 代码的业务是&#xff1a…

InseRF: 文字驱动的神经3D场景中的生成对象插入

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

UE5 简易MC教程学习心得

https://www.bilibili.com/video/BV12G411J7hV?p13&spm_id_frompageDriver&vd_sourceab35b4ab4f3968642ce6c3f773f85138 ———— 目录 0.摧毁逻辑学习 1.发光材质灯方块 2.封装。想让子类 不更改父类的变量。 3.材质命名习惯。 0.摧毁逻辑学习 达到摧毁的条件…

多国管理中心多语言区块链源码一元夺宝程序仿趣步奕跑/原生计步器/原生人脸识别

前后台分开的,后台是TP3.2的框架了。 目前把整体UI 改版黄色系风格,集成了一元夺宝程序,用户数据同步趣步,效果看起来很棒,另外加入股票走势图(K线图),目前已经继承人脸识别&#xf…

数据结构——二叉树(先序、中序、后序及层次四种遍历(C语言版))超详细~ (✧∇✧) Q_Q

目录 ​​​​​​​ 二叉树的定义: *特殊的二叉树: 二叉树的性质: 二叉树的声明: 二叉树的先序遍历: 二叉树的中序遍历: 二叉树的后序遍历: 二叉树的层序遍历: 二叉树的节…

【工具使用-A2B】32通道24bit传输的配置方法

一,简介 本文记录A2B总线上压缩为24bit的方法和如何计算是否超带宽的方法。 二,具体操作 2.1 计算是否超带宽的方法 确认传输带宽占比 2.2 32通道24bit配置 Downstream Compression选择Disable。 三,总结 本文主要介绍,如…

如何在Spring Boot中使用EhCache缓存

1、EhCache介绍 在查询数据的时候,数据大多来自于数据库,我们会基于SQL语句与数据库交互,数据库一般会基于本地磁盘IO将数据读取到内存,返回给Java服务端,我们再将数据响应给前端,做数据展示。 但是MySQL…

红队专题-Golang工具ChYing

Golang工具ChYing 招募六边形战士队员原chying工具代码分析并发访问控制并发 原子 写入读取 通道嵌套映射结构初始化启动代理服务器重启代理服务器 招募六边形战士队员 一起学习 代码审计、安全开发、web攻防、逆向等。。。 私信联系 原chying工具代码分析 前有 Chying 后有…