1.一种联邦学习的能耗优化方法,其特征在于,包括:S1:对多个客户端进行聚类,得到K个聚类簇;
S2:建立客户端的计算模型和通信模型,计算每个聚类簇的平均能耗;
S3:根据平均能耗从小到大的顺序对聚类簇进行排序,获得排序后的K个聚类簇,依次作为第一集合、第二集合、…、第K集合;
S4:判断第一集合中客户端的数量是否小于第一阈值;若小于第一阈值,则执行步骤S5;否则,执行步骤S6;
S5:按照排序结果,从第二集合开始,随机选取客户端加入第一集合中;其中,当当前集合中的所有客户端被选取完毕时,才对下一集合中的客户端进行随机选取,直到第一集合中客户端的数量等于第一阈值,利用第一集合中当前的客户端组成当前最小能耗客户端集合,执行步骤S7;
S6:直接利用第一集合中的客户端组成当前最小能耗客户端集合,执行步骤S7;
S7:使用所述最小能耗客户端集合中的客户端进行联邦学习,获得联邦学习的模型参数;
S8:根据所述联邦学习的模型参数,对当前最小能耗客户端集合中的客户端进行第二次聚类,得到多个子聚类簇;
S9:结合所述多个子聚类簇,使用所述最小能耗客户端集合中的客户端进行联邦学习,得到最终总模型。
2.根据权利要求1所述一种联邦学习的能耗优化方法,其特征在于,所述客户端的计算模型如下:客户端Ci的本地计算时延为:
i表示序号,ωi表示第i个客户端每秒可以处理的CPU周期数,θ表示处理一个数据样本所需的CPU周期数,|Di|表示训练客户端Ci的本地数据量;
客户端Ci的本地计算能耗为:
i表示序号,ωi表示第i个客户端每秒可以处理的CPU周期数,θ表示处理一个数据样本所需的CPU周期数,|Di|表示第i个客户端的本地数据量;k表示芯片架构的有效开关电容;
3
fi表示第i个客户端的本地计算能力。
3.根据权利要求2所述一种联邦学习的能耗优化方法,其特征在于,所述客户端的通信模型如下:客户端Ci的数据传输速率为:
i表示序号,B表示带宽,pi表示第i个客户端的复数高斯白信道噪声的发射功率,N0表示复数高斯白信道噪声的方差;hi表示第i个客户端与边缘服务器之间的信道增益;
客户端Ci的通信时延为:
i表示序号,B表示带宽,Mi表示第i个客户端的本地模型Wi的比特数,pi表示第i个客户端的复数高斯白信道噪声的发射功率,N0表示复数高斯白信道噪声的方差;di表示第i个客户端与边缘服务器之间的距离,oi表示瑞利衰落参数;
客户端Ci的本地通信能耗为:
i表示序号,B表示带宽,Mi表示第i个客户端的本地模型Wi的比特数,pi表示第i个客户端的复数高斯白信道噪声的发射功率,N0表示复数高斯白信道噪声的方差;hi表示第i个客户端与边缘服务器之间的信道增益。
4.根据权利要求3所述一种联邦学习的能耗优化方法,其特征在于,所述平均能耗为:i表示序号,|Ck|表示客户端总数量,Ck表示客户端集合,Costi表示第i个客户端的能耗;
第i个客户端的能耗Costi为:
Costi=αEi+βTi
i表示序号,α表示时延系数,β表示能耗系数;
第i个客户端的本地训练的能耗Ei为:
i表示序号, 表示第i个客户端的本地通信能耗, 表示第i个客户端的本地计算能耗;
第i个客户端的本地训练的时延Ti为:
i表示序号, 表示第i个客户端的通信时延, 表示第i个客户端的本地计算时延。
5.根据权利要求1所述一种联邦学习的能耗优化方法,其特征在于,步骤S1中的聚类包括:S101:随机选择K个客户端作为初始质心,获得K个第一质心;
S102:对每个客户端分别计算到每个第一质心的距离;
S103:将每个客户端分配到距离最近的第一质心对应的簇中;
S104:对每个簇重新计算质心,得到多个新的第二质心;
S105:判断每个第二质心与对应的第一质心位置是否相同;若均相同,则将当前簇作为聚类簇;否则,则将第二质心作为新的第一质心,重复步骤S102~S105。
6.根据权利要求1所述一种联邦学习的能耗优化方法,其特征在于,步骤S8中所述第二次聚类,包括:S801:获得联邦学习中的最小能耗客户端集合中的各个客户端模型的参数,计算余弦相似度,得到多个相似度矩阵;
S802:对所述多个相似度矩阵进行AP聚类,得到多个子聚类簇。
7.根据权利要求6所述一种联邦学习的能耗优化方法,其特征在于,步骤S801中,所述余弦相似度的计算方式如下:i、j表示序号,t表示轮次序号, 表示第i个最小能耗客户端集合中的客户端第t轮的模型参数, 表示第i个最小能耗客户端集合中的客户端第t+1轮的模型参数变化量。
8.根据权利要求1所述一种联邦学习的能耗优化方法,其特征在于,步骤S9中,使用所述最小能耗客户端集合中的客户端进行联邦学习,包括:S901:对每个子聚类簇中的客户端模型进行聚合,获得每个子聚类簇模型;
S902:将所述各个子聚类簇模型进行聚合,得到总模型;
S903:判断总模型是否收敛,若总模型未收敛,则再次进行联邦学习,得到每个子聚类簇的新的客户端模型,执行步骤S901~S903;否则,将当前的总模型作为最终总模型。
9.根据权利要求8所述一种联邦学习的能耗优化方法,其特征在于,步骤S902中,总模型的公式如下:k表示序号,Ωk表示第k个子聚类簇模型,Φk表示第k个子聚类簇的数据量,N表示子聚类簇模型的数量;
步骤S901中,客户端聚合后的模型的公式如下:k k
k、k′表示序号,Ωk′表示第k个子聚类簇的第k′个客户端联邦学习模型,N表示第k个子k聚类簇的客户端联邦学习模型数量,Φk′表示第k个子聚类簇的第k′个客户端的数据量。
10.一种联邦学习的能耗优化装置,应用于权利要求1~9任一项所述优化方法,其特征在于,包括:第一聚类模块:对多个客户端进行聚类,得到K个聚类簇;
能耗计算模块:建立客户端的计算模型和通信模型,计算每个聚类簇的平均能耗;
簇选择模块:根据平均能耗从小到大的顺序对聚类簇进行排序,获得排序后的K个聚类簇,依次作为第一集合、第二集合、…、第K集合;
阈值判断模块:判断第一集合中客户端的数量是否小于第一阈值;
集合添加模块一:按照排序结果,从第二集合开始,随机选取客户端加入第一集合中;
其中,当当前集合中的所有客户端被选取完毕时,才对下一集合中的客户端进行随机选取,直到第一集合中客户端的数量等于第一阈值,利用第一集合中当前的客户端组成当前最小能耗客户端集合;
集合添加模块二:直接利用第一集合中的客户端组成当前最小能耗客户端集合;
第一联邦学习模块:使用所述最小能耗客户端集合中的客户端进行联邦学习,获得联邦学习的模型参数;
第二聚类模块:根据所述联邦学习的模型参数,对当前最小能耗客户端集合中的客户端进行第二次聚类,得到多个子聚类簇;
第二联邦学习模块:结合所述多个子聚类簇,使用所述最小能耗客户端集合中的客户端进行联邦学习,得到最终总模型。