本发明涉及联邦学习,具体为一种基于动量法的权重动态聚合联邦学习方法。
背景技术:
1、传统的机器学习方法通常将训练数据集中存储在中央实体中,以便从不同来源整合数据并进行模型训练。然而,随着物联网技术的快速发展,许多单个设备具备了独立收集和处理数据的能力,能够在边缘端进行简单的数据模型训练。同时,各企业也越来越重视数据隐私保护。为了应对“数据孤岛”问题,联邦学习作为一种分布式机器学习框架,以其保护数据隐私、去中心化数据存储和高效通信等优势而备受关注,其特点是“数据不动模型动”。
2、联邦学习主要以全局模型的精度或收敛速度为优化目标,但这种方式可能导致弱势用户无法获得适应其本地数据的全局模型,损害了全局模型的泛化性能。不公平的联邦学习可能会对部分客户端产生实质性歧视,使得这些参与者无法平等地享受联邦学习带来的好处。缓解联邦学习中的不公平问题迫在眉睫,联邦学习的公平性研究有助于避免模型在不同群体之间引入不公平的偏见,建立用户对联邦学习系统的信任,减轻可能导致社会偏见和不平等的风险,激发参与者积极参与具有公平性保障的系统,从而提高系统的采用率。
3、现有技术在解决联邦学习中的性能偏见问题上有一定的局限性。部分算法通过设计和改进联邦学习模型的目标损失函数,试图在训练过程中不断优化模型性能,减少客户端之间的模型差异,从而实现模型性能的均衡。例如,afl算法通过最大化联邦学习中最差客户端的性能,避免这些客户端的性能越来越差;q-ffl算法引入公平性因子q控制模型公平性和有效性的平衡,但无法提前确定最佳的q值,并且q值大小在不同数据集上的表现差异较大。drfl框架将q-ffl中的损失放大机制替换为简单的权重再分配机制,但由于度量是在每一轮联邦学习前计算当前客户端局部性能,这种方法会导致聚合权重跳跃度过大,全局模型收敛速度缓慢。
4、针对上述缺陷,本发明提出了一种基于动量法的权重动态优化策略。
技术实现思路
1、针对现有技术的不足,本发明提供了一种基于动量法的权重动态聚合联邦学习方法,解决了联邦学习中由于客户端性能差异和数据异构性导致的模型公平性和收敛速度的问题。
2、为实现以上目的,本发明通过以下技术方案予以实现:一种基于动量法的权重动态聚合联邦学习方法,包括以下步骤:
3、s1、初始化全局模型参数和聚合权重向量;
4、s2、服务器将全局模型分发给被选中的客户端;
5、s3、客户端替换本地模型并在本地数据集上测试目标损失;
6、s4、客户端在本地数据集上运行梯度下降算法更新本地模型;
7、s5、客户端将更新后的本地模型及目标损失发送给服务器;
8、s6、服务器根据公式计算聚合权重,并进行加权聚合得到全局模型;
9、s7、服务器更新客户端的全局聚合权重向量;
10、s8、重复s2至s7步骤,直至模型收敛。
11、优选的,所述s1步骤具体包括以下步骤:
12、s1.1、服务器选择合适的模型架构和初始参数;
13、s1.2、服务器初始化聚合权重向量,初始值为各客户端数据集大小的比例;
14、s1.3、服务器配置动量因子和公平性因子;
15、s1.4、服务器配置客户端选择策略和梯度更新算法。
16、优选的,所述s2步骤具体包括以下步骤:
17、s2.1、服务器从所有客户端中抽样选择一部分客户端;
18、s2.2、服务器将全局模型参数发送给选中的客户端;
19、s2.3、服务器记录本轮被选中的客户端列表。
20、优选的,所述s3步骤具体包括以下步骤:
21、s3.1、客户端接收服务器发送的全局模型参数;
22、s3.2、客户端用接收到的全局模型参数替换本地模型参数;
23、s3.3、客户端在本地数据集上测试当前模型的目标损失;
24、s3.4、客户端记录测试得到的目标损失值。
25、优选的,所述s4步骤具体包括以下步骤:
26、s4.1、客户端根据目标损失和本地数据集运行随机梯度下降算法;s4.2、客户端在本地数据集上进行多次迭代更新模型参数;
27、s4.3、客户端在每次迭代中记录梯度更新值和损失值;
28、s4.4、客户端最终输出更新后的本地模型参数。
29、优选的,所述s5步骤具体包括以下步骤:
30、s5.1、客户端打包更新后的本地模型参数和目标损失值;
31、s5.2、客户端通过安全通信协议将数据发送至服务器;
32、s5.3、客户端等待服务器确认接收数据。
33、优选的,所述s6步骤具体包括以下步骤:
34、s6.1、服务器接收并验证所有客户端发送的数据;
35、s6.2、服务器根据公式计算新的聚合权重;
36、s6.3、服务器将所有客户端的模型参数进行加权平均;
37、s6.4、服务器生成新的全局模型参数。
38、优选的,所述s7步骤具体包括以下步骤:
39、s7.1、服务器更新每个客户端的聚合权重向量;
40、s7.2、服务器记录各客户端的历史性能数据;
41、s7.3、服务器调整动量因子和公平性因子以优化下一轮迭代.
42、优选的,所述s8步骤具体包括以下步骤:
43、s8.1、服务器检查全局模型的收敛情况;
44、s8.2、如果模型未收敛,服务器重新选择客户端并执行s2至s7步骤;
45、s8.3、如果模型已收敛,服务器停止迭代并保存最终模型;
46、s8.4、服务器向所有客户端分发最终的全局模型。
47、优选的,所述s1步骤中全局目标函数为:
48、其中q是公平性因子,用于调整公平性与有效性的平衡,sk是当前客户端数据集大小x是当前轮次所得到的模型参数,是上一轮训练得到的模型参数fk(x)代表第k个客户端局部损失函数;
49、所述s7步骤中服务器更新客户端的全局聚合权重向量的公式为:
50、
51、本发明提供了一种基于动量法的权重动态聚合联邦学习方法。具备以下有益效果:
52、1、本发明通过动态调整客户端的聚合权重,使得模型在不同客户端上的性能差异减小,避免了弱势客户端性能过低的情况,从而提升了整体系统的公平性。
53、2、本发明通过采用动量法动态优化权重,减小了聚合权重的跳跃度,使得全局模型的收敛速度加快,提升了模型的训练效率。
54、3、本发明中计算聚合权重的方法没有产生额外的计算和通信开销,利用已有的客户端损失和历史性能数据进行优化,避免了冗余的资源浪费。
55、4、本发明通过在每轮迭代中优先考虑损失较大的客户端,保证了模型在各类客户端数据上的均衡表现,增强了全局模型的泛化能力,使其在不同数据分布下均能保持良好的性能。
1.一种基于动量法的权重动态聚合联邦学习方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s1步骤具体包括以下步骤:
3.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s2步骤具体包括以下步骤:
4.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s3步骤具体包括以下步骤:
5.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s4步骤具体包括以下步骤:
6.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s5步骤具体包括以下步骤:
7.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s6步骤具体包括以下步骤:
8.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s7步骤具体包括以下步骤:
9.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s8步骤具体包括以下步骤:
10.根据权利要求1所述的一种基于动量法的权重动态聚合联邦学习方法,其特征在于,所述s1步骤中全局目标函数为: