1.一种基于计算资源逻辑分层的联邦学习通信优化方法,其特征在于:包括以下步骤:S1:分层通信架构构建:给定设备集合C={c1,c2,...,ck,cN}、设备计算能力P={p1,p2,...,pk,pN}、拟划分的簇集合clst={clst1,clst2,...,clstM}以及分组方向变量direction,初始条件下,direction=true,表示分组方向从左至右;根据设备计算能力P对设备逻辑分组,构建基于“云中心‑Head节点‑终端设备”的分层通信架构;
S2:云中心初始化:云中心初始化全局模型参数ω0,全局模型训练轮数T,簇内训练轮数H,初始Staleness函数影响因子α0;
S3:簇内协作训练:簇clst={clst1,clst2,...,clstM}中的每个簇并行地进行簇内协作训练,簇内头节点Head={Head1,Head2,...,HeadM}分别得到经过簇内训练迭代轮数H的更新参数
S4:簇间模型聚集:每个簇clsti的Headi节点上传其簇内训练模型更新参数 至云中心,并计算得到下一轮迭代的全局模型更新参数ωt+1;
S5:全局模型分发:云中心将计算得到的全局模型更新参数ωt+1下发给每个簇的Head,模型训练进入下一轮迭代。
2.根据权利要求1所述的基于计算资源逻辑分层的联邦学习通信优化方法,其特征在于:步骤S1具体包括以下步骤:
S11:根据设备的计算能力P={p1,p2,...,pk,pN},对设备的计算能力排序,并得到排序后的集合 且 以及相应的设备集合
S12:判断当前设备集合 中的所有设备是否分组完成,若 表示集合 中所有的设备已分组完成,则返回已分组的结果;反之,若 表示集合 中所有的设备尚未分组完成,则继续判断分组方向变量direction的值。若direction=true,则将集合 中的前M个设备依次分配给clst={clst1,clst2,...,clstM},并置direction=false,反之,若direction=false,则将集合 中的前M个设备依次分配给clst={clstM,clstM‑1,...,clst1},并置direction=true, 不断重复步骤S12,直至集合 中的所有设备分组完成为止;
S13:并行地从已分组完成的簇clst={clst1,clst2,...,clstM}中,选取一个计算能力最强的终端设备Head={Head1,Head2,...,HeadM},并由每个簇的Headi节点代替每个簇clsti中所有其他节点与云中心通信,从而构建一个基于“云中心‑Head节点‑终端设备”的分层通信架。
3.根据权利要求1所述的基于计算资源逻辑分层的联邦学习通信优化方法,其特征在于:所述步骤S3包括以下步骤,
S31:簇clsti的头节点Headi从云中心获取当前全局模型迭代轮数t的全局模型参数ωt,并置 得到簇clsti的初始模型更新参数;
S32:头节点Headi将簇内初始模型更新参数 分发给簇clsti内所有参与的终端设备;
S33:簇clsti内的所有终端设备并行的进行本地模型训练;对异构的计算资源进行再分配,即将响应时间快的计算设备与其头节点进行更多的通信交互;假设对于簇clsti中任意的参与设备ck,置簇内迭代轮数变量τ←h, 其中, 表示簇clsti中设备在第τ轮迭代的初始模型参数, 表示表示簇clsti中设备在第h轮迭代的初始模型参数,初始条件下h=0,设备ck经过L轮本地模型更新得到簇内模型更新参数 及得到该模型更新时的簇内迭代轮数信息τ,其计算公式如下:
其中,l∈L,η表示学习率,b表示最小的训练块大小, 表示梯度函数;
S34:设备ck上传 和τ至Headi节点;
S35:头节点Headi计算当前簇内迭代轮数h的Staleness的影响因子αh,其计算公式为:其中,e表示一个自然指数对数,用来描述时间的影响;
S36:头节点Headi计算当前簇内迭代轮数h的模型更新参数 其计算公式为:其中, 表示簇clsti在簇内迭代轮数(h‑1)的模型更新参数。
4.一种基于计算资源逻辑分层的联邦学习通信优化系统,其特征在于:包括:分层通信架构构建模块,用于将给定的终端设备集合C={c1,c2,...,ck,cN},根据其设备的计算资源P={p1,p2,...,pk,pN},对设备进行逻辑分组,构建基于“云中心‑Head节点‑终端设备”的分层通信架构;
云中心初始化模块,用于初始化全局模型参数ω0,全局模型训练轮数T,簇内训练轮数H,以及初始Staleness函数影响因子α0;
簇内协作训练模块,用于簇clst={clst1,clst2,...,clstM}中的每个簇并行地进行簇内协作训练,簇内头节点Head={Head1,Head2,...,HeadM}分别得到经过簇内训练迭代轮数H的更新参数
簇间模型聚集模块,用于每个簇clsti的Headi节点上传其获得的更新参数 至云中心,并计算得到下一轮迭代的全局模型更新参数ωt+1;
全局模型分发模块,用于云中心将计算得到的全局模型更新参数ωt+1分发给每个计算簇的头节点,模型训练进入下一轮迭代。
5.根据权利要求4所述的基于计算资源逻辑分层的联邦学习通信优化系统,其特征在于:所述分层通信架构构建模块包含以下子模块:计算资源排序子模块,用于根据设备计算资源集合P={p1,p2,...,pk,pN},按照其计算能力大小排序,得到排序后的集合 以及相应的设备集合设备分组判断子模块,用于判断集合 中所有终端设备是否已分组完成,若 表示集合 中所有的设备已分组完成,则返回设备分组结果;反之,若 表示集合 中所有的设备尚未分组完成,则进入设备分组方向判断子模块;
设备分组方向判断子模块,用于判断分组方向变量direction的值,若direction=true,则将集合 中的前M个设备依次分配给clst={clst1,clst2,...,clstM};反之,若direction=false,则将集合 中的前M个设备依次分配给clst={clstM,clstM‑1,...,clst1};
变量重置子模块,用于重置设备分组方向变量direction以及集合 即置direction=false/true,
第一迭代子模块,用于重复以上子模块,直至集合 为止,返回clst={clst1,clst2,...,clstM}分组结果;
Head节点选取子模块,用于并行地已分组完成的簇clst={clst1,clst2,...,clstM}中,选取一个计算能力最强的终端设备Head={Head1,Head2,...,HeadM},并由每个簇的Headi节点代替每个簇clsti中所有其他节点与云中心通信,从而构建一个基于“云中心‑Head节点‑终端设备”的分层通信架。
6.根据权利要求4所述的基于计算资源逻辑分层的联邦学习通信优化系统,其特征在于:所述簇内协作训练模块包含以下子模块:Head节点模型参数获取子模块,用于头节点Headi从云中心获取当前全局模型迭代轮数t的全局模型参数ωt,并置 得到簇clsti的初始模型更新参数;
Head节点参数分发子模块,用于头节点Headi将簇内模型更新参数 分发给簇clsti内的所有终端设备;
变量存储子模块,用于簇clsti内任意的终端设备ck,存储模型更新时的簇内迭代轮数信息τ←h以及在第τ轮迭代的初始模型参数本地模型训练子模块,用于终端设备ck,计算得到经过L轮本地模型更新的簇内模型更新参数 及得到该模型更新时的簇内迭代轮数信息τ;
本地模型更新上传子模块,用于簇clsti内任意的终端设备ck上传 和τ至头节点Headi;
Staleness计算子模块,用于终端设备ck计算当前簇内迭代轮数h的Staleness的影响因子
簇内模型更新参数计算子模块,用于计算簇clsti内迭代轮数h的模型更新参数第二迭代子模块,用于Headi得到簇clsti经过簇内训练迭代轮数H的更新参数并行子模块,用于簇clst={clst1,clst2,...,clstM}中的每个簇并行地进行簇内协作训练,簇内头节点Head={Head1,Head2,...,HeadM}分别得到经过簇内训练迭代轮数H的更新参数
7.根据权利要求4所述的基于计算资源逻辑分层的联邦学习通信优化系统,其特征在于:所述簇间模型聚集模块包含以下子模块:簇内模型更新上传子模块,用于每一个簇clsti的Headi节点上传其簇内训练模型更新参数 至云中心;
云中心聚集子模块,用于云中心聚集 得到下一轮迭代的全局模型更新参数