CN117806838A - 基于异构数据的设备分簇方法、装置、设备、系统及介质 - Google Patents
基于异构数据的设备分簇方法、装置、设备、系统及介质 Download PDFInfo
- Publication number
- CN117806838A CN117806838A CN202410230125.7A CN202410230125A CN117806838A CN 117806838 A CN117806838 A CN 117806838A CN 202410230125 A CN202410230125 A CN 202410230125A CN 117806838 A CN117806838 A CN 117806838A
- Authority
- CN
- China
- Prior art keywords
- edge
- cluster
- aggregation
- machine learning
- learning 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000010801 machine learning Methods 0.000 claims abstract description 214
- 238000012549 training Methods 0.000 claims abstract description 206
- 238000012360 testing method Methods 0.000 claims abstract description 81
- 238000004220 aggregation Methods 0.000 claims description 290
- 230000002776 aggregation Effects 0.000 claims description 289
- 241000854291 Dianthus carthusianorum Species 0.000 claims description 76
- 239000013598 vector Substances 0.000 claims description 57
- 238000004891 communication Methods 0.000 claims description 42
- 238000006116 polymerization reaction Methods 0.000 claims description 37
- 230000008859 change Effects 0.000 claims description 17
- 230000004931 aggregating effect Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000013145 classification model Methods 0.000 claims description 5
- 230000000379 polymerizing effect Effects 0.000 claims description 4
- 230000010365 information processing Effects 0.000 claims description 3
- 238000000465 moulding Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 17
- 238000009826 distribution Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 20
- 230000000694 effects Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 201000010099 disease Diseases 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供基于异构数据的设备分簇方法、装置、设备、系统及介质,涉及计算机技术领域,首先可将多个边缘设备划分至多个设备簇,以便各边缘设备对机器学习模型进行层级联邦训练;同时,在分簇过程中,本发明可确定各边缘设备本地的机器学习模型对同一测试数据集的推理结果,并可基于该推理结果确定各边缘设备间的训练数据相似度;进而,可利用各训练数据相似度将各边缘设备划分至多个设备簇,即可在分簇过程中考虑数据异构的特点和分布情况,并将拥有相似数据的设备放在同一簇中,从而可提高簇内数据的相似性。这样,在各边缘设备进行层级联邦训练时,可确保相近的机器学习模型参数先聚合,可确保全局模型更快收敛,并可提升联邦学习效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及基于异构数据的设备分簇方法、装置、设备、系统及介质。
背景技术
联邦学习是一种常见的分布式模型训练方式。这种训练方式所涉及的系统通常包含多个训练设备及单个中央服务器,并且这多个训练设备部署有相同的机器学习模型。在实际训练过程中,各训练设备首先会使用本地的训练数据对本地的机器学习模型进行训练;随后,在训练设备完成本地训练时,可将本地的模型参数发送到中央服务器,并由中央服务器对接收到的模型参数进行平均、利用平均参数对全局模型进行更新,再将更新后的全局模型参数发送回各个设备。这个过程在多轮迭代中重复进行,直到达到预定的停止条件。在边缘计算场景中,上述训练设备也可以为边缘设备,而中央服务器也可以为边缘云服务器。
相关技术中,由于不同边缘设备中的训练数据可能存在较大差异,导致不同边缘设备所训练得到的机器学习模型参数也可能存在较大差异,进而导致中央服务器中的全局模型难以快速收敛,即无法达到较高的训练效率。
发明内容
本发明的目的是提供基于异构数据的设备分簇方法、装置、设备、系统及介质,首先可将多个边缘设备划分至多个设备簇,以使各边缘设备进行层级联邦训练,同时在分簇过程中可考虑训练数据异构的特点和分布情况,将拥有近似训练数据的边缘设备放在同一设备簇中,从而可提升联邦学习效率。
为解决上述技术问题,本发明提供一种基于异构数据的设备分簇方法,应用于边缘云服务器,所述方法包括:
向多个边缘设备下发同一组测试数据集,并获取各所述边缘设备本地的机器学习模型对所述测试数据集的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备均已采用其本地的训练数据对所述机器学习模型进行训练;
利用各所述推理结果确定各所述边缘设备间的训练数据相似度,并利用各所述训练数据相似度将各所述边缘设备划分至多个设备簇;
将设备簇信息下发至各所述边缘设备,以由各所述边缘设备将其本地的机器学习模型参数在所述设备簇中进行近邻聚合和簇内聚合、并由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合。
可选地,所述利用各所述推理结果确定各所述边缘设备间的训练数据相似度,包括:
对各所述推理结果进行向量转换得到推理结果向量,并确定各所述推理结果向量间的推理结果相似度;
将所述推理结果相似度确定为所述边缘设备间的训练数据相似度。
可选地,所述机器学习模型为分类模型,所述推理结果为所述机器学习模型对所述测试数据集中的每种分类类型的分类结果;
所述对各所述推理结果进行向量转换得到推理结果向量,并确定各所述推理结果向量间的推理结果相似度,包括:
对各所述推理结果进行二值向量转换得到所述推理结果向量;所述推理结果向量中的每一元素与所述测试数据集中的每种分类类型对应,所述元素的值为第一值时表示对应的分类类型被所述机器学习模型正确分类,所述元素的值为第二值时表示对应的分类类型被所述机器学习模型错误分类;
基于如下公式确定所述推理结果向量间的推理结果相似度:
;
其中,Similarity表示所述推理结果相似度,A、B表示两个不同的推理结果向量,表示交集运算,/>表示并集运算。
可选地,所述利用各所述训练数据相似度将各所述边缘设备划分至多个设备簇,包括:
利用各所述训练数据相似度为所有所述边缘设备构建带权无向图;所述带权无向图中的各节点与各所述边缘设备对应,所述节点间设置有边当且仅当对应的边缘设备间的训练数据相似度大于第一阈值,所述边的权重为对应的边缘设备间的训练数据相似度;
利用所述带权无向图将各所述边缘设备划分至多个设备簇,并在各所述设备簇中确定簇头边缘设备。
可选地,所述利用所述带权无向图将各所述边缘设备划分至多个设备簇,包括:
利用所述带权无向图中权重大于第二阈值的选定边设置多个初始簇,并为各所述初始簇中的节点设置各所述初始簇的簇标签;所述初始簇中的节点由所述选定边连通,所述初始簇间不存在所述选定边,所述第二阈值大于所述第一阈值;
将标签变化数量初始化为零,并遍历所述带权无向图中所有未被设置至所述初始簇的节点,针对每个被遍历的目标节点,统计各种所述簇标签在所述目标节点的邻居节点中的出现次数;
若所述目标节点未设置所述簇标签或所述目标节点的簇标签与所述出现次数最大的簇标签不同,则将所述目标节点的簇标签设置为所述出现次数最大的簇标签,并对所述标签变化数量加1;
在完成节点遍历时,判断所述标签变化数量是否大于预设值;
若是,则进入将标签变化数量初始化为零,并遍历所述带权无向图中所有未被设置至所述初始簇的节点的步骤;
若否,则将拥有相同所述簇标签的节点对应的边缘设备划分至同一所述设备簇。
可选地,所述在各所述设备簇中确定簇头边缘设备,包括:
根据所述边缘设备间的通信距离、通信速度和/或所述边缘设备与所述边缘云服务器间的通信速度在各所述设备簇中确定所述簇头边缘设备。
可选地,在将设备簇信息下发至各所述边缘设备之后,还包括:
接收各所述簇头边缘设备上传的簇内聚合模型参数,并对接收到的所有所述簇内聚合模型参数进行聚合得到全局聚合模型参数;
判断包含所述全局聚合模型参数的全局聚合模型是否收敛;
若是,则结束训练;
若否,则将所述全局聚合模型参数下发至各所述边缘设备,以使各所述边缘设备利用所述全局聚合模型参数更新其本地的机器学习模型,并使各所述边缘设备对更新后的机器学习模型继续进行联邦学习。
可选地,在将所述全局聚合模型参数下发至各所述边缘设备之前,还包括:
判断当前联邦学习轮次是否达到预设数值;
若是,则进入向多个边缘设备下发同一组测试数据集的步骤,并在执行完将设备簇信息下发至各所述边缘设备的步骤时,进入将所述全局聚合模型参数下发至各所述边缘设备的步骤;
若否,则进入将所述全局聚合模型参数下发至各所述边缘设备的步骤。
可选地,所述对接收到的所有所述簇内聚合模型参数进行聚合得到全局聚合模型参数,包括:
通过如下公式对接收到的所有所述簇内聚合模型参数进行聚合得到全局聚合模型参数:
;
其中,表示对所有第t+1轮簇内聚合得到的簇内聚合模型参数进行聚合得到的全局聚合模型参数,/>表示第c个设备簇在第t+1轮簇内聚合中得到的簇内聚合模型,C表示设备簇总量。
可选地,在向多个边缘设备下发同一组测试数据集之前,还包括:
在开始首轮联邦学习时,控制各所述边缘设备采用其本地的训练数据对其本地的机器学习模型进行训练;
在确定各所述边缘设备均完成训练时进入向多个边缘设备下发同一组测试数据集的步骤。
本发明还提供一种设备分簇方法,应用于边缘设备,所述方法包括:
接收边缘云服务器下发的测试数据集;各所述边缘设备对应相同测试数据集;
将所述测试数据集输入本地的机器学习模型,得到所述测试数据集对应的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备均已采用其本地的训练数据对所述机器学习模型进行训练;
将所述推理结果发送至所述边缘云服务器,并接收所述边缘云服务器下发的设备簇信息,以将本地的机器学习模型参数在所述设备簇信息对应的设备簇中进行近邻聚合和簇内聚合、并由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合;所述边缘云服务器利用由各所述边缘设备的推理结果所确定的训练数据相似度将各所述边缘设备划分至多个所述设备簇。
可选地,在接收所述边缘云服务器下发的设备簇信息之后,还包括:
利用本地的训练数据对本地的机器学习模型进行迭代训练;
当训练迭代次数达到第一预设值的整数倍时,向自身的邻居边缘设备广播本地的机器学习模型参数,并利用所述邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行聚合更新;所述邻居边缘设备为所述设备簇中与所述边缘设备间的训练数据相似度大于第一阈值的边缘设备;
当训练迭代次数达到第二预设值的整数倍时,将本地的机器学习模型在所述设备簇中进行簇内聚合;所述第二预设值大于所述第一预设值;
当自身属于所述设备簇的簇头边缘设备时,将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合;
接收所述边缘云服务器下发的全局聚合模型参数,利用所述全局聚合模型参数更新本地的机器学习模型,并基于本地更新后的机器学习模型进入利用本地的训练数据对本地的机器学习模型进行迭代训练的步骤。
可选地,所述将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合,包括:
当簇内聚合次数达到第三预设值的整数倍时,进入所述将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合的步骤。
可选地,所述利用所述邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行聚合更新,包括:
利用所述邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行平均聚合;
利用平均聚合得到的机器学习模型参数对本地的机器学习模型参数进行更新。
可选地,所述将本地的机器学习模型在所述设备簇中进行簇内聚合,包括:
将本地的机器学习模型参数发送至所述簇头边缘设备;
当自身属于所述设备簇的簇头边缘设备时,通过如下公式对接收到的机器学习模型参数进行聚合得到所述簇内聚合模型参数:
;
其中,表示第c个设备簇在第t+1轮簇内聚合得到的簇内聚合模型参数,/>表示第c个设备簇在第t轮簇内聚合得到的簇内聚合模型参数,/>表示在第t+1轮簇内聚合前第c个设备簇中的第j个边缘设备本地的机器学习模型参数,/>表示第c个设备簇中的边缘设备数量,/>表示超参数。
本发明还提供一种设备分簇装置,应用于边缘云服务器,所述装置包括:
测试模块,用于向多个边缘设备下发同一组测试数据集,并获取各所述边缘设备本地的机器学习模型对所述测试数据集的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备均采用其本地的训练数据对所述机器学习模型进行训练;
分簇模块,用于利用各所述推理结果确定各所述边缘设备间的训练数据相似度,并利用各所述训练数据相似度将各所述边缘设备划分至多个设备簇;
信息下发模块,用于将设备簇信息下发至各所述边缘设备,以先由各所述边缘设备将其本地的机器学习模型参数在所述设备簇中进行近邻聚合和簇内聚合、再由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合。
本发明还提供一种基于异构数据的设备分簇装置,应用于边缘设备,所述装置包括:
接收模块,用于接收边缘云服务器下发的测试数据集;各所述边缘设备对应相同测试数据集;
测试模块,用于将所述测试数据集输入本地的机器学习模型,得到所述测试数据集对应的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备均采用其本地的训练数据对所述机器学习模型进行训练;
信息处理模块,用于将所述推理结果发送至所述边缘云服务器,并接收所述边缘云服务器下发的设备簇信息,以先将本地的机器学习模型参数在所述设备簇信息对应的设备簇中进行近邻聚合和簇内聚合、再由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合;所述边缘云服务器利用由各所述边缘设备的推理结果所确定的训练数据相似度将各所述边缘设备划分至多个所述设备簇。
本发明还提供一种边缘云服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的应用于边缘云服务器的基于异构数据的设备分簇方法。
本发明还提供一种边缘设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的应用于边缘设备的基于异构数据的设备分簇方法。
本发明还提供一种联邦学习系统,包括:
边缘云服务器,用于执行如上所述的应用于边缘云服务器的基于异构数据的设备分簇方法;
多个边缘设备,用于执行如上所述的应用于边缘设备的基于异构数据的设备分簇方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的应用于边缘云服务器的基于异构数据的设备分簇方法或如上所述的应用于边缘设备的基于异构数据的设备分簇方法。
本发明提供一种基于异构数据的设备分簇方法,应用于边缘云服务器,所述方法包括:向多个边缘设备下发同一组测试数据集,并获取各所述边缘设备本地的机器学习模型对所述测试数据集的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备均已采用其本地的训练数据对所述机器学习模型进行训练;利用各所述推理结果确定各所述边缘设备间的训练数据相似度,并利用各所述训练数据相似度将各所述边缘设备划分至多个设备簇;将设备簇信息下发至各所述边缘设备,以由各所述边缘设备将其本地的机器学习模型参数在所述设备簇中进行近邻聚合和簇内聚合、并由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合。
本发明的有益效果在于:本发明首先可向多个边缘设备下发同一组测试数据集,并获取各边缘设备本地的机器学习模型对该测试数据集的推理结果,即可基于同一组测试数据集评估各边缘设备中的机器学习模型参数的差异程度;随后,本发明可进一步利用各推理结果确定各边缘设备间的训练数据相似度,并可利用各训练数据相似度将各边缘设备划分至多个设备簇,这是由于若边缘设备间的推理结果越相近,则边缘设备间的机器学习模型参数差异程度越小,进而用于训练生成这些机器学习模型参数所使用的训练数据越相似,即可在分簇过程中考虑数据异构的特点和分布情况,并将相似的数据放在同一簇中,从而可提高簇内数据的相似性;进而,本发明可将设备簇信息下发至各边缘设备,以先由各所述边缘设备将其本地的机器学习模型参数在所述设备簇中进行近邻聚合和簇内聚合、再由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合,从而可使更相近的机器学习模型参数先聚合,进而可确保全局模型更快收敛,达到提升联邦学习效率的效果。本发明还提供一种基于异构数据的设备分簇装置、边缘云服务器、边缘设备、联邦学习系统及计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种联邦学习系统的示意图;
图2为本发明实施例所提供的一种基于异构数据的设备分簇方法的流程图;
图3为本发明实施例所提供的一种带权无向图的示意图;
图4为本发明实施例所提供的一种设备簇的示意图;
图5为本发明实施例所提供的另一种基于异构数据的设备分簇方法的示意图;
图6为本发明实施例所提供的一种基于异构数据的设备分簇装置的结构框图;
图7为本发明实施例所提供的另一种基于异构数据的设备分簇装置的结构框图;
图8为本发明实施例所提供的一种边缘云服务器的结构框图;
图9为本发明实施例所提供的一种边缘设备的结构框图;
图10为本发明实施例所提供的一种联邦学习系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
联邦学习是一种常见的分布式模型训练方式,这种训练方式通常可使用多个训练设备共同训练一个机器学习模型,并可使用单个中央服务器对所有训练设备得到的模型参数进行聚合得到全局聚合模型。在具体训练过程中,各训练设备首先会使用其本地的训练数据对本地的机器学习模型进行训练,并将本地训练后的机器学习模型参数中央服务器。随后,中央服务器可对接收到的模型参数进行聚合,并判断聚合得到的全局聚合模型是否收敛,若收敛则退出训练,反之则将全局聚合模型参数再次下发至各个训练设备中。而训练设备在接收到全局聚合模型参数时,可利用其对本地的机器学习模型进行参数更新,并对更新后的模型继续进行本地训练。在边缘计算场景中,上述训练设备也可以为边缘设备,而中央服务器也可以为边缘云服务器。
相关技术中,上述联邦学习模式通常不能取得较高的训练效率,这是由于各边缘设备本地的训练数据通常存在差异,而并非独立同分布的。例如,对于分类任务而言,边缘设备A中的数据可能主要为类型1的数据,而边缘设备B中的数据可能主要为类型2的数据,即不同类型的数据在各边缘设备中的数量、分布均可能不同。进而,这导致不同边缘设备所训练出的模型参数也存在差异,例如边缘设备A所训练得到的模型参数对于类型1的分类性能较好,但对其他类型的分类性能较差;而边缘设备B所训练得到的模型参数对于类型2的分类性能较好,但对其他类型的分类性能较差。进而,若直接对差异较大的机器学习模型参数进行全局聚合,不仅难以达到较高的全局聚合模型收敛速度,同时考虑到全局聚合模型是综合了所有边缘设备本地模型数据特质的综合性模型,因此简单地对所有模型参数进行统一聚合会导致聚合后的模型在不同联邦计算设备中存在偏移误差,甚至会导致模型退化,进而不利于边缘学习的高效开展。且,在边缘设备较多的情况下,直接在边缘云服务器处进行模型参数聚合也难以达到较高的通信效率。有鉴于此,本发明可提供一种设备分簇方法,首先可将多个边缘设备划分至多个设备簇,以便各边缘设备对机器学习模型进行层级联邦训练;同时,在分簇过程中,本发明可确定各边缘设备间的训练数据相似度,并可利用各训练数据相似度将各边缘设备划分至多个设备簇,即在分簇过程中可考虑数据异构的特点和分布情况,并将相似的数据放在同一簇中,以提高簇内数据的相似性。这样,在进行层级联邦训练时,可先由各边缘设备将其本地的机器学习模型参数在设备簇中进行簇内聚合,使得相近的机器学习模型参数先聚合,再由各设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合,从而能够提升全局聚合模型的收敛速度,并可避免出现模型退化;且,通过设置层级联邦训练,也可降低边缘云服务器处的通信压力,并可提升通信效率。
为方便理解,本发明实施例将首先对本发明所适用的联邦学习系统进行介绍。请参考图1,图1为本发明实施例所提供的一种联邦学习系统的示意图。本系统包含多个设备簇200及单个边缘云服务器10,每个设备簇200可包含边缘设备20和簇头边缘设备21,而所有的边缘设备20和所有的簇头边缘设备21均设置有网络结构相同、推理任务相同的机器学习模型1。需要指出的是,簇头边缘设备21为特殊的边缘设备20,其除了具有边缘设备20的基本用途(如对机器学习模型1进行本地训练)之外,还至少需要将簇内聚合得到的簇内聚合模型参数上传至边缘云服务器10。值得指出的是,设备簇200基于边缘设备20间的训练数据相似度进行划分,即同一设备簇200中的边缘设备20均拥有近似的训练数据。还值得指出的是,设备簇200可根据训练进程进行更新,以适应训练数据及模型参数的变化。需要说明的是,本发明实施例并不限定设备簇200的数量,其至少为两个,也可以为其他数量;本发明实施例也不限定设备簇200可包含的边缘设备20的数量,其至少为两个,也可以为其他数量。还需说明的是,在本发明实施例所提供的层级联邦训练中,机器学习模型将至少经历本地训练、近邻聚合、簇内聚合、全局聚合四个步骤。每完成一次全局聚合可视为完成一轮联邦学习,而每轮联邦学习可能包含多轮本地训练、多轮近邻聚合和多轮簇内聚合,且本地训练的迭代轮数可能大于近邻聚合的执行轮数,而近邻聚合的执行轮数可能大于簇内聚合的轮数。本发明实施例并不限定本地训练、近邻聚合和簇内聚合具体的轮次,可根据实际应用需求进行设定。另外,本地训练的轮次、近邻聚合的轮次簇内聚合的轮次可有数量关系,例如每当完成第一数量轮本地训练时,便执行一次近邻聚合;每当完成第二数量轮本地训练时,便执行一次簇内聚合,第二数量可以大于第一数量,且第二数量可以为第一数量的倍数。同时,簇内聚合的轮次与全局聚合的轮次也可有数量关系,例如每当完成第三数量轮簇内聚合时,便执行一次全局聚合。本发明实施例并不限定上述第一数量、第二数量、第三数量的具体数值,可根据实际应用需求进行设定。
进一步,本发明实施例并不限定本联邦学习系统所适用的场景,例如可适用于网络安全领域、智慧城市领域、医疗健康领域、智能制造领域等。在网络安全领域中,路由器和防火墙等网络设备可作为边缘设备收集网络攻击数据,并基于本联邦学习系统训练用于检测恶意软件或网络攻击的机器学习模型,而无需共享敏感数据。在智慧城市的交通管理系统中,监控设备和智能车辆可以作为边缘设备收集交通数据,并基于本联邦学习系统训练用于优化交通流量和预测事故的机器学习模型。在医疗健康领域,可在各医疗机构中设置边缘设备,利用这些边缘设备收集医疗诊断数据,并基于本联邦学习系统训练用于疾病诊断预测的机器学习模型,以在保护病人隐私的同时,通过联邦学习提高疾病诊断的准确性。最后,在智能制造和预测性维护方面,可将工厂的机器和传感器作为边缘设备收集生产线数据,并基于本联邦学习系统训练用于机器故障预测的机器学习模型,以便进行故障预测和维护决策的优化。值得指出的是,本方法能够有效利用分布式边缘计算资源,可在增强数据隐私保护的同时降低数据传输需求,并可提升了模型的整体效率和精度。
基于上述系统结构描述,下面将对本发明实施例所提供的基于异构数据的设备分簇方法进行详细介绍。请参考图2,图2为本发明实施例所提供的一种基于异构数据的设备分簇方法的流程图,该方法应用于边缘云服务器,可以包括:
S201、向多个边缘设备下发同一组测试数据集,并获取各边缘设备本地的机器学习模型对测试数据集的推理结果;各边缘设备中的机器学习模型对应相同的模型结构及推理任务,各边缘设备均已采用其本地的训练数据对机器学习模型进行训练。
本步骤旨在测试各边缘设备中的机器学习模型对同一组测试数据集的推理情况,以基于推理结果确定各边缘设备间的训练数据相似度。这是由于机器学习模型的推理能力与其训练内容及训练数据量有直接关系。例如,当该机器学习模型为分类模型时,若边缘设备A中的本地训练数据主要为类型1的数据,而仅包含有少量类型2的数据,则边缘设备A中的机器学习模型对类型1数据的分类训练效果较好,而对类型2数据的分类训练效果较差。又例如,若边缘设备B中的本地训练数据主要为类型2的数据,而仅包含有少量类型1的数据,则边缘设备B中的机器学习模型对类型2数据的分类训练效果较好,而对类型1数据的分类训练效果较差。进而,当向边缘设备A、边缘设备B中的模型输入包含有类型1数据和类型2数据的测试数据集时,边缘设备A对类型1数据的分类表现较好,但对类型2数据的分类表现较差;而边缘设备B对类型1的分类表现较差,但对类型2的分类表现较好。因此,本发明实施例仅需确定各边缘设备本地的机器学习模型对同一测试数据集的推理情况,便可大致确定各类训练数据在各边缘设备中的分布情况,从而便可基于推理结果确定边缘设备间的训练数据相似度。
需要说明的是,本发明实施例并不限定具体的测试数据集,可根据实际应用需求进行设定。为满足数据隐私性需求,测试数据集可从公网中获取,而不从各个边缘设备中获取。
进一步,为得到推理结果,各边缘设备中的机器学习模型应当已接受过训练。因此,在开始首轮联邦学习时,可控制各边缘设备采用其本地的训练数据对其本地的机器学习模型进行训练,并在确定各边缘设备均完成训练时再向各边缘设备下发测试数据集。
基于此,在向多个边缘设备下发同一组测试数据集之前,还可以包括:
步骤11:在开始首轮联邦学习时,控制各边缘设备采用其本地的训练数据对其本地的机器学习模型进行训练;
步骤12:在确定各边缘设备均完成训练时进入向多个边缘设备下发同一组测试数据集的步骤。
S202、利用各推理结果确定各边缘设备间的训练数据相似度,并利用各训练数据相似度将各边缘设备划分至多个设备簇。
在本步骤中,首先需要根据各推理结果确定各边缘设备间的训练数据相似度。为方便实施,本发明实施例可直接将推理结果间的推理结果相似度设置为各边缘设备间的训练数据相似度。当然,也可以进一步为推理结果相似度增加修正项(如进一步考虑机器学习模型已训练的轮次),以便进一步提升训练数据相似度,本发明实施例对此不做限定。
需要说明的是,本发明实施例并不限定如何确定推理结果间的推理结果相似度,例如可直接确定推理结果间的数值相似度,并将数值相似度作为推理结果相似度;也可以将推理结果转换为向量形式得到推理结果向量,确定各推理结果向量间的向量相似度,并将向量相似度作为推理结果相似度。考虑到基于向量确定推理结果间的相似度较为简便,本发明实施例可对各推理结果进行向量转换得到推理结果向量,并确定各推理结果向量间的推理结果相似度。
基于此,确定推理结果间的推理结果相似度,可以包括:
步骤21:确定推理结果间的推理结果相似度,并将推理结果相似度确定为边缘设备间的训练数据相似度。
步骤22:确定各推理结果向量间的推理结果相似度。
需要说明的是,本发明实施例并不限定推理结果向量的具体形式,例如其可以为二值向量,也可以为其他形式的向量,只要其能够有效体现推理结果内容即可。本发明实施例也不限定如何将推理结果转换为推理结果向量,可采取与推理结果内容相适宜的方式将各个推理结果数值化,以得到推理结果向量,可根据实际应用需求进行设定。下面将基于一种特定的机器学习模型及推理结果介绍计算推理结果相似度的一种具体情况。
基于此,机器学习模型为分类模型,推理结果为机器学习模型对测试数据集中的每种分类类型的分类结果;对各推理结果进行向量转换得到推理结果向量,并确定各推理结果向量间的推理结果相似度,可以包括:
步骤31:对各推理结果进行二值向量转换得到推理结果向量;推理结果向量中的每一元素与测试数据集中的每种分类类型对应,元素的值为第一值时表示对应的分类类型被机器学习模型正确分类,元素的值为第二值时表示对应的分类类型被机器学习模型错误分类。
需要说明的是,本发明实施例并不限定第一值、第二值的具体数值,例如第一值可以为1,第二值可以为0。在一种可能的情况中,边缘设备A的分类结果可以转换为一个二值向量[1,0,0,0,……1,1,1,0],边缘设备B的分类结果也可以转化为一个二值向量[0,1,1,0,……1,1,1,0],其中该二值向量中的每一元素对应一种分类类型,数值“1”表示分类正确,数值“0”表示分类错误。
步骤42:基于如下公式确定推理结果向量间的推理结果相似度:
;
其中,Similarity表示推理结果相似度,A、B表示两个不同的推理结果向量,表示交集运算,/>表示并集运算。
进一步,在步骤S202中还需要利用各训练数据相似度将各边缘设备划分至多个设备簇。需要说明的是,本发明实施例并不限定具体的设备簇划分方式,例如可根据训练数据相似度进行聚类计算得到多个聚类簇,并根据各聚类簇所包含的边缘设备设置上述设备簇。此外,本发明实施例还可根据上述训练数据相似度为所有边缘设备构建带权无向图,并基于带权无向图实现设备分簇。具体的,本发明实施例中的带权无向图所包含的节点与各边缘设备一一对应,且节点与节点之间的边设置有权重,该权重的取值为对应的边缘设备间的训练数据相似度。进一步,为方便设备分簇,同时也为方便边缘设备了解与其训练数据更相近的邻居边缘设备有哪些,本发明实施例在设置边时,可要求节点间设置有边当且仅当对应的边缘设备间的训练数据相似度大于第一阈值。需要说明的是,本发明实施例并不限定第一阈值的具体数值,可根据实际情况进行预设。为方便理解,请参考图3,图3为本发明实施例所提供的一种带权无向图的示意图,其中设备节点1~6对应6个边缘设备,节点间连线的权重为对应边缘设备的训练数据相似度,如设备1与设备2间的训练数据相似度为0.94,设备2与设备3间的训练数据相似度为0.83,以此类推。此外,上述带权无向图可基于预设的第一阈值(如0.7)构造,即节点间具有连线当且仅当对应边缘设备间的训练数据相似度大于0.7。假设设备2与设备6间的训练数据相似度为0.68,则设备2及设备6在带权无向图中没有连线。需要说明的是,本发明实施例并不限定基于带权无向图进行设备分簇的具体方式,例如可采取谱聚类算法,也可以采取其他方式,可根据实际应用需求进行设定。
基于此,利用各训练数据相似度将各边缘设备划分至多个设备簇,可以包括:
步骤41:利用各训练数据相似度为所有边缘设备构建带权无向图;带权无向图中的各节点与各边缘设备对应,节点间设置有边当且仅当对应的边缘设备间的训练数据相似度大于第一阈值,边的权重为对应的边缘设备间的训练数据相似度;
步骤42:利用带权无向图将各边缘设备划分至多个设备簇,并在各设备簇中确定簇头边缘设备。
进一步,为提升设备分簇效果,本发明实施例还提供有一种基于标签迭代传播的带权无向图分簇方法。具体的,本发明实施例将利用带权无向图中权重大于第二阈值的选定边设置多个初始簇,并为各初始簇中的节点设置各初始簇的簇标签,其中初始簇中的节点由选定边连通,初始簇间不存在选定边,且第二阈值大于第一阈值。需要说明的是,本发明实施例并不限定第二阈值的具体数值,可根据实际情况进行预设。例如在图3中,若设定第二阈值为0.9,则设备1-设备2、设备3-设备4可形成两个初始簇,进而本发明可为设备1和设备2设置标签A,以及为设备3和设备4设置标签B。随后,本发明实施例可将标签变化数量初始化为零,并遍历带权无向图中所有未被设置至初始簇的节点。针对每个被遍历的目标节点,本发明实施例可统计各种簇标签在目标节点的邻居节点中的出现次数。若目标节点未设置簇标签或目标节点的簇标签与出现次数最大的簇标签不同,则将目标节点的簇标签设置为出现次数最大的簇标签,并对标签变化数量加1。例如在图3中,由于设备6未被设置至初始簇,因此在初次遍历到该设备节点时,可统计得到设备6的邻居节点为设备3和设备4。由于设备3和设备4的标签均为标签B,因此可为设备6设置标签B。进一步,在完成节点遍历时,可判断标签变化数量是否大于预设值。若大于,则意味着此时标签传播仍未停止,此时可重新将将标签变化数量初始化为零,并仅需下一轮遍历。反之,若标签变化数量不大于预设值,则意味着标签传播基本停止,此时可将将拥有相同簇标签的节点对应的边缘设备划分至同一设备簇。需要说明的是,本发明实施例并不限定预设值的具体数值,可根据实际应用需求进行设定。例如在图3中,设备5、6最终均设置有标签B,因此最后得到的设备簇分别为第一簇和第二簇,其中第一簇包含设备1和设备2,第二簇包含设备3~6,具体分簇情况请参考图4,图4为本发明实施例所提供的一种设备簇的示意图。
基于此,利用带权无向图将各边缘设备划分至多个设备簇,可以包括:
步骤51:利用带权无向图中权重大于第二阈值的选定边设置多个初始簇,并为各初始簇中的节点设置各初始簇的簇标签;初始簇中的节点由选定边连通,初始簇间不存在选定边,第二阈值大于第一阈值;
步骤52:将标签变化数量初始化为零,并遍历带权无向图中所有未被设置至初始簇的节点,针对每个被遍历的目标节点,统计各种簇标签在目标节点的邻居节点中的出现次数;
步骤53:若目标节点未设置簇标签或目标节点的簇标签与出现次数最大的簇标签不同,则将目标节点的簇标签设置为出现次数最大的簇标签,并对标签变化数量加1;
步骤54:在完成节点遍历时,判断标签变化数量是否大于预设值;若是,则进入步骤55,若否,则进入步骤56;
步骤55:进入将标签变化数量初始化为零,并遍历带权无向图中所有未被设置至初始簇的节点的步骤;
步骤56:将拥有相同簇标签的节点对应的边缘设备划分至同一设备簇。
进一步,在完成设备分簇之后,本发明实施例需为每个设备簇设置簇头边缘设备,以便将簇内聚合得到的簇内聚合模型参数上传至边缘云服务器。本发明实施例并不限定簇头边缘设备的选择方式,例如可根据边缘设备间的通信距离、通信速度和/或边缘设备与边缘云服务器间的通信速度在各设备簇中确定簇头边缘设备。例如,可统计边缘设备与同设备簇中的其他边缘设备间的通信距离,对该通信距离进行求平均得到该边缘设备对应的平均通信距离,并选择平均通信距离最小的边缘设备作为簇头设备;也可统计边缘设备与同设备簇中的其他边缘设备间的通信速度,对该通信速度进行求平均得到该边缘设备对应的平均通信速度,并选择总通信距离最小的边缘设备作为簇头设备;也可选择该设备簇中与边缘云服务器通信速度最快的边缘设备作为簇头设备。上述三种方式可至少选择一种,也可选择多种的组合。在一种具体的实施场景中,边缘云服务器会根据与所有边缘计算设备进行数据交换的通信速率,选择每个设备簇的簇头,并将簇头的边缘计算设备号发给每个簇的边缘设备。
基于此,在各设备簇中确定簇头边缘设备,可以包括:
步骤61:根据边缘设备间的通信距离、通信速度和/或边缘设备与边缘云服务器间的通信速度在各设备簇中确定簇头边缘设备。
S203、将设备簇信息下发至各边缘设备,以由各边缘设备将其本地的机器学习模型参数在设备簇中进行近邻聚合和簇内聚合、并由各设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合。
在完成设备分簇之后,边缘云服务器可将设备簇信息下发至各边缘设备,以使边缘设备形成设备簇,并基于该设备簇进行层级联邦学习。具体的,将先由各边缘设备对机器学习模型在设备簇内将执行近邻聚合和簇内聚合,再由各设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合。其中,近邻聚合指边缘设备将自身的机器学习模型与设备簇内与其近邻的其他边缘设备的机器学习模型进行聚合,并利用聚合后的机器学习模型对自身的机器学习模型进行更新。边缘设备间的近邻关系由缘设备间的训练数据相似度确定,当边缘设备间的训练数据相似度大于预设阈值时,这两个边缘设备互为近邻边缘设备。更具体的,边缘设备间的近邻关系可以由上文所述的带权无向图确定,近邻边缘设备在该带权无向图对应的节点间设置有边。簇内聚合指对设备簇中所有边缘设备的机器学习模型进行聚合,簇内聚合可以发生于簇头设备中,即设备簇中的每一边缘设备将其本地的机器学习模型发送至簇头设备中进行聚合。全局聚合指将所有设备簇执行簇内聚合得到的簇内聚合模型参数进行聚合。这样,便可确保先对近似的机器学习模型参数先在设备簇中进行簇中聚合,再在边缘云服务器处进行全局聚合,从而不仅可提升全局聚合模型的收敛速度,避免全局聚合模型出现劣化,同时还可降低边缘云服务器的通信压力,从而提升通信效率。
需要说明的是,本发明实施例并不限定设备簇信息可涵盖的具体内容,例如至少包含设备簇中的边缘设备信息及簇头边缘设备信息;此外,设备簇信息还可包含本设备簇在上述带权无向图中对应的子图,以方便边缘设备确认与其对应的近邻边缘设备。本发明实施例也不限定簇内聚合的具体执行过程,可根据实际应用需求进行设定,也可参考后文中的介绍。
基于上述实施例,本发明首先可向多个边缘设备下发同一组测试数据集,并获取各边缘设备本地的机器学习模型对该测试数据集的推理结果,即可基于同一组测试数据集评估各边缘设备中的机器学习模型参数的差异程度;随后,本发明可进一步利用各推理结果确定各边缘设备间的训练数据相似度,并可利用各训练数据相似度将各边缘设备划分至多个设备簇,这是由于若边缘设备间的推理结果越相近,则边缘设备间的机器学习模型参数差异程度越小,进而用于训练生成这些机器学习模型参数所使用的训练数据越相似,即可在分簇过程中考虑数据异构的特点和分布情况,并将相似的数据放在同一簇中,从而可提高簇内数据的相似性;进而,本发明可将设备簇信息下发至各边缘设备,以先由各所述边缘设备将其本地的机器学习模型参数在所述设备簇中进行簇内聚合、再由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合,从而可使更相近的机器学习模型参数先聚合,进而可确保全局模型更快收敛,达到提升联邦学习效率的效果。
基于上述实施例,下面对全局模型聚合的具体方式及设备簇的动态调整方式进行详细介绍。在一种可能的情况中,在将设备簇信息下发至各边缘设备之后,还可以包括:
S301、接收各簇头边缘设备上传的簇内聚合模型参数,并对接收到的所有簇内聚合模型参数进行聚合得到全局聚合模型参数。
需要说明的是,本发明实施例并不限定的全局聚合方式,例如可以为平均聚合,也可以为加权聚合等,可根据实际应用需求进行设定。在一种可能的情况中,可通过如下公式对接收到的所有簇内聚合模型参数进行聚合得到全局聚合模型参数:
;
其中,表示对所有第t+1轮簇内聚合得到的簇内聚合模型参数进行聚合得到的全局聚合模型参数,/>表示第c个设备簇在第t+1轮簇内聚合中得到的簇内聚合模型,C表示设备簇总量。
S302、判断包含全局聚合模型参数的全局聚合模型是否收敛;若是,则进入步骤S303;若否,则进入步骤S304。
边缘云服务器可基于如下公式判断全局聚合模型是否收敛:
;
其中,表示全局损失函数,N表示边缘设备的总数,C表示设备簇总数,/>表示每个设备簇包含的边缘设备数量,/>表示每个边缘设备处的局部经验损失函数。可以理解的是,层级聚合联邦学习方法的主要目标是优化全局聚合模型参数,以最小化所有边缘设备处的损失。因此,当/>数值大于预设阈值时,意味着全局聚合模型仍未收敛;反之,当/>数值小于等于预设阈值时,意味着全局聚合模型已收敛。需要说明的是,本发明实施例并不限定该预设阈值的具体数值,可根据实际应用需求进行设定。/>
S303、结束训练。
S304、将全局聚合模型参数下发至各边缘设备,以使各边缘设备利用全局聚合模型参数更新其本地的机器学习模型,并使各边缘设备对更新后的机器学习模型继续进行联邦学习。
可以理解的是,若全局聚合模型未收敛,则需要将将全局聚合模型参数下发至各边缘设备,以使各边缘设备在当前全局聚合模型的基础上继续进行层级联邦学习。当然,考虑到各边缘设备中的训练数据容易发生动态变化,即边缘设备间的训练数据相似度容易发生变化,而这容易影响层级联邦学习的效果,因此本发明实施例还可在进行多轮联邦学习之后,重新评估各边缘设备间的训练数据相似度,并以此对设备簇进行更新,以便进一步提升训练效率。
基于此,在将全局聚合模型参数下发至各边缘设备之前,还可以包括:
步骤71:判断当前联邦学习轮次是否达到预设数值;若是,则进入步骤72;若否,则进入步骤73。
步骤72:进入向多个边缘设备下发同一组测试数据集的步骤,并在执行完将设备簇信息下发至各边缘设备的步骤时,进入将全局聚合模型参数下发至各边缘设备的步骤。
步骤73:进入将全局聚合模型参数下发至各边缘设备的步骤。
需要说明的是,本发明实施例并不限定具体的预设数值,可根据实际应用需求进行设定。
基于上述实施例,接下来将对本发明实施例所提供的设备分簇方法在边缘设备一侧的实施情况进行介绍。请参考图5,图5为本发明实施例所提供的另一种基于异构数据的设备分簇方法的示意图。该方法应用于边缘设备,可以包括:
S501、接收边缘云服务器下发的测试数据集;各边缘设备对应相同测试数据集。
S502、将测试数据集输入本地的机器学习模型,得到测试数据集对应的推理结果;各边缘设备中的机器学习模型对应相同的模型结构及推理任务,各边缘设备均已采用其本地的训练数据对机器学习模型进行训练。
如上所述,由于机器学习模型的推理能力与其训练内容及训练数据量有直接关系,因此,本发明实施例仅需确定各边缘设备本地的机器学习模型对同一测试数据集的推理情况,便可大致确定各类训练数据在各边缘设备中的分布情况,从而便可基于推理结果确定边缘设备间的训练数据相似度。
S503、将推理结果发送至边缘云服务器,并接收边缘云服务器下发的设备簇信息,以将本地的机器学习模型参数在设备簇信息对应的设备簇中进行近邻聚合和簇内聚合、并由各设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合;边缘云服务器利用由各边缘设备的推理结果所确定的训练数据相似度将各边缘设备划分至多个设备簇。
如上所述,在完成设备分簇之后,边缘云服务器可将设备簇信息下发至各边缘设备,以使边缘设备形成设备簇进行层级联邦学习。在层级联邦学习中,边缘设备可先基于设备簇信息形成设备簇,并先将本地的机器学习模型参数在设备簇中进行近邻聚合和簇内聚合,再由各设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合。这样,可确保先对近似的机器学习模型参数聚合得到簇内聚合模型参数,再对簇内聚合模型参数进行聚合得到全局聚合模型,从而不仅可提升全局聚合模型的收敛速度,避免全局聚合模型出现劣化,同时还可降低边缘云服务器的通信压力,从而提升通信效率。
基于上述实施例,本发明首先可向多个边缘设备下发同一组测试数据集,并获取各边缘设备本地的机器学习模型对该测试数据集的推理结果,即可基于同一组测试数据集评估各边缘设备中的机器学习模型参数的差异程度;随后,本发明可进一步利用各推理结果确定各边缘设备间的训练数据相似度,并可利用各训练数据相似度将各边缘设备划分至多个设备簇,这是由于若边缘设备间的推理结果越相近,则边缘设备间的机器学习模型参数差异程度越小,进而用于训练生成这些机器学习模型参数所使用的训练数据越相似,即可在分簇过程中考虑数据异构的特点和分布情况,并将相似的数据放在同一簇中,从而可提高簇内数据的相似性;进而,本发明可将设备簇信息下发至各边缘设备,以先由各所述边缘设备将其本地的机器学习模型参数在所述设备簇中进行簇内聚合、再由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合,从而可使更相近的机器学习模型参数先聚合,进而可确保全局模型更快收敛,达到提升联邦学习效率的效果。
基于上述实施例,下面将对边缘设备基于设备簇进行层级联邦学习的具体过程进行详细介绍。在一种可能的情况中,在接收边缘云服务器下发的设备簇信息之后,还可以包括:
S701、利用本地的训练数据对本地的机器学习模型进行迭代训练。
具体的,边缘设备可使用SGD算法(Stochastic Gradient Descent,随机梯度下降)更新本地模型。在进行训练的第t轮簇内聚合、第l次本地迭代时,参数更新公式为:
;
其中,表示第i个边缘设备在第t轮簇内聚合、第l次本地迭代更新后对应的本地模型参数,/>表示此次迭代更新前对应的本地模型参数,/>表示此次本地迭代对应的学习率,/>表示此次本地迭代所使用的训练数据,/>表示此次本地迭代的样本损失函数值,/>表示梯度。
边缘设备处的局部经验损失函数为:
;
其中表示本地模型参数,/>为参与迭代训练的训练数据,/>表示第i个边缘设备处的本地训练集,/>表示样本损失函数值。
S702、当训练迭代次数达到第一预设值的整数倍时,向自身的邻居边缘设备广播本地的机器学习模型参数,并利用邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行聚合更新;邻居边缘设备为设备簇中与边缘设备间的训练数据相似度大于第一阈值的边缘设备。
在本步骤中,为进一步提升模型收敛速度,本发明实施例还可在各边缘设备处进行近邻聚合。具体的,当迭代次数达到第一预设值的整数倍时,边缘设备可向自身的邻居边缘设备广播本地的机器学习模型参数,并利用邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行聚合更新,其中邻居边缘设备为设备簇中与边缘设备间的训练数据相似度大于第一阈值的边缘设备。更具体的,邻居边缘设备可以为边缘设备在上文所述的带权无向图中相连的其他边缘设备。通过设置近邻聚合,本发明实施例可以加速模型收敛、使得簇内同性设备分类更精准,同时可使得训练数据最为近似的边缘设备之间通过近邻模型聚合来获得更多的信息。
需要说明的是,本发明实施例并不限定对机器学习模型参数进行近邻聚合的具体方式,例如可平均聚合,也可采取其他聚合方式。为方便实施,本发明实施例可利用邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行平均聚合,并利用平均聚合得到的机器学习模型参数对本地的机器学习模型参数进行更新。
S703、当训练迭代次数达到第二预设值的整数倍时,将本地的机器学习模型在设备簇中进行簇内聚合,第二预设值大于第一预设值。
在本步骤中,每当确定当前的训练迭代次数达到第二预设值的整数倍时,可对本地的机器学习模型在设备簇中进行簇内聚合。值得注意的是,第二预设值大于第一预设值,意味着近邻聚合的执行轮次可大于簇内聚合的执行轮次。本发明实施例并不限定具体的簇内聚合方式,例如设备簇中的所有边缘设备可将本地的机器学习模型参数均发送至簇头边缘设备,以由簇头边缘设备进行簇内聚合。当然,设备簇中也可进一步设置层级,以进行逐层聚合,可根据实际应用需求进行设定。
基于此,将本地的机器学习模型在设备簇中进行簇内聚合,包括:
步骤81:将本地的机器学习模型参数发送至簇头边缘设备;
步骤82:当自身属于设备簇的簇头边缘设备时,通过如下公式对接收到的机器学习模型参数进行聚合得到簇内聚合模型参数:
;
其中,表示第c个设备簇在第t+1轮簇内聚合得到的簇内聚合模型参数,/>表示第c个设备簇在第t轮簇内聚合得到的簇内聚合模型参数,/>表示在第t+1轮簇内聚合前第c个设备簇中的第j个边缘设备本地的机器学习模型参数,/>表示第c个设备簇中的边缘设备数量,/>表示超参数。
需要指出的是,步骤92仅由簇头边缘设备执行,其余的边缘设备仅需将机器学习模型参数发送至簇头边缘设备即可。
S704、当自身属于设备簇的簇头边缘设备时,将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合。
需要指出的是,步骤S704仅由簇头边缘设备执行,其余的边缘设备无需执行该步骤。本发明实施例并不限定执行将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合这一步骤的时机,例如簇头边缘设备可在每次完成簇内聚合之后,便将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合;当然,簇头边缘设备可在完成多次簇内聚合之后,再将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合。具体的,簇头边缘设备可在确定簇内聚合次数达到第三预设值的整数倍时,进入将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合的步骤。需要说明的是,本发明实施例并不限定第三预设值的具体数值,可根据实际应用需求进行设定。
基于此,将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合,可以包括:
步骤91:当簇内聚合次数达到第三预设值的整数倍时,进入将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合的步骤。
S705、接收边缘云服务器下发的全局聚合模型参数,利用全局聚合模型参数更新本地的机器学习模型,并基于本地更新后的机器学习模型进入利用本地的训练数据对本地的机器学习模型进行迭代训练的步骤。
如上所述,若全局聚合模型未收敛,则边缘云服务器需要将将全局聚合模型参数下发至各边缘设备,以使各边缘设备在当前全局聚合模型的基础上继续进行层级联邦学习。
下面对本发明实施例提供的基于异构数据的设备分簇装置、边缘云服务器、边缘设备、联邦学习系统及计算机可读存储介质进行介绍,下文描述的异构数据的设备分簇装置、边缘云服务器、边缘设备、联邦学习系统及计算机可读存储介质与上文描述的异构数据的设备分簇方法可相互对应参照。
请参考图6,图6为本发明实施例所提供的一种基于异构数据的设备分簇装置的结构框图,该装置应用于边缘云服务器,可以包括:
测试模块601,用于向多个边缘设备下发同一组测试数据集,并获取各边缘设备本地的机器学习模型对测试数据集的推理结果;各边缘设备中的机器学习模型对应相同的模型结构及推理任务,各边缘设备均已采用其本地的训练数据对机器学习模型进行训练;
分簇模块602,用于利用各推理结果确定各边缘设备间的训练数据相似度,并利用各训练数据相似度将各边缘设备划分至多个设备簇;
信息下发模块603,用于将设备簇信息下发至各边缘设备,以由各边缘设备将其本地的机器学习模型参数在设备簇中进行近邻聚合和簇内聚合、并由各设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合。
可选地,分簇模块602,可以包括:
相似度确定子模块,用于对各推理结果进行向量转换得到推理结果向量,并确定各推理结果向量间的推理结果相似度;
设置子模块,用于将推理结果相似度确定为边缘设备间的训练数据相似度。
可选地,机器学习模型为分类模型,推理结果为机器学习模型对测试数据集中的每种分类类型的分类结果;
相似度确定子模块,可以包括:
向量转换单元,用于对各推理结果进行二值向量转换得到推理结果向量;推理结果向量中的每一元素与测试数据集中的每种分类类型对应,元素的值为第一值时表示对应的分类类型被机器学习模型正确分类,元素的值为第二值时表示对应的分类类型被机器学习模型错误分类;
相似度确定单元,用于基于如下公式确定推理结果向量间的推理结果相似度:
;
其中,Similarity表示推理结果相似度,A、B表示两个不同的推理结果向量,表示交集运算,/>表示并集运算。
可选地,分簇模块602,可以包括:
图构建子模块,用于利用各训练数据相似度为所有边缘设备构建带权无向图;带权无向图中的各节点与各边缘设备对应,节点间设置有边当且仅当对应的边缘设备间的训练数据相似度大于第一阈值,边的权重为对应的边缘设备间的训练数据相似度;
分簇子模块,用于利用带权无向图将各边缘设备划分至多个设备簇,并在各设备簇中确定簇头边缘设备。
可选地,分簇子模块,可以包括:
初始簇设置单元,用于利用带权无向图中权重大于第二阈值的选定边设置多个初始簇,并为各初始簇中的节点设置各初始簇的簇标签;初始簇中的节点由选定边连通,初始簇间不存在选定边,第二阈值大于第一阈值;
迭代单元,用于将标签变化数量初始化为零,并遍历带权无向图中所有未被设置至初始簇的节点,针对每个被遍历的目标节点,统计各种簇标签在目标节点的邻居节点中的出现次数;
标签设置单元,用于若目标节点未设置簇标签或目标节点的簇标签与出现次数最大的簇标签不同,则将目标节点的簇标签设置为出现次数最大的簇标签,并对标签变化数量加1;
迭代控制单元,用于在完成节点遍历时,判断标签变化数量是否大于预设值;若是,则进入将标签变化数量初始化为零,并遍历带权无向图中所有未被设置至初始簇的节点的步骤;若否,则将拥有相同簇标签的节点对应的边缘设备划分至同一设备簇。
可选地,分簇子模块,可以包括:
簇头确定单元,用于根据边缘设备间的通信距离、通信速度和/或边缘设备与边缘云服务器间的通信速度在各设备簇中确定簇头边缘设备。
可选地,该装置还可以包括:
全局聚合模块,用于接收各簇头边缘设备上传的簇内聚合模型参数,并对接收到的所有簇内聚合模型参数进行聚合得到全局聚合模型参数;
收敛判断模块,用于判断包含全局聚合模型参数的全局聚合模型是否收敛;若是,则结束训练;若否,则将全局聚合模型参数下发至各边缘设备,以使各边缘设备利用全局聚合模型参数更新其本地的机器学习模型,并使各边缘设备对更新后的机器学习模型继续进行联邦学习。
可选地,该装置还可以包括:
分簇更新判断模块,用于判断当前联邦学习轮次是否达到预设数值;若是,则进入向多个边缘设备下发同一组测试数据集的步骤,并在执行完将设备簇信息下发至各边缘设备的步骤时,进入将全局聚合模型参数下发至各边缘设备的步骤。若否,则进入将全局聚合模型参数下发至各边缘设备的步骤。
可选地,全局聚合模块,具体用于:
通过如下公式对接收到的所有簇内聚合模型参数进行聚合得到全局聚合模型参数:
;
其中,表示对所有第t+1轮簇内聚合得到的簇内聚合模型参数进行聚合得到的全局聚合模型参数,/>表示第c个设备簇在第t+1轮簇内聚合中得到的簇内聚合模型,C表示设备簇总量。
可选地,该装置还可以包括:
训练控制模块,用于在开始首轮联邦学习时,控制各边缘设备采用其本地的训练数据对其本地的机器学习模型进行训练;在确定各边缘设备均完成训练时进入向多个边缘设备下发同一组测试数据集的步骤。
请参考图7,图7为本发明实施例所提供的另一种基于异构数据的设备分簇装置的结构框图,该装置应用于边缘设备,可以包括:
接收模块701,用于接收边缘云服务器下发的测试数据集;各边缘设备对应相同测试数据集;
测试模块702,用于将测试数据集输入本地的机器学习模型,得到测试数据集对应的推理结果;各边缘设备中的机器学习模型对应相同的模型结构及推理任务,各边缘设备均已采用其本地的训练数据对机器学习模型进行训练;
信息处理模块703,用于将推理结果发送至边缘云服务器,并接收边缘云服务器下发的设备簇信息,以将本地的机器学习模型参数在设备簇信息对应的设备簇中进行近邻聚合和簇内聚合、并由各设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合;边缘云服务器利用由各边缘设备的推理结果所确定的训练数据相似度将各边缘设备划分至多个设备簇。
可选地,该装置还可以包括:
本地训练模块,用于利用本地的训练数据对本地的机器学习模型进行迭代训练;
近邻聚合模块,用于当迭代次数达到第一预设值的整数倍时,向自身的邻居边缘设备广播本地的机器学习模型参数,并利用邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行聚合更新;邻居边缘设备为设备簇中与边缘设备间的训练数据相似度大于第一阈值的边缘设备;
簇内聚合模块,用于当训练迭代次数达到第二预设值的整数倍时,将本地的机器学习模型在设备簇中进行簇内聚合;第二预设值大于第一预设值;
全局聚合模块,用于当自身属于设备簇的簇头边缘设备时,将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合;
全局参数更新模块,用于接收边缘云服务器下发的全局聚合模型参数,利用全局聚合模型参数更新本地的机器学习模型,并基于本地更新后的机器学习模型进入利用本地的训练数据对本地的机器学习模型进行迭代训练的步骤。
可选地,全局聚合模块,具体用于:
当簇内聚合次数达到第三预设值的整数倍时,进入将簇内聚合得到的簇内聚合模型参数发送至边缘云服务器进行全局聚合的步骤。
可选地,近邻聚合模块,可以包括:
近邻聚合单元,用于利用邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行平均聚合;
参数更新单元,用于利用平均聚合得到的机器学习模型参数对本地的机器学习模型参数进行更新。
可选地,簇内聚合模块,可以包括:
发送子模块,用于将本地的机器学习模型参数发送至簇头边缘设备;
簇内聚合子模块,用于当自身属于设备簇的簇头边缘设备时,通过如下公式对接收到的机器学习模型参数进行聚合得到簇内聚合模型参数:
;
其中,表示第c个设备簇在第t+1轮簇内聚合得到的簇内聚合模型参数,/>表示第c个设备簇在第t轮簇内聚合得到的簇内聚合模型参数,/>表示在第t+1轮簇内聚合前第c个设备簇中的第j个边缘设备本地的机器学习模型参数,/>表示第c个设备簇中的边缘设备数量,/>表示超参数。
请参考图8,图8为本发明实施例所提供的一种边缘云服务器的结构框图,本发明实施例提供了一种边缘云服务器10,包括处理器11和存储器12;其中,所述存储器12,用于保存计算机程序;所述处理器11,用于在执行所述计算机程序时执行前述实施例提供的异构数据的设备分簇方法。
关于上述异构数据的设备分簇方法的具体过程可以参考前述实施例中提供的相应内容,在此不再进行赘述。
并且,所述存储器12作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述边缘云服务器10还包括电源13、通信接口14、输入输出接口15和通信总线16;其中,所述电源13用于为所述边缘云服务器10上的各硬件设备提供工作电压;所述通信接口14能够为所述边缘云服务器10创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口15,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
请参考图9,图9为本发明实施例所提供的一种边缘设备的结构框图,本发明实施例提供了一种边缘设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于在执行所述计算机程序时执行前述实施例提供的基于异构数据的设备分簇方法。
关于上述异构数据的设备分簇方法的具体过程可以参考前述实施例中提供的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述边缘设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述边缘设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述边缘设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
请参考图10,图10为本发明实施例所提供的一种联邦学习系统的结构框图,本发明实施例还提供一种联邦学习系统,可以包括:
边缘云服务器10,用于执行如上实施例所述的应用于边缘云服务器的基于异构数据的设备分簇方法;
多个边缘设备20,用于执行如上实施例所述的应用于边缘设备的基于异构数据的设备分簇方法。
当然,联邦学习系统还可具有其他形式,如还可以为图1所示的形式。
由于联邦学习系统部分的实施例与基于异构数据的设备分簇方法部分的实施例相互对应,因此联邦学习系统部分的实施例请参见基于异构数据的设备分簇方法部分的实施例的描述,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上实施例所述的应用于边缘云服务器的基于异构数据的设备分簇方法或如上实施例所述的应用于边缘设备的基于异构数据的设备分簇方法。
由于计算机可读存储介质部分的实施例与基于异构数据的设备分簇方法部分的实施例相互对应,因此存储介质部分的实施例请参见基于异构数据的设备分簇方法部分的实施例的描述,这里不再赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种基于异构数据的设备分簇方法、装置、设备、系统及介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
Claims (21)
1.一种基于异构数据的设备分簇方法,其特征在于,应用于边缘云服务器,所述方法包括:
向多个边缘设备下发同一组测试数据集,并获取各所述边缘设备本地的机器学习模型对所述测试数据集的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备均已采用其本地的训练数据对所述机器学习模型进行训练;
利用各所述推理结果确定各所述边缘设备间的训练数据相似度,并利用各所述训练数据相似度将各所述边缘设备划分至多个设备簇;
将设备簇信息下发至各所述边缘设备,以由各所述边缘设备将其本地的机器学习模型参数在所述设备簇中进行近邻聚合和簇内聚合、并由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合。
2.根据权利要求1所述的设备分簇方法,其特征在于,所述利用各所述推理结果确定各所述边缘设备间的训练数据相似度,包括:
对各所述推理结果进行向量转换得到推理结果向量,并确定各所述推理结果向量间的推理结果相似度;
将所述推理结果相似度确定为所述边缘设备间的训练数据相似度。
3.根据权利要求2所述的设备分簇方法,其特征在于,所述机器学习模型为分类模型,所述推理结果为所述机器学习模型对所述测试数据集中的每种分类类型的分类结果;
所述对各所述推理结果进行向量转换得到推理结果向量,并确定各所述推理结果向量间的推理结果相似度,包括:
对各所述推理结果进行二值向量转换得到所述推理结果向量;所述推理结果向量中的每一元素与所述测试数据集中的每种分类类型对应,所述元素的值为第一值时表示对应的分类类型被所述机器学习模型正确分类,所述元素的值为第二值时表示对应的分类类型被所述机器学习模型错误分类;
基于如下公式确定所述推理结果向量间的推理结果相似度:
;
其中,Similarity表示所述推理结果相似度,A、B表示两个不同的推理结果向量,表示交集运算,/>表示并集运算。
4.根据权利要求1所述的设备分簇方法,其特征在于,所述利用各所述训练数据相似度将各所述边缘设备划分至多个设备簇,包括:
利用各所述训练数据相似度为所有所述边缘设备构建带权无向图;所述带权无向图中的各节点与各所述边缘设备对应,所述节点间设置有边当且仅当对应的边缘设备间的训练数据相似度大于第一阈值,所述边的权重为对应的边缘设备间的训练数据相似度;
利用所述带权无向图将各所述边缘设备划分至多个设备簇,并在各所述设备簇中确定簇头边缘设备。
5.根据权利要求4所述的设备分簇方法,其特征在于,所述利用所述带权无向图将各所述边缘设备划分至多个设备簇,包括:
利用所述带权无向图中权重大于第二阈值的选定边设置多个初始簇,并为各所述初始簇中的节点设置各所述初始簇的簇标签;所述初始簇中的节点由所述选定边连通,所述初始簇间不存在所述选定边,所述第二阈值大于所述第一阈值;
将标签变化数量初始化为零,并遍历所述带权无向图中所有未被设置至所述初始簇的节点,针对每个被遍历的目标节点,统计各种所述簇标签在所述目标节点的邻居节点中的出现次数;
若所述目标节点未设置所述簇标签或所述目标节点的簇标签与所述出现次数最大的簇标签不同,则将所述目标节点的簇标签设置为所述出现次数最大的簇标签,并对所述标签变化数量加1;
在完成节点遍历时,判断所述标签变化数量是否大于预设值;
若是,则进入将标签变化数量初始化为零,并遍历所述带权无向图中所有未被设置至所述初始簇的节点的步骤;
若否,则将拥有相同所述簇标签的节点对应的边缘设备划分至同一所述设备簇。
6.根据权利要求4所述的设备分簇方法,其特征在于,所述在各所述设备簇中确定簇头边缘设备,包括:
根据所述边缘设备间的通信距离、通信速度和/或所述边缘设备与所述边缘云服务器间的通信速度在各所述设备簇中确定所述簇头边缘设备。
7.根据权利要求1所述的设备分簇方法,其特征在于,在将设备簇信息下发至各所述边缘设备之后,还包括:
接收各所述簇头边缘设备上传的簇内聚合模型参数,并对接收到的所有所述簇内聚合模型参数进行聚合得到全局聚合模型参数;
判断包含所述全局聚合模型参数的全局聚合模型是否收敛;
若是,则结束训练;
若否,则将所述全局聚合模型参数下发至各所述边缘设备,以使各所述边缘设备利用所述全局聚合模型参数更新其本地的机器学习模型,并使各所述边缘设备对更新后的机器学习模型继续进行联邦学习。
8.根据权利要求7所述的设备分簇方法,其特征在于,在将所述全局聚合模型参数下发至各所述边缘设备之前,还包括:
判断当前联邦学习轮次是否达到预设数值;
若是,则进入向多个边缘设备下发同一组测试数据集的步骤,并在执行完将设备簇信息下发至各所述边缘设备的步骤时,进入将所述全局聚合模型参数下发至各所述边缘设备的步骤;
若否,则进入将所述全局聚合模型参数下发至各所述边缘设备的步骤。
9.根据权利要求7所述的设备分簇方法,其特征在于,所述对接收到的所有所述簇内聚合模型参数进行聚合得到全局聚合模型参数,包括:
通过如下公式对接收到的所有所述簇内聚合模型参数进行聚合得到全局聚合模型参数:
;
其中,表示对所有第t+1轮簇内聚合得到的簇内聚合模型参数进行聚合得到的全局聚合模型参数,/>表示第c个设备簇在第t+1轮簇内聚合中得到的簇内聚合模型,C表示设备簇总量。
10.根据权利要求1所述的设备分簇方法,其特征在于,在向多个边缘设备下发同一组测试数据集之前,还包括:
在开始首轮联邦学习时,控制各所述边缘设备采用其本地的训练数据对其本地的机器学习模型进行训练;
在确定各所述边缘设备均完成训练时进入向多个边缘设备下发同一组测试数据集的步骤。
11.一种设备分簇方法,其特征在于,应用于边缘设备,所述方法包括:
接收边缘云服务器下发的测试数据集;各所述边缘设备对应相同测试数据集;
将所述测试数据集输入本地的机器学习模型,得到所述测试数据集对应的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备均已采用其本地的训练数据对所述机器学习模型进行训练;
将所述推理结果发送至所述边缘云服务器,并接收所述边缘云服务器下发的设备簇信息,以将本地的机器学习模型参数在所述设备簇信息对应的设备簇中进行近邻聚合和簇内聚合、并由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合;所述边缘云服务器利用由各所述边缘设备的推理结果所确定的训练数据相似度将各所述边缘设备划分至多个所述设备簇。
12.根据权利要求11所述的设备分簇方法,其特征在于,在接收所述边缘云服务器下发的设备簇信息之后,还包括:
利用本地的训练数据对本地的机器学习模型进行迭代训练;
当训练迭代次数达到第一预设值的整数倍时,向自身的邻居边缘设备广播本地的机器学习模型参数,并利用所述邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行聚合更新;所述邻居边缘设备为所述设备簇中与所述边缘设备间的训练数据相似度大于第一阈值的边缘设备;
当训练迭代次数达到第二预设值的整数倍时,将本地的机器学习模型在所述设备簇中进行簇内聚合;所述第二预设值大于所述第一预设值;
当自身属于所述设备簇的簇头边缘设备时,将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合;
接收所述边缘云服务器下发的全局聚合模型参数,利用所述全局聚合模型参数更新本地的机器学习模型,并基于本地更新后的机器学习模型进入利用本地的训练数据对本地的机器学习模型进行迭代训练的步骤。
13.根据权利要求12所述的设备分簇方法,其特征在于,所述将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合,包括:
当簇内聚合次数达到第三预设值的整数倍时,进入所述将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合的步骤。
14.根据权利要求12所述的设备分簇方法,其特征在于,所述利用所述邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行聚合更新,包括:
利用所述邻居边缘设备发送的机器学习模型对本地的机器学习模型参数进行平均聚合;
利用平均聚合得到的机器学习模型参数对本地的机器学习模型参数进行更新。
15.根据权利要求12所述的设备分簇方法,其特征在于,所述将本地的机器学习模型在所述设备簇中进行簇内聚合,包括:
将本地的机器学习模型参数发送至所述簇头边缘设备;
当自身属于所述设备簇的簇头边缘设备时,通过如下公式对接收到的机器学习模型参数进行聚合得到所述簇内聚合模型参数:
;
其中,表示第c个设备簇在第t+1轮簇内聚合得到的簇内聚合模型参数,/>表示第c个设备簇在第t轮簇内聚合得到的簇内聚合模型参数,/>表示在第t+1轮簇内聚合前第c个设备簇中的第j个边缘设备本地的机器学习模型参数,/>表示第c个设备簇中的边缘设备数量,/>表示超参数。
16.一种基于异构数据的设备分簇装置,其特征在于,应用于边缘云服务器,所述装置包括:
测试模块,用于向多个边缘设备下发同一组测试数据集,并获取各所述边缘设备本地的机器学习模型对所述测试数据集的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备已均采用其本地的训练数据对所述机器学习模型进行训练;
分簇模块,用于利用各所述推理结果确定各所述边缘设备间的训练数据相似度,并利用各所述训练数据相似度将各所述边缘设备划分至多个设备簇;
信息下发模块,用于将设备簇信息下发至各所述边缘设备,以由各所述边缘设备将其本地的机器学习模型参数在所述设备簇中进行近邻聚合和簇内聚合、并由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合。
17.一种设备分簇装置,其特征在于,应用于边缘设备,所述装置包括:
接收模块,用于接收边缘云服务器下发的测试数据集;各所述边缘设备对应相同测试数据集;
测试模块,用于将所述测试数据集输入本地的机器学习模型,得到所述测试数据集对应的推理结果;各所述边缘设备中的机器学习模型对应相同的模型结构及推理任务,各所述边缘设备均已采用其本地的训练数据对所述机器学习模型进行训练;
信息处理模块,用于将所述推理结果发送至所述边缘云服务器,并接收所述边缘云服务器下发的设备簇信息,以将本地的机器学习模型参数在所述设备簇信息对应的设备簇中进行近邻聚合和簇内聚合、并由各所述设备簇的簇头边缘设备将簇内聚合得到的簇内聚合模型参数发送至所述边缘云服务器进行全局聚合;所述边缘云服务器利用由各所述边缘设备的推理结果所确定的训练数据相似度将各所述边缘设备划分至多个所述设备簇。
18.一种边缘云服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至10任一项所述的基于异构数据的设备分簇方法。
19.一种边缘设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求11至15任一项所述的基于异构数据的设备分簇方法。
20.一种联邦学习系统,其特征在于,包括:
边缘云服务器,用于执行如权利要求1至10任一项所述的基于异构数据的设备分簇方法;
多个边缘设备,用于执行如权利要求11至15任一项所述的基于异构数据的设备分簇方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至10任一项所述的基于异构数据的设备分簇方法或如权利要求11至15任一项所述的基于异构数据的设备分簇方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410230125.7A CN117806838B (zh) | 2024-02-29 | 2024-02-29 | 基于异构数据的设备分簇方法、装置、设备、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410230125.7A CN117806838B (zh) | 2024-02-29 | 2024-02-29 | 基于异构数据的设备分簇方法、装置、设备、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117806838A true CN117806838A (zh) | 2024-04-02 |
CN117806838B CN117806838B (zh) | 2024-06-04 |
Family
ID=90425895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410230125.7A Active CN117806838B (zh) | 2024-02-29 | 2024-02-29 | 基于异构数据的设备分簇方法、装置、设备、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806838B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199189A (zh) * | 2019-07-08 | 2021-01-08 | 国际商业机器公司 | 深度学习模型对资源受限边缘设备的适应 |
CN112235384A (zh) * | 2020-10-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 分布式系统中的数据传输方法、装置、设备及存储介质 |
CN115952860A (zh) * | 2023-01-17 | 2023-04-11 | 河南大学 | 一种面向异质统计的分簇联邦学习方法 |
US20230162089A1 (en) * | 2020-04-03 | 2023-05-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for efficient distributed machine learning hyperparameter search |
CN116579417A (zh) * | 2023-05-10 | 2023-08-11 | 之江实验室 | 边缘计算网络中的分层个性化联邦学习方法、装置及介质 |
CN116610434A (zh) * | 2022-02-07 | 2023-08-18 | 上海大学 | 面向分层联邦学习系统的资源优化方法 |
CN117436547A (zh) * | 2023-11-20 | 2024-01-23 | 电子科技大学 | 一种动态联邦学习的集群划分方法、终端及边缘服务器 |
CN117575044A (zh) * | 2023-12-05 | 2024-02-20 | 之江实验室 | 数据遗忘学习方法、装置、数据处理系统和存储介质 |
-
2024
- 2024-02-29 CN CN202410230125.7A patent/CN117806838B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199189A (zh) * | 2019-07-08 | 2021-01-08 | 国际商业机器公司 | 深度学习模型对资源受限边缘设备的适应 |
US20230162089A1 (en) * | 2020-04-03 | 2023-05-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for efficient distributed machine learning hyperparameter search |
CN112235384A (zh) * | 2020-10-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 分布式系统中的数据传输方法、装置、设备及存储介质 |
CN116610434A (zh) * | 2022-02-07 | 2023-08-18 | 上海大学 | 面向分层联邦学习系统的资源优化方法 |
CN115952860A (zh) * | 2023-01-17 | 2023-04-11 | 河南大学 | 一种面向异质统计的分簇联邦学习方法 |
CN116579417A (zh) * | 2023-05-10 | 2023-08-11 | 之江实验室 | 边缘计算网络中的分层个性化联邦学习方法、装置及介质 |
CN117436547A (zh) * | 2023-11-20 | 2024-01-23 | 电子科技大学 | 一种动态联邦学习的集群划分方法、终端及边缘服务器 |
CN117575044A (zh) * | 2023-12-05 | 2024-02-20 | 之江实验室 | 数据遗忘学习方法、装置、数据处理系统和存储介质 |
Non-Patent Citations (2)
Title |
---|
LI, ZIJIAN: "HPFL-CN: Communication-Efficient Hierarchical Personalized Federated Edge Learning via Complex Network Feature Clustering", 2022 19TH ANNUAL IEEE INTERNATIONAL CONFERENCE ON SENSING, COMMUNICATION, AND NETWORKING (SECON), 7 December 2022 (2022-12-07), pages 325 - 333 * |
徐波: "面向物联网边缘环境的无线联邦学习与资源优化管理方法研究", CNKI博士学位论文全文库, 23 October 2023 (2023-10-23), pages 1 - 122 * |
Also Published As
Publication number | Publication date |
---|---|
CN117806838B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sanghavi et al. | Message passing for maximum weight independent set | |
Cai et al. | A unified heuristic bat algorithm to optimize the LEACH protocol | |
US11652709B2 (en) | Managing computation load in a fog network | |
CN109788489A (zh) | 一种基站规划方法及装置 | |
CN113469325A (zh) | 一种边缘聚合间隔自适应控制的分层联邦学习方法、计算机设备、存储介质 | |
CN115358487A (zh) | 面向电力数据共享的联邦学习聚合优化系统及方法 | |
CN113033800A (zh) | 分布式深度学习方法、装置、参数服务器及主工作节点 | |
Breidt et al. | Endogenous post-stratification in surveys: Classifying with a sample-fitted model | |
CN113971089A (zh) | 联邦学习系统设备节点选择的方法及装置 | |
CN113553160A (zh) | 用于人工智能物联网的边缘计算节点任务调度方法及系统 | |
CN114116828A (zh) | 多维网络指标的关联规则分析方法、设备和存储介质 | |
CN117241295A (zh) | 一种无线通信网络性能优化方法、装置及存储介质 | |
CN104283717A (zh) | 一种预测虚拟网络资源状态的方法及装置 | |
CN114389974A (zh) | 查找分布式训练系统中异常流量节点的方法、装置及介质 | |
CN117806838B (zh) | 基于异构数据的设备分簇方法、装置、设备、系统及介质 | |
CN116862021B (zh) | 基于信誉评估的抗拜占庭攻击的去中心化学习方法及系统 | |
Zhang et al. | Offloading demand prediction-driven latency-aware resource reservation in edge networks | |
CN109299725B (zh) | 一种张量链并行实现高阶主特征值分解的预测系统和装置 | |
CN111105617B (zh) | 基于矩阵稳定性分析的智能交通预测系统 | |
CN117808129B (zh) | 一种异构分布式学习方法、装置、设备、系统及介质 | |
US20230419172A1 (en) | Managing training of a machine learning model | |
CN112508220A (zh) | 车流预测方法和装置 | |
CN117829274B (zh) | 模型融合方法、装置、设备、联邦学习系统及存储介质 | |
CN117808125B (zh) | 模型聚合方法、装置、设备、联邦学习系统及存储介质 | |
CN117808126B (zh) | 机器学习方法、装置、设备、联邦学习系统及存储介质 |
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 |