CN118052274A - 联邦学习方法、装置、电子设备及计算机可读存储介质 - Google Patents

联邦学习方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN118052274A
CN118052274A CN202211379126.5A CN202211379126A CN118052274A CN 118052274 A CN118052274 A CN 118052274A CN 202211379126 A CN202211379126 A CN 202211379126A CN 118052274 A CN118052274 A CN 118052274A
Authority
CN
China
Prior art keywords
model parameters
local model
federal learning
round
participating
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.)
Pending
Application number
CN202211379126.5A
Other languages
English (en)
Inventor
李慧芳
卢燕青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202211379126.5A priority Critical patent/CN118052274A/zh
Publication of CN118052274A publication Critical patent/CN118052274A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种联邦学习方法、装置、电子设备及计算机可读存储介质,涉及机器学习技术领域。该方法应用于联邦学习的中心节点,包括:获取多组本地模型参数;确定各组本地模型参数与本轮联邦学习中基准模型参数的相似度;确定相似度大于第一阈值的本地模型参数作为目标本地模型参数,基于目标本地模型参数生成全局模型参数。根据多组本地模型参数中相似度大于第一阈值的目标本地模型参数,生成全局模型参数的方式,可以在一定程度上避免恶意节点上报的本地模型参数对全局模型参数造成影响,进而降低发生因恶意节点的影响而导致全局模型的精度较低的可能性,有利于提高全局模型的精度。

Description

联邦学习方法、装置、电子设备及计算机可读存储介质
技术领域
本公开涉及机器学习技术领域,尤其涉及一种联邦学习方法、装置、电子设备及计算机可读存储介质。
背景技术
在机器学习技术领域中,联邦学习通过中心节点与参与节点协同训练模型的方式,在保护参与节点数据隐私的同时,实现了对数据的高效利用。
相关技术中,中心节点向参与节点发送第一全局模型,参与节点接收到中心节点发送的第一全局模型后,根据该第一全局模型进行本地训练,得到本地模型。之后,参与节点向中心节点上传本地模型。中心节点接收到参与节点发送的本地模型后,根据所有参与节点发送的全部本地模型更新第一全局模型,得到第二全局模型。
然而,参与节点的通信环境的复杂且本地硬件资源有限,导致参与联邦学习的参与节点抗攻击能力有限,进而容易被操纵变成发送毒化数据破坏模型精度的恶意节点。因此,利用全部本地模型来更新第一本地模型的方式,容易使更新得到的第二全局模型的精度受到恶意节点的影响。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种联邦学习方法、装置、电子设备及计算机可读存储介质,至少在一定程度上克服了相关技术中全局模型的精度容易受到恶意节点的影响的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种联邦学习方法,应用于联邦学习的中心节点,包括:获取多组本地模型参数;确定各组本地模型参数与本轮联邦学习中基准模型参数的相似度;确定所述相似度大于第一阈值的本地模型参数作为目标本地模型参数,基于所述目标本地模型参数生成全局模型参数。
在本公开的一个实施例中,还包括:确定参与本轮联邦学习的参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,所述多组本地模型参数包括所述目标本地模型参数和非目标本地模型参数;所述确定参与本轮联邦学习的参与节点在本轮联邦学习中的贡献值,包括:确定得到所述非目标本地模型参数的第一参与节点在本轮联邦学习中的贡献值为第一值;根据所述全局模型参数和所述目标本地模型参数,确定得到所述目标本地模型参数的第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,所述根据所述全局模型参数和所述目标本地模型参数,确定得到所述目标本地模型参数的第二参与节点在本轮联邦学习中的贡献值,包括:获取测试样本;根据所述全局模型参数构建全局模型;构建每一目标本地模型参数对应的半全局模型;根据所述测试样本对所述全局模型和每一半全局模型进行测试,得到所述全局模型对应的第一测试结果和每一半全局模型对应的第二测试结果;根据所述第一测试结果和每一半全局模型对应的第二测试结果,确定每一第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,目标本地模参数的组数为多组;所述构建每一目标本地模型参数对应的半全局模型,包括:聚合多组目标本地模型参数中除任一目标本地模型参数外的其他目标本地模型参数,得到所述任一目标本地模型参数对应的半全局模型参数,多次聚合得到每一目标本地模型参数对应的半全局模型参数;构建每一半全局模型参数对应的半全局模型。
在本公开的一个实施例中,所述第一测试结果包括所述全局模型处理所述测试样得到的精度;每一半全局模型对应的第二测试结果包括半全局模型处理所述测试样中得到的精度;所述根据所述第一测试结果和每一半全局模型对应的第二测试结果,确定每一第二参与节点在本轮联邦学习中的贡献值,包括:确定所述全局模型与每一半全局模型在每一测试样本上精度差的平均值,得到多个平均精度差,一个平均精度差对应一个半全局模型;根据所述多个平均精度差,确定每一第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,所述根据所述多个平均精度差,确定每一第二参与节点在本轮联邦学习中的贡献值,包括:确定每一平均精度差与所述多个平均精度差之和的比值,得到多个比值;将每一比值作为对应的第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,所述基于所述目标本地模型参数生成全局模型参数,包括:确定所述目标本地模型参数的权重;将所述目标本地模型参数按照权重聚合,得到所述全局模型参数。
在本公开的一个实施例中,所述确定所述目标本地模型参数的权重,包括:获取第二参与节点的第一目标贡献值,所述第一目标贡献值由第二目标贡献值与相应的轮次差确定,所述第二目标贡献值是所述第二参与节点在历史参与联邦学习得到的不为第一值的贡献值中最后一个得的贡献值;根据所述第一目标贡献值,确定所述目标本地模型参数的权重。
在本公开的一个实施例中,还包括:将第一参与节点的信誉值减去第二值;确定参与第一轮联邦学习的第三参与节点的信誉值;根据所述第三参与节点的信誉值,确定参与下一轮联邦学习的参与节点。
在本公开的一个实施例中,所述根据所述第三参与节点的信誉值,确定参与下一轮联邦学习的参与节点,包括:确定信誉值大于第二阈值的第三参与节点为参与下一轮联邦学习的参与节点。
在本公开的一个实施例中,所述目标本地模型参数是相似度大于第一阈值且小于第三阈值的本地模型参数。
根据本公开的另一个方面,提供一种联邦学习装置,应用于联邦学习的中心节点,包括:获取模块,用于获取多组本地模型参数;确定模块,用于确定各组本地模型参数与本轮联邦学习中基准模型参数的相似度;生成模块,用于确定所述相似度大于第一阈值的本地模型参数作为目标本地模型参数,基于所述目标本地模型参数生成全局模型参数。
在本公开的一个实施例中,所述确定模块,还用于确定参与本轮联邦学习的参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,所述多组本地模型参数包括所述目标本地模型参数和非目标本地模型参数;所述确定模块,用于确定得到所述非目标本地模型参数的第一参与节点在本轮联邦学习中的贡献值为第一值;根据所述全局模型参数和所述目标本地模型参数,确定得到所述目标本地模型参数的第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,所述确定模块,用于获取测试样本;根据所述全局模型参数构建全局模型;构建每一目标本地模型参数对应的半全局模型;根据所述测试样本对所述全局模型和每一半全局模型进行测试,得到所述全局模型对应的第一测试结果和每一半全局模型对应的第二测试结果;根据所述第一测试结果和每一半全局模型对应的第二测试结果,确定每一第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,目标本地模参数的组数为多组;所述确定模块,用于聚合多组目标本地模型参数中除任一目标本地模型参数外的其他目标本地模型参数,得到所述任一目标本地模型参数对应的半全局模型参数,多次聚合得到每一目标本地模型参数对应的半全局模型参数;构建每一半全局模型参数对应的半全局模型。
在本公开的一个实施例中,所述第一测试结果包括所述全局模型处理所述测试样得到的精度;每一半全局模型对应的第二测试结果包括半全局模型处理所述测试样中得到的精度;所述确定模块,用于确定所述全局模型与每一半全局模型在每一测试样本上精度差的平均值,得到多个平均精度差,一个平均精度差对应一个半全局模型;根据所述多个平均精度差,确定每一第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,所述确定模块,用于确定每一平均精度差与所述多个平均精度差之和的比值,得到多个比值;将每一比值作为对应的第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,所述生成模块,用于确定所述目标本地模型参数的权重;将所述目标本地模型参数按照权重聚合,得到所述全局模型参数。
在本公开的一个实施例中,所述生成模块,用于获取第二参与节点的第一目标贡献值,所述第一目标贡献值由第二目标贡献值与相应的轮次差确定,所述第二目标贡献值是所述第二参与节点在历史参与联邦学习得到的不为第一值的贡献值中最后一个得的贡献值;根据所述第一目标贡献值,确定所述目标本地模型参数的权重。
在本公开的一个实施例中,所述装置还包括:处理模块,用于将第一参与节点的信誉值减去第二值;所述确定模块,还用于确定参与第一轮联邦学习的第三参与节点的信誉值;所述确定模块,还用于根据所述第三参与节点的信誉值,确定参与下一轮联邦学习的参与节点。
在本公开的一个实施例中,所述确定模块,用于确定信誉值大于第二阈值的第三参与节点为参与下一轮联邦学习的参与节点。
在本公开的一个实施例中,所述目标本地模型参数是相似度大于第一阈值且小于第三阈值的本地模型参数。
根据本公开的再一个方面,提供一种如电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任一所述的联邦学习方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的联邦学习方法。
根据本公开的又一个方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述任一所述的联邦学习方法。
本公开的实施例所提供的技术方案至少包括以下有益效果:
本公开的实施例所提供的技术方案,中心节点获取多组本地模型参数,再确定每一组本地模型参数与本轮联邦学习的基准模型参数的相似度。本地模型参数与基准模型参数的相似度可以在一定程度上反映得到本地模型参数的参与节点为恶意节点的可能性,当本地模型参数与基准模型参数的相似度较小(相似度不大于第一阈值)的情况下,可以认为得到本地模型参数的参与节点较大可能是恶意节点。根据多组本地模型参数中相似度大于第一阈值的目标本地模型参数,生成全局模型参数的方式,可以在一定程度上避免恶意节点上报的本地模型参数对全局模型参数造成影响,进而降低发生因恶意节点的影响而导致全局模型的精度较低的可能性,有利于提高全局模型的精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种联邦学习系统的示意图;
图2示出本公开一个实施例中的联邦学习方法流程图;
图3示出本公开一个实施例中确定参与下一轮联邦学习的参与节点的方法流程图;
图4示出本公开一个实施例中从第三参与节点中选取参与下一轮联邦学习的参与节点的示意图;
图5示出本公开一个实施例中聚合多组目标本地模型参数的方法流程图;
图6示出本公开一个实施例中计算第二参与节点贡献值的方法流程图;
图7示出本公开一个实施例中生成半全局模型的示意图;
图8示出本公开另一个实施例中的联邦学习方法流程图;
图9示出本公开一个实施例中的联邦学习装置示意图;
图10示出本公开实施例中一种电子设备的结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
图1示出本公开实施例中一种联邦学习系统的示意图,该系统可以应用本公开各种实施例中的联邦学习方法或联邦学习装置。
如图1所示,该联邦学习系统可以包括:中心节点11、参与节点12。
其中,中心节点11可以向参与节点12发送初始模型参数(本轮联邦学习中使用的训练模型参数)和收敛条件,参与节点12能够根据初始模型参数构建出相应的初始模型,并根据初始模型和收敛条件进行本地训练,以及将训练后得到的本地模型的本地模型参数向中心节点11上报。中心节点11能够计算本地模型参数和初始模型参数之间的相似度,并将相似度满足预设条件的本地模型参数进行聚合,以及将不满足条件的本地模型参数对应的参与节点的信誉值减去第二值,其中,参与节点12均在进行第一轮联邦学习前均被设置有初始信誉值。
在之后轮次的联邦学习中,中心节点11可以根据参与节点12的信誉值,选取参与下一轮联邦学习的参与节点。
中心节点11和参与节点12之间通过网络实现通信连接,该网络可以是有线网络,也可以是无线网络。
可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(ExtensibleMarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(InternetProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
中心节点11和参与节点12可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、增强现实设备、虚拟现实设备等。
中心节点11和参与节点12还可以是提供各种服务的服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本领域技术人员可以知晓,图1中参与节点12的数量仅仅是示意性的,根据实际需要,可以具有任意数目的参与节点,本公开实施例对此不作限定。
下面结合附图及实施例对本示例实施方式进行详细说明。
本公开实施例中提供了一种联邦学习方法,该方法可以由任意具备计算处理能力的电子设备执行。例如,该电子设别为联邦学习的中心节点。
图2示出本公开一个实施例中的联邦学习方法流程图,如图2所示,本公开实施例中提供的联邦学习方法包括如下S201至S203。
S201,中心节点获取多组本地模型参数。
在本轮联邦学习中,中心节点向参与本轮联邦学习的参与节点发送初始模型参数和收敛条件。参与本轮联邦学习的参与节点接收到初始模型参数和收敛条件后,根据该初始模型参数构建出相应的初始模型,并根据该初始模型和收敛条件进行本地训练。在完成本地训练后,参与本轮联邦学习的参与节点将本地训练后得到的本地模型的本地模型参数向中心节点上报。中心节点接收到参与本轮联邦学习的参与节点发送的本地模型参数后,相应地完成了对多组本地模型参数的获取。
关于参与本轮联邦学习的参与节点如何根据初始模型进行本地训练,本公开实施例不做限制,可根据联邦学习的任务要求确定。例如,本轮联邦学习的轮次为第t轮,t为大于等于2的整数,相应地,参与本轮联邦学习的参与节点根据初始模型参数构建出的初始模型为第t-1轮联邦学习得到的全局模型ωt-1。第k个参与本轮联邦学习的参与节点根据联邦学习任务的要求,对ωt-1进行调整,得到用于进行训练的模型之后,第k个参与本轮联邦学习的参与节点根据如下公式1得到第t轮联邦学习的本地模型。
其中,t为本轮联邦学习的轮次;η为随机梯度下降算法中的学习率;为第k个参与本轮联邦学习的参与节点在本轮联邦学习中基于/>的随机梯度值;/>是第k个参与本轮联邦学习的参与节点得到的本地模型;其中,k为大于或等于1且小于或等于n的整数,n表示参与第本轮联邦学习的参与节点的数量。
S202,中心节点确定各组本地模型参数与本轮联邦学习中基准模型参数的相似度。
其中,基准模型参数可以是本轮联邦学习中心节点向参与节点发送的初始模型参数,或者基准模型参数还可以是中心节点根据历史联邦学习任务设定的、用于本轮联邦学习的模型参数,关于中心节点如何根据历史联邦学习任务设定本轮联邦学习的基准模型参数,本公开实施例不做限制。各组本地模型参数是指S201中获取到的多组本地模型参数中的本地模型参数。
关于如何确定各组本地模型参数与本轮联邦学习中基准模型参数的相似度,本公开实施例不做限制。在一些实施例中,本地模型参数与基准模型参数的相似度可以使用本地模型参数与基准模型参数之间的参考距离来表示。关于参考距离是何种计算距离的方式得到的距离,本公开实施例不做限制。例如,参考距离为欧式距离,或者参考距离为余弦距离。
以参考距离为余弦距离,且本轮联邦学习为第t轮联邦学习为例,可以按照如公式2计算本地模型参数与基准模型参数之间的余弦距离。
其中,D为联邦学习中训练的模型的维度总数量;为本地模型/>包括的D个参数中的第d个参数,/>是第t轮联邦学习中第k个参与联邦学习的参与节点经过本地训练得到的本地模型;/>为第t轮联邦学习的基准模型参数包括的D个参数中的第d个参数。
其中,d的取值范围为[1,D]中的整数;基准模型参数对应的基准模型可以是第t轮联邦学习中的初始模型ωt-1,同样该ωt-1也是上一轮联邦学习中的全局模型,若t为1,则ωt-1为ω0,即为第一轮联邦学习中的初始模型。
得到各个本地模型参数与基准模型参数之间的余弦距离后,如何根据该余弦距离表示各个本地模型参数与基准模型参数的相似度,本公开实施例对此不做限制。例如,可以直接将各个本地模型参数与基准模型参数之间的余弦距离,作为各个本地模型参数与基准模型参数的相似度;或者,将对各个本地模型参数与基准模型参数之间的余弦距离进行数学处理后得到的值,作为各个本地模型参数与基准模型参数的相似度,关于对该余弦距离做何种数学处理,本公开实施例不做限制。例如,该数据处理为简单的缩放处理。
S203,中心节点确定相似度大于第一阈值的本地模型参数作为目标本地模型参数,基于目标本地模型参数生成全局模型参数。
其中,相似度大于第一阈值的本地模型参数是指,在S201获取到的多组本地模型参数中,相似度大于第一阈值的本地模型参数。因而,目标本地模型参数的组数可以是一组或多组。
在一个实施例中,目标本地模型参数的组数为一组,中心节点将该一组目标本地模型参数作为全局模型参数。
在另一个实施例中,目标本地模型参数的组数为多组,中心节点计算出各组本地模型参数与基准模型参数之间的相似度后,将相似度大于第一阈值的多组目标本地模型参数进行聚合,得到全局模型参数。
在另一个实施例中,中心节点计算出各组本地模型参数与基准模型参数之间的相似度后,将相似度大于第一阈值且小于第三阈值的一组或多组目标本地模型参数进行聚合,得到全局模型参数,也就是说,目标本地模型参数是多组本地模型参数中相似度大于第一阈值且小于第二阈值的本地模型参数。其中,第一阈值和第三阈值是设定值,且第一阈值小于第三阈值,关于第一阈值和第三阈值的具体大小,本公开实施例不做限制,可根据相似度采用的表示方式及经验确定。
本公开的实施例所提供的技术方案,中心节点获取多组本地模型参数,再确定每一组本地模型参数与本轮联邦学习的基准模型参数的相似度。本地模型参数与基准模型参数的相似度可以在一定程度上反映得到本地模型参数的参与节点为恶意节点的可能性,当本地模型参数与基准模型参数的相似度较小(相似度不大于第一阈值)的情况下,可以认为得到本地模型参数的参与节点较大可能是恶意节点。根据多组本地模型参数中相似度大于第一阈值的目标本地模型参数,生成全局模型参数的方式,可以在一定程度上避免恶意节点上报的本地模型参数对全局模型参数造成影响,进而降低发生因恶意节点的影响而导致全局模型的精度较低的可能性,有利于提高全局模型的精度。
进一步地,本地模型参数与基准模型参数的相似度越高,本地模型参数对本轮全局模型参数的贡献度也就越低,如果使用相似度较高的本地模型参数参与生成本轮的全局模型参数,将会稀释其他贡献度较高的本地模型参数对全局模型参数的贡献度,因此,选取相似度大于第一阈值且小于第三阈值的目标本地模型参数来生成全局模型参数,可以在一定程度上提高全局模型参数对应的全局模型的精度,加快全局模型的收敛,提高联邦学习的效率。
完成一轮联邦学习后,需要确定参与下一轮联邦学习的参与节点。在对如何确定参与下一轮联邦学习的参与节点进行说明之前,需要先说明在图2对应的实施例的S201中,获取到的多组本地模型参数包括目标本地模型参数和非目标本地模型参数,其中,非目标本地模型参数是多组本地模型参数中除目标本地模型参数外的其他本地模型参数。在本轮联邦学习中,经过本地训练后得到的本地模型参数是目标本地模型参数的参与节点为第一参与节点,得到的本地模型参数是非目标本地模型参数的参与节点是第二参与节点。
本公开另一个实施例中提供了一种确定参与下一轮联邦学习的参与节点的方法,如图3所示,确定参与下一联邦学习的参与节点的方法可以包括如下S301至S303。
S301,中心节点将第一参与节点的信誉值减去第二值。
其中,第二值是设定值,关于第二值的具体大小,本公开实施例不做限制。例如,第二值为0.5,或者第二值为1。
在一个实施例中,参与第一轮联邦学习的第三参与节点均具相同大小的初始信誉值,该初始信誉值为设定值,对于初始信誉值的具体大小本公开实施例不做限制,可根据第二值和经验设定。例如,初始信誉值为5。在第三参与节点在第一轮联邦学习中得到的本地模型参数属于非目标本地模型参数的情况下,该得到非目标本地模型参数的第三参与节点的信誉值减少第二值。以第二值是1、初始信誉值是5为例,第一轮联邦学习结束后,在第一轮联邦学习中得到非目标本地模型参数的第三参与节点的信誉值减少1,也就是说,中心节点在选择参与第二轮联邦学习的参与节点时,在第一轮联邦学习中得到目标本地模型参数的第三参与节点的信誉值为5,在第一轮联邦学习中得到非目标本地模型参数的第三参与节点的信誉值为4。
之后,任一轮次参与联邦学习的参与节点,均可以根据得到的本地模型参数分为第一参与节点和第二参与节点。其中,得到的本地模型参数为非目标本地模型参数的参与节点为第一参与节点,得到的本地模型参数为目标本地模型参数的参与节点为第二参与节点。在一轮联邦学习后,将该轮联邦学习中的第一参与节点的信誉值减去第二值。
S302,中心节点确定参与第一轮联邦学习的第三参与节点的信誉值。
其中,第三参与节点是参与第一轮联邦学习的参与节点,之后参与其他轮次的参与节点均从第三参与节点中选取得到。
在一个实施例中,确定参与第一轮联邦学习的第三参与节点的信誉值,可以包括:根据每一第三参与节点的初始信誉值与历史轮次参与联邦学习中减去的信誉值,得到每一第三参与节点在本轮联邦学习完成后的信誉值。以初始信誉值是5、第二值是1,本轮联邦学习为第3轮联邦学习为例,一个第三参与节点在第一、二、三轮联邦学习中得到的本地模型参数均为非目标本地模型参数,则该第三参与节点在中心节点选择参与第四轮联邦学习的参与节点时的信誉值为2。
S303,中心节点根据第三参与节点的信誉值,确定参与下一轮联邦学习的参与节点。
在一个实施例中,根据第三参与节的信誉值,确定参与下一轮联邦学习的参与节点,可以包括:确定信誉值大于第二阈值的第三参与节点为参与下一轮联邦学习的参与节点。其中,第二阈值为设定值,关于第二阈值的具体大小,本公开实施例不做限制。例如,第二阈值是0,或者第二阈值是1。如图4所示,以第二阈值是0为例,在选取参与下一轮联邦学习的参与节点时,第三参与节点41的信誉值为0,第三参与节点42的信誉值为1,第三参与节点43的信誉值为0,第三参与节点44的信誉值为5,则选取信誉值大于0的参与节点参与下一轮联邦学习,得到参与下轮联邦学习的参与节点为第三参与节点42和第三参与节点44。
本公开是实施例提供的技术方案,通过为参与节点设置初始信誉值,以及在参与节点参与联邦学习过程中,表现不好(得到的本地模型参数为非目标本地模型参数)的情况下将信誉值减去第二值,之后,根据信誉值选取参与下一轮联邦学习的参与节点,能够将质量较差(因多轮参与联邦学习得到的本地模型参数为非目标本地模型参数,而导致信誉值不满足条件)的参与节点逐渐淘汰,进而使得参与联邦学习的参与节点均为质量较好的参与节点。可以在一定程度上避免恶意节点上报的本地模型参数对全局模型参数造成影响,进而降低发生因恶意节点的影响而导致全局模型的精度较低的可能性,有利于提高全局模型的精度。
从多组本地模型参数中确定出参与聚合的目标本地模型参数后,聚合目标本地模型参数,得到全局模型参数。从多组本地模型参数中确定出参与聚合的目标本地模型的组数为多组,关于如何聚合多组目标本地模型参数,本公开实施例不做限制。在一个实施例中,提供了一种聚合多组目标本地模型参数的方法,如图5所示,聚合多组目标本地模型参数方法包括S501至S502。
S501,中心节点确定目标本地模型参数的权重。
关于中心节点如何确定目标本地模型参数的权重,本公开实施例不做限制。在一个实施例中,中心节点确定目标本地模型参数的权重,可以包括:获取第二参与节点的第一目标贡献值,第一目标贡献值由第二目标贡献值与相应的轮次差确定,第二目标贡献值是第二参与节点在历史参与联邦学习得到的不为第一值的贡献值中最后一个得的贡献值;根据第一目标贡献值,确定目标本地模型参数的权重。
其中,贡献值是参与联邦学习的参与节点在完成一轮联邦学习后,由中心节点根据参与节点对全局模型的精度的贡献计算得到。参与节点在一轮联邦学习中得到的本地模型参数为非目标本地模型参数,非目标本地模型参数不参与生成该轮联邦学习中的全局模型参数,则该参与节点在完成该轮联邦学习后得到的贡献值为第一值。参与节点在一轮联邦学习中得到的本地模型参数为目标本地模型参数,目标本地模型参数参与生成该轮联邦学习中的全局模型参数,则该参与节点在完成该轮联邦学习后得到的贡献值是由中心节点计算得到的一个不为第一值的值。其中,关于中心节点如何计算参与节点的贡献值,将在图6对应的实施例中进行说明,在此暂不赘述。
在一个实施例中,第一值用于表示参与节点在一轮联邦学习中得到的本地模型参数为非目标本地模型参数,也就是说,第一值表示该参与节点在该轮联邦学习中未做出贡献。关于第一值具体为何值,本公开实施例不做限制,可根据经验设定。例如,第一值为0。
以第一值是0,且本轮联邦学习为第3轮联邦学习为例,一个第二参与节点参与第一、二、三轮联邦学习并得到相应的贡献值,该第二参与节点在第一轮联邦学习中得到的贡献值为A1,第二轮联邦学习中得到的贡献值为A2,在第三轮联邦学习中得到的贡献值为A3。其中,该第二参与节点在第二、三轮联邦学习中得到的本地模型参数是非目标本地模型参数;该第二参与节点在第一轮联邦学习中得到的本地模型参数是目标本地模型参数。相应地,A2和A3均为第一值,即A2和A3均为0,而A1是中心节点计算得到的一个不为第一值的值。该第二参与节点在历史参与联邦学习中最后一个得到的贡献值为A3,该第二参与节点在历史参与联邦学习得到的不为第一值的贡献值中,最后一个得到的贡献值是A1,即该便第二参与节点的第二目标贡献值为A1。
在一个实施例中,轮次差是第二目标贡献值对应的联邦学习轮次与本轮联邦学习对应的轮次之间的差。例如,第二参与节点在历史参与联邦学习得到的不为第一值的贡献值中,最后一个得的贡献值对应的联邦学习轮次为第一轮,即第二目标贡献值对应的轮次为第一轮,本轮联邦学习对应的轮次为第四轮,则轮次差为3。
在一个实施例中,第一目标贡献值是第二目标贡献值与轮次差的比值。以参与节点的第二目标贡献值为A1且轮次差为3为例,则第一目标贡献值为A1/3。
在另一个实施例中,目标本地模型参数的组数为多组,在多组目标本地模型参数中,存在一组或部分目标本地模型参数对应的第二参与节点,在历史参与联邦学习得到的贡献值均为第一值。则该一组或部分目标本地模型参数对应的目标贡献值,是多组目标本地模型参数中,除了该一组或部分目标本地模型参数外的其他目标本地模型参数对应的第一目标贡献值中的最小第一目标贡献值。
在一个实施例中,获取第二参与节点的第一目标贡献值,可以包括:获取第二参与节点的第二目标贡献值与轮次差;计算定第二目标贡献值与轮次差的比值,得到第一目标贡献值。
在另一个实施例中,多组目标本地模型参数包括一组或部分目标本地模型参数、除了该一组或部分目标本地模型参数外的其他目标本地模型参数,该一组或部分目标本地模型参数该对应的第二参与节点,在历史参与联邦学习得到的贡献值均为第一值。此时,获取第二参与节点的第一目标贡献值,可以包括:获取该其他目标本地模型参数对应的第二参与节点的第二目标贡献值与轮次差;计算该其他目标本地模型参数对应的第二参与节点的第二目标贡献值与轮次差的比值,得到该其他目标本地模型参数对应的第二参与节点的第一目标贡献值;将该其他目标本地模型参数对应第二参与节点的第一目标贡献值中的最小第一目标贡献值,作为该一组或部分目标本地模型参数对应的第二参与节点的第一目标贡献值。
在一个实施例中,可以利用第一目标贡献值按照如下公式3,确定目标本地模型参数的权重。
其中,t表示本轮联邦学习的轮次,是得到第k组目标本地模型参数的第二参与节点的第一目标贡献值;M为多组目标本地模型参数的组数,同样也是得到多组目标本地模型参数的第二参与节点的数量;/>是第k组目标本地模型参数在参与聚合生成本轮联邦学习的全局模型时的权重。
S502,中心节点将目标本地模型参数按照权重聚合,得到全局模型参数。
本公开实施例提供的技术方案,利用目标本地模型参数对应的第二参与节点的第一目标贡献值,计算目标本地模型参数聚合生成全局模型参数时的权重的方式,可以使历史参与联邦学习中得到的贡献度越高的第二参与节点,得到的目标本地模型参数在参与聚合生成全局模型参数时的权重越高。由于贡献度是中心节点根据参与节点对全局模型的精度的贡献得到,所以在历史参与联邦学习中的参与节点对全局模型的精度贡献越高的参与节点,在之后的轮次中得到的目标本地模型参数参与聚合生成全局模型时的权重越高,进而使得生成的全局模型具有更高的精度,加快了模型的收敛,提高了联邦学习的效率。
在另一个实施例中,多个参与节点参与一轮联邦学习后,需要确定参与本轮联邦学习的参与节点在本轮联邦学习中的贡献值。在一个实施例中,S201中获取到的多组本地模型参数包括所述目标本地模型参数和非目标本地模型参数,确定参与本轮联邦学习的参与节点在本轮联邦学习中的贡献值,可以包括:确定得到非目标本地模型参数的第一参与节点在本轮联邦学习中的贡献值为第一值;根据全局模型参数和目标本地模型参数,确定得到目标本地模型参数的第二参与节点在本轮联邦学习中的贡献值。关于中心节点如何根据全局模型参数和目标本地模型参数,确定得到目标本地模型参数的第二参与节点在本轮联邦学习中的贡献值,本公开实施例不做限制。如图6所示,本公开实施例提供的计算第二参与节点贡献值的方法可以包括如下S601至S605。
S 601,中心节点获取测试样本。
关于中心如何获取到测试样本,本公开实施例不做限制。例如,测试样本存储在中心节点的存储器中,获取至少一个测试样本,可以包括:从中心节点的存储器中获取该至少一个测试样本。再例如,测试样本存储在其他设备的存储器中,获取至少一个测试样本,可以包括:通过网络从其他设备的存储器中获取该测试样本。其中,测试样本的数量可以是一个,还可以是多个,本公开实施例对此不做限制。
S602,中心节点根据全局模型参数构建全局模型。
S603,中心节点构建每一目标本地模型参数对应的半全局模型。
其中,目标本地模型参数的组数可以是多组也可以是一组。在一个实施例中,目标目标本地模型参数的组数为多组,构建每一目标本地模型参数对应的半全局模型,可以包括:聚合多组目标本地模型参数中除任一目标本地模型参数外的其他目标本地模型参数,得到任一目标本地模型参数对应的半全局模型参数,多次聚合得到每一目标本地模型参数对应的半全局模型参数;构建每一半全局模型参数对应的半全局模型。
其中,聚合该其他目标本地模型参数的方式,与聚合目标本地模型参数得到全局模型参数的方式相同。聚合目标本地模型参数得到全局模型参数的具体实现在图5对应的实施例中已经说明,此处不再赘述。然而,在聚合目标本地模型参数得到全局模型参数中,需要使用到相应的参与节点在历史轮次中得到的贡献值,来确定本轮联邦学习中每一目标本地模型参数对应的权重。因此下面需要从参与第一轮联邦学习中的第三参与节点得到贡献值开始说明。
以第一轮联邦学习为例,参与第一轮联邦学习的多个第三参与节点完成本地训练后得到相应的本地模型,之后,该多个第三参与节点将相应的本地模型参数上报中心节点。中心节点接收到该多个第三参与节点上报的本地模型参数后,从该多个本地模型参数中确定出多组目标本地模型参数,其中,从多组本地模型参数中确定出多组目标本地模型参数的实现方式,在图2对应的实施例的S203中已经说明,在此不再赘述。
在第一轮联邦学习进行前,默认每一第三参与节点的第一目标贡献值为设定值,该设定值具体为何值,本公开实施例不做限制,例如,该设定值为1。需要说明的是,该设定值仅用于作为参与第一轮联邦学习中的第三参与节点的第一目标贡献值。
中心节点利用目标本地模型参数对应第三参与节点的第一目标贡献值,按照上述公式3确定每一目标本地模型参数对应的权重,相应地,每一目标本地模型参数的权重均为1/N。其中,N与第一轮联邦学习中多组目标本地模型参数的组数相同。之后,中心节点以1/N作为每一目标本地模型参数的权重,将多组目标本地模型参数进行聚合,得到第一轮联邦学习中的全局模型参数。中心节点再根据该全局模型参数构建出全局模型。之后,根据该多组目标本地模型参数构建出每一个目标本地模型参数对应的半全局模型。
如图7所示,以第一轮联邦学习中的多组目标本地模型参数有4组为例,相应地,该4组目标本地模型参数在聚合得到全局模型参数时的权重均为1/4。该4组目标本地模型参数分别为目标本地模型参数71、目标本地模型参数72、目标本地模型参数73、目标本地模型参数74。其中,目标本地模型参数71对应的半全局模型参数75由目标本地模型参数72、目标本地模型参数73、目标本地模型参数74按照相应的权重1/3聚合得到。目标本地模型参数72对应的半全局模型参数76由目标本地模型参数71、目标本地模型参数73、目标本地模型参数74按照相应的权重1/3聚合得到。目标本地模型参数73对应的半全局模型参数77由目标本地模型参数71、目标本地模型参数72、目标本地模型参数74按照相应的权重1/3聚合得到。目标本地模型参数74对应的半全局模型参数78由目标本地模型参数71、目标本地模型参数72、目标本地模型参数73按照相应的权重1/3聚合得到。
图7中每一目标本地模型参数在聚合生成半全局模型参数时的权重1/3是根据(1/4)/[3×(1/4)]得到。
中心节点使用测试样本对第一轮联邦学习得到的全局模型和多个半全局模型进行精度测试,得到该全局模型在每一测试样本下的测试结果,以及每一半全局模型在每一测试样本下的测试结果。以获取到的测试样本为两个测试样本,多个半全局模型包括4个半全局模型为例,则全局模型在每一测试样本下的测试结果包括C1和C2两个测试精度;第一个半全局模型在每一测试样本下的测试结果包括B11和B12两个测试精度;第二个半全局模型在每一测试样本下的测试结果包括B21和B22两个测试精度;第三个半全局模型在每一测试样本下的测试结果包括B31和B32两个测试精度;第四个半全局模型在每一测试样本下的测试结果包括B41和B42两个测试精度。
再计算全局模型的多个测试精度与每一半全局模型的多个测试精度之间精度差的平均值。仍以上述两个测试样本,四个半全局模型为例。则该四个半全局模型与全局模型之间精度差的平均值如下公式4、公式5、公式6和公式7。
其中,P1、P2、P3和P4依次为第一个半全局模型至第四个半全局模型与全局模型之间精度差的平均值。
之后,根据多个半全局模型与全局模型之间精度差的平均值,计算每一目标本地模型参数对应的第二参与节点在第一轮联邦学习中的贡献。仍以上述四个半全局模型对应的精度差的平均值为P1、P2、P3和P4为例。则该四个第二参与节点在第一轮联邦学习中的贡献值如下公式8、公式9、公式10和公式11所示。
其中,G1、G2、G3和G4依次为四个目标本地模型参数对应的第一个第二参与节点至第四个第二参与节点在第一轮联邦学习中的贡献值。
再例如,在进行第二轮联邦学习时,可以根据图5对应的实施例中S501中介绍的获取第二参与节点的第一目标贡献值的方式,获取第二轮联邦学习中的第二参与节点的第一目标贡献值。之后,根据该第一目标贡献值完成第二轮联邦学习中全局模型的聚合,以及计算参与第二轮联邦学习的参与节点在第二轮联邦学习中的贡献值。
再例如,在进行第a轮联邦学习时,同样可以根据图5对应的实施例中S501中介绍的获取第二参与节点的第一目标贡献值的方式,获得第a轮联邦学习中的第二参与节点的第一目标贡献值。之后,根据该第一目标贡献值完成第a轮联邦学习中全局模型的聚合,以及计算参与第a轮联邦学习的参与节点在第a轮联邦学习中的贡献值。其中,a为大于或等于2的整数。
确定在本轮联邦学习之前其他轮次中参与节点得到的贡献值之后,同样可以根据图5对应的实施例中S501中介绍的获取第二参与节点的第一目标贡献值的方式,获取本轮联邦学习中每一第二参与节点的第一目标i贡献值,之后,根据该第一目标贡献值构建全局模型和每一目标本地模型参数对应的半全局模型。
S604,中心节点根据测试样本对全局模型和每一半全局模型进行测试,得到全局模型对应的第一测试结果和每一半全局模型对应的第二测试结果。
利用全局模型对该每一测试样本进行处理,得到每一测试样本对应的处理结果,根据每一测试样本对应的处理结果可以确定全局模型对每一测试样本处理得到的精度。相应的,第一测试结果包括全局模型处理至少一个测试样中每一测试样本得到的精度。利用每一半全局模型对每一测试样本进行处理,得到每一半全局模型在每一测试样本下的处理结果,根据每一半全局模型在每一测试样本下的处理结果,可以确定每一半全局模型对每一测试样本处理得到的精度。相应的,每一半全局模型对应的第二测试结果包括半全局模型处理每一测试样本得到的精度。
S605,中心节点根据第一测试结果和每一半全局模型对应的第二测试结果,确定每一第二参与节点在本轮联邦学习中的贡献值。
在一个实施例中,中心节点根据第一测试结果和每一半全局模型对应的第二测试结果,确定每一第二参与节点在本轮联邦学习中的贡献值,可以包括:确定全局模型与每一半全局模型在每一测试样本上精度差的平均值,得到多个平均精度差,一个平均精度差对应一个半全局模型;根据多个平均精度差,确定每一第二参与节点在本轮联邦学习中的贡献值。
其中,确定全局模型与每一半全局模型在至少一个测试样本的每一测试样本上精度差的平均值,得到多个平均精度差可以根据公式12实现。
其中,t为本轮联邦学习的轮次;ωt为本轮联邦学习得到的全局模型;θi为第i个测试样本;υ(θit)是利用ωt对θi进行处理得到的精度;L为测试样本包括的数量;为多组目标本地模型参数中第k组目标本地模型参数对应的半全局模型;/>是利用对θi进行处理得到的精度;/>为第k个目标本地模型参数对应半全局模型/>与全局模型ωt之间的平均精度差。
在一个实施例中,可以直接将每一半全局模型与全局模型之间的平均精度差,作为得到该半全局模型对应的目标本地模型参数的第二参与节点,在本轮联邦学习中的贡献值。在另一个实施例中,还可以对该平均精度差做数学处理后的值作为相应的第二参与节点在本轮联邦学习中的贡献值。关于该数学处理具体为何种数学处理方式,本公开实施例不做限制。
在一个实施例中,该数学处理方式为求比值,根据多个平均精度差,确定每一第二参与节点在本轮联邦学习中的贡献值,可以包括:确定每一平均精度差与多个平均精度之和的比值,得到多个比值;将每一比值作为对应的第二参与节点在本轮联邦学习中的贡献值。
其中,确定每一平均精度差与多个平均精度之和的比值,得到多个比值,可以根据如下公式13实现。
/>
其中,t为本轮联邦学习的轮次;M为多组目标本地模型参数的组数;为第t轮联邦学习得到多组目标本地模型参数中,第k组目标本地模型参数对应的半全局模型与全局模型之间的平均精度差;/>为多个平均精度差之和;/>是第k组目标本地模型参数对应半全局模型与全局模型之间的平均精度差,与多个平均精度差之和的比值。
得到每一半全局模型与全局模型之间的平均精度差与多个平均精度差的比值后,将该比值作为对应的第二参与节点在本轮联邦学习中的贡献值。
本公开实施例提供的技术方案,通过计算一轮联邦学习中得到的全局模型,与每一半全局模型之间的平均精度差,来确定相应的目标本地模型参数对应的第二参与节点在本轮联邦学习中的贡献值。根据该贡献值能够确定每一第二参与节点在一轮联邦学习中对全局模型的精度的贡献。因此,在一轮联邦学习中使目标贡献值较高的参与节点得到的目标本地模型参数,在参与聚合生成全局模型时的权重更高,可以使得聚合得到的全局模型参数对应的全局模型具有更高的精度,加快了模型的收敛,提高了联邦学习的效率。
为便于理解本公开实施例提供的技术方案,下面将结合上述图2、图3、图5和图6对应的实施例,来完整说明本公开实施例的一轮联邦学习。如图8所示,本公开另一个实施例中的联邦学习方法包括如下S801至S809。
S801,参与节点上报本地模型参数。
S802,中心节点确定本地模型参数与基准模型参数的相似度。
S803,中心节点将相似度满足条件的本地模型参数作为目标本地模型参数,基于目标本地模型参数生成全局模型参数。其中,相似度满足条件是指,相似度大于第一阈值;或者,相似度大于第一阈值且小于第三阈值。
S804,中心节点将得到非目标本地模型参数的参与节点的信誉值减去第二值。
S805,中心节点将得到非目标本地模型参数的第一参与节点的贡献值确定为第一值。
S806,中心节点根据全局模型参数和目标本地模型参数,计算得到目标本地模型参数的第二参与节点的在本轮联邦学习中的贡献值。
S807,中心节点确定全局模型是否收敛,若全局模型收敛则结束,若全局模型不收敛则进行S808。
S808,中心节点根据参与第一轮联邦学习的第三参与节点的当前信誉值,选取出参与下一轮联邦学习的参与节点。
S809,中心节点向参与下一轮联邦学习的参与节点发送全局模型,开始新一轮的联邦学习。
S801至S809的具体实现,可以参见图2、图3、图5和图6对应的实施例,在此不再赘述。
本公开的实施例所提供的技术方案,中心节点获取多组本地模型参数,再确定每一组本地模型参数与本轮联邦学习的基准模型参数的相似度。本地模型参数与基准模型参数的相似度可以在一定程度上反映得到本地模型参数的参与节点为恶意节点的可能性,当本地模型参数与基准模型参数的相似度较小(相似度不大于第一阈值)的情况下,可以认为得到本地模型参数的参与节点较大可能是恶意节点。根据多组本地模型参数中相似度大于第一阈值的目标本地模型参数,生成全局模型参数的方式,可以在一定程度上避免恶意节点上报的本地模型参数对全局模型参数造成影响,进而降低发生因恶意节点的影响而导致全局模型的精度较低的可能性,有利于提高全局模型的精度。
基于同一发明构思,本公开实施例中还提供了一种联邦学习装置,如下面的实施例所述。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
图9示出本公开一个实施例中的联邦学习装置示意图,如图9所示,该装置应用于联邦学习的中心节点,包括:获取模块91,用于获取多组本地模型参数;确定模块92,用于确定各组本地模型参数与本轮联邦学习中基准模型参数的相似度;生成模块93,用于确定相似度大于第一阈值的本地模型参数作为目标本地模型参数,基于目标本地模型参数生成全局模型参数。
在本公开的一个实施例中,确定模块92,还用于确定参与本轮联邦学习的参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,多组本地模型参数包括目标本地模型参数和非目标本地模型参数;确定模块92,用于确定得到非目标本地模型参数的第一参与节点在本轮联邦学习中的贡献值为第一值;根据全局模型参数和目标本地模型参数,确定得到目标本地模型参数的第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,确定模块92,用于获取测试样本;根据全局模型参数构建全局模型;构建每一目标本地模型参数对应的半全局模型;根据测试样本对全局模型和每一半全局模型进行测试,得到全局模型对应的第一测试结果和每一半全局模型对应的第二测试结果;根据第一测试结果和每一半全局模型对应的第二测试结果,确定每一第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,目标本地模参数的组数为多组;确定模块92,用于聚合多组目标本地模型参数中除任一目标本地模型参数外的其他目标本地模型参数,得到任一目标本地模型参数对应的半全局模型参数,多次聚合得到每一目标本地模型参数对应的半全局模型参数;构建每一半全局模型参数对应的半全局模型。
在本公开的一个实施例中,第一测试结果包括全局模型处理测试样得到的精度;每一半全局模型对应的第二测试结果包括半全局模型处理测试样中得到的精度;确定模块92,用于确定全局模型与每一半全局模型在每一测试样本上精度差的平均值,得到多个平均精度差,一个平均精度差对应一个半全局模型;根据多个平均精度差,确定每一第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,确定模块92,用于确定每一平均精度差与多个平均精度差之和的比值,得到多个比值;将每一比值作为对应的第二参与节点在本轮联邦学习中的贡献值。
在本公开的一个实施例中,生成模块93,用于确定目标本地模型参数的权重;将目标本地模型参数按照权重聚合,得到全局模型参数。
在本公开的一个实施例中,生成模块93,用于获取第二参与节点的第一目标贡献值,第一目标贡献值由第二目标贡献值与相应的轮次差确定,第二目标贡献值是第二参与节点在历史参与联邦学习得到的不为第一值的贡献值中最后一个得的贡献值;根据第一目标贡献值,确定目标本地模型参数的权重。
在本公开的一个实施例中,装置还包括:处理模块94,用于将第一参与节点的信誉值减去第二值;确定模块92,还用于确定参与第一轮联邦学习的第三参与节点的信誉值;确定模块92,还用于根据第三参与节点的信誉值,确定参与下一轮联邦学习的参与节点。
在本公开的一个实施例中,确定模块92,用于确定信誉值大于第二阈值的第三参与节点为参与下一轮联邦学习的参与节点。
在本公开的一个实施例中,目标本地模型参数是相似度大于第一阈值且小于第三阈值的本地模型参数。
本公开的实施例所提供的技术方案,获取参与本轮联邦学习的参与节点根据初始模型参数进行本地训练后得到的多组本地模型参数,再确定多组本地模型参数中每一组本地模型参数与初始模型参数的相似度。本地模型参数与初始模型参数的相似度可以在一定程度上反映得到本地模型参数的参与节点是恶意节点的可能性,当本地模型参数与初始模型参数的相似度较小的情况下,可以认为得到本地模型的参与节点较大可能是恶意节点。根据多组本地模型参数中相似度大于第一阈值的至少一组目标本地模型参数,生成全局模型参数的方式,可以在一定程度上避免恶意节点上报的本地模型参数对全局模型参数造成影响,进而降低发生因恶意节点的影响而导致全局模型的精度较低的可能性。
进一步地,本地模型参数与初始模型参数的相似度越高,本地模型参数对本轮全局模型参数的贡献度也就越低,如果使用相似度较高的本地模型参数参与生成本轮的全局模型参数,将会稀释其他贡献度较高的本地模型参数对全局模型参数的贡献度,因此,选取相似度大于第一阈值且小于第二阈值的目标本地模型参数来生成全局模型参数,可以在一定程度上增加全局模型参数对应的全局模型的精度,加快全局模型的收敛,提高联邦学习的效率。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图10来描述根据本公开的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1201和/或高速缓存存储单元1202,还可以进一步包括只读存储单元(ROM)1203。
存储单元1020还可以包括具有一组(至少一个)程序模块1205的程序/实用工具1204,这样的程序模块1205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1040(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本公开上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。
本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围由所附的权利要求指出。

Claims (15)

1.一种联邦学习方法,其特征在于,应用于联邦学习的中心节点,包括:
获取多组本地模型参数;
确定各组本地模型参数与本轮联邦学习中基准模型参数的相似度;
确定所述相似度大于第一阈值的本地模型参数作为目标本地模型参数,基于所述目标本地模型参数生成全局模型参数。
2.根据权利要求1所述的方法,其特征在于,还包括:
确定参与本轮联邦学习的参与节点在本轮联邦学习中的贡献值。
3.根据权利要求2所述的方法,其特征在于,所述多组本地模型参数包括所述目标本地模型参数和非目标本地模型参数;所述确定参与本轮联邦学习的参与节点在本轮联邦学习中的贡献值,包括:
确定得到所述非目标本地模型参数的第一参与节点在本轮联邦学习中的贡献值为第一值;
根据所述全局模型参数和所述目标本地模型参数,确定得到所述目标本地模型参数的第二参与节点在本轮联邦学习中的贡献值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述全局模型参数和所述目标本地模型参数,确定得到所述目标本地模型参数的第二参与节点在本轮联邦学习中的贡献值,包括:
获取测试样本;
根据所述全局模型参数构建全局模型;
构建每一目标本地模型参数对应的半全局模型;
根据所述测试样本对所述全局模型和每一半全局模型进行测试,得到所述全局模型对应的第一测试结果和每一半全局模型对应的第二测试结果;
根据所述第一测试结果和每一半全局模型对应的第二测试结果,确定每一第二参与节点在本轮联邦学习中的贡献值。
5.根据权利要求4所述的方法,其特征在于,目标本地模参数的组数为多组;所述构建每一目标本地模型参数对应的半全局模型,包括:
聚合多组目标本地模型参数中除任一目标本地模型参数外的其他目标本地模型参数,得到所述任一目标本地模型参数对应的半全局模型参数,多次聚合得到每一目标本地模型参数对应的半全局模型参数;
构建每一半全局模型参数对应的半全局模型。
6.根据权利要求4所述的方法,其特征在于,所述第一测试结果包括所述全局模型处理所述测试样得到的精度;每一半全局模型对应的第二测试结果包括半全局模型处理所述测试样中得到的精度;
所述根据所述第一测试结果和每一半全局模型对应的第二测试结果,确定每一第二参与节点在本轮联邦学习中的贡献值,包括:
确定所述全局模型与每一半全局模型在每一测试样本上精度差的平均值,得到多个平均精度差,一个平均精度差对应一个半全局模型;
根据所述多个平均精度差,确定每一第二参与节点在本轮联邦学习中的贡献值。
7.根据权利要求6所述的方法,其特征在于,所述根据所述多个平均精度差,确定每一第二参与节点在本轮联邦学习中的贡献值,包括:
确定每一平均精度差与所述多个平均精度差之和的比值,得到多个比值;
将每一比值作为对应的第二参与节点在本轮联邦学习中的贡献值。
8.根据权利要求1所述的方法,其特征在于,所述基于所述目标本地模型参数生成全局模型参数,包括:
确定所述目标本地模型参数的权重;
将所述目标本地模型参数按照权重聚合,得到所述全局模型参数。
9.根据权利要求8所述的方法,其特征在于,所述确定所述目标本地模型参数的权重,包括:
获取第二参与节点的第一目标贡献值,所述第一目标贡献值由第二目标贡献值与相应的轮次差确定,所述第二目标贡献值是所述第二参与节点在历史参与联邦学习得到的不为第一值的贡献值中最后一个得的贡献值;
根据所述第一目标贡献值,确定所述目标本地模型参数的权重。
10.根据权利要求1所述的方法,其特征在于,还包括:
将第一参与节点的信誉值减去第二值;
确定参与第一轮联邦学习的第三参与节点的信誉值;
根据所述第三参与节点的信誉值,确定参与下一轮联邦学习的参与节点。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第三参与节点的信誉值,确定参与下一轮联邦学习的参与节点,包括:
确定信誉值大于第二阈值的第三参与节点为参与下一轮联邦学习的参与节点。
12.根据权利要求1-11任一所述的方法,其特征在于,所述目标本地模型参数是相似度大于第一阈值且小于第三阈值的本地模型参数。
13.一种联邦学习装置,其特征在于,应用于联邦学习的中心节点,包括:
获取模块,用于获取多组本地模型参数;
确定模块,用于确定各组本地模型参数与本轮联邦学习中基准模型参数的相似度;
生成模块,用于确定所述相似度大于第一阈值的本地模型参数作为目标本地模型参数,基于所述目标本地模型参数生成全局模型参数。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~12中任意一项所述的联邦学习方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~12中任意一项所述的联邦学习方法。
CN202211379126.5A 2022-11-04 2022-11-04 联邦学习方法、装置、电子设备及计算机可读存储介质 Pending CN118052274A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211379126.5A CN118052274A (zh) 2022-11-04 2022-11-04 联邦学习方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211379126.5A CN118052274A (zh) 2022-11-04 2022-11-04 联邦学习方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN118052274A true CN118052274A (zh) 2024-05-17

Family

ID=91043537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211379126.5A Pending CN118052274A (zh) 2022-11-04 2022-11-04 联邦学习方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN118052274A (zh)

Similar Documents

Publication Publication Date Title
WO2023124296A1 (zh) 基于知识蒸馏的联合学习训练方法、装置、设备及介质
CN110874648A (zh) 联邦模型的训练方法、系统和电子设备
CN111030861A (zh) 一种边缘计算分布式模型训练方法、终端和网络侧设备
EP4350572A1 (en) Method, apparatus and system for generating neural network model, devices, medium and program product
WO2021108796A2 (en) System and method of federated learning with diversified feedback
CN113435534A (zh) 一种基于相似度度量的数据异构处理方法、装置、计算机设备及计算机可读存储介质
CN114492854A (zh) 训练模型的方法、装置、电子设备以及存储介质
CN116629379A (zh) 联邦学习聚合方法及装置、存储介质及电子设备
CN115345279B (zh) 多指标异常检测方法、装置、电子设备及存储介质
CN118052274A (zh) 联邦学习方法、装置、电子设备及计算机可读存储介质
CN115906177A (zh) 集合安全求交方法、装置、电子设备及存储介质
CN115564056B (zh) 节点选择方法、装置、电子设备及计算机可读存储介质
CN115526339B (zh) 联邦学习方法、装置、电子设备及计算机可读存储介质
CN111353585A (zh) 神经网络模型的结构搜索方法和装置
CN116562396A (zh) 联邦学习参与方筛选方法、装置、电子设备及存储介质
CN116521377B (zh) 业务计算卸载方法、系统、装置、设备及介质
CN118095475A (zh) 联邦学习方法、装置、电子设备及计算机可读存储介质
CN105704004B (zh) 业务数据处理方法和装置
CN115600499A (zh) 混合联邦学习方法、装置、电子设备及存储介质
US20240070518A1 (en) Smart communication in federated learning for transient and resource-constrained mobile edge devices
WO2023124312A1 (zh) 联合学习中的预测方法及装置
CN114393583B (zh) 通过机器人控制设备的方法及装置
CN114785605B (zh) 网络异常检测模型的确定方法、装置、设备及存储介质
US20220398457A1 (en) Distributed Deep Learning System and Distributed Deep Learning Method
CN116107426A (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