CN113010305A - 部署在边缘计算网络中的联邦学习系统及其学习方法 - Google Patents

部署在边缘计算网络中的联邦学习系统及其学习方法 Download PDF

Info

Publication number
CN113010305A
CN113010305A CN202110180514.XA CN202110180514A CN113010305A CN 113010305 A CN113010305 A CN 113010305A CN 202110180514 A CN202110180514 A CN 202110180514A CN 113010305 A CN113010305 A CN 113010305A
Authority
CN
China
Prior art keywords
node
federal learning
learning
module
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110180514.XA
Other languages
English (en)
Other versions
CN113010305B (zh
Inventor
张兴
曹启明
张禹舜
李昊波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202110180514.XA priority Critical patent/CN113010305B/zh
Publication of CN113010305A publication Critical patent/CN113010305A/zh
Application granted granted Critical
Publication of CN113010305B publication Critical patent/CN113010305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种部署在边缘计算网络中的联邦学习系统及其学习方法,所述系统包括:联邦学习模块、边缘推理模块和云服务模块;所述方法包括:步骤1,联邦学习模块与云服务模块初始化以获取全局模型;步骤2,利用本地数据对全局模型在本地进行训练;步骤3,在云服务模块的协助下修改拓扑结构;步骤4,分发新模型至根节点的子节点;步骤5,联邦学习节点的联邦学习模块对推理模块中的模型进行更新。本发明所述系统及其学习方法采用逐层聚合的方式,减少了不必要的数据传输;能够提高联邦学习的效率;并能够在不破坏联邦学习的隐私性的前提下使得联邦学习能够突破本地计算能力的限制。

Description

部署在边缘计算网络中的联邦学习系统及其学习方法
技术领域
本发明涉及机器学习及边缘计算技术领域,具体涉及一种部署在边缘计算网络中的联邦学习系统及其学习方法。
背景技术
随着智能手机、可穿戴传感器和无人机等终端设备的激增,大量数据在网络边缘生成。然而,由于有限的无线通信资源以及隐私限制,将大量的训练数据从边缘设备传输到服务器并不可行,这使得传统的集中式机器学习面临诸多困难,因此,一个新的机器学习模型分支,即联邦学习,已经从人工智能和边缘计算的交集中出现,联邦学习在利用边缘计算处理数据方面有着先天的优势,但是也存在很多挑战,比如终端上传训练结果需要大量上行带宽、终端的计算能力不足、各个终端同步问题等。
关于联邦学习的应用的研究很广泛,有利用联邦学习优化边缘计算性能的,利用联邦学习给雾接入网络赋能的,利用联邦学习识别通信诈骗等,但针对联邦学习本身的研究比较集中,当前关于横向联邦学习的研究主要都集中在用户-服务器架构上,因为大多数移动终端的联邦学习应用场景都适合这种经典架构,比如谷歌利用手机、平板等移动终端对用户输入数据进行联邦学习以优化输入法,由于移动设备计算能力有限,无线网络连接不稳定,移动设备电池有限,涉及移动设备的联邦学习就需要一个稳定的拥有强大计算能力的服务器来组织各个参与联邦学习的移动设备,自然地,这方面的研究就集中在如何选取合适的移动终端参与训练,如何权衡移动端的耗电量与无线传输功率或移动端本地计算的开销上,而当前于对等架构的联邦学习的研究主要集中在纵向联邦学习与联邦迁移学习上,因为大部分的案例是金融企业、医疗企业之间想在保证自身数据隐私的情况下结合彼此的数据进行大规模的模型训练,然而这种案例的难点在于如何在保证数据留在本地的情况下将两个企业具有不同特征与标签的数据进行对齐,从而彼此利用起来,自然地,这方面的研究就集中在如何保证安全性,以及对迁移学习本身的研究上,由于上述大型企业之间进行纵向、迁移联邦学习的案例中参与训练的联邦学习节点较少而且固定(一个企业储存数据的服务器看作一个节点),因而很少有关于这些节点之间如何协同的研究。
在边缘计算网络中有很多边缘节点参与联邦学习,因为算力网络中的节点位置相对固定,算力相对于移动设备更充足,也不存在绝对的中心节点,所以算力网络更适合采用对等网络架构的联邦学习,然而这方面的研究目前比较欠缺,因此研究算力网络中对等架构的联邦学习框架具有重大理论与实际意义。
基于以上背景,针对联邦学习的优势与挑战,本发明提出了如何将联邦学习部署在边缘计算网络之中,利用边缘计算网络优化联邦学习的方案,为联邦学习在边缘计算网络中的应用奠定基础。
发明内容
为解决现有技术存在的上述技术问题,本发明提供一种部署在边缘计算网络中的联邦学习系统及其学习方法。
本发明采用以下技术方案:
一种部署在边缘计算网络中的联邦学习系统,包括:
联邦学习模块,用于实现联邦学习算法;
边缘推理模块,根据联邦学习训练结果进行业务处理;
云服务模块,监控联邦学习节点的状态并协调联邦学习过程。
进一步地,联邦学习模块协同联邦学习节点进行联邦学习的本地训练、逐层聚合、模型更新的过程。
本发明另提供一种联邦学习系统的学习方法,包括:
步骤1,联邦学习模块与云服务模块初始化以获取全局模型;
步骤2,联邦学习节点的联邦学习模块利用本地数据对全局模型在本地进行训练;
步骤3,联邦学习节点的联邦学习模块在云服务模块的协助下修改拓扑结构,并进行聚合;
步骤4,根节点的联邦学习模块分发新模型至根节点的子节点,子节点继续向自身的子节点传递新模型;
步骤5,联邦学习节点的联邦学习模块对推理模块中的模型进行更新。
进一步地,步骤1中包括:
步骤1.1,参与联邦学习的联邦学习节点的联邦学习模块读取本地配置文件进行初始化,获取云服务模块地址,获取上层联邦学习节点的地址,获取下层联邦学习节点的地址,获取本地联邦学习权重;
步骤1.2,联邦学习节点的联邦学习模块根据本地设置信息或云服务模块发送的信息确认自身的上层联邦学习节点地址、下层联邦学习节点地址以及自身是否为根节点;
步骤1.3,根节点的联邦学习模块向其下层联邦学习节点的联邦学习模块发送需要联邦学习训练的全局模型。
进一步地,步骤3中包括:
步骤3.1,云服务模块采集边缘计算网络中各个节点间的上行带宽占用情况,以及联邦学习节点的算力资源占用情况,云服务模块利用采集的数据计算出联邦学习拓扑结构,并将联邦学习拓扑结构发送给各个联邦学习节点以将现有的拓扑结构更改为计算得到的拓扑结构;
步骤3.2,联邦学习节点的联邦学习模块没有子节点,则将步骤2中训练得到的梯度数据与自身的联邦学习权重传输给上层节点;联邦学习节点的联邦学习模块有子节点,则等待子节点将子节点的梯度数据及联邦学习权重上传给自身;
步骤3.3,收齐全部子节点上传的梯度数据的联邦学习节点的联邦学习模块进行聚合操作;
步骤3.4,重复步骤3.3直到根节点的联邦学习模块收齐所有根节点的子节点传输的梯度数据和联邦学习权重并进行聚合操作,根节点的联邦学习模块完成最后的聚合过程。
进一步地,步骤4中包括:
步骤4.1,云服务模块采集边缘计算网络中各个节点间的带宽占用情况,云服务模块利用采集的数据计算出联邦学习拓扑结构,并将计算出联邦学习拓扑结构发送给各个联邦学习节点,以将现有的拓扑结构更改为计算出联邦学习拓扑结构;
步骤4.2,根节点的联邦学习模块将新模型发送给根节点的子节点,非根节点的联邦学习模块在接收到上层节点的新模型后将上层节点的新模型保存在本地,当非根节点存在子节点,则将上层节点的新模型发送给子节点。
进一步地,步骤2中,联邦学习节点本地训练的过程利用分割学习进行任务卸载,进一步地,利用分割学习进行任务卸载包括:
步骤2.1,确定卸载到的算力资源节点,确定模型分割方式,并将分割后的后半部分模型由联邦学习节点传输给对应的算力资源节点;
步骤2.2,联邦学习节点将要训练的本地数据输入前半部分模型进行前向传播;
步骤2.3,联邦学习节点将步骤2.2中得到的中间结果及其对应的标签数据传输给算力资源节点;
步骤2.4,算力资源节点将接收到的中间结果输入后半部分模型进行前向传播,得到模型输出,根据模型输出与对应标签以及损失函数计算损失,利用反向传播计算损失对后半部分模型各层参数的偏导数,并利用偏导数对后半部分模型的参数进行更新;
步骤2.5,算力资源节点将步骤2.4中得到的损失对后半部分模型的第一层的输入数据的偏导数传递给联邦学习节点的联邦学习模块;
步骤2.6,联邦学习模块利用步骤2.5中接收到的梯度数据在前半部分模型中进行反向传播,利用反向传播计算损失对前半部分模型各层参数的偏导数对前半部分模型的参数进行更新;重复步骤2.2到步骤2.6,直到联邦学习节点将本地数据训练完毕;
步骤2.7,联邦学习模块将前半部分模型传递给上层节点,算力资源节点将后半部分模型传递给上层节点,上层节点将接收到的前后两部分模型组合在一起继续进行联邦学习。
进一步地,步骤2.1中,由云服务模块根据各个边缘节点和算力资源节点的资源占用情况,做出联邦学习节点是否需要任务卸载以及向哪个算力资源节点进行任务卸载的决策。
与现有技术相比,本发明的优越效果在于:
1.本发明所述的部署在边缘计算网络中的联邦学习系统及其学习方法,通过采用逐层聚合的方式,将根节点聚合的计算任务分散到各个非叶子节点,并且极大的减少了不必要的数据传输;
2.基于对网络资源以及算力资源的感知对拓扑结构进行调整,使得总体上采用剩余带宽最大的链路,并将计算任务最重的根节点安排在剩余算力资源最丰富的节点上,提高联邦学习的效率;
3.采用分割学习对联邦学习的训练任务进行卸载,在不破坏联邦学习的隐私性的前提下使得联邦学习突破本地计算能力的限制,使得边缘节点能够采用更复杂的模型。
附图说明
图1是本发明实施例中联邦学习实际链路的示意图;
图2是本发明实施例中联邦学习拓扑结构1的示意图;
图3是本发明实施例中联邦学习拓扑结构2的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
实施例
所述部署在边缘计算网络中的联邦学习系统,包括:
联邦学习模块,用于实现联邦学习算法,并协同联邦学习节点进行联邦学习的本地训练、逐层聚合、模型更新的过程;
边缘推理模块,根据联邦学习训练结果进行业务处理;
云服务模块,监控联邦学习节点的状态并协调联邦学习过程。
在上述实施例中,所述联邦学习模块还能够用于实现本地训练任务卸载功能,包括模型分割、前向传播、反向传播,负责对边缘推理微服务的模型进行更新;
需要说明的是,云服务模块即能够部署在云端,也能够部署在边缘计算网络之中。
所述联邦学习系统的学习方法,包括:
步骤1,联邦学习模块与云服务模块初始化以获取全局模型;
步骤2,联邦学习节点的联邦学习模块利用本地数据对全局模型在本地进行训练;
步骤3,联邦学习节点的联邦学习模块在云服务模块的协助下修改拓扑结构,并进行聚合;
步骤4,根节点的联邦学习模块分发新模型至根节点的子节点,子节点继续向自身的子节点传递新模型;
步骤5,联邦学习节点的联邦学习模块对推理模块中的模型进行更新。
具体实现中,作为一种实施方式,如果一个边缘节点同时部署了联邦学习模块和边缘推理模块,则只需要在本地进行模型更新,如果一个边缘节点只有边缘推理模块而没有联邦学习模块则利用附近的联邦学习节点的联邦学习模块进行模型更新。
在上述实施例中,联邦学习的拓扑结构是指在一轮联邦学习的聚合或更新模型的过程中聚合/分发模型时数据传输的方向所定义的结构,比如传统的用户—服务器架构的拓扑结构就是服务器作为根节点而所有的用户作为子节点的一种星形结构,在上述实施例中所述的系统中各个联邦学习节点构成一个树形结构,该树形结构的根节点即是根节点,比如图2中拓扑结构1中的边缘节点2就是根节点。
步骤1中包括:
步骤1.1,参与联邦学习的联邦学习节点的联邦学习模块读取本地配置文件进行初始化,获取云服务模块地址,获取上层联邦学习节点的地址,获取下层联邦学习节点的地址,获取本地联邦学习权重;
步骤1.2,联邦学习节点的联邦学习模块根据本地设置信息或云服务模块发送的信息确认自身的上层联邦学习节点地址、下层联邦学习节点地址以及自身是否为根节点;
步骤1.3,根节点的联邦学习模块向其下层联邦学习节点的联邦学习模块发送需要联邦学习训练的全局模型。
具体实现中,作为一种实施方式,步骤1.1中,默认联邦学习权重为1,联邦学习节点上的联邦学习模块向云服务模块发送自身地址信息,确认参与联邦学习,云服务模块返回确认信息;
在上述实施例中,步骤1.3中,全局模型是随机初始化的模型或事先通过预训练过的模型或之前联邦学习训练的结果,非根节点在接收到上层节点传输的模型之后将该模型保存在本地并且向该节点的下层联邦学习节点的联邦学习模块传输。
步骤3中包括:
步骤3.1,云服务模块采集边缘计算网络中各个节点间的上行带宽占用情况,以及联邦学习节点的算力资源占用情况,云服务模块利用采集的数据计算出联邦学习拓扑结构,并将联邦学习拓扑结构发送给各个联邦学习节点以将现有的拓扑结构更改为计算得到的拓扑结构;
步骤3.2,联邦学习节点的联邦学习模块如果没有子节点,则将步骤2中训练得到的梯度数据与自身的联邦学习权重传输给上层节点;如果有子节点,则等待子节点将子节点的梯度数据及联邦学习权重上传给自身;
步骤3.3,收齐全部子节点上传的梯度数据的联邦学习节点的联邦学习模块进行聚合操作;
步骤3.4,重复步骤3.3直到根节点的联邦学习模块收齐所有根节点的子节点传输的梯度数据和联邦学习权重并进行聚合操作,根节点的联邦学习模块完成最后的聚合过程。
在上述实施例的步骤3.1中,拓扑结构决策考虑的主要是上行带宽和算力资源占用情况;
在上述实施例的步骤3.3中,聚合操作通过将本地梯度数据乘以本地权重再与各个子节点上传的梯度数据相加,得到聚合结果;将本地权重和各个子节点上传的权重相加得到新权重;将聚合结果与新权重上传给上层节点;
具体实现中,作为一种实施方式,在步骤3.1中,云服务模块选取算力资源剩余最丰富的联邦学习节点作为根节点,将各个联邦学习节点两两之间的带宽进行从大到小的排序,依次将上述序列中对应的点和边加入拓扑结构,如果上述序列中某一个项加入拓扑结构后拓扑结构出现了闭环则跳过该项,重复此过程直到全部的联邦学习节点均包含在拓扑结构中;
具体实现中,作为一种实施方式,在步骤3.3中,进行聚合操作的联邦学习模块将收集到的子节点的梯度数据分别乘以其自身的联邦学习权重并求和得到新的梯度数据,将收集到的子节点的联邦学习权重求和得到新的联邦学习权重,完成聚合操作的联邦学习模块将聚合后得到的梯度数据和联邦学习权重上传给上层节点;
具体实现中,作为一种实施方式,在步骤3.4中,根节点的联邦学习模块将步骤3.3中得到的梯度数据除以步骤3.3中得到的联邦学习权重,将计算得到的梯度数据用于对全局模型的更新。
步骤4中包括:
步骤4.1,云服务模块采集边缘计算网络中各个节点间的带宽占用情况,云服务模块利用采集的数据计算出联邦学习拓扑结构,并将联邦学习拓扑结构发送给各个联邦学习节点以将其现有的拓扑结构更改为计算得到的联邦学习拓扑结构;
步骤4.2,根节点的联邦学习模块将新模型发送给根节点的子节点,非根节点的联邦学习模块在接收到上层节点的新模型后将上层节点的新模型保存在本地,当非根节点有子节点则将上层节点的新模型发送给子节点。
在上述实施例的步骤4.1中,拓扑结构决策考虑的主要是下行带宽,不考虑算例资源占用情况;
具体实现中,作为一种实施方式,在步骤4.1中,云服务模块保持根节点不变,将各个联邦学习节点两两之间的带宽进行从大到小的排序,依次将上述序列中对应的点和边加入拓扑结构,如果上述序列中某一个项加入拓扑结构后拓扑结构出现了闭环则跳过该项,重复此过程直到全部的联邦学习节点均包含在拓扑结构中。
步骤2中,联邦学习节点本地训练的过程利用分割学习进行任务卸载。
在上述实施例中,通过分割学习进行任务卸载以减轻联邦学习节点的计算压力,提高训练速度。
利用分割学习进行任务卸载包括:
步骤2.1,确定卸载到的算力资源节点,确定模型分割方式,并将分割后的后半部分模型由联邦学习节点传输给对应的算力资源节点;
步骤2.2,联邦学习节点将要训练的本地数据输入前半部分模型进行前向传播;
步骤2.3,联邦学习节点将步骤2.2中得到的中间结果及其对应的标签数据传输给算力资源节点;
步骤2.4,算力资源节点将接收到的中间结果输入后半部分模型进行前向传播,得到模型输出,根据模型输出与对应标签以及损失函数计算损失,利用反向传播计算损失对后半部分模型各层参数的偏导数,并利用偏导数对后半部分模型的参数进行更新;
步骤2.5,算力资源节点将步骤2.4中得到的损失对后半部分模型的第一层的输入数据的偏导数传递给联邦学习节点的联邦学习模块;
步骤2.6,联邦学习模块利用步骤2.5中接收到的梯度数据在前半部分模型中进行反向传播,利用反向传播计算损失对前半部分模型各层参数的偏导数对前半部分模型的参数进行更新;重复步骤2.2到步骤2.6,直到联邦学习节点将本地数据训练完毕;
步骤2.7,联邦学习模块将前半部分模型传递给上层节点,算力资源节点将后半部分模型传递给上层节点,上层节点将接收到的前后两部分模型组合在一起继续进行联邦学习。
在上述实施例中,步骤2.1中,模型分割的位置在联邦学习开始之前人为规定,一般分割模型的位置使得后半部分模型大于前半部分模型;
具体实现中,作为一种实施方式,在步骤2.2中,联邦学习节点每次利用一定量的本地数据进行训练,即小批量梯度下降。
步骤2.1中,由云服务模块根据各个边缘节点和算力资源节点的资源占用情况,做出联邦学习节点是否需要任务卸载以及向哪个算力资源节点进行任务卸载的决策。
下面以四个边缘节点参与联邦学习为例,对本发明进行说明:
如图1所示,为节点之间实际的连接情况,边缘节点2、3、4两两相连,但边缘节点1仅与边缘节点2相连;
上述各边缘节点执行步骤1.1-1.3的准备过程,其中,本次联邦学习所要训练的模型的参数记为:
Figure BDA0002941367900000091
记边缘节点为:k,k∈{1,2,3,4},联邦学习优化的目标为:
Figure BDA0002941367900000092
其中:
Figure BDA0002941367900000093
上式中n表示数据总量,所有训练数据的集合记为:
Figure BDA0002941367900000094
储存在节点k上的数据的集合记为:
Figure BDA0002941367900000095
存储在节点k上的数据量记为:
Figure BDA0002941367900000096
在步骤1.1中,联邦学习本地权重设为:
Figure BDA0002941367900000097
在步骤1.3中,全局模型的权值记为ω0,完成步骤1中准备工作后各个联邦学习节点的模型的权值都初始化为ω0
各个联邦学习节点开始训练,并根据本地算力资源剩余情况判断是否要进行训练任务卸载,如果不需要进行训练任务卸载则在本地利用本地数据
Figure BDA0002941367900000098
计算
Figure BDA0002941367900000099
表示利用节点k的所有本地数据计算的损失函数Fk(ω)的梯度的平均值,其中,
Figure BDA00029413679000000910
nk是节点k的本地数据总量,fi(ω)是损失函数,
Figure BDA00029413679000000911
是节点k的本地数据的集合,并根据
Figure BDA00029413679000000912
Figure BDA00029413679000000913
对ω进行更新,
Figure BDA00029413679000000914
表示数据i对应的梯度,具体更新方法取决于采用的具体优化算法,最简单的可以是全局梯度下降
Figure BDA00029413679000000915
其中α为学习率,如果需要进行训练任务卸载则根据事先定义好的分割方式分割模型,将模型y=g(x),在上式中输入x输出y,分为y=gb(ga(x)),即将模型分成两部分,前半部分为ga(x),后半部分为gb(x),x输入到前半部分,得到中间结果,中间结果输入到后半部分得到y,分割后的两部分模型的权重分别记为ωa和ωb,并将初始ωb发送给相应的算力资源。
联邦学习节点在本地计算
Figure BDA00029413679000000916
其中xi为第i个数据对应的输入,ga为上述模型前半部分,m为中间结果,将m与yi发送给相应的算力资源,算力资源计算模型得到的结果,即估计值
Figure BDA00029413679000000917
与损失fi,如果采用均方误差作为损失函数则
Figure BDA00029413679000000918
其中,yi是数据i对应的正确值,fi则是估计值与正确值的差的平方(MSE),算力资源计算损失函数对后半部分模型的参数的偏导数值
Figure BDA00029413679000000919
与损失函数对中间结果的偏导数值
Figure BDA00029413679000000920
Figure BDA00029413679000000921
发送给对应的联邦学习节点,并利用
Figure BDA00029413679000000922
对ωb进行更新,具体更新方法可以是简单的直接更新
Figure BDA00029413679000000923
即利用梯度下降对后半部分模型的参数进行更新,也可以先进行m轮计算后再根据平均梯度进行更新
Figure BDA00029413679000000924
即利用m轮计算得到的平均梯度对后半部分模型的参数进行更新,或者根据具体的优化算法采用更复杂的更新方式如分布式近似牛顿法等。
联邦学习节点在接收到
Figure BDA0002941367900000101
后计算
Figure BDA0002941367900000102
并利用
Figure BDA0002941367900000103
对ωa进行更新,更新方式与上述算力资源端的更新方式相同,这里不再赘述。
当进行训练任务卸载的节点k的本地数据都处理完之后继续执行步骤3.1,云服务模块采集边缘计算网络中各个节点间的带宽占用情况,以及各个联邦学习节点的算力资源占用情况,云服务模块利用采集的数据计算最合适的联邦学习拓扑结构,并将其发送给各个联邦学习节点以将其现有的拓扑结构更改为计算得到的拓扑结构,假设当前边缘节点2的剩余的算力资源最丰富,则云服务模块决定将边缘节点2作为联邦学习拓扑结构中的根节点,假设当前边缘节点4到边缘节点2的带宽因受到边缘网络中其他业务的影响而较小,云服务做出的拓扑结构决策如图2中的拓扑结构1所示,拓扑结构1中的箭头由下层节点指向上层节点,也就是说在这个拓扑结构中边缘节点2是根节点,其下有边缘节点1与边缘节点3两个子节点,而边缘节点3有一个子节点即边缘节点4。
在上述聚合过程中,如果有边缘节点k的训练过程是利用训练任务卸载进行的,则其向上层节点上传ρk和ωka,而对应的算力资源节点向边缘节点k的上层节点上传ωkb,最终由边缘节点k的上层节点组合收到的ωka与ωkb,继续按上述步骤进行聚合,上述聚合过程的描述中
Figure BDA0002941367900000104
与ωk,以及
Figure BDA0002941367900000105
与ρk是为了区分边缘节点k本地训练结果与本地处理之后结果,但实际执行过程中边缘节点k的上层节点不需要知道来自边缘节点的数据是
Figure BDA0002941367900000106
Figure BDA0002941367900000107
还是ωk和ρk,即边缘节点k的上层节点不需要关心边缘节点k是否还有子节点,因为从上述步骤可以看出边缘节点k的上层节点对接收到的数据的处理方式与边缘节点k是否有子节点无关。
在根节点即边缘节点2完成最后的聚合过程之后则继续执行步骤4,云服务模块利用采集的数据计算最合适的联邦学习拓扑结构,并将其发送给各个联邦学习节点以将其现有的拓扑结构更改为计算得到的拓扑结构,在这次拓扑结构决策中根节点的位置是确定的,即根节点为边缘节点2,假设当前网络中边缘节点2到边缘节点3之间的链路因受到边缘网络中其他业务的影响而较小,云服务做出的拓扑结构决策如图3中的拓扑结构2所示,即这次的拓扑结构为缘节点2是根节点,其下有边缘节点1与边缘节点4两个子节点,而边缘节点4有一个子节点即边缘节点3,将拓扑结构2中所述拓扑结构应用到各边缘节点后继续执行模型分发过程。
边缘节点2将聚合过程中得到的新模型权重作为分发给边缘节点1与边缘节点4,其中t为当前进行的联邦学习的轮数,边缘节点4将接收到的发送给边缘节点3,完成模型分发过程后根据是否满足停止联邦学习的条件来决定是否停止联邦学习,若不满足则返回到步骤2,基于ωt开始下一轮的联邦学习过程,若满足则继续执行步骤5中的对边缘推理模块的模型更新步骤。
如果边缘节点1、2、3、4上有边缘推理模块则对应节点的联邦学习模块对本地的边缘推理模块中的模型利用ωt进行更新,若某一个边缘节点,比如边缘节点5上有边缘推理模块但没有联邦学习模块,则利用与边缘节点5相对靠近的有联邦学习模块的节点进行更新,例如让边缘节点4上的联邦学习模块向边缘节点5上的边缘推理模块传输ωt以对边缘节点5上的边缘推理模块的模型进行更新,完成上述更新过程后各个联邦学习模块即可结束这次联邦学习过程,各个边缘推理模块则开始利用新模型处理相应的业务。
本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书界定。

Claims (10)

1.一种部署在边缘计算网络中的联邦学习系统,其特征在于,包括:
联邦学习模块,用于实现联邦学习算法;
边缘推理模块,根据联邦学习训练结果进行业务处理;
云服务模块,监控联邦学习节点的状态并协调联邦学习过程。
2.根据权利要求1所述的部署在边缘计算网络中的联邦学习系统,其特征在于,联邦学习模块协同联邦学习节点进行联邦学习的本地训练、逐层聚合、模型更新的过程。
3.一种联邦学习系统的学习方法,其特征在于,包括:
步骤1,联邦学习模块与云服务模块初始化以获取全局模型;
步骤2,联邦学习节点的联邦学习模块利用本地数据对全局模型在本地进行训练;
步骤3,联邦学习节点的联邦学习模块在云服务模块的协助下修改拓扑结构,并进行聚合;
步骤4,根节点的联邦学习模块分发新模型至根节点的子节点,子节点继续向自身的子节点传递新模型;
步骤5,联邦学习节点的联邦学习模块对推理模块中的模型进行更新。
4.根据权利要求3所述的联邦学习系统的学习方法,其特征在于,步骤1中包括:
步骤1.1,参与联邦学习的联邦学习节点的联邦学习模块读取本地配置文件进行初始化,获取云服务模块地址,获取上层联邦学习节点的地址,获取下层联邦学习节点的地址,获取本地联邦学习权重;
步骤1.2,联邦学习节点的联邦学习模块根据本地设置信息或云服务模块发送的信息确认自身的上层联邦学习节点地址、下层联邦学习节点地址以及自身是否为根节点;
步骤1.3,根节点的联邦学习模块向其下层联邦学习节点的联邦学习模块发送需要联邦学习训练的全局模型。
5.根据权利要求3所述的联邦学习系统的学习方法,其特征在于,步骤3中包括:
步骤3.1,云服务模块采集边缘计算网络中各个节点间的上行带宽占用情况,以及联邦学习节点的算力资源占用情况,云服务模块利用采集的数据计算出联邦学习拓扑结构,并将联邦学习拓扑结构发送给各个联邦学习节点以将现有的拓扑结构更改为计算得到的拓扑结构;
步骤3.2,联邦学习节点的联邦学习模块没有子节点,则将步骤2中训练得到的梯度数据与自身的联邦学习权重传输给上层节点;联邦学习节点的联邦学习模块有子节点,则等待子节点将子节点的梯度数据及联邦学习权重上传给自身;
步骤3.3,收齐全部子节点上传的梯度数据的联邦学习节点的联邦学习模块进行聚合操作;
步骤3.4,重复步骤3.3直到根节点的联邦学习模块收齐所有根节点的子节点传输的梯度数据和联邦学习权重并进行聚合操作,根节点的联邦学习模块完成最后的聚合过程。
6.根据权利要求3所述的联邦学习系统的学习方法,其特征在于,步骤4中包括:
步骤4.1,云服务模块采集边缘计算网络中各个节点间的带宽占用情况,云服务模块利用采集的数据计算出联邦学习拓扑结构,并将联邦学习拓扑结构发送给各个联邦学习节点,以将现有的拓扑结构更改为计算得到的联邦学习拓扑结构;
步骤4.2,根节点的联邦学习模块将新模型发送给根节点的子节点,非根节点的联邦学习模块在接收到上层节点的新模型后将上层节点的新模型保存在本地,当非根节点有子节点则将上层节点的新模型发送给子节点。
7.根据权利要求3所述的联邦学习系统的学习方法,其特征在于,步骤2中,联邦学习节点本地训练的过程利用分割学习进行任务卸载。
8.根据权利要求7所述的联邦学习系统的学习方法,其特征在于,利用分割学习进行任务卸载包括:
步骤2.1,确定卸载到的算力资源节点,确定模型分割方式,并将分割后的后半部分模型由联邦学习节点传输给对应的算力资源节点;
步骤2.2,联邦学习节点将要训练的本地数据输入前半部分模型进行前向传播;
步骤2.3,联邦学习节点将步骤2.2中得到的中间结果及其对应的标签数据传输给算力资源节点;
步骤2.4,算力资源节点将接收到的中间结果输入后半部分模型进行前向传播,得到模型输出,根据模型输出与对应标签以及损失函数计算损失,利用反向传播计算损失对后半部分模型各层参数的偏导数,并利用偏导数对后半部分模型的参数进行更新;
步骤2.5,算力资源节点将步骤2.4中得到的损失对后半部分模型的第一层的输入数据的偏导数传递给联邦学习节点的联邦学习模块;
步骤2.6,联邦学习模块利用步骤2.5中接收到的梯度数据在前半部分模型中进行反向传播,利用反向传播计算损失对前半部分模型各层参数的偏导数,对前半部分模型的参数进行更新;重复步骤2.2到步骤2.6,直到联邦学习节点将本地数据训练完毕;
步骤2.7,联邦学习模块将前半部分模型传递给上层节点,算力资源节点将后半部分模型传递给上层节点,上层节点将接收到的前后两部分模型组合在一起继续进行联邦学习。
9.根据权利要求7所述的联邦学习系统的学习方法,其特征在于,步骤2.1中,由云服务模块根据各个边缘节点和算力资源节点的资源占用情况,做出联邦学习节点是否需要任务卸载以及向哪个算力资源节点进行任务卸载的决策。
10.根据权利要求5所述的联邦学习系统的学习方法,其特征在于,步骤3.3中,聚合操作通过将本地梯度数据乘以本地权重再与各个子节点上传的梯度数据相加,得到聚合结果。
CN202110180514.XA 2021-02-08 2021-02-08 部署在边缘计算网络中的联邦学习系统及其学习方法 Active CN113010305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110180514.XA CN113010305B (zh) 2021-02-08 2021-02-08 部署在边缘计算网络中的联邦学习系统及其学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110180514.XA CN113010305B (zh) 2021-02-08 2021-02-08 部署在边缘计算网络中的联邦学习系统及其学习方法

Publications (2)

Publication Number Publication Date
CN113010305A true CN113010305A (zh) 2021-06-22
CN113010305B CN113010305B (zh) 2022-09-23

Family

ID=76384063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110180514.XA Active CN113010305B (zh) 2021-02-08 2021-02-08 部署在边缘计算网络中的联邦学习系统及其学习方法

Country Status (1)

Country Link
CN (1) CN113010305B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113379039A (zh) * 2021-07-02 2021-09-10 支付宝(杭州)信息技术有限公司 一种模型训练的方法、系统及装置
CN113572899A (zh) * 2021-07-02 2021-10-29 山东师范大学 一种基于端边网云协同的防电话诈骗的方法及系统
CN113971090A (zh) * 2021-10-21 2022-01-25 中国人民解放军国防科技大学 分布式深度神经网络的分层联邦学习方法及装置
CN114118447A (zh) * 2021-12-15 2022-03-01 湖南红普创新科技发展有限公司 新型联邦学习系统、方法、装置、计算机设备及存储介质
CN114363043A (zh) * 2021-12-30 2022-04-15 华东师范大学 一种对等网络中基于可验证聚合和差分隐私的异步联邦学习方法
CN114638357A (zh) * 2022-02-28 2022-06-17 厦门大学 基于自动联邦学习的边缘计算系统及其学习方法
CN114818476A (zh) * 2022-04-01 2022-07-29 西南交通大学 一种应用于旋转机械设备寿命预测的联邦学习系统及方法
CN115173924A (zh) * 2022-07-06 2022-10-11 多彩贵州印象网络传媒股份有限公司 一种基于云边协同技术的无人机无人巡检管理系统
CN115329990A (zh) * 2022-10-13 2022-11-11 合肥本源物联网科技有限公司 边缘计算场景下基于模型分割的异步联邦学习加速方法
WO2024007264A1 (zh) * 2022-07-07 2024-01-11 华为技术有限公司 模型训练方法及通信装置
CN114638357B (zh) * 2022-02-28 2024-05-31 厦门大学 基于自动联邦学习的边缘计算系统及其学习方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290223A1 (en) * 2012-04-27 2013-10-31 Yahoo! Inc. Method and system for distributed machine learning
US20200050951A1 (en) * 2018-08-09 2020-02-13 International Business Machines Corporation Collaborative distributed machine learning
CN110909865A (zh) * 2019-11-18 2020-03-24 福州大学 边缘计算中基于分层张量分解的联邦学习方法
CN110929880A (zh) * 2019-11-12 2020-03-27 深圳前海微众银行股份有限公司 一种联邦学习方法、装置及计算机可读存储介质
CN111242316A (zh) * 2020-01-09 2020-06-05 深圳前海微众银行股份有限公司 纵向联邦学习模型训练优化方法、装置、设备及介质
CN111522669A (zh) * 2020-04-29 2020-08-11 深圳前海微众银行股份有限公司 横向联邦学习系统优化方法、装置、设备及可读存储介质
CN111708640A (zh) * 2020-06-23 2020-09-25 苏州联电能源发展有限公司 一种面向边缘计算的联邦学习方法和系统
CN112070240A (zh) * 2020-09-07 2020-12-11 清华大学 一种高效通信的分层联邦学习框架及其优化方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290223A1 (en) * 2012-04-27 2013-10-31 Yahoo! Inc. Method and system for distributed machine learning
US20200050951A1 (en) * 2018-08-09 2020-02-13 International Business Machines Corporation Collaborative distributed machine learning
CN110929880A (zh) * 2019-11-12 2020-03-27 深圳前海微众银行股份有限公司 一种联邦学习方法、装置及计算机可读存储介质
CN110909865A (zh) * 2019-11-18 2020-03-24 福州大学 边缘计算中基于分层张量分解的联邦学习方法
CN111242316A (zh) * 2020-01-09 2020-06-05 深圳前海微众银行股份有限公司 纵向联邦学习模型训练优化方法、装置、设备及介质
CN111522669A (zh) * 2020-04-29 2020-08-11 深圳前海微众银行股份有限公司 横向联邦学习系统优化方法、装置、设备及可读存储介质
CN111708640A (zh) * 2020-06-23 2020-09-25 苏州联电能源发展有限公司 一种面向边缘计算的联邦学习方法和系统
CN112070240A (zh) * 2020-09-07 2020-12-11 清华大学 一种高效通信的分层联邦学习框架及其优化方法和系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572899A (zh) * 2021-07-02 2021-10-29 山东师范大学 一种基于端边网云协同的防电话诈骗的方法及系统
CN113572899B (zh) * 2021-07-02 2024-03-22 山东师范大学 一种基于端边网云协同的防电话诈骗的方法及系统
CN113379039A (zh) * 2021-07-02 2021-09-10 支付宝(杭州)信息技术有限公司 一种模型训练的方法、系统及装置
CN113971090B (zh) * 2021-10-21 2022-09-13 中国人民解放军国防科技大学 分布式深度神经网络的分层联邦学习方法及装置
CN113971090A (zh) * 2021-10-21 2022-01-25 中国人民解放军国防科技大学 分布式深度神经网络的分层联邦学习方法及装置
CN114118447A (zh) * 2021-12-15 2022-03-01 湖南红普创新科技发展有限公司 新型联邦学习系统、方法、装置、计算机设备及存储介质
CN114363043B (zh) * 2021-12-30 2023-09-08 华东师范大学 一种对等网络中基于可验证聚合和差分隐私的异步联邦学习方法
CN114363043A (zh) * 2021-12-30 2022-04-15 华东师范大学 一种对等网络中基于可验证聚合和差分隐私的异步联邦学习方法
CN114638357A (zh) * 2022-02-28 2022-06-17 厦门大学 基于自动联邦学习的边缘计算系统及其学习方法
CN114638357B (zh) * 2022-02-28 2024-05-31 厦门大学 基于自动联邦学习的边缘计算系统及其学习方法
CN114818476A (zh) * 2022-04-01 2022-07-29 西南交通大学 一种应用于旋转机械设备寿命预测的联邦学习系统及方法
CN114818476B (zh) * 2022-04-01 2023-08-22 西南交通大学 一种应用于旋转机械设备寿命预测的联邦学习系统及方法
CN115173924A (zh) * 2022-07-06 2022-10-11 多彩贵州印象网络传媒股份有限公司 一种基于云边协同技术的无人机无人巡检管理系统
WO2024007264A1 (zh) * 2022-07-07 2024-01-11 华为技术有限公司 模型训练方法及通信装置
CN115329990A (zh) * 2022-10-13 2022-11-11 合肥本源物联网科技有限公司 边缘计算场景下基于模型分割的异步联邦学习加速方法
CN115329990B (zh) * 2022-10-13 2023-01-20 合肥本源物联网科技有限公司 边缘计算场景下基于模型分割的异步联邦学习加速方法

Also Published As

Publication number Publication date
CN113010305B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN113010305B (zh) 部署在边缘计算网络中的联邦学习系统及其学习方法
US20220114475A1 (en) Methods and systems for decentralized federated learning
CN110766159B (zh) 基于改进遗传算法的多uav服务边缘计算的任务分配方法
CN113238867B (zh) 一种基于网络卸载的联邦学习方法
CN110968426A (zh) 一种基于在线学习的边云协同k均值聚类的模型优化方法
CN112469047B (zh) 一种天地一体化智能网络卫星节点部署方法
WO2023109699A1 (zh) 一种多智能体的通信学习方法
WO2023185485A1 (zh) 基于自适应分割联邦学习的模型训练方法和人脸识别方法
CN113971461A (zh) 一种无人机自组网分布式联邦学习方法和系统
CN113312177B (zh) 一种基于联邦学习的无线边缘计算系统、优化方法
CN115802389B (zh) 一种利用数字孪生辅助模型训练的联邦学习方法
CN116187429A (zh) 一种基于切分学习的端边云协同同步联邦学习训练算法
CN116542322A (zh) 一种联邦学习方法
CN115761378A (zh) 基于联邦学习的电力巡检图像分类和检测方法及系统
Wang et al. Digital twin-enabled computation offloading in UAV-assisted MEC emergency networks
CN114363803A (zh) 一种移动边缘计算网络节能的多任务分配方法及系统
CN114116061A (zh) 一种移动边缘计算环境下的工作流任务卸载方法及系统
CN116489708B (zh) 面向元宇宙的云边端协同的移动边缘计算任务卸载方法
CN112616126A (zh) 一种基于分布式协作的传感器信息处理方法
CN115756873B (zh) 一种基于联邦强化学习的移动边缘计算卸载方法和平台
CN115150288B (zh) 一种分布式通信系统和方法
CN114268966B (zh) 一种无人机辅助mec网络低时延多任务分配方法及系统
CN112738225B (zh) 基于人工智能的边缘计算方法
CN113391897A (zh) 一种面向异构场景的联邦学习训练加速方法
CN114022731A (zh) 基于drl的联邦学习节点选择方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant