联邦学习方法、装置、系统、设备及介质与流程

文档序号:30490735发布日期:2022-06-22 01:43阅读:183来源:国知局
联邦学习方法、装置、系统、设备及介质与流程

1.本公开涉及机器学习技术领域,尤其涉及一种联邦学习方法、装置、系统、设备及介质。


背景技术:

2.联邦学习是一种新兴的分布式机器学习方式,其可以在多个边缘节点之间开展高效率的模型学习。
3.然而,现有的联邦学习方法往往各边缘节点的训练情况存在差异,训练得到的全局模型准确性较低。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

5.本公开提供一种联邦学习方法、装置、系统、设备及介质,至少在一定程度上克服由于相关技术中全局模型的准确性较低的问题。
6.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
7.根据本公开的一个方面,提供了一种联邦学习方法,应用于中心节点,包括:
8.向多个参与边缘节点发送联邦学习请求,以使参与边缘节点响应于联邦学习请求利用本地数据进行模型训练,得到本地模型;
9.接收第一参与边缘节点的模型数据,第一参与边缘节点是本地模型的模型准确率达到准确率要求的参与边缘节点;
10.基于第一参与边缘节点的模型数据,得到全局模型。
11.在一个实施例中,第一参与边缘节点的数量为多个,模型数据包括本地模型的模型参数和本地模型的模型准确率,
12.基于第一参与边缘节点的模型参数,得到全局模型基于至少一个节点返回的模型数据进行模型聚合,得到全局模型,包括:
13.针对各第一参与边缘节点,确定与各第一参与边缘节点的模型准确率对应的模型权重值;
14.基于模型权重值对各第一参与边缘节点对应的模型参数进行加权计算,得到各第一参与边缘节点对应的加权模型参数;
15.基于多个第一参与边缘节点各自对应的加权模型参数,得到全局模型。
16.在一个实施例中,向多个参与边缘节点发送联邦学习请求之前,方法还包括:
17.向多个边缘节点发送联邦学习通知;
18.接收多个边缘节点基于联邦学习通知反馈的节点数据;
19.选择节点数据满足预设节点条件的多个边缘节点作为多个参与边缘节点。
20.在一个实施例中,各边缘节点的节点数据包括各边缘节点的本地数据的数据量,预设节点条件包括本地数据的数据量大于预设数据量阈值。
21.在一个实施例中,基于第一参与边缘节点的模型数据,得到全局模型,包括:
22.基于第一参与边缘节点的模型数据,得到全局模型;
23.在全局模型的模型准确率未达到预设准确率要求的情况下,重新确定多个参与边缘节点,向重新确定的多个参与边缘节点发送联邦学习请求,以使重新确定的多个参与边缘节点训练新的本地模型以及根据新的本地模型和模型准确率确定新的第一参与边缘节点,接收新的第一参与边缘节点的模型数据,以及根据新的第一参与边缘节点的模型数据得到新的全局模型,直到新的全局模型的模型准确率达到预设准确率要求。
24.在一个实施例中,在全局模型的模型准确率未达到预设准确率要求的情况下,重新确定多个参与边缘节点之前,方法还包括:
25.针对各第一参与边缘节点,获取各第一参与边缘节点的本地数据的数据量;
26.确定与数据量对应的数据权重值;
27.利用数据权重值和各第一参与边缘节点对应的模型准确率进行加权计算,得到各第一参与边缘节点对应的加权模型准确率;
28.基于多个第一参与边缘节点各自对应的加权模型准确率,得到全局模型的模型准确率。
29.在一个实施例中,向重新确定的多个参与边缘节点发送联邦学习请求,包括:
30.调高准确率要求,其中,调高后的准确率要求小于或等于预设准确率要求;
31.向重新确定的多个参与边缘节点发送新的联邦学习请求,新的联邦学习请求携带有调高后的准确率要求。
32.在一个实施例中,联邦学习请求携带有待训练模型参数,
33.向重新确定的多个参与边缘节点发送联邦学习请求,包括:
34.将原有的全局模型的模型参数作为待训练模型参数;
35.发送携带有更新后的待训练模型参数的联邦学习请求,以利用重新确定的多个参与边缘节点对更新后的待训练模型参数对应的待训练模型进行训练,得到重新训练的本地模型。
36.在一个实施例中,中心节点为中心nwdaf网元,参与边缘节点为边缘nwdaf网元。
37.根据本公开的另一个方面,提供一种联邦学习方法,应用于边缘节点,包括:
38.接收中心节点发送的联邦学习请求;
39.响应于联邦学习请求利用本地数据进行模型训练,得到本地模型;
40.在本地模型的模型准确率达到准确率要求的情况下,向中心节点返回模型数据,以使中心节点基于模型数据生成全局模型。
41.根据本公开的又一个方面,提供一种联邦学习装置,应用于中心节点,包括:
42.第一发送模块,用于向多个参与边缘节点发送联邦学习请求,以使参与边缘节点响应于联邦学习请求利用本地数据进行模型训练,得到本地模型;
43.第一接收模块,用于接收第一参与边缘节点的模型数据,第一参与边缘节点是本地模型的模型准确率达到准确率要求的参与边缘节点;
44.模型处理模块,用于基于第一参与边缘节点的模型数据,得到全局模型。
45.根据本公开的再一个方面,提供一种联邦学习装置,应用于参与边缘节点,包括:
46.第二接收模块,用于接收中心节点发送的联邦学习请求;
47.模型训练模块,用于响应于联邦学习请求利用本地数据进行模型训练,得到本地模型;
48.第二发送模块,用于在本地模型的模型准确率达到准确率要求的情况下,向中心节点返回模型数据,以使中心节点基于模型数据生成全局模型。
49.根据本公开的再一个方面,提供一种联邦学习系统,包括:
50.中心节点,用于实现上述一方面提供的联邦学习方法;
51.边缘节点,用于实现上述另一方面提供的联邦学习方法。
52.根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述的联邦学习方法。
53.根据本公开的再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的联邦学习方法。
54.本公开实施例所提供的联邦学习方法、装置、系统、设备及介质,中心节点可以向各参与边缘节点发送联邦学习请求,从而能够使各参与边缘节点响应于该联邦学习请求进行模型训练之后,能够根据其自身的本地模型的模型准确率是否达到准确率要求来确定是否向中心节点上传模型参数。因此,中心节点接收到的模型参数的模型准确率均满足准确率要求,从而使得中心节点可以利用高准确率的本地模型的模型数据生成全局模型,克服了因各参与节点的训练情况的差异导致各参与节点的本地模型的模型准确率较低对全局模型的准确率的影响,提高了全局模型的准确性。
55.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
56.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
57.图1示出了本公开实施例提供的联邦学习系统的系统架构图;
58.图2示出了本公开实施例提供的一种示例性的联邦学习系统的系统架构图;
59.图3示出了本公开实施例提供的一种联邦学习方法的流程示意图;
60.图4示出了本公开实施例提供的另一种联邦学习方法的流程示意图;
61.图5示出了本公开实施例提供的又一种联邦学习方法的流程示意图;
62.图6示出了本公开实施例提供的一种示例性的联邦学习方法的流程示意图;
63.图7示出了本公开实施例中一种联邦学习装置的结构示意图;
64.图8示出了本公开实施例提供的另一种联邦学习装置的结构示意图;和
65.图9示出本公开实施例中一种联邦学习计算机设备的结构框图。
具体实施方式
66.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
67.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
68.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
69.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
70.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
71.联邦学习,即一种可以通过多个边缘节点的协同模型训练下,得到全局最优模型,因其安全性在各领域具有了广泛应用。可以让各个边缘节点的本地数据保留在本地,保证用户的隐私性,通过向中心节点传递模型参数,以通过中心节点完成全局模型的聚合。比如,可以将nwdaf实例数据保留在边缘nwdaf网元中,向中心nwdaf网元传递边缘nwdaf网元基于本地的nwdaf实例数据训练得到的本地模型参数,再由中心nwdaf网元根据各边缘nwdaf传递的模型参数完成全局模型的聚合。
72.例如,在网络技术领域,在诸如3gpp(3rd generation partnership project,第三代合作伙伴计划)的、诸如3gpp ena release-17(enablers for network automation release-17,第17版本网络智能化支撑)等研究中,提出了利用多个nwdaf(network data analytics function,网络数据分析功能)示例协同训练机器学习模型的研究方向。在该研究方向中,可以根据nwdaf消费方的模型订阅需求,通过中心nwdaf网元和多个边缘nwdaf网元进行联邦学习,为nwdaf服务的消费方提供全局模型。从而使得联邦学习方法可以应用于诸如5g(5th generation mobile communication technology,第五代移动通信技术)、6g等网络构架的各网元的协同部署的应用场景中。
73.在一种相关的联邦学习技术中,可以基于诸如fedavg算法或fedprox算法进行联邦学习,然而在上述算法中,中心节点在全局模型聚合时,采用的公式如下述公式(1)所示:
[0074][0075]
其中,ω
t+1
表示第t+1轮的全局模型,k表示参与第t+1轮联邦学习的边缘节点的数量,s
t
表示参与第t+1轮联邦学习的边缘节点的集合,表示第k个边缘节点的模型参数。
[0076]
也就是说,中心节点将边缘节点的模型参数的平均值作为全局模型的模型参数。
然而该相关技术往往因某些边缘节点可能在指定的训练时间或者训练轮次(epoch)内无法达到训练准确率要求,或者某些边缘节点因本地数据较少而产生过拟合现象等原因导致边缘节点的本地模型的训练精度较低,进而影响全局模型的准确性。
[0077]
在另一种相关技术中,可以在中心节点中设置测试数据,从而可以在边缘节点上传模型参数之后,利用测试数据对所上传模型参数对应的边缘模型的准确率进行评估,并根据评估结果调整模型聚合参数。
[0078]
然而,该相关技术需要在中心节点设置测试数据,无法适用于中心节点内无相关数据的应用场景中。比如,以nwdaf为例,3gpp提出了中心nwdaf内无相关数据用于训练和测试的场景,该相关技术无法应用于该场景之下。
[0079]
基于上述问题中的至少一者,本公开实施例提供了一种联邦学习方法、装置、系统、设备及介质,中心节点向参与边缘节点发送了联邦学习请求之后,模型准确率达到准确率要求的参与边缘节点会向中心节点返回模型数据,从而使得中心节点可以根据准确率较高的参与边缘节点的模型数据生成全局模型,提高了全局模型的准确率。
[0080]
接下来,在开始介绍本公开实施例提供的联邦学习方案之前,本公开实施例先对涉及的联邦学习系统进行说明。
[0081]
图1示出了本公开实施例提供的联邦学习系统的系统架构图。如图1所示,联邦学习系统10可以包括中心节点11和m个边缘节点121-12m,其中,m是大于或等于2的整数。
[0082]
对于中心节点11,其可以用于向边缘节点发送联邦学习请求,以及接收边缘节点返回的模型数据,以及根据各边缘节点返回的模型数据生成全局模型。可选地,为了保证中心节点的安全性,中心节点不设置有本地数据,也就是说,中心节点无需直接进行全局模型的模型训练,利用边缘节点完成训练后的本地模型的模型参数得到全局模型。
[0083]
对于边缘节点121-12m,其上存储有本地数据。各边缘节点可以在接收到中心节点11的联邦学习请求之后,基本本地数据训练本地模型,以及在本地模型的模型准确率达到准确率要求时,将本地模型的模型数据返回至中心节点11,以供中心节点11根据接收到的本地数据生成全局模型。
[0084]
在一些实施例中,可以将参与联邦学习的边缘节点称为参与边缘节点。也就是说,在每次模型训练中,可以选择边缘节点121-12m中的至少部分边缘节点参与联邦学习。需要说明的是,一次联邦学习可以分为多轮,在每一轮联邦学习中的参与边缘节点可以相同,也可以不同,对此不作具体限定。
[0085]
在一个实施例中,可以将本地模型的模型准确率达到准确率要求的参与边缘节点称为第一参与边缘节点。也就是说,在接收到联邦学习请求后,各参与边缘节点会进行本地模型的训练,若训练得到的本地模型的模型准确率达到准确率要求,则将该参与边缘节点作为第一参与边缘节点。
[0086]
在本公开实施例中,参与边缘节点中的第一参与边缘节点向中心节点返回模型数据,非第一参与边缘节点不向中心节点返回模型数据,在节省了联邦学习系统的通信资源的同时,使得中心节点可以根据模型准确率较高的第一参与边缘节点的模型数据,生成全局模型,提高了全局模型的准确性。
[0087]
在一个示例中,图2示出了本公开实施例提供的一种示例性的联邦学习系统的系统架构图。
[0088]
如图2所示,联邦学习系统10可以包括中心nwdaf网元11和m个边缘nwdaf网元121至12m。
[0089]
其中,中心nwdaf网元11作为中心节点,边缘nwdaf网元121至12m可以作为边缘节点。中心nwdaf网元11可以向各边缘nwdaf网元发送联邦学习请求,以及根据各边缘nwdaf网元的本地模型的模型训练结果生成全局模型。可选地,中心nwdaf网元11可以接收nwdaf服务消费端的模型订阅请求,然后基于该模型订阅请求向边缘nwdaf网元发送联邦学习通知,各边缘nwdaf网元接收到联邦学习通知后向中心nwdaf网元11返回各自的节点数据。中心nwdaf网元11根据各边缘nwdaf网元的节点数据,从边缘nwdaf网元中选择出需要参与联邦学习的参与边缘nwdaf网元,以及向边缘nwdaf网元发送联邦学习请求。
[0090]
又一示例性地,可以将参与边缘nwdaf网元中本地模型的模型准确率大于准确率要求的网元称为第一参与边缘nwdaf网元。
[0091]
在介绍了本公开实施例涉及的联邦学习系统之后,接下来,本公开实施例的下述部分依次对联邦学习方法、联邦学习装置等进行说明。
[0092]
图3示出了本公开实施例提供的一种联邦学习方法的流程示意图,该方法可以由诸如中心nwdaf网元等中心节点执行。
[0093]
如图3所示,本公开实施例中提供的联邦学习方法包括如下步骤s310至s330。
[0094]
s310,向多个参与边缘节点发送联邦学习请求,以使各参与边缘节点响应于联邦学习请求利用本地数据进行模型训练,得到本地模型。
[0095]
对于参与边缘节点,其可以是边缘节点中参与联邦学习的节点。示例性地,若需要进行多轮联邦学习,则每轮联邦学习中的参与边缘节点可以是参与该轮联邦学习的边缘节点。需要说明的是,每轮联邦学习中的参与边缘节点可以相同,也可以不同,对此不作具体限定。
[0096]
以及,对于各参与边缘节点的本地模型。在一些实施例中,各参与边缘节点的本地数据为模型训练的相关数据。在一个实施例中,本地数据可以包括本地训练数据。其中,本地训练数据为用于训练本地模型的数据。在另一个示例中,本地数据可以包括本地训练数据和本地测试数据。其中,本地测试数据用于测试本地模型的模型准确率。示例性地,各参与节点可以将本地数据按照预设比例以预设抽样方式划分为训练数据和测试数据。其中,抽样方式可以为随机抽样或者可以根据实际情况、具体需求选择其他抽样方式,对此不作限定。其中,预设比例可以是9:1,又或者可以根据实际情况、具体需求选择其他比例,对比不作具体限定。
[0097]
在一些实施例中,各参与边缘节点可以利用本地数据对本地模型进行训练,以及在达到训练截止条件时停止本地模型训练,得到训练完成的本地模型。示例性地,训练截止条件可以包括:训练时长达到预设时长,和/或,训练轮数(epoch)达到预设次数。其中,预设时长和预设次数可以根据实际训练场景和具体训练需求设置,对此不作具体限定。又一示例性地,训练截止条件可以预先设置于各参与边缘节点中。或者,通过携带有训练截止条件的联邦学习请求,将训练截止条件发送至各参与边缘节点中,对训练截止条件的设置方式不作具体限定。
[0098]
通过本实施例,通过训练截止条件,可以对各参与边缘节点的训练过程进行合理控制,避免因部分参与边缘节点因无法收敛等原因对整体联邦学习效率的影响,从而提高
了联邦学习效率。
[0099]
在介绍了各参与边缘节点及其训练过程之后,接下来对联邦学习请求进行说明。
[0100]
对于联邦学习请求,其用于请求各参与边缘节点利用本地数据进行本地模型训练。示例性地,若需要进行多轮联邦学习,则每轮联邦学习中,中心节点均可以向参与该轮联邦学习的参与边缘节点发送联邦学习请求。
[0101]
在一些实施例中,联邦学习请求中还可以包括全局模型的待训练模型参数,即全局模型的初始参数,以使各参与边缘节点对待训练模型参数对应的初始全局模型进行模型训练,得到各参与边缘节点的本地模型。示例性地,在多轮联邦学习中,第一轮联邦学习的待训练模型参数为初始值,第二轮及第二轮之后的联邦学习的待训练模型参数为前一轮联邦学习中全局模型的模型参数,从而可以在前一轮联邦学习的基础上继续进行联邦学习,提高了联邦学习效率。
[0102]
在通过参与边缘节点和联邦学习请求对s310进行说明之后,接下来对s320进行说明。
[0103]
s320,接收第一参与边缘节点的模型数据。
[0104]
对于第一参考边缘节点,其可以是本地模型的模型准确率达到准确率要求的参与边缘节点。在一些实施例中,各参考边缘节点可以在完成对本地模型的训练之后,判断训练完成的本地模型的模型准确率是否达到准确率要求,如果达到准确率要求,则该参考边缘节点即为第一参与边缘节点,并向中心节点返回训练完成的本地模型的模型数据。若参与边缘节点的本地模型的模型准确率未达到准确率要求,则该参与边缘节点不为第一参与边缘节点,不向中心节点返回训练完成的本地模型的模型准确率。
[0105]
对于准确率要求,其用于评判本地模型的模型准确率是否达标。示例性地,准确率要求可以包括准确率阈值要求,和/或,准确率等级要求。接下来,对准确率阈值要求、准确率等级要求依次说明。
[0106]
对于准确率阈值要求,即要求本地模型的模型准确率大于或等于预设准确率阈值。其中,预设准确率阈值可以根据实际联邦学习场景和具体联邦学习需求设置,对此不作限定。在一些实施例中,各参与边缘节点可以通过本地存储的本地测试数据来确定本地模型的模型准确率。需要说明的是,本地测试数据的相关内容可以参见本公开实施例上述部分的相关描述,在此不再赘述。
[0107]
对于准确率等级要求,即要求本地模型的模型准确率等级不低于预设准确率等级。其中,预设准确率等级可以根据实际联邦学习场景和具体联邦学习需求设置,比如分为低、中、高三个等级,对此不作限定。在一些实施例中,对于各参与边缘节点,可以在计算得到训练完成的本地模型的模型准确率之后,根据多个预设模型准确率等级各自对应的模型准确率取值范围,确定与本地模型的模型准确率所对应的模型准确率等级。然后判断所对应的模型准确率等级是否不低于预设准确率等级。
[0108]
从设置方式而言,在一些实施例中,准确率要求可以是预先配置到各参与边缘节点中,或者,可以是通过联邦学习请求下发至各参与边缘节点中,本公开实施例对此不作具体限定。
[0109]
在一些实施例中,准确率要求可以是根据预设准确率要求确定的。其中,预设准确率要求可以是全局模型的准确率所需达成的要求。示例性地,预设准确率要求可以是预定
义的,或者是模型订阅者通过模型订阅请求发送至中心节点的,对此不作具体限定。需要说明的是,预设准确率要求也可以为准确率阈值要求,或者准确率等级要求,其可以参见本公开实施例上述部分对本地模型的模型准确率的准确率要求的具体内容,对此不再赘述。
[0110]
示例性地,准确率要求可以等于该预设准确率要求,或者是由一个较小值在多轮联邦学习中逐步调大至预设准确率要求,对此不作具体限定。
[0111]
在介绍了准确率要求之后,接下来对模型数据展开具体说明。
[0112]
各第一参与边缘节点的模型数据,可以是在生成全局模型的过程中、该第一参与边缘节点的本地模型需要被使用到的相关数据。比如,模型数据包括本地模型的模型参数、模型准确率等。需要说明的是,模型数据中的模型准确率可以作为本地模型的预测置信度又或者可以作为一个单独的参数,对其具体形式不作限定。
[0113]
在通过第一参与边缘节点、准确率要求及模型数据对s320进行说明之后,接下来对s330进行说明。
[0114]
s330,基于第一参与边缘节点的模型数据,得到全局模型。
[0115]
对于全局模型的生成方式。其可以通过多个第一参与边缘节点的模型参数进行模型聚合而成,或者可以通过多个第一参与边缘节点的模型参数对原有的全局模型进行模型更新后得到的,对此不作限定。接下来,将对两种生成方式进行说明。
[0116]
在一些实施例中,可以利用各第一参与边缘节点的模型参数实现全局模型的模型聚合。比如,可以基于第一参与边缘节点的模型参数,计算得到一个模型参数,该模型参数对应的模型即为全局模型。
[0117]
在一个实施例中,可以将多个第一参与边缘节点的模型参数求平均值,然后将该平均值作为全局模型的模型参数。
[0118]
在另一个实施例中,在第一参与边缘节点的数量为多个的情况下,模型数据包括本地模型的模型参数和模型准确率的情况下,可以利用多个第一参与边缘节点的模型参数进行加权计算,得到全局模型的模型参数。
[0119]
相应地,s330可以包括下述步骤a1至步骤a3。
[0120]
步骤a1,针对各第一参与边缘节点,确定与各第一参与边缘节点的模型准确率对应的模型权重值。
[0121]
在一个示例中,各第一参与边缘节点的模型权重值可以与模型准确率正相关,从而可以为准确率更高的本地模型的模型参数赋予更高的权重值,从而提高了全局模型的模型准确率。
[0122]
在步骤a1中,可以通过预先设置的模型准确率与模型权重值的对应关系来确定与各第一参与边缘节点的模型准确率对应的模型权重值。
[0123]
在一个示例中,该对应关系可以包括模型准确率的多个基准值与多个基准值对应的模型准确率。
[0124]
在另一个示例中,该对应关系可以是模型准确率与模型权重值之间的关系表达式。
[0125]
比如,若第k个第一参与边缘节点的模型准确率表示为ak,则其对应的模型权重值可以表示为又或者,可以是即
第k个第一参与边缘节点的模型准确率与第一准确率和值的比值。其中,第一准确率和值为全部第一参与边缘节点(若需要经过多轮联邦学习,即为每一轮中全部第一参与边缘节点)的模型准确率之和。需要说明的是,模型权重值还可以是与模型准确率呈正比、且保证全部第一参与边缘节点的模型权重值之和等于的其他表达式,对此不作具体限定。
[0126]
步骤a2,基于模型权重值对各第一参与边缘节点对应的模型参数进行加权计算,得到各第一参与边缘节点对应的加权模型参数。
[0127]
示例性地,若第k个第一参与边缘节点的模型权重值为第k个第一参与边缘节点的模型参数为则第k个第一参与边缘节点对应的加权模型参数表示为
[0128]
步骤a3,基于多个第一参与边缘节点各自对应的加权模型参数,得到全局模型。比如,可以对多个第一参与边缘节点各自对应的加权模型参数求和,得到一个模型参数,可以将该模型参数对应的模型作为全局模型。
[0129]
示例性地,全局模型的模型参数满足下述公式(2):
[0130][0131]
其中,ω
t+1
表示第t+1轮的全局模型,s
t
表示参与第t+1轮联邦学习的边缘节点的集合,表示第k个边缘节点的模型参数。
[0132]
通过本实施例中的上述步骤a1至步骤a3,在生成全局模型的过程中,可以为准确率更高的第一参与边缘节点的本地模型的模型参数赋予更高的权重值,进而提高了全局模型的准确率。
[0133]
以及,从而可以根据各第一参与边缘节点的本地模型的准确率对各本地模型的模型参数的权重值进行动态调整,提高了联邦学习过程的灵活性。
[0134]
在另一些实施例中,可以基于第一参与边缘节点的模型参数对原有的全局模型进行模型更新。比如,可以基于原有的全局模型的模型准确率和第一参与边缘节点的模型准确率实现对全局模型的更新。比如,可以基于上述步骤a1-a3计算一个模型参数,然后基于原有的全局模型的模型参数和该计算得到的模型参数,得到新的全局模型的模型参数。需要说明的是,二者之间可以利用模型准确率等进行加权或者不加权,对此不作具体限定。又比如,可以基于原有的全局模型的模型准确率与模型参数计算得到一个加权模型参数,以及将该加权模型参数与本轮联邦学习中各第一参与边缘节点对应的加权模型参数计算得到新的全局模型的模型参数,对此不作具体限定。
[0135]
在对全局模型的生成方式进行说明之后,由于全局模型可以是通过一轮或者多轮联邦学习得到的,接下来将集合联邦学习的轮次对全局模型进行说明。
[0136]
在一些实施例中,s330可以包括下述步骤b1和步骤b2。
[0137]
步骤b1,基于第一参与边缘节点的模型数据,得到全局模型。
[0138]
需要说明的是,全局模型的具体计算方式可以参见本公开实施例上述部分的相关描述,在此不再赘述。
[0139]
步骤b2,在全局模型的模型准确率未达到预设准确率要求的情况下,循环执行下
述步骤b21至步骤b24,直到新的全局模型的模型准确率达到预设准确率要求,结束循环。也就是说,若在第一轮联邦学习中,全局模型的模型准确率即达到预设准确率要求,即可结束循环,将第一轮联邦学习中生成的全局模型作为最终的全局模型。
[0140]
接下来对步骤b21至步骤b24进行说明。
[0141]
步骤b21,重新确定多个参与边缘节点。
[0142]
在一个实施例中,重新确定的多个参与边缘节点可以与上一轮联邦学习中的参与边缘节点相同或者不同,对此不再赘述。
[0143]
在一个实施例中,中心节点可以随机在边缘节点中选择多个参与边缘节点。又或者,中心节点可以根据各边缘节点的节点数据,从边缘节点中选择满足预设节点条件的参与边缘节点。示例性地,中心节点可以向各边缘节点发送联邦学习通知,各边缘节点响应于联邦学习通知返回自身的节点数据。
[0144]
对于节点数据,其可以是反映节点数据的模型训练能力的数据,以辅助中心节点根据各边缘节点的节点数据来判断该边缘节点是否具备参见本轮联邦学习的能力。比如,节点数据可以包括:边缘节点的本地数据的数据量、边缘节点的空闲时间、边缘节点的计算资源等,对此不作具体限定。
[0145]
对于预设节点条件,说明如下。
[0146]
示例性地,若节点数据包括本地数据的数据量,预设节点条件可以包括训练本地数据的数据量大于预设数据量阈值。其中,该预设数据量阈值可以是根据实际情况和具体需求设置的经验值,对此不作具体限定。其中,本地数据可以是本地模型的训练数据。需要说明的是,若边缘节点可以包括多类模型的训练数据,则本地数据可以是在本次联邦学习中所要求训练的模型的训练数据。
[0147]
通过该预设节点条件,可以防止本地数据较少的边缘节点选择为参与边缘节点,从而防止了因该边缘节点的本地数据较少所导致的该边缘节点的本地模型无法完成充分训练、进而导致的该本地模型过拟合对本地模型的模型数据准确率的影响。
[0148]
另一示例性地,若节点数据包括边缘节点的空闲时间,则预设节点条件包括边缘节点的空闲时间包括预设训练时间段。其中,预设训练时间段可以根据实际情况和具体需求设置,比如可以根据模型订阅者所要求的时间确定,对此不作具体限定。
[0149]
通过该预设节点条件,可以选择具有空闲时间的边缘节点参与联邦学习,从而防止参与边缘节点因没有空闲时间无法完成本地模型训练对全局模型的联邦学习效率的影响。
[0150]
又一示例性地,若节点数据包括边缘节点的计算资源,则预设节点条件包括边缘节点的计算资源达到联邦学习的计算资源要求。
[0151]
通过该预设节点条件,可以防止参与边缘节点因计算资源不够无法完成本地模型训练对全局模型的联邦学习效率的影响。
[0152]
在本实施例中,通过节点数据和预设节点条件,可以从边缘节点中选择出合适的参与边缘节点参加联邦学习,提高了联邦学习的效率。
[0153]
步骤b22,向重新确定的多个参与边缘节点发送联邦学习请求,以使重新确定的多个参与边缘节点训练新的本地模型以及根据新的本地模型确定新的第一参与边缘节点。需要说明的是,步骤b22发送联邦学习请求以及确定新的第一参与边缘节点的方式,可以参见
本公开实施例上述部分对s320的具体描述,在此不再赘述。
[0154]
在一个实施例中,步骤b22可以包括步骤b221和步骤b222。
[0155]
步骤b221,调高本地模型的模型准确率所对应的准确率要求。也就是说,可以对上一轮联邦学习的本地模型的模型准确率所对应的准确率要求进行调高,得到本轮联邦学习的本地模型的模型准确率要求。比如,若上一轮中准确率要求为65%,则上一轮中本地模型的模型准确率大于或等于65%的参与边缘节点为上一轮的第一参与边缘节点。若在本轮联邦学习中将准确率要求调高至70%,则本轮中本地模型的模型准确率大于或等于70%的参与边缘节点作为本轮的第一参与边缘节点。
[0156]
以及,调高后的准确率要求小于或等于预设准确率要求。也就是说,若将准确率要求调高至预设准确率要求之后,则将准确率要求保持于预设准确率要求不变。比如,若对全局模型的准确率要求为95%,即预设准确率要求为90%,则可以在第一轮联邦学习中将本地模型的模型准确率对应的预设准确率要求设置为65%,第二轮将本地模型的模型准确率对应的准确率要求调高为70%,
……
,若第l轮本地模型的模型准确率对应的准确率要求调高为90%,则第l+1轮本地模型的模型准确率对应的准确率要求保持90%不变,其中,l可以为任意正整数。
[0157]
需要说明的是,若准确率要求为准确率等级要求,则可以将准确率等级逐级上调,比如可以将准确率要求从低等级要求、中等级要求逐步调高至高等级要求,对此不作限定。需要说明的是,准确率等级要求不限于低、中、高等具体划分方式,本公开实施例对此不作具体限定。
[0158]
步骤b222,向重新确定的多个参与边缘节点发送新的联邦学习请求。其中,新的联邦学习请求携带有调高后的准确率要求。
[0159]
通过本实施例中的步骤b221和步骤b222,中心节点可以通过控制本地模型的准确率要求的方式,控制本地模块在多轮联邦学习中逐步收敛,从整体上提高了联邦学习的效率。
[0160]
需要说明的是,还可以通过除联邦学习请求之外的其他方式来调高各本地模型的准确率要求。比如,各参与边缘节点可以按照预先约定好的调整方式来调高各自的本地模型的准确率要求,对此不作具体限定。
[0161]
在一个实施例中,联邦学习请求还包括待训练模型参数,步骤b22可以包括下述步骤b223和步骤b224。
[0162]
步骤b223,将原有的全局模型的模型参数作为待训练模型参数。
[0163]
其中,待训练模型参数为本轮联邦学习过程中,各参与边缘节点的待训练本地模型的初始模型参数。
[0164]
步骤b224,发送携带有更新后的待训练模型参数的联邦学习请求,以利用重新确定的多个参与边缘节点对更新后的待训练模型参数对应的待训练模型进行训练,得到重新训练的本地模型。
[0165]
通过本实施例的步骤b223和步骤b224,可以通过将上一轮的全局模型的模型参数作为本轮待训练的本地模型的模型参数的方式,可以在上一轮联邦学习的基础上进行本轮联邦学习,提高了联邦学习的整体效率。
[0166]
需要说明的是,还可以通过其他方式向参与边缘节点发送待训练模型参数,对此
不作限定。
[0167]
在通过上述步骤b221至b224对步骤b22进行说明之后,接下来继续对步骤b23进行说明。
[0168]
步骤b23,接收新的第一参与边缘节点的模型数据。
[0169]
需要说明的是,步骤b23的具体实施方式可以参见本公开实施例上述部分对s320的具体描述,在此不再赘述。
[0170]
步骤b24,根据新的第一参与边缘节点的模型数据得到新的全局模型。
[0171]
需要说明的是,步骤b24的具体实施方式可以参见本公开实施例上述部分对s330的具体描述,在此不再赘述。
[0172]
在一个实施例中,步骤s330的循环步骤还可以包括计算全局模型的模型准确率的步骤。在本公开实施例中,可以利用各第一参与边缘节点的本地模型的模型准确率,计算得到全局模型的模型准确率。
[0173]
在一个示例中,计算本地全局模型的模型准确率可以包括下述步骤b25至步骤b28。
[0174]
步骤b25,针对各第一参与边缘节点,获取各第一参与边缘节点的本地数据的数据量。示例性地,各第一参与边缘节点的本地数据的数据量可以是参与本地模型的模型训练的训练数据的数据总量。
[0175]
步骤b26,确定与数据量对应的数据权重值。示例性地,数据权重值可以与数据量正相关,比如,数据量与数据权重值之间的对应关系可以是多个基准数量值与多个基准数量值对应的数据权重值,又比如该对应关系可以是数据量与数据权重值之间的表达关系式,对此不作具体限定。
[0176]
需要说明的是,根据数据量确定数据权重值的具体实施方式与上述结合步骤a1至步骤a3示出的根据模型准确率确定模型权重值的具体实施方式类似,可参见上述实施例的相关说明,对此不作赘述。
[0177]
步骤b27,利用数据权重值和各第一参与边缘节点对应的模型准确率进行加权计算,得到各第一参与边缘节点对应的数据权重值。
[0178]
示例性地,若某一第一参与边缘节点的数据权重值为模型准确率为则该第一参与边缘节点的加权模型准确率为
[0179]
步骤b28,基于多个第一参与边缘节点各自对应的加权模型准确率,得到全局模型的模型准确率。
[0180]
示例性地,第t+1轮全局模型的模型准确率可以是第t+1轮的多个第一参与边缘节点各自对应的加权模型准确率的和值。其中,第t+1轮全局模型的模型准确率满足下述公式(3):
[0181][0182]
通过本实施例中的步骤b25至步骤b28,中心节点无需设置测试数据,即可评估出中心节点的全局模型的模型准确率,保证了全局模型的模型准确率的计算精度的同时,减轻了中心节点的存储压力和数据安全性。
[0183]
需要说明的是,除了上述结合步骤b25至步骤b28示出的全局模型的模型准确率的计算方式之外,还可以采用诸如将各一参与边缘节点的模型准确率的平均值作为全局模型的模型准确率等其他方式来计算全局模型的模型准确率,对此不作限定。
[0184]
本公开实施例提供的联邦学习方法,中心节点可以向各参与边缘节点发送联邦学习请求,从而能够使各参与边缘节点响应于该联邦学习请求进行模型训练之后,能够根据其自身的本地模型的模型准确率是否达到准确率要求来确定是否向中心节点上传模型参数。因此,中心节点接收到的模型参数的模型准确率均满足准确率要求,从而使得中心节点可以利用高准确率的本地模型的模型数据生成全局模型,克服了因各参与节点的训练情况的差异导致各参与节点的本地模型的模型准确率较低对全局模型的准确率的影响,提高了全局模型的准确性。
[0185]
另外,若各参与边缘节点在自身训练完成的本地模型的模型准确率未达到准确率要求,不向中心节点返回模型数据,则可以在一定程度上节省联邦学习系统内部的通信资源。
[0186]
图4示出了本公开实施例提供的另一种联邦学习方法的流程示意图。图4与图3的不同之处在于,在步骤s310之前,联邦学习方法还可以包括下述步骤s340至s360。
[0187]
s340,向多个边缘节点发送联邦学习通知。其中,联邦学习通知用于使边缘节点反馈各自的节点数据。
[0188]
在一些实施例中,中心节点可以在接收到模型订阅者的模型订阅请求之后,生成联邦学习通知。
[0189]
s350,接收多个边缘节点基于联邦学习通知反馈的节点数据。
[0190]
需要说明的是,节点数据的具体内容可以参见本公开实施例上述部分结合步骤b21的相关说明,对此不再赘述。
[0191]
s360,选择节点数据满足预设节点条件的多个边缘节点作为多个参与边缘节点。
[0192]
需要说明的是,预设节点条件的具体内容可以参见本公开实施例上述部分结合步骤b21的相关说明,对此不再赘述。
[0193]
通过s340至s360,可以在联邦学习系统的边缘节点中选择合适的参与边缘节点进行联邦学习,提高了联邦学习的灵活性。
[0194]
基于相同的发明构思,本公开实施例还提供了一种联邦学习方法。
[0195]
图5示出了本公开实施例提供的又一种联邦学习方法的流程示意图。该方法可以由诸如边缘nwdaf网元等边缘节点执行。
[0196]
如图5所示,本公开实施例中提供的联邦学习方法包括如下步骤:
[0197]
s510,接收中心节点发送的联邦学习请求。示例性地,边缘节点可以在中心节点确定该边缘节点可以参见本轮联邦学习的情况下,接收中心节点发送的联邦学习请求。需要说明的是,若一次联邦学习需要进行一轮或者多轮联邦学习,则每一轮联邦学习中中心节点均可以重新确定需要参与联邦学习的边缘节点,即参与边缘节点,并向参与边缘节点发送联邦学习请求。
[0198]
s520,响应于联邦学习请求利用本地数据进行模型训练,得到本地模型。在一些实施例中,s520还可以包括计算本地模型的模型准确率。
[0199]
s530,在本地模型的模型准确率达到准确率要求的情况下,向中心节点返回模型
数据,以使中心节点基于模型数据生成全局模型。需要说明的是,若本地模型的模型准确率未达到准确率要求,则无需返回模型数据。
[0200]
示例性地,在每轮联邦学习中,中心节点会收到一个或者多个边缘节点返回的模型数据,并基于返回数据的边缘节点的模型数据训练得到本轮的全局模型,以及判断本轮的全局模型是否达到预设准确率要求,若未达到预设准确率要求,则进入下一轮联邦学习来生成新的全局模型,若达到预设准确率要求,则将本轮的全局模型作为最终生成的全局模型。
[0201]
本公开实施例提供的联邦学习方法,中心节点可以向各参与边缘节点发送联邦学习请求,从而能够使各参与边缘节点响应于该联邦学习请求进行模型训练之后,能够根据其自身的本地模型的模型准确率是否达到准确率要求来确定是否向中心节点上传模型参数。因此,中心节点接收到的模型参数的模型准确率均满足准确率要求,从而使得中心节点可以利用高准确率的本地模型的模型数据生成全局模型,克服了因各参与节点的训练情况的差异导致各参与节点的本地模型的模型准确率较低对全局模型的准确率的影响,提高了全局模型的准确性。
[0202]
在一些实施例中,联邦学习方法还包括步骤c1和步骤c2。
[0203]
步骤c1,接收中心节点发送的联邦学习通知。
[0204]
步骤c2,响应于联邦学习通知,向中心节点返回自身的节点数据,以使中心节点根据各边缘节点的节点数据和预设节点条件从边缘节点中选择多个参与边缘节点。
[0205]
示例性地,各边缘节点的节点数据包括各边缘节点的本地数据的数据量,预设节点条件包括本地数据的数据量大于预设数据量阈值。
[0206]
需要说明的是,节点数据和预设节点条件的具体内容可以参见本公开实施例上述部分的相关说明,在此不再赘述。
[0207]
在一些实施例中,联邦学习请求可以包括待训练模型参数,其中,在每轮联邦学习中的待训练模型参数可以是前一轮联邦学习中的全局模型的模型参数。
[0208]
相应地,s520包括:将待训练模型参数作为本地模型的初始模型参数,对初始模型参数对应的本地模型进行模型训练,得到训练完成的本地模型。
[0209]
需要说明的是,本公开实施例提供的联邦学习方法,可以参见本公开实施例上述部分结合图3-图4示出的各方法实施例提供的联邦学习方法,其实现原理和技术效果类似,为简述起见,在此不再赘述。
[0210]
为了便于理解本公开实施例提供的联邦学习方法,下面以中心nwdaf网元、边缘nwdaf网元为例对本公开实施例提供的联邦学习方法展开具体说明。
[0211]
图6示出了本公开实施例提供的一种示例性的联邦学习方法的流程示意图。如图6所示,联邦学习方法可以包括下述步骤s601至s608。
[0212]
s601,nwdaf服务消费端30向中心nwdaf网元11发送模型订阅请求。其中,nwdaf服务消费端30可以是能够使用nwdaf服务的网元等,比如nf(network function,网络功能)网元、af(application function,应用功能)网元、oam(operation administration and maintenance,操作维护管理)网元等,对此不作限定。
[0213]
在一些实施例中,模型订阅请求内可以包括订阅模型的分析id(identity document,标号)。其中,不同分析id对应着不同类数据。比如,分析id可以对应于:片负载级
别信息、网络性能信息、ue(user equipment,用户设备)移动性信息、qos(quality of service,服务质量)可持续性信息等。
[0214]
在另一些实施例中,模型订阅请求内还可以包括预设准确率要求,预设准确率要求的具体内容可以参见本公开实施例上述部分的相关描述,在此不再赘述。
[0215]
s602,中心nwdaf网元11响应于模型订阅请求,向多个边缘nwdaf网元121至124发送联邦学习通知。
[0216]
对于边缘nwdaf网元121至124,其可以与中心nwdaf网元11属于同一联邦学习系统。需要说明的是,为了便于表示,本公开实施例仅以4个边缘nwdaf网元为例进行了示出,但是可以理解的是,边缘nwdaf网元的数量可以不限于4个。
[0217]
s603,边缘nwdaf网元121至124响应于联邦学习通知,向中心nwdaf网元11返回各自的节点数据。示例性地,节点数据可以是诸如本地数据的数据量等本地数据情况、空闲时间、计算资源等参数,对此不作具体限定。需要说明的是,节点数据的其他内容可以参见本公开实施例上述部分的描述,在此不再赘述。
[0218]
s604,中心nwdaf网元11根据边缘nwdaf网元121至124各自的节点数据,选择边缘nwdaf网元121至123作为参与边缘nwdaf网元,并向边缘nwdaf网元121至123发送联邦学习请求。
[0219]
其中,中心nwdaf网元11选择参与边缘nwdaf网元的方式可以参见本公开实施例上述部分对如何选择参与边缘节点的具体描述,在此不再赘述。
[0220]
对于联邦学习请求,其可以包括全局模型的待训练模型参数和准确率要求。
[0221]
需要说明的是,联邦学习请求、待训练模型参数和准确率要求的具体内容可以参见本公开实施例上述部分的相关说明,在此不再赘述。
[0222]
s605,边缘nwdaf网元121至123接收到联邦学习请求之后,利用各自的本地数据对传输待训练模型参数对应的初始模型进行训练,得到本地模型。其中,各边缘nwdaf网元的本地数据可以是与订阅模型的分析id对应的本地数据。相应地,各边缘nwdaf网元训练得到的本地模型,即为与订阅模型的分析id关联的本地模型。
[0223]
在一些实施例中,各边缘nwdaf网元中的本地数据可以是nwdaf实例。示例性地,nwdaf实例可以由amf(access and mobility management function,接入和移动管理功能)网元、smf(session management function,会话管理功能)网元、pcf(policy control function,策略控制功能)网元、udm(unified data management,统一数据管理功能)、af(application function,应用功能)网元和oam网元等功能网元中的一种或者多种提供,对此不作具体限定。
[0224]
在一些实施例中,各边缘nwdaf网元中的本地数据可以分为本地训练数据和本地测试数据。在本地模型的训练过程中,各边缘nwdaf网元可以利用本地训练数据训练各自的本地模型,以及利用本地测试数据对训练完成的本地模型进行测试,得到本地模型的模型准确率。
[0225]
s606a,边缘nwdaf网元121和122确定各自本地模型的模型准确率达到准确率要求,向中心nwdaf网元11返回各自的模型数据。
[0226]
s606b,边缘nwdaf网元123确定自身的本地模型的模型准确率未达到准确率要求,则不向中心nwdaf网元11返回的模型数据。
[0227]
s607,中心nwdaf网元11根据边缘nwdaf网元121和122的模型数据进行模型聚合,生成全局模型。其中,模型数据可以包括各本地模型的模型参数和模型准确率,进而利用各本地模型的模型准确率对模型参数的权重进行动态调整,从而利用各本地模型的模型参数和模型参数的权重进行模型聚合,得到全局模型。
[0228]
s608,若全局模型的模型准确率达到预设准确率要求,则向nwdaf消费端返回该全局模型对应的分析结果。其中,若全局模型的模型准确率未达到预设准确率要求,则进行下一轮联邦学习,即重新执行s602至s608。
[0229]
本公开实施例所提供的联邦学习方法,中心nwdaf网元可以向各参与边缘nwdaf网元发送联邦学习请求,从而能够使各参与边缘nwdaf网元响应于该联邦学习请求进行模型训练之后,能够根据其自身的本地模型的模型准确率是否达到准确率要求来确定是否向中心nwdaf网元上传模型参数。因此,中心nwdaf网元接收到的模型参数的模型准确率均满足准确率要求,从而使得中心nwdaf网元可以利用高准确率的本地模型的模型数据生成全局模型,克服了因各参与nwdaf网元的训练情况的差异导致各参与nwdaf网元的本地模型的模型准确率较低对全局模型的准确率的影响,提高了全局模型的准确性。
[0230]
需要说明的是,本公开实施例提供的联邦学习方法可以在上述实施例的基础上进行优化,本公开实施例可以与上述一个或者多个实施例中各个可选方案结合,对此不再赘述。
[0231]
在介绍了本公开实施例提供的联邦学习方法之后,接下来对本公开实施例提供的联邦学习装置进行说明。
[0232]
基于同一发明构思,图7示出了本公开实施例中一种联邦学习装置的结构示意图,该联邦学习装置可以应用于中心节点。
[0233]
如图7所示,该联邦学习装置700包括:第一发送模块710、第一接收模块720和模型处理模块730。
[0234]
第一发送模块710,用于向多个参与边缘节点发送联邦学习请求,以使参与边缘节点响应于联邦学习请求利用本地数据进行模型训练,得到本地模型;
[0235]
第一接收模块720,用于接收第一参与边缘节点的模型数据,第一参与边缘节点是本地模型的模型准确率达到准确率要求的参与边缘节点;
[0236]
模型处理模块730,用于基于第一参与边缘节点的模型数据,得到全局模型。
[0237]
本公开实施例所提供的联邦学习装置,中心节点可以向各参与边缘节点发送联邦学习请求,从而能够使各参与边缘节点响应于该联邦学习请求进行模型训练之后,能够根据其自身的本地模型的模型准确率是否达到准确率要求来确定是否向中心节点上传模型参数。因此,中心节点接收到的模型参数的模型准确率均满足准确率要求,从而使得中心节点可以利用高准确率的本地模型的模型数据生成全局模型,克服了因各参与节点的训练情况的差异导致各参与节点的本地模型的模型准确率较低对全局模型的准确率的影响,提高了全局模型的准确性。
[0238]
在一个实施例中,第一参与边缘节点的数量为多个,模型数据包括本地模型的模型参数和本地模型的模型准确率。
[0239]
模型处理模块730,包括权重值确定单元、加权计算单元和模型处理单元。
[0240]
权重值确定单元,用于针对各第一参与边缘节点,确定与各第一参与边缘节点的
模型准确率对应的模型权重值;
[0241]
加权计算单元,用于基于模型权重值对各第一参与边缘节点对应的模型参数进行加权计算,得到各第一参与边缘节点对应的加权模型参数;
[0242]
模型处理单元,用于基于多个第一参与边缘节点各自对应的加权模型参数,得到全局模型。
[0243]
在一个实施例中,联邦学习装置700还包括第三发送模块、第三接收模块和节点选择模块。
[0244]
第三发送模块,用于向多个边缘节点发送联邦学习通知。
[0245]
第三接收模块,用于接收多个边缘节点基于联邦学习通知反馈的节点数据。
[0246]
节点选择模块,用于选择节点数据满足预设节点条件的多个边缘节点作为多个参与边缘节点。
[0247]
在一个实施例中,各边缘节点的节点数据包括各边缘节点的本地数据的数据量,预设节点条件包括本地数据的数据量大于预设数据量阈值。
[0248]
在一个实施例中,模型处理模块730包括:模型处理单元和循环单元。
[0249]
模型处理单元,用于基于第一参与边缘节点的模型数据,得到全局模型;
[0250]
循环单元,用于在全局模型的模型准确率未达到预设准确率要求的情况下,重新确定多个参与边缘节点,向重新确定的多个参与边缘节点发送联邦学习请求,以使重新确定的多个参与边缘节点训练新的本地模型以及根据新的本地模型和模型准确率确定新的第一参与边缘节点,接收新的第一参与边缘节点的模型数据,以及根据新的第一参与边缘节点的模型数据得到新的全局模型,直到新的全局模型的模型准确率达到预设准确率要求。
[0251]
在一个实施例中,循环单元还用于:
[0252]
针对各第一参与边缘节点,获取各第一参与边缘节点的本地数据的数据量;
[0253]
确定与数据量对应的数据权重值;
[0254]
利用数据权重值和各第一参与边缘节点对应的模型准确率进行加权计算,得到各第一参与边缘节点对应的加权模型准确率;
[0255]
基于多个第一参与边缘节点各自对应的加权模型准确率,得到全局模型的模型准确率。
[0256]
在一个实施例中,循环单元还用于:
[0257]
调高准确率要求,其中,调高后的准确率要求小于或等于预设准确率要求;
[0258]
向重新确定的多个参与边缘节点发送新的联邦学习请求,新的联邦学习请求携带有调高后的准确率要求。
[0259]
在一个实施例中,联邦学习请求携带有待训练模型参数,
[0260]
循环单元还用于:
[0261]
将原有的全局模型的模型参数作为待训练模型参数;
[0262]
发送携带有更新后的待训练模型参数的联邦学习请求,以利用重新确定的多个参与边缘节点对更新后的待训练模型参数对应的待训练模型进行训练,得到重新训练的本地模型。
[0263]
在一个实施例中,中心节点为中心nwdaf网元,参与边缘节点为边缘nwdaf网元。
[0264]
本公开实施例提供的联邦学习装置,可以用于执行上述各方法实施例提供的联邦学习方法,其实现原理和技术效果类似,为简洁起见,在此不再赘述。
[0265]
基于同一发明构思,图8示出了本公开实施例提供的另一种联邦学习装置的结构示意图,该联邦学习装置可以应用于边缘节点。
[0266]
如图8所示,该联邦学习装置800包括:第二接收模块810、模型训练模块820和第二发送模块830。
[0267]
第二接收模块810,用于接收中心节点发送的联邦学习请求;
[0268]
模型训练模块820,用于响应于联邦学习请求利用本地数据进行模型训练,得到本地模型;
[0269]
第二发送模块830,用于在本地模型的模型准确率达到准确率要求的情况下,向中心节点返回模型数据,以使中心节点基于模型数据生成全局模型。
[0270]
本公开实施例所提供的联邦学习装置,中心节点可以向各参与边缘节点发送联邦学习请求,从而能够使各参与边缘节点响应于该联邦学习请求进行模型训练之后,能够根据其自身的本地模型的模型准确率是否达到准确率要求来确定是否向中心节点上传模型参数。因此,中心节点接收到的模型参数的模型准确率均满足准确率要求,从而使得中心节点可以利用高准确率的本地模型的模型数据生成全局模型,克服了因各参与节点的训练情况的差异导致各参与节点的本地模型的模型准确率较低对全局模型的准确率的影响,提高了全局模型的准确性。
[0271]
在一些实施例中,联邦学习装置还包括:第四接收模块和第四发送模块。
[0272]
第四接收模块,用于接收中心节点发送的联邦学习通知。
[0273]
第四发送模块,用于响应于联邦学习通知,向中心节点返回自身的节点数据,以使中心节点根据各边缘节点的节点数据和预设节点条件从边缘节点中选择多个参与边缘节点。
[0274]
在一些实施例中,联邦学习请求可以包括待训练模型参数,其中,在每轮联邦学习中的待训练模型参数可以是前一轮联邦学习中的全局模型的模型参数。
[0275]
相应地,模型训练模块820具体用于:将待训练模型参数作为本地模型的初始模型参数,对初始模型参数对应的本地模型进行模型训练,得到训练完成的本地模型。
[0276]
本公开实施例提供的联邦学习装置,可以用于执行上述各方法实施例提供的联邦学习方法,其实现原理和技术效果类似,为简洁起见,在此不再赘述。
[0277]
此外,本公开实施例还提供了一种联邦学习系统。联邦学习系统包括上述任一实施例示出的中心节点、以及上述任一实施例示出的边缘节点。
[0278]
本公开实施例提供的联邦学习系统,可以用于执行上述各方法实施例提供的联邦学习方法,其实现原理和技术效果类似,为简洁起见,在此不再赘述。
[0279]
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0280]
下面参照图9来描述根据本公开的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0281]
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
[0282]
其中,存储单元存储有程序代码,程序代码可以被处理单元910执行,使得处理单元910执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
[0283]
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(rom)9203。
[0284]
存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0285]
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0286]
电子设备900也可以与一个或多个外部设备940(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口950进行。
[0287]
并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。
[0288]
如图9所示,网络适配器960通过总线930与电子设备900的其它模块通信。
[0289]
应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0290]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
[0291]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本公开上述方法的程序产品。
[0292]
在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
[0293]
本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可
擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0294]
在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。
[0295]
这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。
[0296]
可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0297]
在一些示例中,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0298]
在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。
[0299]
程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0300]
在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0301]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。
[0302]
实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0303]
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0304]
通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
[0305]
因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
[0306]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。
[0307]
本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利
要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1