CN115936110A - 一种缓解异构性问题的联邦学习方法 - Google Patents
一种缓解异构性问题的联邦学习方法 Download PDFInfo
- Publication number
- CN115936110A CN115936110A CN202211458846.0A CN202211458846A CN115936110A CN 115936110 A CN115936110 A CN 115936110A CN 202211458846 A CN202211458846 A CN 202211458846A CN 115936110 A CN115936110 A CN 115936110A
- Authority
- CN
- China
- Prior art keywords
- client
- clients
- model
- local
- training
- 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 33
- 238000012549 training Methods 0.000 claims abstract description 121
- 239000013598 vector Substances 0.000 claims abstract description 32
- 230000009467 reduction Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 230000000116 mitigating effect Effects 0.000 claims 2
- 230000004931 aggregating effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 7
- 238000010606 normalization Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种缓解异构性问题的联邦学习方法,包括初始化所有客户端的任务量和历史训练数据;选取M个客户端作为第一客户端;并根据客户端的资源报告生成客户端的特征向量;将全局模型和第一客户端的任务量发送给第一客户端对全局模型训练获得本地模型;将客户端上传的本地模型进行聚合得到下一轮迭代训练的全局模型;利用全局模型的训练数据对第一客户端进行更新;服务器根据第一客户端向服务器上传的本地模型和利用辅助数据集重新划分下一轮全局模型迭代训练的第一客户端和第二客户端;并重复执行步骤S2‑S6,直至达到预设的训练轮数为止,输出最终全局模型。
Description
技术领域
本发明属于联邦学习技术应用领域,具体涉及一种缓解异构性问题的联邦学习方法。
背景技术
联邦学习(Federated Learning)是一种新兴的人工智能基础技术,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。
联邦学习作为新兴的人工智能技术,其主要包括:服务器和多个参与联邦学习的客户端,服务器将需要训练的机器学习模型下发给客户端,服务器向客户端下发机器学习模型的方式主要是通过模型参数的形势下发给客户端,多个客户端分别利用本地样本对模型参数进行训练,并将训练好的模型参数上传给服务器,服务器根据每个客户端上传到的模型参数,生成局部模型并利用局部模型计算模型参数在每个客户端上的梯度变化,将所有客户端的梯度变化聚合得到最终的全局模型,服务器将全局模型的模型参数发送给客户端完成联邦学习任务,联邦学习主要是模型在多个参与方进行移动,参与方的数据并不会进行移动,在多个客户端进行联邦学习时保证了各个参与方的隐私和数据安全。
但目前仍存在一些关键问题亟待解决,首先是客户端掉队问题,即客户端在规定时间内无法完成联邦训练任务上传给服务器本地模型,使得服务器聚合的全局模型失效,现有的解决方案大多数倾向于选择能够快速完成联邦训练任务的客户端参与联邦学习;其次是复杂模型的高计算复杂度问题,参与联邦学习的客户端规模巨大,而算法的计算成本随着客户端规模增加而增加,现有方案往往是对客户端上传的本地模型进行降维处理,减少计算参数;最后是客户端的数据异构问题,由于各个客户端的数据是非独立同分布的,使得联邦学习难以达到传统集中式训练的效果,现有方案致力于对客户端集群进行无偏的抽样或者尽量扩大参与模型训练的客户端数量。
综上所述,结合当前客户端选择已有的研究情况,发现虽然诸多学者已在客户端选择方面取得一些成果,但是仍然存在一些技术问题。
1.资源受限的客户端无法加入联邦学习训练。优选拥有更高计算资源的客户端可减少掉队情况,但资源受限的客户端的数据将难以参与训练,使得参与训练的客户端集群的数据分布长期偏移整体客户端集群的数据分布,模型泛化性能极大的降低。
2.降维带来的信息损失,将本地模型的参数降维虽然有效减少了算法计算时间,但在降维过程中很可能会丢失某些至关重要的信息,使得算法的效果难以达到预期的目标。
3.数据异构导致的客户端漂移问题,也就是小部分客户端的收敛方向与其他大部分的客户端的收敛方向有所偏差,详见论文《Towards Personalized FederatedLearning》。无偏抽样和扩大参与模型训练的客户端数量虽然使得参与训练的客户端集群的数据分布与整体客户端集群数据分布基本一致,保证了整体收敛方向的正确,但并不是最优方案,收敛方向偏移的客户端的本地模型在服务器聚合时将会出现大量的权重更新抵消现象降低模型收敛速度。
发明内容
为了解决背景技术中存在的问题,本发明提供一种缓解异构性问题的联邦学习方法,包括:
S1:服务器从所有客户端的数据库中抽取部分本地样本组成辅助数据集;并随机初始化所有客户端的任务量和历史训练数据;服务器根据预设的每轮参与全局模型训练的客户端数量M从所有客户端中随机选取M个客户端作为第一客户端;将其余客户端作为第二客户端;
S2:服务器获取所有客户端的资源报告,根据客户端的资源报告生成客户端的特征向量;其中,所述客户端的资源报告包括:客户端的CPU时钟频率,带宽,内存以及能量;
S3:服务器将全局模型和第一客户端的任务量发送给第一客户端;第一客户端根据接收的任务量利用本地样本对全局模型进行训练获得本地模型,并将全局模型的训练数据和本地模型上传至服务器;服务器对所有第一客户端上传的本地模型进行聚合得到下一轮迭代训练的全局模型;
所述全局模型的训练数据包括:第一客户端接收到全局模型的时间、第一客户端上传本地模型的时间、第一客户端上传本地模型时的传输功率、第一客户端与服务器之间的信道增益、第一客户端上传本地模型时的信号干扰、第一客户端本地样本的数量、第一客户端利用一个本地样本对全局模型进行一次训练需要的CPU周期数量以及全局模型的模型参数数量。
S4:服务器利用第一客户端上传的全局模型的训练数据对第一客户端的历史训练数据进行更新;
S5:服务器根据第一客户端的特征向量和第一客户端的历史训练数据利用LinUCB算法计算得到第一客户端的最终任务量;并用第一客户端的最终任务量更新第一客户端的任务量;
所述根据第一客户端的特征向量和第一客户端的历史训练数据利用LinUCB算法计算得到第一客户端的最终任务量包括:
S51:根据第一客户端的特征向量xi,t和第一客户端的历史训练数据计算第一客户端的迭代训练时间和第一客户端的模型参数上传时间;
所述第一客户端的迭代训练时间和第一客户端的模型参数上传时间的计算步骤包括:
S511:根据第一客户端利用一个本地样本对全局模型进行一次训练需要的CPU周期数量和第一客户端的CPU周期频率计算第一客户端的迭代训练时间;
S512:根据全局模型的模型参数数量和第一客户端的带宽计算第一客户端的模型参数上传时间。
S52:根据第一客户端的迭代训练时间和第一客户端的模型参数上传时间利用LinUCB算法计算第一客户端的最终任务量。
所述第一客户端的最终任务量的计算步骤包括:
S521:根据第一客户端接收到全局模型的时间和第一客户端上传本地模型的时间判断第一客户端是否在预设的服务器最大等待时间内完成第一客户端的任务量;
S522:根据第一客户端对任务量的完成情况和第一客户端的特征向量利用LinUCB算法计算第一客户端的初始任务量;
S523:根据第一客户端的初始任务量、第一客户端的迭代训练时间、第一客户端的模型参数上传时间、预设的服务器最大等待时间和第一客户端本地样本的数量计算第一客户端的最终任务量。
S6:服务器根据第一客户端向服务器上传的本地模型和预设的每轮参与全局模型训练的客户端数量利用辅助数据集重新划分下一轮全局模型迭代训练的第一客户端和第二客户端;并重复执行步骤S2-S6,直至达到预设的训练轮数为止,输出最终全局模型。
所述根据第一客户端向服务器上传的本地模型和预设的每轮参与全局模型训练的客户端数量利用辅助数据集从所有客户端中挑选下一轮参与全局模型迭代训练的第一客户端包括:
S61:根据第一客户端向服务器上传的本地模型利用辅助数据集计算第一客户端的数据特征;
所述第一客户端的数据特征的计算步骤包括:
S611:将辅助数据集输入第一客户端向服务器上传的本地模型计算本地模型对辅助数据集中样本的损失,根据本地模型对辅助数据集中样本的损失得到本地模型隐藏层到输出层的权重参数的梯度向量;
S612:根据本地模型隐藏层到输出层的权重参数的梯度向量,计算第一客户端每个类别的本地样本占客户端总本地样本的比值;
S613:根据第一客户端每个类别的本地样本占第一客户端总本地样本的比值生成第一客户端本地样本数据的类分布特征;
S614:利用PCA对本地模型全连接层的权重参数进行降维处理,将降维处理后的全连接层权重参数和第一客户端本地样本数据的类分布特征进行特征融合得到第一客户端的数据特征。
S62:随机选取k个第一客户端作为簇心客户端,根据第一客户端的数据特征与每一个簇心客户端的数据特征之间的距离将第一客户端聚类到与其数据特征最近的簇心客户端得到多个客户端簇和簇心客户端;
S63:依次将客户端簇中除簇心客户端外的其余第一客户端作为目标中心点构建准则函数,并将准则函数最小的目标中心点作为下一轮迭代的簇心客户端,重复步骤S62–S63直到簇心客户端不发生变化为止,得到多个客户端簇和簇心客户端;
S64:根据聚类后的多个客户端簇和簇心客户端计算平衡点;
S65:计算簇心客户端与平衡点的距离;
S66:将簇心客户端与平衡点的距离小于设定阈值的客户端簇作为平衡簇,将其余客户端簇作为倾斜簇;
S67:根据预设的每轮参与全局模型训练的客户端名额和各个簇拥有的客户端数量利用整数分配算法将名额分配给各个平衡簇、倾斜簇以及第二客户端;
S68:根据每个平衡簇、倾斜簇和第二客户端拥有的下一轮参与全局模型训练的客户端名额数量和各个客户端的任务量利用MD抽样算法分别从各个平衡簇、倾斜簇以及第二客户端中选取对应数量的客户端作为下一轮迭代训练的第一客户端,并将其余客户端作为下一轮迭代训练的第二客户端。
本发明至少具有以下有益效果
1.本发明采用自适应调整任务量的方式使得资源受限的客户端也能在规定时间内完成其联邦训练任务,提高了联邦学习过程中客户端选择的公平性,解决了客户端掉队的问题,同时还为后续客户端选择得到更加均匀的数据分布打下了基础。
2.本发明采用提取客户端数据类分布的方式使得客户端主要数据特点得以保留且更加突出,提高了客户端选择算法的有效性,解决了模型参数降维后重要信息丢失的问题。
3.本发明采用了客户端聚类,平衡簇多选和倾斜簇均选的方式分别使得客户端选择算法挑选的客户端更具代表性,服务器聚合本地模型的权重更新抵消现象大量减少和服务器聚合得到的全局模型的收敛方向不偏移最优方向,提高了全局模型的收敛速度和泛化性能,解决了数据异构带来的客户端漂移问题。
附图说明
图1为本发明的方法流程图;
图2为本发明客户端的特征向量构建示意图;
图3为本发明客户端的任务量预测方法流程图;
图4为本发明客户端的数据特征提取示意图。
具体实施方式
为了更好地阐述本发明的技术方案并使优点更加简明清晰,下面先对本发明要解决的问题进行具体解释,再参照说明书附图,对本发明的具体实施方式做进一步详细说明。
请参阅图1,本发明提供一种缓解异构性问题的联邦学习方法,包括:
S1:服务器从所有客户端的数据库中抽取部分本地样本组成辅助数据集;并随机初始化所有客户端的任务量和历史训练数据;服务器根据预设的每轮参与全局模型训练的客户端数量M从所有客户端中随机选取M个客户端作为第一客户端;将其余客户端作为第二客户端;辅助数据集中包含所有客户端每个类别的本地样本且每个类别的本地样本的数量相同,每个本地样本中具有样本的类别标签,本地样本可以是医学图像、医学统计数据等,初始化每个客户端的历史训练数据为空,所述客户端为各医疗机构中对应的计算机或智能设备。
对于联邦学习第一次迭代训练全局模型时,由于所有客户端均未有历史训练数据,因此并不能计算客户端的任务量,因此本发明通过随机初始化所有客户端的任务量。
所述客户端的任务量为客户端训练全局模型所需要的本地样本的数量。在每一轮联邦学习过程中为了使本地模型更加的容易被聚合为全局模型,因此本发明中在联邦学习过程中参与每轮全局模型迭代训练的客户端的数量相同。
请参阅图2,S2:服务器获取所有客户端的资源报告,根据客户端的资源报告生成客户端的特征向量;其中,所述客户端的资源报告包括:客户端的CPU时钟频率,带宽,内存以及能量;
所述根据客户端的资源报告生成客户端的特征向量包括:
服务器在每次下发全局模型前,服务器将获取所有客户端的资源报告,将资源报告中的每种资源划分为10个离散区间,由1到10表示,其中,若客户端接通电源则能量设置为10,若未接通电源则根据客户端的电池电量将其离散为10个离散区间并由1到10表示。由此为每个客户端告生成了资源向量,归一化后加上常数1得到客户端的特征向量xi,t:
xi,t=(CPUit,Bandwidthit,Memoryit,Energyit,1)
其中,CPUit,Bandwidthit,Memoryit和Energyit分别表示在第t轮迭代训练过程中第i个客户端离散归一化后的时钟频率,离散归一化后的带宽,离散归一化后的内存和离散归一化后的能量。以此可以有效地克服数据中隐藏的缺陷,如减少类别数量,还可统一量纲,平衡各特征的贡献。
S3:服务器将全局模型和第一客户端的任务量发送给第一客户端;第一客户端根据接收的任务量利用本地样本对全局模型进行训练获得本地模型,并将全局模型的训练数据和本地模型上传至服务器;服务器对所有第一客户端上传的本地模型进行聚合得到下一轮迭代训练的全局模型;
在联邦学习中,服务器首先会将初始全局模型下发给服务器;客户端接收初始全局模型后采用本地样本对初始全局模型进行训练并将训练好的初始全局模型作为本地模型上传给服务器,服务器接收所有客户端上传的本地模型,并对所有本地模型的模型参数进行聚合生成下一轮迭代训练的全局模型,重复迭代训练的过程直至达到预设的迭代次数为止,得到最终的全局模型,服务器可以利用最终的全局模型对目标样本进行预测,同时服务器也可以将最终的全局模型发送给客户端,客户端通过最终的全局模型对目标样本进行预测,而在本发明中参与联邦学习的客户端中并不是所有的客户端在每一轮迭代训练中都会参与全局模型的训练,只有部分的M个客户端会参与全局模型的训练,其中,M表示服务器预设的每轮参与全局模型训练的客户端的数量。这样可以避免由于某部分客户端掉队,导致上传的本地模型缺乏部分数据从而使服务器聚合的全局模型失效的情况,通过只设置部分客户端进行全局模型的训练,在所有客户端中根据完成情况和客户端的资源状态调整下一轮参与联邦学习的客户端从而避免服务器聚合的全局模型失效的情况。
所述全局模型的训练数据包括:第一客户端接收到全局模型的时间、第一客户端上传本地模型的时间、第一客户端上传本地模型时的传输功率、第一客户端与服务器之间的信道增益、第一客户端上传本地模型时的信号干扰、第一客户端本地样本的数量、第一客户端利用一个本地样本对全局模型进行一次训练需要的CPU周期数量以及全局模型的模型参数数量。
在本发明中全局模型为CNN神经网络;所述全局模型的模型参数包括:CNN神经网络隐藏层到输出层之间的权重参数、CNN神经网络隐藏层之间的权重参数和输入层到隐藏层之间的权重参数;在其余的优选实施例中,本地模型还可以为DNN或RNN模型。
S4:服务器利用第一客户端上传的全局模型的训练数据对第一客户端的历史训练数据进行更新;
在全局模型开始训练之前,服务器会初始化每个客户端的历史训练数据为空;当执行完第一轮全局模型训练后,服务器将接收的第一客户端上传的全局模型训练数据作为第一客户端的历史训练数据;在后面的全局模型迭代训练过程中若该客户端再次上传新的全局模型训练数据,服务器则用新的全局模型训练数据替换掉该客户端原来的历史训练数据作为该客户端新的历史训练数据,例如,有客户端A、B、C,在第一轮训练结束后,服务器接受到客户端上传的全局模型训练数据a1、b1、空;空表示客户端未参与本轮全局模型的训练;在第二轮训练结束后,服务器接受到客户端上传的全局模型训练数据a2、空、空;那么第三轮训练过程中客户端A、B、C的历史训练数据分别为a2、b1、空。
S5:服务器根据第一客户端的特征向量和第一客户端的历史训练数据利用LinUCB算法计算得到第一客户端的最终任务量;并用第一客户端的最终任务量更新第一客户端的任务量;
所述根据第一客户端的特征向量和第一客户端的历史训练数据利用LinUCB算法计算得到第一客户端的最终任务量包括:
S51:根据第一客户端的特征向量xi,t和第一客户端的历史训练数据计算第一客户端的迭代训练时间和第一客户端的模型参数上传时间;
S511:根据第一客户端利用一个本地样本对全局模型进行一次训练需要的CPU周期数量和第一客户端的CPU周期频率计算第一客户端的迭代训练时间;
其中,gi表示第一客户端Ai利用一个本地样本对全局模型进行一次训练需要的CPU周期数量,fi表示第一客户端Ai的CPU周期频率,表示第一客户端Ai的迭代训练时间,0<i≤M(M表示第一客户端的数量)。
S512:根据全局模型的模型参数数量和第一客户端的带宽计算第一客户端的模型参数上传时间:
其中,Ti com表示第一客户端Ai的模型参数上传时间,α表示全局模型的模型参数数量,Bi表示第一客户端Ai的带宽,ρi表示第一客户端Ai的传输功率,hi表示第一客户端Ai与服务器之间的信道增益,N0表示第一客户端上传本地模型时的信号干扰,本发明取中N0为50dB,本领域技术人员可根据实际情况取值。
请参阅图3,S52:根据第一客户端的迭代训练时间和第一客户端的模型参数上传时间利用LinUCB算法计算第一客户端的最终任务量;
S521:根据第一客户端接收到全局模型的时间和第一客户端上传本地模型的时间判断第一客户端是否在预设的服务器最大等待时间内完成第一客户端的任务量;
S522:根据第一客户端对任务量的完成情况和第一客户端的特征向量利用LinUCB算法计算第一客户端的初始任务量;
bi,t=bi,t-1+ri,txi,t
其中,表示第一客户端的初始任务量,Tmax为预设的服务器最大等待时间,pi,t为第一客户端Ai的任务量;表示第一客户端上传本地模型的时间;表示第一客户端接收到全局模型的时间,ri,t表示真实回报,xi,t第一客户端的特征向量Ai,t-1表示一个5×5维的矩阵,bi,t-1表示一个5维的向量,Ai,0中每个元素都为1,bi,0中每个元素都为0;是一个大于0的正实数,在本发明中取值为0.5,本领域技术人员可以根据实际情况随机取值,t表示迭代训练的轮数。
S523:根据第一客户端的初始任务量、第一客户端的迭代训练时间、第一客户端的模型参数上传时间、预设的服务器最大等待时间和第一客户端本地样本的数量计算第一客户端的最终任务量:
其中,表示第一客户端的理想任务量,表示第一客户端的初始任务量,Tmax为预设的服务器最大等待时间,表示第一客户端Ai的迭代训练时间,Ti com表示第一客户端Ai的模型参数上传时间,Si表示第一客户端本地样本的数量。本发明采用自适应调整任务量的方式使得资源受限的客户端也能在规定时间内完成其联邦训练任务,提高了联邦学习过程中客户端选择的公平性,解决了客户端掉队的问题,同时还为后续客户端选择得到更加均匀的数据分布打下了基础。
S6:服务器根据第一客户端向服务器上传的本地模型和预设的每轮参与全局模型训练的客户端数量利用辅助数据集重新划分下一轮全局模型迭代训练的第一客户端和第二客户端;并重复执行步骤S2-S6,直至达到预设的训练轮数为止,输出最终全局模型。
请参阅图4,S61:根据第一客户端向服务器上传的本地模型利用辅助数据集计算第一客户端的数据特征;
S611:将辅助数据集输入第一客户端向服务器上传的本地模型计算本地模型对辅助数据集中样本的损失,根据本地模型对辅助数据集中样本的损失得到本地模型隐藏层到输出层的权重参数的梯度向量;
将辅助数据集输入本地模型计算本地模型对辅助数据集中样本的损失;
优选地,所述本地模型对辅助数据集中样本的损失包括:
优选地,所述本地模型对辅助数据集中样本的损失包括:
根据本地模型对辅助数据集中样本的损失利用梯度下降的方式进行反向传播得到本地模型隐藏层到输出层的权重参数的梯度向量;
S612:根据本地模型隐藏层到输出层的权重参数的梯度向量,计算第一客户端每个类别的本地样本占客户端总本地样本的比值;
其中,表示第一客户端Ai本地模型隐藏层到输出层第c个经元的权重参数的梯度向量,为第一客户端Ai本地样本中第c类本地样本的数量,Si为第一客户端Ai本地样本的数量,z为辅助数据集中样本的类别的数量,e为自然对数,τ为正则化参数,本发明中其值为1,本领域技术人员可根据实际情况设置其值。
S613:根据第一客户端每个类别的本地样本占第一客户端总本地样本的比值生成第一客户端本地样本数据的类分布特征;
S614:利用PCA对本地模型全连接层的权重参数进行降维处理,将降维处理后的全连接层权重参数和第一客户端本地样本数据的类分布特征进行特征融合得到第一客户端的数据特征;
其中,表示表示第一客户端Ai本地样本数据的类分布特征,表示降维处理后的权重参数,此处降维后的参数个数等于CNN模型的层数,fi表示第一客户端的数据特征,如图4所示,本发明采用提取客户端数据类分布的方式使得客户端主要数据特点得以保留且更加突出,提高了客户端选择算法的有效性,解决了模型参数降维后重要信息丢失的问题。
S62:随机选取k个第一客户端作为簇心客户端,根据第一客户端的数据特征与每一个簇心客户端的数据特征之间的距离将第一客户端聚类到与其数据特征最近的簇心客户端得到多个客户端簇和簇心客户端;
S63:依次将客户端簇中除簇心客户端外的其余第一客户端作为目标中心点构建准则函数,并将准则函数最小的目标中心点作为下一轮迭代的簇心客户端,重复步骤S62–S63直到簇心客户端不发生变化为止,得到多个客户端簇和簇心客户端;
优选地,所述准则函数包括:
S64:根据聚类后的多个客户端簇和簇心客户端计算平衡点;
优选地,所述平衡点包括:
优选地,所述根据平衡点将客户端簇划分为平衡簇和倾斜簇包括:
S65:计算簇心客户端与平衡点的距离;
S66:将簇心客户端与平衡点的距离小于设定阈值的客户端簇作为平衡簇,将其余客户端簇作为倾斜簇;联邦学习全局更新方向为各客户端更新方向的叠加结果,则必然有一部分客户端更新方向与全局方向更加贴近,此部分客户端的集合称其为平衡簇,其余客户端集合为倾斜簇。
S67:根据预设的每轮参与全局模型训练的客户端名额和各个簇拥有的客户端数量利用整数分配算法将名额分配给各个平衡簇、倾斜簇以及第二客户端;
其中,n表示所有客户端数量,β为预设的每轮参与全局模型训练的客户端数量与所有客户端的数量的比值,mj表示第j个客户端簇Cj中第一客户端的数量,h为平衡簇的个数,σ表示预设的倾斜度参数,0≤σ≤1,本发明中设为0.5,本领域技术人员可根据实际需求设置,M为第一客户端的数量,Mbal表示所有平衡簇中第一客户端的总数,Mtilt表示所有倾斜簇中第一客户端的总数,Ybal表示平衡簇抽样数量,Ytilt表示倾斜簇抽样数量,Yother表示第二客户端抽样数量,表示簇Cj分得的下一轮参与全局模型训练的客户端名额,函数表示对平衡簇中各个簇计算functiona的值且从大到小排序最后输出对应簇Cj的值的排名,bal,tilt,other分别表示平衡簇、倾斜簇以及第二客户端。
S68:根据每个平衡簇、倾斜簇和第二客户端拥有的下一轮参与全局模型训练的客户端名额数量和各个客户端的任务量利用MD抽样算法分别从各个平衡簇、倾斜簇以及第二客户端中选取对应数量的客户端作为下一轮迭代训练的第一客户端,并将其余客户端作为下一轮迭代训练的第二客户端;
其中,表示第j个客户端簇Cj中所有客户端的任务量,表示第二客户端中所有客户端的任务量的和,pi,t表示客户端Ai的任务量,表示簇Cj分得的下一轮参与全局模型训练的客户端名额,表示第j个客户端簇Cj中抽样出的下一轮迭代训练的第一客户端,表示第二客户端中抽样出的下一轮迭代训练的第一客户端,MD抽样算法可根据每个客户端的选择概率挑选出所需数量的客户端。
本发明根据每个客户端簇中拥有客户端数量的比例进行分配,本发明采用了客户端聚类,平衡簇多选和倾斜簇均选的方式分别使得客户端选择算法挑选的客户端更具代表性,服务器聚合本地模型的权重更新抵消现象大量减少和服务器聚合得到的全局模型的收敛方向不偏移最优方向,提高了全局模型的收敛速度和泛化性能,解决了数据异构带来的客户端漂移问题,将本发明应用于医学领域能帮助医疗机构训练出更佳的辅助模型,提高医疗机构的工作效率。
后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种缓解异构性问题的联邦学习方法,其特征在于,包括:
S1:服务器从所有客户端的数据库中抽取部分本地样本组成辅助数据集;并随机初始化所有客户端的任务量和历史训练数据;服务器根据预设的每轮参与全局模型训练的客户端数量M从所有客户端中随机选取M个客户端作为第一客户端;将其余客户端作为第二客户端;
S2:服务器获取所有客户端的资源报告,根据客户端的资源报告生成客户端的特征向量;其中,所述客户端的资源报告包括:客户端的CPU时钟频率,带宽,内存以及能量;
S3:服务器将全局模型和第一客户端的任务量发送给第一客户端;第一客户端根据接收的任务量利用本地样本对全局模型进行训练获得本地模型,并将全局模型的训练数据和本地模型上传至服务器;服务器对所有第一客户端上传的本地模型进行聚合得到下一轮迭代训练的全局模型;
S4:服务器利用第一客户端上传的全局模型的训练数据对第一客户端的历史训练数据进行更新;
S5:服务器根据第一客户端的特征向量和第一客户端的历史训练数据利用LinUCB算法计算得到第一客户端的最终任务量;并用第一客户端的最终任务量更新第一客户端的任务量;
S6:服务器根据第一客户端向服务器上传的本地模型和预设的每轮参与全局模型训练的客户端数量利用辅助数据集重新划分下一轮全局模型迭代训练的第一客户端和第二客户端;并重复执行步骤S2-S6,直至达到预设的训练轮数为止,输出最终全局模型。
2.根据权利要求1所述的一种缓解异构性问题的联邦学习方法,其特征在于,所述全局模型的训练数据包括:第一客户端接收到全局模型的时间、第一客户端上传本地模型的时间、第一客户端上传本地模型时的传输功率、第一客户端与服务器之间的信道增益、第一客户端上传本地模型时的信号干扰、第一客户端本地样本的数量、第一客户端利用一个本地样本对全局模型进行一次训练需要的CPU周期数量以及全局模型的模型参数数量。
3.根据权利要求2述的一种缓解异构性问题的联邦学习方法,其特征在于,所述根据第一客户端的特征向量和第一客户端的历史训练数据利用LinUCB算法计算得到第一客户端的最终任务量包括:
S51:根据第一客户端的特征向量xi,t和第一客户端的历史训练数据计算第一客户端的迭代训练时间和第一客户端的模型参数上传时间;
S52:根据第一客户端的迭代训练时间和第一客户端的模型参数上传时间利用LinUCB算法计算第一客户端的最终任务量。
4.根据权利要求3所述的一种缓解异构性问题的联邦学习方法,其特征在于,所述第一客户端的迭代训练时间和第一客户端的模型参数上传时间的计算步骤包括:
S511:根据第一客户端利用一个本地样本对全局模型进行一次训练需要的CPU周期数量和第一客户端的CPU周期频率计算第一客户端的迭代训练时间;
S512:根据全局模型的模型参数数量和第一客户端的带宽计算第一客户端的模型参数上传时间。
5.根据权利要求3所述的一种缓解异构性问题的联邦学习方法,其特征在于,所述第一客户端的最终任务量的计算步骤包括:
S521:根据第一客户端接收到全局模型的时间和第一客户端上传本地模型的时间判断第一客户端是否在预设的服务器最大等待时间内完成第一客户端的任务量;
S522:根据第一客户端对任务量的完成情况和第一客户端的特征向量利用LinUCB算法计算第一客户端的初始任务量;
S523:根据第一客户端的初始任务量、第一客户端的迭代训练时间、第一客户端的模型参数上传时间、预设的服务器最大等待时间和第一客户端本地样本的数量计算第一客户端的最终任务量。
6.根据权利要求1所述的一种缓解异构性问题的联邦学习方法,其特征在于,所述根据第一客户端向服务器上传的本地模型和预设的每轮参与全局模型训练的客户端数量利用辅助数据集从所有客户端中挑选下一轮参与全局模型迭代训练的第一客户端包括:
S61:根据第一客户端向服务器上传的本地模型利用辅助数据集计算第一客户端的数据特征;
S62:随机选取k个第一客户端作为簇心客户端,根据第一客户端的数据特征与每一个簇心客户端的数据特征之间的距离将第一客户端聚类到与其数据特征最近的簇心客户端得到多个客户端簇和簇心客户端;
S63:依次将客户端簇中除簇心客户端外的其余第一客户端作为目标中心点构建准则函数,并将准则函数最小的目标中心点作为下一轮迭代的簇心客户端,重复步骤S62–S63直到簇心客户端不发生变化为止,得到多个客户端簇和簇心客户端;
S64:根据聚类后的多个客户端簇和簇心客户端计算平衡点;
S65:计算簇心客户端与平衡点的距离;
S66:将簇心客户端与平衡点的距离小于设定阈值的客户端簇作为平衡簇,将其余客户端簇作为倾斜簇;
S67:根据预设的每轮参与全局模型训练的客户端名额和各个簇拥有的客户端数量利用整数分配算法将名额分配给各个平衡簇、倾斜簇以及第二客户端;
S68:根据每个平衡簇、倾斜簇和第二客户端拥有的下一轮参与全局模型训练的客户端名额数量和各个客户端的任务量利用MD抽样算法分别从各个平衡簇、倾斜簇以及第二客户端中选取对应数量的客户端作为下一轮迭代训练的第一客户端,并将其余客户端作为下一轮迭代训练的第二客户端。
7.根据权利要求6所述的一种缓解异构性问题的联邦学习方法,其特征在于,所述第一客户端的数据特征的计算步骤包括:
S611:将辅助数据集输入第一客户端向服务器上传的本地模型计算本地模型对辅助数据集中样本的损失,根据本地模型对辅助数据集中样本的损失得到本地模型隐藏层到输出层的权重参数的梯度向量;
S612:根据本地模型隐藏层到输出层的权重参数的梯度向量,计算第一客户端每个类别的本地样本占客户端总本地样本的比值;
S613:根据第一客户端每个类别的本地样本占第一客户端总本地样本的比值生成第一客户端本地样本数据的类分布特征;
S614:利用PCA对本地模型全连接层的权重参数进行降维处理,将降维处理后的全连接层权重参数和第一客户端本地样本数据的类分布特征进行特征融合得到第一客户端的数据特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211458846.0A CN115936110B (zh) | 2022-11-18 | 2022-11-18 | 一种缓解异构性问题的联邦学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211458846.0A CN115936110B (zh) | 2022-11-18 | 2022-11-18 | 一种缓解异构性问题的联邦学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115936110A true CN115936110A (zh) | 2023-04-07 |
CN115936110B CN115936110B (zh) | 2024-09-03 |
Family
ID=86551353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211458846.0A Active CN115936110B (zh) | 2022-11-18 | 2022-11-18 | 一种缓解异构性问题的联邦学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115936110B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349672A (zh) * | 2023-10-31 | 2024-01-05 | 深圳大学 | 基于差分隐私联邦学习的模型训练方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182423A (zh) * | 2020-10-14 | 2021-01-05 | 重庆邮电大学 | 一种基于注意力机制的信息传播演化趋势预测方法 |
CN112465626A (zh) * | 2020-11-24 | 2021-03-09 | 平安科技(深圳)有限公司 | 基于客户端分类聚合的联合风险评估方法及相关设备 |
CN115204416A (zh) * | 2022-06-17 | 2022-10-18 | 中国人民解放军国防科技大学 | 基于分层抽样优化的面向异构客户端的联合学习方法 |
-
2022
- 2022-11-18 CN CN202211458846.0A patent/CN115936110B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182423A (zh) * | 2020-10-14 | 2021-01-05 | 重庆邮电大学 | 一种基于注意力机制的信息传播演化趋势预测方法 |
CN112465626A (zh) * | 2020-11-24 | 2021-03-09 | 平安科技(深圳)有限公司 | 基于客户端分类聚合的联合风险评估方法及相关设备 |
CN115204416A (zh) * | 2022-06-17 | 2022-10-18 | 中国人民解放军国防科技大学 | 基于分层抽样优化的面向异构客户端的联合学习方法 |
Non-Patent Citations (2)
Title |
---|
HYUNGBIN KIM: "Reducing Model Cost Based on the Weights of Each Layer for Federated Learning Clustering", 《2021 TWELFTH INTERNATIONAL CONFERENCE ON UBIQUITOUS AND FUTURE NETWORKS (ICUFN)》, 13 September 2021 (2021-09-13) * |
谭作文;张连福;: "机器学习隐私保护研究综述", 软件学报, no. 07, 15 July 2020 (2020-07-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349672A (zh) * | 2023-10-31 | 2024-01-05 | 深圳大学 | 基于差分隐私联邦学习的模型训练方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115936110B (zh) | 2024-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | FedCPF: An efficient-communication federated learning approach for vehicular edge computing in 6G communication networks | |
CN112508085B (zh) | 基于感知神经网络的社交网络链路预测方法 | |
Zhang et al. | MR-DRO: A fast and efficient task offloading algorithm in heterogeneous edge/cloud computing environments | |
CN113705610B (zh) | 一种基于联邦学习的异构模型聚合方法和系统 | |
CN112817653A (zh) | 一种基于云边端的联邦学习计算卸载计算系统及方法 | |
WO2023185485A1 (zh) | 基于自适应分割联邦学习的模型训练方法和人脸识别方法 | |
CN114580663A (zh) | 面向数据非独立同分布场景的联邦学习方法及系统 | |
CN112465120A (zh) | 一种基于进化方法的快速注意力神经网络架构搜索方法 | |
Liu et al. | Fedpa: An adaptively partial model aggregation strategy in federated learning | |
CN115374853A (zh) | 基于T-Step聚合算法的异步联邦学习方法及系统 | |
CN114091667A (zh) | 一种面向非独立同分布数据的联邦互学习模型训练方法 | |
CN117523291A (zh) | 基于联邦知识蒸馏和集成学习的图像分类方法 | |
CN115587633A (zh) | 一种基于参数分层的个性化联邦学习方法 | |
CN115936110B (zh) | 一种缓解异构性问题的联邦学习方法 | |
CN115879542A (zh) | 一种面向非独立同分布异构数据的联邦学习方法 | |
CN116645130A (zh) | 基于联邦学习与gru结合的汽车订单需求量预测方法 | |
CN112508408A (zh) | 一种边缘计算下无线资源管理指标的映射模型构建方法 | |
Qiao et al. | A framework for multi-prototype based federated learning: Towards the edge intelligence | |
Zhang et al. | FedSL: A Communication Efficient Federated Learning With Split Layer Aggregation | |
Cai et al. | High-efficient hierarchical federated learning on non-IID data with progressive collaboration | |
CN116244484B (zh) | 一种面向不平衡数据的联邦跨模态检索方法及系统 | |
CN116976461A (zh) | 联邦学习方法、装置、设备及介质 | |
Yang et al. | Hypernetworks-Based Hierarchical Federated Learning on Hybrid Non-IID Datasets for Digital Twin in Industrial IoT | |
Singhal et al. | Greedy Shapley Client Selection for Communication-Efficient Federated Learning | |
CN114449536B (zh) | 一种基于深度强化学习的5g超密集网络多用户接入选择方法 |
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 |