分裂联邦学习论文-混合联邦分裂学习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的多目标优化算法来逼近帕累托最优解集。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

扩散模型的机器学习应用

https://medium.com/jmkernes 来源:从 StableDiffusion 生成……。 一、说明 这篇文章旨在帮助您推导和理解扩散模型。如果您读完本文后的第一个想法是:“为什么我没有想到这个?!?” 那么酷,我成功了。我们…

Google推出Telecom Jetpack库,让Android通话应用创建更简单

Google推出Telecom Jetpack库,让Android通话应用创建更简单 Telecom Jetpack库的最新Alpha版本已经推出。该库提供了多个API,以简化Android开发者创建语音和/或视频通话应用程序的过程,支持常见功能,例如接听/拒绝、音频路由等等…

Packet Tracer - Configuring Extended ACLs - Scenario 1

Packet Tracer - 配置扩展访问控制列表 - 场景1 地址表 目标 第一部分:配置、应用并验证一个编号扩展访问控制列表(Extended ACL) 第二部分:配置、应用并验证一个命名扩展访问控制列表(Extended Named ACL&#xff…

Python电能质量扰动信号分类(五)基于CNN-Transformer的一维信号分类模型

目录 往期精彩内容: 引言 1 数据集制作与加载 1.1 导入数据 1.2 制作数据集 2 CNN-Transformer分类模型和超参数选取 2.1定义CNN-Transformer分类模型 2.2 设置参数,训练模型 3 模型评估 3.1 准确率、精确率、召回率、F1 Score 3.2 十分类混淆…

IDEA—初始化配置

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

数据仓库 Apache Hive

一、数据分析 1、数据仓库 数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。 数据仓库的目的是构建面向分析的集成化数据环境,分析结果为企业提供决策支持&#xff08…

如何在Spring Boot中使用EhCache缓存

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

重磅!OpenAI正式发布,自定义ChatGPT商店!

1月11日凌晨,OpenAI在官网正式发布了,自定义GPT商店,可以帮助用户找到目前最好用、流行的自定义ChatGPT助手。 在2024年第一季度,OpenAI将启动GPT 开发者收入计划。首先,美国地区的开发者将根据用户对其 GPT 的使用情…

Android音视频: 引入FFmpeg

本文你可以了解到 本文将介绍如何将上一篇文章编译出来的 FFmpeg so 库,引入到 Android 工程中,并验证 so 是否可以正常使用。 一、开启 Android 原生 C/C 支持 在过去,通常使用 makefile 的方式在项目中引入 C/C 代码支持,随…

HTML5+CSS3+JS小实例:音频可视化

实例:音频可视化 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><m…

SQL语句详解二-DDL(数据定义语言)

文章目录 操作数据库创建&#xff1a;Create查询&#xff1a;Retrieve修改&#xff1a;Update删除&#xff1a;Delete使用数据库 操作表常见的几种数据类型创建&#xff1a;Create复制表 查询&#xff1a;Retrieve修改&#xff1a;Update删除&#xff1a;Delete 操作数据库 创…

【Linux】Linux系统编程——ls命令

【Linux】Linux 系统编程——ls 命令 1.命令概述 ls 命令是 Linux 和其他类 Unix 操作系统中最常用的命令之一。ls 命令是英文单词 list 的缩写&#xff0c;正如 list 的意思&#xff0c;ls 命令用于列出文件系统中的文件和目录。使用此命令&#xff0c;用户可以查看目录中的…

封装数据访问通用类DbHelper

为什么要封装通用类&#xff1f; 数据交互&#xff1a;增上改查 相同的事情&#xff1a;连接 T-SQL命令&#xff0c;Command 执行命令&#xff0c;选择执行方式 得到相应结果 关闭连接 将一些从重复的逻辑进行封装&#xff0c;达到通用的目的 提高复用率…

高防ip是什么,防护效果好吗

DDoS攻击是互联网最常见的网络攻击方式之一&#xff0c;通过大量虚假流量对目标服务器进行攻击&#xff0c;堵塞网络耗尽服务器性能&#xff0c;导致服务器崩溃&#xff0c;真正的用户无法访问。以前企业常用的防御手段就是高防服务器&#xff0c;也就是硬防&#xff0c;但由于…

C++采集亚马逊amazon产品数据教程

最近亚马逊电商非常火爆&#xff0c;今天我将用C语言写一个亚马逊商品数据的爬虫程序&#xff0c;只要是用来收集一些产品相关信息。例如产品自身特性以及产品所对应的销量&#xff0c;为了后期布局亚马逊做一些参考&#xff0c;提供数据支持&#xff0c;同时另外我也会用C语言…

鸿蒙Harmony--LocalStorage--页面级UI状态存储详解

走的太急疼的是脚&#xff0c;逼的太紧累的是心&#xff0c;很多时候&#xff0c;慢一点也没关系&#xff0c;多给自己一些耐心和等待&#xff0c;保持热爱&#xff0c;当下即是未来&#xff0c;生活自有安排! 目录 一&#xff0c;定义 二&#xff0c;LocalStorageProp定义 三…

Docker 的工作原理及安装步骤【云原生】

文章目录 1. Docker 的工作原理2. Docker 与虚拟机3. Docker 架构4. 安装 Docker5. 配置镜像加速 1. Docker 的工作原理 大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署会碰到一些问题&#xff1a; ① 依赖关系复杂&#xff0c;容易出现兼容性问题&#xff1…

【WPF.NET开发】在用户控件上启用拖放功能

本文内容 创建应用程序项目向项目添加新的用户控件向主窗口添加用户控件在用户控件中实现拖动源事件向用户提供反馈在用户控件中实现拖放目标事件使面板能够接收放置的数据 在本演练中&#xff0c;将创建一个表示圆形的自定义 WPF UserControl。 你将在该控件上实现可通过拖放…

C++力扣题目112,113--路径总和,路径总和II

112路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 叶子节点 是…

PHP面试小结(20240108)

PHP 部分 1. php的包管理工具是如何实现自动加载的 换句话问&#xff1a;composer 实现原理是什么&#xff1f;spl_autoload_register() 首先&#xff0c;Composer 是 PHP 的一个包管理和包依赖管理的工具 &#xff0c; 打开安装之后生成的 "vendor" 文件, 里面有个…