一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

开发机器学习模型的制作方法

2022-06-01 18:51:08 来源:中国专利 TAG:


1.本文描述的实施例涉及用于开发机器学习模型的方法和装置。


背景技术:

2.常规地,可以在集中式网络节点处使用在集中式网络节点处可用的集中式数据集来开发机器学习模型。例如,网络的全局中心可能包括可以用于开发机器学习模型的全局数据集。通常,需要大型的集中式数据集来训练准确的机器学习模型。
3.然而,可以通过采用分布式机器学习技术来补充对用来训练机器学习模型的集中式数据集的需求。分布式学习技术的一个示例是联合学习。通过采用分布式机器学习技术,可以在边缘节点中继续训练已经过训练的机器学习模型。机器学习模型的这种进一步训练可以使用在边缘节点本地可用的数据集来执行,并且在一些实施例中,将会在边缘节点处本地生成该数据集。
4.因此,分布式机器学习技术允许在网络内的边缘节点处训练更新的机器学习模型,其中这些更新的机器学习模型已经使用可能尚未传送给集中式节点(最初训练机器学习模型的地方)或这些集中式节点不知道的数据进行训练。换言之,更新的机器学习模型可以在边缘节点处使用只能在边缘节点本地访问的数据集进行本地训练,并且可能无法从网络内的其他节点访问。这可能是因为本地数据集包括敏感信息或在其他方面隐私的信息,这些信息不会传送给网络内的其他节点。
5.通信网络运营商、服务和设备提供商通常拥有庞大的全局数据集,这些数据集源自所管理的服务网络运营和/或产品开发验证。此类数据集通常位于全局中心。联合学习(fl)是此类数据集所有者和其他相关方利用数据、共享学习而不暴露原始数据的潜在技术推动因素。
6.fl遇到的挑战之一是它固有地无法处理不平衡的数据集,不平衡的数据集意味着不同的数据集遵循不同的分布模式。例如,一个数据集可以包含两个类别,第一个类别中的数据样本比第二个类别多得多,而具有相同类别的另一数据集的数据样本总数可能比第一数据集中的样本总数少几个数量级。这两个示例数据集展示了第一数据集内部以及数据集之间的不平衡。在另一个示例中,一个客户端可能以1%的概率经历特定事件,而另一个客户端可能以0.01%的低得多的概率经历相同事件。数据集中的这种变化有时可以称为标签分布。数据集中缺乏平衡意味着大多数机器学习(ml)训练算法所依赖的i.i.d.假设(独立且同分布)不再有效。最终这会导致偏差的引入和传播,从而降低ml模型的质量。这种限制可能会被恶意用户(或内容农夫(content farmer))利用,他们可以故意制作有偏差的输入,从而脱离联合过程。
7.应当理解,基于对机器学习模型的多个节点版本的简单平均而形成更新的机器学习模型的常规联合学习方法可能无法提供最佳解决方案。例如,对机器学习模型的多个节点版本的简单平均可能会在更新的机器学习模型中引入偏差,因为机器学习模型的节点版本可能是使用在每个分布式节点上可用的大量不平衡的本地数据集开发的。


技术实现要素:

8.本发明的目的是提供一种方法、装置和计算机可读介质,其至少部分地解决了上述挑战中的一个或多个。
9.根据本发明的第一方面,提供了一种使用联合学习来开发机器学习模型的方法。该方法包括:在管理功能处,使用机器学习算法来开发机器学习模型的种子版本,以及将所述机器学习模型的种子版本传送给多个分布式节点,所述多个分布式节点中的每一个与本地数据集相关联。该方法还包括:在所述多个分布式节点中的各个节点处,生成与该分布式节点相关联的本地数据集内的数据分布的表示,以及将相关联的本地数据集内的数据分布的表示传送给所述管理功能。该方法还包括,在所述管理功能处,基于接收到的表示来将所述多个分布式节点中的每一个分配给学习组,其中每个学习组包括所述多个分布式节点的子集,联合学习将在所述子集中执行。该方法还包括:针对至少一个学习组,在所述多个分布式节点中的在该学习组内的每一个分布式节点处,基于所述机器学习模型的种子版本和相关联的本地数据集并且使用所述机器学习算法来开发所述机器学习模型的节点版本,以及将所述机器学习模型的节点版本的表示传送给所述管理功能。该方法还包括:在所述管理功能处,针对每个学习组,基于由该学习组中的分布式节点开发的所述机器学习模型的节点版本,获得所述机器学习模型的至少一个组版本。
10.根据本发明的另一方面,提供了一种使用联合学习来开发机器学习模型的方法。该方法由管理功能执行,包括:使用机器学习算法来开发所述机器学习模型的种子版本,将所述机器学习模型的种子版本传送给多个分布式节点,所述多个分布式节点中的每一个与本地数据集相关联,以及针对所述多个分布式节点中的每一个,接收相关联的本地数据集内的数据分布的表示。该方法还包括:基于接收到的表示将所述多个分布式节点中的每一个分配给学习组,其中,每个学习组包括所述多个分布式节点的子集,联合学习将在所述子集中执行,以及针对每个学习组,基于由该学习组中的分布式节点开发的所述机器学习模型的节点版本,获得所述机器学习模型的至少一个组版本。
11.根据本发明的另一方面,提供了一种使用联合学习来开发机器学习模型的方法。该方法由分布式节点执行,包括:接收机器学习模型的种子版本,其中,所述机器学习模型的种子版本是已使用机器学习算法来开发的,生成与所述分布式节点相关联的本地数据集内的数据分布的表示,并且将生成的表示传送给管理功能。该方法还包括:基于所述机器学习模型的种子版本和相关联的本地数据集并且使用所述机器学习算法来开发所述机器学习模型的节点版本,以及将所述机器学习模型的节点版本的表示传送给所述管理功能。
12.根据本发明的第一方面,提供了一种使用联合学习来开发机器学习模型的方法。该方法由学习组的组管理功能执行,包括:从所述学习组中的分布式节点接收机器学习模型的节点版本的表示,其中,所述机器学习模型的节点版本是已基于所述机器学习模型的种子版本和与相应分布式节点相关联的本地数据集并且使用机器学习算法来开发的。该方法还包括:将所述机器学习模型的节点版本进行组合,以形成所述机器学习模型的组版本,以及将所述机器学习模型的组版本传送给集中式管理功能。
13.根据本发明的第一方面,提供了一种包括指令的计算机程序,所述指令在至少一个处理器上执行时使所述至少一个处理器执行根据本发明的前述方面中的任一个方面所述的方法。
14.根据本发明的第一方面,提供了一种用于使用联合学习来开发机器学习模型的管理功能。所述管理功能包括处理电路,所述处理电路被配置为使所述管理功能:使用机器学习算法来开发所述机器学习模型的种子版本,将所述机器学习模型的种子版本传送给多个分布式节点,所述多个分布式节点中的每一个与本地数据集相关联,针对所述多个分布式节点中的每一个,接收相关联的本地数据集内的数据分布的表示,基于接收到的表示将所述多个分布式节点中的每一个分配给学习组,其中,每个学习组包括所述多个分布式节点的子集,联合学习将在所述子集中执行,以及针对每个学习组,基于由该学习组中的分布式节点开发的所述机器学习模型的节点版本,获得所述机器学习模型的至少一个组版本。
15.根据本发明的另一方面,提供了一种使用联合学习来开发机器学习模型的管理功能。所述管理功能适用于:使用机器学习算法来开发所述机器学习模型的种子版本,将所述机器学习模型的种子版本传送给多个分布式节点,所述多个分布式节点中的每一个与本地数据集相关联,针对所述多个分布式节点中的每一个,接收相关联的本地数据集内的数据分布的表示,基于接收到的表示将所述多个分布式节点中的每一个分配给学习组,其中,每个学习组包括所述多个分布式节点的子集,联合学习将在所述子集中执行,以及针对每个学习组,基于由该学习组中的分布式节点开发的所述机器学习模型的节点版本,获得所述机器学习模型的至少一个组版本。
16.根据本发明的另一方面,提供了一种用于使用联合学习来开发机器学习模型的分布式节点。所述分布式节点包括被配置为使所述分布式节点执行以下操作的处理电路:接收机器学习模型的种子版本,其中,所述机器学习模型的种子版本是已使用机器学习算法来开发的,生成与所述分布式节点相关联的本地数据集内的数据分布的表示,将生成的表示传送给管理功能,基于所述机器学习模型的种子版本和相关联的本地数据集并且使用所述机器学习算法来开发所述机器学习模型的节点版本,以及将所述机器学习模型的节点版本的表示传送给所述管理功能。
17.根据本发明的另一方面,提供了一种用于使用联合学习来开发机器学习模型的分布式节点。所述分布式节点适用于:接收机器学习模型的种子版本,其中,所述机器学习模型的种子版本是已使用机器学习算法来开发的,生成与所述分布式节点相关联的本地数据集内的数据分布的表示,将生成的表示传送给管理功能,基于所述机器学习模型的种子版本和相关联的本地数据集并且使用所述机器学习算法来开发所述机器学习模型的节点版本,以及将所述机器学习模型的节点版本的表示传送给所述管理功能。
18.根据本发明的另一方面,提供了一种使用联合学习来开发机器学习模型的组管理功能。所述组管理功能包括被配置为使所述组管理功能执行以下操作的处理电路:从学习组中的分布式节点接收机器学习模型的节点版本的表示,其中,所述机器学习模型的节点版本是已基于所述机器学习模型的种子版本和与相应分布式节点相关联的本地数据集并且使用机器学习算法来开发的,将所述机器学习模型的节点版本进行组合,以形成所述机器学习模型的组版本,以及将所述机器学习模型的组版本传送给集中式管理功能。
19.根据本发明的另一方面,提供了一种使用联合学习来开发机器学习模型的组管理功能。所述组管理功能适用于:从学习组中的分布式节点接收机器学习模型的节点版本的表示,其中,所述机器学习模型的节点版本是已基于所述机器学习模型的种子版本和与相应分布式节点相关联的本地数据集并且使用机器学习算法来开发的,将所述机器学习模型
的节点版本进行组合,以形成所述机器学习模型的组版本,以及将所述机器学习模型的组版本传送给集中式管理功能。
附图说明
20.为了更好地理解本发明,并且示出它是如何实施的,现在将仅通过示例的方式参考附图,其中:
21.图1a和图1b示出了对使用联合学习来开发机器学习模型的方法中的过程步骤进行示出的流程图;
22.图2a和图2b示出了对使用联合学习来开发机器学习模型的方法的另一个示例中的过程步骤进行示出的流程图;
23.图3示出了对使用联合学习来开发机器学习模型的方法的另一个示例中的过程步骤进行示出的流程图;
24.图4a到图4d示出了对使用联合学习来开发机器学习模型的方法的另一个示例中的过程步骤进行示出的流程图;
25.图5示出了对使用联合学习来开发机器学习模型的方法的另一个示例中的过程步骤进行示出的流程图;
26.图6示出了对使用联合学习来开发机器学习模型的方法的另一个示例中的过程步骤进行示出的流程图;
27.图7示出了对使用联合学习来开发机器学习模型的方法的另一个示例中的过程步骤进行示出的流程图;
28.图8示出了对使用联合学习来开发机器学习模型的方法的另一个示例中的过程步骤进行示出的流程图;
29.图9示出了对根据图1至图8的方法的不同示例的实体之间的示例交换进行示出的消息流程图;
30.图10示出了示例通信网络部署;
31.图11是示出管理功能中的功能模块的框图;
32.图12是示出管理功能的另一个示例中的功能模块的框图;
33.图13是示出分布式节点中的功能模块的框图;
34.图14是示出分布式节点的另一个示例中的功能模块的框图;
35.图15是示出组管理功能中的功能模块的框图;以及
36.图16是示出组管理功能的另一个示例中的功能模块的框图。
具体实施方式
37.本发明的示例提供使用联合学习来开发机器学习模型的方法。这些方法引入了学习组的概念,各个节点被基于由该节点提供的其本地数据集内的数据分布的表示而分配给不同的学习组。ml模型的各个节点版本在学习组内组合以形成ml模型的组版本。通过与学习组(学习组是基于本地节点数据集中的数据分布进行组装的)的其他成员组合各个节点版本,可以减轻上面讨论的与在不平衡数据集上使用联合学习时引入和传播偏差有关的许多问题。
38.下面描述根据本发明的示例方法。图1a、图1b、图2a和图2b示出了使用联合学习生成机器学习模型的方法的概述,包括作为系统一起运行的多个交互实体。图3至图8示出了根据本发明的示例的方法,该方法可以在不同的个体实体处执行,使得实体合作以实现上述功能。然后参考图9和图10讨论所公开方法的实现方案,包括示例用例。
39.图1a和图1b示出了对使用联合学习来开发机器学习模型的方法100中的过程步骤进行示出的流程图。方法100在多个交互实体(包括分布式本地节点和管理功能)中执行。图1a和图1b中所示的方法可以在任何类型的本地数据集的上下文中使用。然而,当使用在本地数据集的数据分布中表现出某种程度的不平衡的本地数据集来运行该方法时,可能会观察到特别的优势。这种不平衡可能会导致大多数机器学习(ml)训练算法所依赖的i.i.d.假设不再有效。由于与在其处组装数据集的本地节点的位置和性质以及与本地节点相关联的个体相关的广泛因素,本地数据集之间的不平衡可能会出现。以智能手机形式的一组本地节点为例,智能手机的本地数据集将受到与智能手机用户、智能手机位置、智能手机上最常运行的应用程序等相关的因素影响。与大量用于语音和数据通信、浏览、游戏等的智能手机组装的数据集相比,由仅很少使用且主要用于语音通信的智能手机组装的数据集将在数据点的数量及其分布方面有很大不同。如以下更详细地讨论,本发明的示例可以减轻这种不平衡的影响。
40.参考图1a,在第一步骤102中,方法100包括在管理功能中使用机器学习算法来开发机器学习模型的种子版本,该种子版本可以是初始化模型或初始版本。模型的种子版本可以包括仅使用通用或共同特征生成的模型版本,其中这些特征展示了各个模型版本上相似的特征分布,并且其中这些特征对各个模型版本的重要性是显著的。可以设想各种机器学习算法,包括例如神经网络。管理功能可以包括任何基本上集中的功能。在一个示例中,管理功能可以在诸如云的云环境中运行。在另外的示例中,管理功能可以在训练机器学习模型时支持硬件加速的任何节点和/或设备上运行。这可以包括移动电话或其他手持设备、基站等。然后,该方法包括:在步骤104处将机器学习模型的种子版本传送给多个分布式节点,该多个分布式节点中的每一个与本地数据集相关联。在步骤106中,该方法包括:在该多个分布式节点中的各个节点处,生成与各个分布式节点相关联的本地数据集内的数据分布的表示。该表示可以是对本地数据集的分布密度的估计。在步骤108中,该方法包括:在多个分布式节点中的各个节点处,将相关联的本地数据集内的数据分布的表示传送给管理功能。
41.现在参考图1b,方法100还包括在步骤110处,在管理功能处,基于接收到的表示来将该多个分布式节点中的每一个分配给学习组,其中每个学习组包括该多个分布式节点的子集,联合学习将在该子集中执行。在步骤112中,该方法包括:针对至少一个学习组,在该多个分布式节点中的在所述学习组内的每一个分布式节点处,基于机器学习模型的种子版本和相关联的本地数据集并且使用机器学习算法来开发机器学习模型的节点版本。机器学习模型的节点版本是节点独有的模型版本,该模型版本已由节点从模型的种子版本开始,使用机器学习算法和与节点相关联的本地数据集来开发。机器学习算法可以是神经网络。在步骤114中,该方法包括:针对该至少一个学习组,在该多个分布式节点中的在所述学习组内的每一个分布式节点处,将机器学习模型的节点版本的表示传送给管理功能。在步骤116中,该方法包括:在管理功能处,针对每个学习组,基于由该学习组中的分布式节点开发
的机器学习模型的节点版本,获得机器学习模型的至少一个组版本。机器学习模型的组版本是组独有的模型版本,该模型版本已由管理功能通过组合来自学习组中的节点的模型的节点版本来开发。
42.图2a和图2b示出了对使用联合学习来开发机器学习模型的方法200的另一个示例中的过程步骤进行示出的流程图。方法200的步骤示出了一种方式,其中可以实施和补充方法100的步骤以便实现上述讨论的和附加的功能。对于以上图1a和图1b的方法,方法200可以在包括本地节点和管理功能的多个交互实体中执行。
43.参考图2a,该方法包括:在步骤202中,在管理功能处,使用机器学习算法来开发机器学习模型的种子版本。在本发明的一些示例中,可以从模型的本地版本的表示中开发机器学习模型的种子版本。因此,例如,在使用在分布式节点处可用的本地数据集来在分布式节点处进行的训练过程之后,各个分布式节点可以向管理功能提供它们的模型的本地版本的表示。在神经网络的情况下,该表示可以包括要根据模型的本地版本应用于神经网络中的各个节点或连接的权重。然后,管理功能可以通过聚合接收到的权重或其他表示来组装模型的种子版本。在一些示例中,模型的本地版本的表示可能已经作为该方法的早期迭代的一部分而提供。如步骤202a中所示,管理功能包括集中式管理功能和分布式管理功能,并且分布式管理功能包括用于每个学习组的组管理功能。集中式和分布式管理功能可以在网络内的不同节点处实例化。以通信网络为例,集中式管理功能可以例如在核心网络功能内实例化,而包括多个组管理功能的分布式管理功能可以在一个或多个无线电接入节点或边缘网络节点内实例化。本地节点可以包括各个无线设备(例如用户设备)。
44.在步骤204中,该方法包括:将机器学习模型的种子版本传送给多个分布式节点,该多个分布式节点中的每一个与本地数据集相关联。
45.在步骤206中,该方法包括:在该多个分布式节点中的各个节点处生成与各个分布式节点相关联的本地数据集内的数据分布的表示。如步骤206a中所示,本地数据集内的数据分布的表示可以包括高斯混合模型(gmm)、欧式距离、l-2距离、最大平均差异(mmd)、或jsensen-renyi离散量中的任何一个或多个。如步骤206b中所示,本地数据集内的数据分布的表示还可以包括本地数据集中针对每个预定类别的标签数量。在稍后对根据本发明的方法的实现方案的描述中,使用了gmm形式的数据分布的表示的示例。gmm可以提供特别的优势,包括易于进行相似性比较。
46.如上所述,分布式节点可以与数据集相关联,其中,描述这些数据集的标签是不平衡的,例如,数据集内的数据样本的数量和数据分布在数据集之间可能有很大差异。例如,当网络中的分布式节点表示各个客户端时,描述这些数据集的标签可能在这些各个客户端上是不平衡的。例如,一个客户端可能将其数据集描述为包括7000个正样本和3000个负样本。应当理解,这种数据集可以用于二元分类问题。在另一个示例中,第二客户端可以将其数据集描述为总共包括500个正样本和负样本。在另一个示例中,第三客户端可以将其数据集描述为包括30%的正样本和70%的负样本。在另一个示例中,第四客户端可以将其数据集描述为总共包括5000个正样本和负样本。因此,在该示例中,第一客户端的针对每个预定类别的标签数量可以包括正类别中的7000个标签,并且还可以包括负类别中的3000个标签。
47.应当理解,本地数据集的表示可以包括高斯混合模型(gmm)、欧式距离、l-2距离、
最大平均差异(mmd)或jsensen-renyi离散量中的任何一个或多个以及本地数据集中针对每个预定类别的标签数量。应当理解,通过传送包括更多参数的本地数据集的表示,管理功能获得与本地数据集相关的更多信息。因此,管理功能可能能够基于接收到的表示来更准确地将该多个分布式节点中的每一个分配给学习组,因为更多信息可用于管理功能。然而,还应当理解,将这种附加信息提供给管理功能可能需要该多个分布式节点中的每一个处的附加计算复杂度。可以根据各个部署的具体情况来评估本地节点的附加处理要求与管理功能的附加信息可用性之间的权衡。
48.应当理解,与常规联合学习过程相比,方法100、200需要从本地节点传输其本地数据集内的数据分布的表示。这保持了常规联合学习的隐私优势,因为数据本身未被传输,但有助于将节点分组到学习组中,并有助于开发学习模型的组版本,从而减轻不平衡数据集的不良影响。
49.仍然参考图2a,在步骤208处,该方法包括:在该多个分布式节点中的各个节点处,将相关联的本地数据集内的数据分布的表示传送给管理功能。
50.在步骤210处,该方法包括:在管理功能处,基于接收到的表示将该多个分布式节点中的每一个分配给学习组,其中每个学习组包括该多个分布式节点的子集,联合学习将在该子集中执行。如步骤210a处所示,基于接收到的数据分布的表示的相似性,将该多个分布式节点分配给学习组。在一些示例中,可以在各个本地数据集中的数据分布与参考数据集中的数据分布之间进行初始比较,参考数据集可以是可用于管理功能的数据集。下面将更详细地讨论基于各个节点的本地数据集数据分布的相似性将各个节点分配给学习组的过程。
51.现在参考图2b,方法200还包括,在步骤212处,在管理功能处,使用分配给学习组的分布式节点的本地数据集内的数据分布的表示来为学习组中的分布式节点设计至少一个超参数。
52.在一些示例中,可以基于描述数据分布的高斯混合模型(gmm)、欧式距离、l-2距离、最大平均差异(mmd)或jsensen-renyi离散量中的任何一个来设计超参数。附加地或替代地,可以基于接收到的本地数据集中针对每个预定类别的标签数量来设计超参数。附加地或替代地,可以基于所确定的接收到的数据分布的表示之间的相似性来设计超参数。
53.例如,在基于接收到的本地数据集中针对每个预定类别的标签数量来设计超参数的情况下,所得到的超参数可以补偿各个分布式节点之间的数据集中的不平衡。例如,为数据集包括7000个正样本和3000个负样本的客户端设计的超参数,以及为总共包括500个正样本和负样本的数据集的客户端设计的超参数,可以补偿数据集大小的不平衡和针对每个类别的标签比例之间的不平衡。
54.仍然参考图2b,在步骤214处,该方法包括:通过管理功能向分配给学习组的分布式节点传送已设计的该至少一个超参数。
55.在步骤216处,该方法包括:针对至少一个学习组,在该多个分布式节点中的在所述学习组内的每一个分布式节点处,基于机器学习模型的种子版本和相关联的本地数据集并且使用机器学习算法来开发机器学习模型的节点版本。因此,机器学习模型的节点版本是使用该特定节点上可用的本地数据集训练的版本。
56.在步骤218处,该方法包括:针对至少一个学习组,在该多个分布式节点中的在所
述学习组内的每一个分布式节点处,将机器学习模型的节点版本的表示传送给管理功能。节点版本可以直接传送给集中式管理功能,或者可以传送给各个组管理功能。
57.在步骤220处,该方法包括:在管理功能处,针对每个学习组,基于由该学习组中的分布式节点开发的机器学习模型的节点版本,获得机器学习模型的至少一个组版本。
58.在步骤222处,该方法包括:在管理功能处,基于针对每个组获得的机器学习模型的该至少一个组版本,开发机器学习模型的更新种子版本。
59.图3示出了对使用联合学习来开发机器学习模型的方法300中的过程步骤进行示出的流程图。方法300由管理功能执行。如上所述,该方法可以应用在任何类型的本地数据集的上下文中,但是在表现出某种程度的不平衡的本地数据集的上下文中可以提供特别的优势。参考图3,在第一步骤302中,该方法包括:使用机器学习算法来开发机器学习模型的种子版本。该方法然后包括,在步骤304处,将机器学习模型的种子版本传送给多个分布式节点,该多个分布式节点中的每一个与本地数据集相关联。在步骤306中,该方法包括:针对该多个分布式节点中的每一个接收相关联的本地数据集内的数据分布的表示。在步骤308中,该方法包括:基于接收到的表示将该多个分布式节点中的每一个分配给学习组,其中每个学习组包括该多个分布式节点的子集,联合学习将在该子集中执行。在步骤310中,该方法包括:针对每个学习组,基于由该学习组中的分布式节点开发的机器学习模型的节点版本,获得机器学习模型的至少一个组版本。
60.图4a、图4b、图4c和图4d示出了对使用联合学习来开发机器学习模型的方法400的另一个示例中的过程步骤进行示出的流程图,该方法由管理功能执行。方法400的步骤示出了一种方式,其中可以实施和补充方法300的步骤以便实现上述讨论的和附加的功能。管理功能可以在网络中任何合适的节点或实体中实例化。在3gpp通信网络中,管理功能例如可以在网络的核心网络功能内实例化。在管理功能既包括集中式要素又包括分布式要素的示例中,集中式要素可以在核心网络中实例化,而分布式要素可以在边缘网络和/或无线电接入网络中实例化。参考图4a,在步骤402中,该方法包括:使用机器学习算法来开发机器学习模型的种子版本。在本发明的一些示例中,可以从模型的本地版本的表示中开发机器学习模型的种子版本。因此,例如,在使用可用于分布式节点的本地数据集来在分布式节点处进行训练过程之后,各个分布式节点可以向管理功能提供它们的模型的本地版本的表示。在神经网络的情况下,该表示可以包括要根据模型的本地版本应用于神经网络中的各个节点或连接的权重。然后,管理功能可以通过聚合接收到的权重或其他表示来组装模型的种子版本。在一些示例中,模型的本地版本的表示可能已经作为该方法的早期迭代的一部分提供。如步骤402a中所示,管理功能可以包括集中式管理功能和分布式管理功能,并且分布式管理功能包括用于每个学习组的组管理功能。
61.在步骤404中,该方法包括:将机器学习模型的种子版本传送给多个分布式节点,该多个分布式节点中的每一个与本地数据集相关联。
62.在步骤406中,该方法包括:针对该多个分布式节点中的每一个接收相关联的本地数据集内的数据分布的表示。如步骤406a中所示,本地数据集内的数据分布的表示可以包括高斯混合模型(gmm)、欧式距离、l-2距离、最大平均差异(mmd)、或jsensen-renyi离散量中的任何一个或多个。如步骤406b中所示,本地数据集内的数据分布的表示还可以包括本地数据集中针对每个预定类别的标签数量。
63.在步骤408中,该方法包括:基于接收到的表示将该多个分布式节点中的每一个分配给学习组,其中每个学习组包括该多个分布式节点的子集,联合学习将在该子集中执行。如步骤408a中所示,基于接收到的数据分布的表示的相似性,将该多个分布式节点分配给学习组。在一些示例中,可以在各个本地数据集中的数据分布与参考数据集中的数据分布之间进行初始比较,参考数据集可以是可用于管理功能的数据集。下面将更详细地讨论基于各个节点的本地数据集数据分布的相似性将各个节点分配给学习组的过程。
64.在步骤410中,该方法包括:使用分配给学习组的分布式节点的本地数据集内的数据分布的表示来为学习组中的分布式节点设计至少一个超参数。
65.在步骤412中,该方法包括:向分配给学习组的分布式节点传送已设计的该至少一个超参数。
66.现在参考图4b,在步骤414中,该方法包括:针对每个学习组,为该学习组实例化组管理功能。在步骤416中,该方法包括:针对每个学习组,指示该学习组中的分布式节点将机器学习模型的节点版本的表示传送给实例化的组管理功能。在步骤418处,该方法包括:指示该多个分布式节点传送机器学习模型的节点版本的表示,其中机器学习模型的节点版本是已基于机器学习模型的种子版本和与相应分布式节点相关联的本地数据集并且使用机器学习算法来开发的。如步骤418a中所示,指示该多个分布式节点中的每一个将机器学习模型的节点版本的表示传送给分布式管理功能中的组管理功能中的相应的组管理功能。
67.在步骤420中,该方法包括:针对每个学习组,基于由该学习组中的分布式节点开发的机器学习模型的节点版本,获得机器学习模型的至少一个组版本。如图4b中所示,该步骤420可以通过两种替代方式来执行。
68.图4c示出了可以执行该方法的步骤420的第一种方式。现在参考图4c,在步骤420a中,该方法包括:在分布式管理功能处,针对每个学习组生成机器学习模型的该至少一个组版本。在步骤420b中,该方法包括:将机器学习模型的组版本从分布式管理功能传送给集中式管理功能。在步骤420b之后,该方法返回到d,如图4b中所示。
69.替代地,可以根据图4d中所示的方法执行步骤420。现在参考图4d,在步骤420d中,该方法包括:针对每个学习组,从相应学习组的组管理功能接收机器学习模型的至少一个组版本。如步骤420e中所示,步骤420d可以包括:针对每个学习组,在该组的组管理功能处,从相应学习组的每个分布式节点获得机器学习模型的节点版本,其中,机器学习模型的节点版本是已基于机器学习模型的种子版本和与相应分布式节点相关联的本地数据集并且使用机器学习算法来开发的。然后,如步骤420f中所示,步骤420d的方法可以包括,针对每个学习组,在组管理功能中,将获得的机器学习模型的节点版本进行组合,以形成该学习组的机器学习模型的组版本。然后,如步骤420g中所示,步骤420d的方法可以包括:针对每个学习组,通过组管理功能,将该学习组的机器学习模型的组版本传送给集中式管理功能。在执行步骤420d之后,该方法返回到d,如图4b中所示。
70.再次参考图4b,在步骤422中,该方法包括:基于获得的机器学习模型的组版本开发机器学习模型的更新种子版本。
71.图5示出了对使用联合学习来开发机器学习模型的方法500中的过程步骤进行示出的流程图,该方法由分布式节点执行。方法500因此可以补充上述方法300、400并且由管理功能执行。
72.参考图5,在第一步骤502中,该方法包括:接收机器学习模型的种子版本,其中,机器学习模型的种子版本是已使用机器学习算法(例如神经网络)来开发的。可以从管理功能接收机器学习模型的种子版本,如上面关于图4a所讨论。该方法然后包括,在步骤504处,生成与分布式节点相关联的本地数据集内的数据分布的表示。该方法包括:在步骤506处,将生成的表示传送给管理功能。该方法包括:在步骤508处,基于机器学习模型的种子版本和相关联的本地数据集并且使用机器学习算法来开发机器学习模型的节点版本。在步骤510中,该方法包括:将机器学习模型的节点版本的表示传送给管理功能。
73.图6示出了对使用联合学习来开发机器学习模型的方法600的另一个示例中的过程步骤进行示出的流程图,该方法由分布式节点执行。方法600的步骤示出了一种方式,其中可以实施和补充方法500的步骤以实现上面讨论的和附加的功能。对于上述图5的方法,方法600可以在诸如无线设备的分布式节点中进行。
74.参考图6,该方法包括:在步骤602中接收机器学习模型的种子版本,其中,机器学习模型的种子版本是已使用机器学习算法来开发的。
75.在步骤604中,该方法包括:生成与分布式节点相关联的本地数据集内的数据分布的表示。如步骤604a中所示,本地数据集内的数据分布的表示可以包括高斯混合模型(gmm)、欧式距离、l-2距离、最大平均差异(mmd)或jsensen-renyi离散量中的任何一个。如步骤604b中所示,本地数据集内的数据分布的表示可以包括本地数据集中针对每个预定类别的标签数量。
76.在步骤606中,该方法包括:将机器学习模型的节点版本的表示传送给分布式节点所分配到的学习组的组管理功能。
77.在步骤608中,该方法包括:从管理功能接收至少一个超参数,该至少一个超参数被设计用于分布式节点所分配到的学习组。如步骤608a中所示,基于分布式节点的数据分布的表示与和其他分布式节点相关联的本地数据集中的数据分布的表示的相似性,将分布式节点分配给学习组。
78.在步骤610中,该方法包括:从管理功能接收对如何将机器学习模型的节点版本的表示传送给管理功能的指令。这可以包括该节点被分配到的学习组的组管理功能的地址或其他标识符。
79.在步骤612中,该方法包括:基于机器学习模型的种子版本和相关联的本地数据集并且使用机器学习算法来开发机器学习模型的节点版本。如步骤612a中所示,接收到的该至少一个超参数可被用在开发机器学习模型的节点版本中。
80.在步骤614中,该方法包括:将机器学习模型的节点版本的表示传送给管理功能。
81.图7示出了对使用联合学习来开发机器学习模型的方法700中的过程步骤进行示出的流程图,该方法由学习组的组管理功能执行。如上所述,学习组的组管理功能可以包括可执行方法300、400的管理功能的分布式部分。在其他示例中,组管理功能可以包括与执行方法300和/或400的集中式管理功能不同的单独管理功能。在这类示例中,组管理功能可以执行方法700,如下所讨论的。
82.参考图7,在第一步骤702中,方法700包括:从学习组中的分布式节点接收机器学习模型的节点版本的表示,其中,机器学习模型的节点版本是已基于机器学习模型的种子版本和与相应分布式节点相关联的本地数据集并且使用机器学习算法来开发的。该方法然
后包括:在步骤704处,将机器学习模型的节点版本进行组合,以形成机器学习模型的组版本。在步骤706中,该方法包括:将机器学习模型的组版本传送给集中式管理功能。
83.图8示出了对使用联合学习来开发机器学习模型的方法800的另一个示例中的过程步骤进行示出的流程图,该方法由学习组的组管理功能执行。方法800的步骤示出一种方式,其中可以实施和补充方法700的步骤以实现上面讨论的和附加的功能。
84.参考图8,该方法包括:在步骤802中,从学习组中的分布式节点接收机器学习模型的节点版本的表示,其中,机器学习模型的节点版本是已基于机器学习模型的种子版本和与相应分布式节点相关联的本地数据集并且使用机器学习算法来开发的。如步骤802a处所示,学习组中的分布式节点已被基于与每个分布式节点相关联的本地数据集的分布的表示的相似性分配给了该学习组。
85.在步骤804中,该方法包括:将机器学习模型的节点版本进行组合,以形成机器学习模型的组版本。
86.在步骤806中,该方法包括:将机器学习模型的组版本传送给集中式管理功能。
87.上面讨论的方法100到800说明了管理功能和多个分布式节点可以协作以使用联合学习来开发机器学习模型的不同方式。
88.图9示出了对根据上文讨论的方法的不同示例的实体之间的示例交换进行示出的消息流程图。图9示出了作为集中式管理功能的示例的大师(grand master)节点、作为分布式管理功能的示例的工人管理器(worker manager)节点、作为多个分布式节点的示例的多个工人(worker)节点,以及作为组管理功能的示例的主(master)节点。主节点可以包括在工人管理器节点内。
89.参考图9,在步骤902中,大师节点首先从反馈循环(feedbackloop)接收示出为新数据的数据集。反馈循环是能够监测是否为用于训练的数据集生成新标签的函数。反馈循环可以在设备上或在云中运行,并且可能存在针对每个设备的单独通知,或者存在来自一个或多个设备的聚合通知。在一些示例中,反馈循环可以另外编排联合学习过程。在这类示例中,反馈循环可以包括机器学习模型生命周期管理系统内的功能,该功能可操作以检测模型性能的退化并且触发联合学习以训练和/或重新训练模型。在从反馈循环接收到新数据后,大师节点会基于接收到的数据集并且使用诸如神经网络之类的机器学习算法来开发机器学习模型的种子版本。如上所讨论,机器学习模型的种子版本可以基于从工人节点接收的机器学习模型的本地版本的表示。种子版本可以基于对于所有或大多数工人节点而言公共的表示,使得种子版本实际上表示模型的“最大公分母”版本。
90.然后在步骤904中将机器学习模型的种子版本传送给模型库(modelrepo)。模型库可以被配置为与大师节点(grandmaster)、工作管理器节点(workmanager)、多个分布式节点中的一个或多个(即,表示为工人节点(wn))、和/或主节点中的一个或多个通信。
91.然后在步骤906中,大师节点向工作管理器节点传送请求,请求工作管理器节点指示每个工人节点传送与该每个工人节点相关联的本地数据集内的数据分布的表示。
92.然后在步骤908中,工作管理器节点指示每个工人节点传送与每个工人节点相关联的本地数据集内的数据分布的表示,其中,工作管理器节点对该每个工人节点负有管理责任。然后每个工人节点可以生成与该工人节点相关联的本地数据集内的数据分布的表示。
93.然后,每个工人节点在步骤910中将相关联的本地数据集内的数据分布的表示传送给它的工作管理器,并且工作管理器在步骤912中将该信息转发给大师节点。
94.然后在步骤914中,大师节点基于接收到的表示将每个工人节点分配给学习组。每个学习组包括工人节点的子集,联合学习将在该子集中执行。下面更详细地讨论用于生成学习组的算法。
95.然后,对于大师节点已经将工人节点的子集所分配到的至少一个学习组执行以下步骤。
96.大师节点为学习组分配主节点。主节点可以在包括在学习组内的工人节点内或在不包括在学习组内的工人节点内实例化,或者可以是任何其他合适的节点或管理功能。例如,主节点可以在工人管理器内实例化。在步骤916中,可以经由对基础设施即服务(iaas)平台的指令来实例化主节点。
97.然后,在步骤918中,大师节点向新实例化的主节点指示在组中开始联合学习。在步骤920中,主节点指示学习组内的每个工人节点开发机器学习模型的节点版本。然后在步骤922中,每个工人节点基于机器学习模型的种子版本和与该工人节点相关联的本地数据集并且使用机器学习算法来开发机器学习模型的节点版本。
98.然后在步骤924中,学习组内的每个工人节点将机器学习模型的节点版本的表示传送给主节点。例如,在神经网络机器学习模型的情况下,根据模型的节点版本,机器学习模型的节点版本的表示可以包括要应用于神经网络中的各个节点的一个或多个权重。可以为其他类型的机器学习模型设想其他表示。
99.然后在步骤926中,主节点将获得的机器学习模型的节点版本进行组合,以形成学习组的机器学习模型的组版本。例如,主节点可以将每个获得的机器学习模型的节点版本进行平均以形成机器学习模型的组版本。
100.然后在步骤928中,主节点将针对学习组的机器学习模型的组版本的表示传送给大师节点。例如,机器学习模型的组版本的表示可以包括机器学习模型的节点版本的加密的权重。附加地或替代地,机器学习模型的组版本的表示可以包括对应于机器学习模型的组版本的性能信息。
101.应当理解,这些上述步骤可以针对每个学习组进行重复。因此,针对每个学习组,大师节点基于由每个学习组中的工人节点开发的机器学习模型的节点版本,获得机器学习模型的至少一个组版本。
102.然后在步骤930中,大师节点将机器学习模型的组版本的表示传送给模型库。附加地,大师节点可以通过组合模型的不同组版本来开发模型的更新种子版本。这个更新种子版本也可被转移到模型库。
103.应当理解,大师节点可以用于监测不同的联合任务。最初由大师执行的方法可以例如由网络用户根据需要触发。替代地或附加地,大师可以响应于工人管理器节点、工人节点中的一个或主节点的请求而执行该方法。在工人节点中的一个收集到附加数据后,该请求可能会被发送给大师节点。
104.应当理解,学习组可以表示工人节点的自组织图,该自组织图描述该学习组中的工人节点的数据集中的相似性。因此,应当理解,学习组表示可形成适当联合组的工人节点组。机器学习模型的组版本或更新种子版本中的一个或多个可被提供给工人节点,以使得
从该学习组内或其他学习组内的不同节点获得的学习能够在工人节点处使用。
105.因此,本发明的示例通过检测在每个数据集中发现的数据分布,且通过对与在同一联合内具有相似分布的数据集相关联的节点进行分组来创建自组织联合,从而利于以数据驱动的方式自动生成用于联合学习的图。在一些示例中,分组可涉及各个本地数据集中的数据分布与参考数据集中的数据分布之间的初始比较,参考数据集可以是对大师节点可用的数据集。从分布式数据集学习是通过学习组中的联合学习来执行的,其中学习组的成员与在其数据分布中具有相似性的本地数据集相关联。
106.在示例实现方案中,可以设想三个客户端想要触发针对特定用例来训练机器学习模型。在准备阶段,每个客户端上传针对每个类别的标签数量以及它们的数据集的分布密度估计。然后,该统计信息被用于在集中式管理功能中设计联合训练策略。触发学习组中的联合学习,并且由各个节点返回加密的模型权重和性能,以组合成针对每个学习组的机器学习模型的组版本。然后触发后续轮次的分散批量训练,直到满足一个或多个收敛标准为止。一旦已经实现收敛,模型就可以部署到推理阶段。在任何时候,新的客户端都可以加入联合学习并且开始新的过程,而现有的客户端可能会由于新数据的可用或模型性能下降而触发重新训练。因此可以通过联合方式实现模型训练和生命周期管理。
107.根据上述方法100至800的示例,以下算法(算法1)可以用于在分布式节点上实现统计收集和训练。
[0108][0109]
在上述算法中,全局数据集d0是可用于管理功能的参考数据集。这可能是保存在集中位置处的相对较大的数据集。根据上述算法,对于每个客户端,获得本地数据集分布的针对每个类别的标签数量,并且获得数据集分布的高斯混合模型。在该示例中,数据分布的表示因此包括针对每个类别的标签数量以及高斯混合模型。然而,应当理解,数据分布的表示可以包括任何合适的参数或描述符。
[0110]
在该示例中,学习组中的每个客户端都从全局服务器接收超参数,这些超参数适用于客户端所属的学习组。超参数可以包括对所有学习组的所有成员通用的特定特征、对客户端所属的学习组的所有成员通用的特征和/或特定于客户端的特征。
[0111]
以下算法(算法2)可以用于实现将分布式节点分配给管理功能中的联合学习组。
[0112][0113]
应当理解,有很多方法可以测量两个gmm之间的距离,包括例如欧式距离、最大平均差异(mmd)或jsensen-renyl距离。为简单起见,可以使用l-2距离,因为存在封闭形式的解。
[0114]
在上述算法中,参考数据集d0的数据分布被用作比较的基线,以便设计联合组0。在一些实现方案中,可以假设参考数据集d0可用于管理功能,可能比较大,并且可能合理地表示正在开发的机器学习模型正在寻求解决的问题。通过改变上述算法中的超参数delta,可以设置联合学习组的大小,以g0(x)作为组长。
[0115]
针对每个学习组,使用接收到的针对每个类别的标签数量为学习组中包括的每个客户端设计训练超参数。然后将超参数分发给学习组中的每个客户端。
[0116]
图10示出了示例通信网络部署并且演示了集中式和分布式管理功能可以如何根据本发明的示例来管理联合学习。如图10中所示,示例通信网络包括位于层级0的大师节点1002、位于层级1的三个主节点1004a、1004b和1004c,以及位于层级2的多个分布式节点1006a-1006j。网络的拓扑结构使得分布式节点1006a到1006c在主节点1004a的控制下,分布式节点1006d和1006e在主节点1104b的控制下,并且分布式节点1006f到1006j在主节点1004c的控制下。分布式节点是收集本地数据,开发机器学习模型的本地节点版本并且使用机器学习模型的适当组版本对收集的本地数据运行推理的节点。在这种背景下,本地机器学习模型经由联合学习进行训练。
[0117]
尽管图10中所示的网络拓扑结构包括三个层级,但是应当理解,网络的层级可以扩展到任何合适的层级复杂度。
[0118]
图10描绘了第一学习组中的分布式节点1106a、1106c、1106e、1106h和1106i,第二
学习组中的分布式节点1106d、1106f和1106j,以及第三学习组中的分布式节点1106b和1106g。应当理解,虽然分布式节点被布置成三个不同的拓扑组,但是这些组不一定对应于确定的学习组,这表示在每个分布式节点处可用的本地数据集中的相似性。如上所述,这种相似性可以通过在每个分布式节点处可用的数据集分布的相似性来表征。附加地或替代地,这种相似性可以通过在每个分布式节点处可用的数据集分布的针对每个类别的标签数量来表征。
[0119]
在本发明的一些示例中,大师节点可以为每个分布式节点存储一组描述符参数。可以使用从每个分布式节点接收的数据集分布的接收到的表示来计算描述符参数。
[0120]
例如,大师节点可以为每个分布式节点存储分布式节点的标识符和地址。例如,标识符和地址可以用于通信目的和存储目的。大师节点还可以存储联合组id。联合组id可以标识分布式节点已经被分配到的学习组。如上所述,学习组可以表示从该学习组中的分布式节点接收的数据集分布的表示中的相似性。应当理解,分配给相同学习组的分布式节点被认为包括比已分配给不同学习组的分布式节点更相似的数据集。大师节点还可以为每个分布式节点存储多个模型超参数名称,然后能够将其映射到每个分布式节点的对应超参数值。大师节点还可以为每个分布式节点存储多个未使用的特征。这些未使用的特征可能是已经被确定为非通用并且高度特定于分布式节点的特征。上面讨论的信息可以由大师节点存储在具有以下结构的字典中:
[0121][0122]
其中,
[0123]
nodename:例如用于通信和存储的节点的标识符和地址。nodename被映射到包含以下json对象的json列表:
[0124]
fid:联合组id,使得在相似度计算之后,每个节点都被分配给一个fid。映射到同一个fid的节点被认为比映射到其他fid的节点彼此更相似。
[0125]
generic_model_parameters:包含json对象列表,其中每个json对象是映射到对应超参数值的模型超参数名称。
[0126]
used_feats:通用模型中未使用的特征由未使用特征列表组成,这些特征被发现是非通用的并且高度特定于各个节点。
[0127]
开发机器学习模型时的目标是使它们尽可能通用和具有代表性,因为机器学习模
型倾向于揭露偏差。解决在机器学习模型中引入偏差问题的一种方法是使用包括通用特征的数据集来训练机器学习模型。这在联合学习方法中尤为重要。例如,在常规的联合学习方法中,可以在机器学习模型的多个节点版本上应用平坦平均(flat average),其中机器学习模型的每个节点版本已经使用与特定分布式节点相关联的本地数据集进行了训练。这种平坦平均不考虑这些本地数据集中的任何差异,并且可能会将噪声引入在主节点处形成的平均模型中。本发明的示例通过使用学习组来解决这个问题,其中基于节点的本地数据集中的数据分布的相似性来分配节点。
[0128]
为了帮助克服来自各个数据集的偏差,可以将本地数据集内包括的共同特征和本地数据集内包括的特定特征相互区分开来。共同特征可以包括对机器学习模型有贡献的特征,该机器学习模型是使用在特定分布式节点处可用的本地数据集以与在任何分布式节点处生成的所有机器学习模型类似的和预期的方式生成的。
[0129]
在通信网络示例中,基站或其他处理单元中电池温度的异常升高(诸如过热)可能会降低基站或处理单元的性能,因为cpu利用率降级。假设通过设计在与基站或处理单元相关联的每个计算机器或硬件中预期到这种因果关系,“电池温度”可被视为通用特征。在另一个示例中,一些特征可能在地理上或社会经济上高度相关。年龄就是这种特征的示例。例如,虽然在一些国家,工作人口可能以30-40岁的个体为主,但在世界其他地区,这个年龄范围可能是40-50岁。因此,数据集中个体的年龄分布及其与工作个体的相关性在两个不同的地理位置可能不同。因此,在这个用例中,用户的年龄可以被认为是特定的特征。应当理解,通用和特定特征的选择将高度依赖于用例。
[0130]
在一个示例中,根据本发明的示例,可以基于(可以由集中式管理功能或大师节点执行的)相似度计算来获得通用特征和特定特征。然后,大师节点可使用机器学习算法并且使用获得的通用特征来开发机器学习模型的种子版本,其中通用特征显示出相似的分布以及与目标变量的相似相关性。然后可以将该模型传送给每个分布式节点。换言之,可能被认为对应于在分布式节点的本地数据集之间不相似的特征的特定特征可能不用于开发机器学习算法的种子版本。
[0131]
然后大师节点可以通知每个分布式节点哪些特征被认为是特定特征。
[0132]
因此,当该多个分布式节点中的每一个基于机器学习模型的种子版本和与该分布式节点相关联的本地数据集,并且使用机器学习算法来开发机器学习模型的节点版本时,分布式节点也可以在开发机器学习模型的节点版本时使用可用于该节点的特定功能。
[0133]
应当理解,该多个分布式节点中的每一个都将了解已经用于开发机器学习模型的种子版本的特征。还应当理解,分布式节点可以基于通用特征和在该分布式节点处可用的特定特征的任何合适组合来开发机器学习模型的节点版本。例如,分布式节点可以基于在该分布式节点处可用的特定特征并且使用机器学习算法来开发机器学习模型的节点版本。
[0134]
在一些实施例中,可以由分布式节点在模型推断期间应用模型堆叠。模型堆叠可以包括基于机器学习模型的种子版本和在该分布式节点处可用的机器学习模型的节点版本形成堆叠模型。在一些示例中,可以通过对机器学习算法的种子版本的加权版本和在分布式节点处可用的机器学习算法的节点版本进行组合来在该分布式节点处形成堆叠模型。在一些示例中,可以通过使用合适的算法来确定权重。在其他示例中,可以通过使用试错技术来确定权重。在一些示例中,试错技术可以尝试使堆叠机器学习模型的输出的准确性和
引入堆叠学习模型的偏差元素平衡。换言之,试错技术试图避免过度拟合所得到的堆叠机器学习模型。例如,由于将在已经在特定于一个分布式节点的数据集上进行训练的机器学习模型的节点版本包括堆叠学习模型中,所以偏差可能会被引入堆叠学习模型。在一些示例中,当与机器学习模型的种子版本或机器学习模型的节点版本在分布式节点处的执行进行比较时,堆叠模型的执行可以在分布式节点处提高性能。在另外的示例中,根据本发明的示例,可以通过将模型的组版本与种子版本堆叠来减轻偏差的趋势。
[0135]
如上所述,方法300至800可以由管理功能或分布式节点执行。本发明提供了一种管理功能、分布式节点和组管理功能,这些适用于执行上述方法的任何或所有步骤。
[0136]
图11是示出了示例管理功能1100的框图,该示例管理功能可以例如在从计算机程序1150接收到合适的指令时实施根据本发明的示例的方法300和/或400。参考图11,管理功能1100包括处理器或处理电路1102,并且可以包括存储器1104和接口1106。处理电路1102可操作以执行如上参考图3和图4所讨论的方法300和/或400的一些或所有步骤。存储器1104可以包含可由处理电路1102执行的指令,使得管理功能1100可操作以执行方法300和/或400的一些或所有步骤。指令还可以包括用于执行一个或多个电信和/或数据通信协议的指令。指令可以以计算机程序1150的形式存储。在一些示例中,处理器或处理电路1102可以包括一个或多个微处理器或微控制器,以及可以包括数字信号处理器(dsp)的其他数字硬件、专用数字逻辑等。处理器或处理电路1102可以由任何类型的集成电路实现,诸如专用集成电路(asic)、现场可编程门阵列(fpga)等。存储器1104可以包括适用于处理器的一种或几种存储器,诸如只读存储器(rom)、随机存取存储器、高速缓冲存储器、闪存设备、光存储设备、固态硬盘、硬盘驱动器等。
[0137]
图12示出了管理功能1200的另一个示例中的功能单元,其可以例如根据从计算机程序接收的计算机可读指令来执行本发明的方法300和/或400的示例。应当理解,图12中所示的单元是功能单元,并且可以以硬件和/或软件的任何适当组合来实现。这些单元可以包括一个或多个处理器并且可以在任何程度上集成。
[0138]
参考图12,管理功能1200包括用于使用机器学习算法来开发机器学习模型的种子版本的学习模块1202,以及用于将机器学习模型的种子版本传送给多个分布式节点的通信模块1204,该多个分布式节点中的每一个与本地数据集相关联。通信模块1204还用于针对该多个分布式节点中的每一个接收相关联的本地数据集内的数据分布的表示。管理功能1200还包括分组模块1206,该分组模块用于基于接收到的表示将该多个分布式节点中的每一个分配给学习组,其中每个学习组包括该多个分布式节点的子集,联合学习将在该子集中执行,并且针对每个学习组,基于由该学习组中的分布式节点开发的机器学习模型的节点版本,获得机器学习模型的至少一个组版本。管理功能1200还可以包括接口1208。
[0139]
图13是示出示例分布式节点1300的框图,该示例分布式节点可以例如在从计算机程序1350接收到合适的指令时实施根据本发明的示例的方法500和/或600。参考图13,分布式节点1300包括处理器或处理电路1302,并且可以包括存储器1304和接口1306。处理电路1302可操作以执行如上文参考图5和图6所讨论的方法500和/或600的一些或所有步骤。存储器1304可以包含可由处理电路1302执行的指令,使得分布式节点1300可操作以执行方法500和/或600的一些或所有步骤。指令还可以包括用于执行一个或多个电信和/或数据通信协议的指令。指令可以以计算机程序1350的形式存储。在一些示例中,处理器或处理电路
1302可以包括一个或多个微处理器或微控制器,以及可以包括数字信号处理器(dsp)的其他数字硬件、专用数字逻辑等。处理器或处理电路1302可以由任何类型的集成电路实现,诸如专用集成电路(asic)、现场可编程门阵列(fpga)等。存储器1304可以包括适用于处理器的一种或几种存储器,诸如只读存储器(rom)、随机存取存储器、高速缓冲存储器、闪存设备、光存储设备、固态硬盘、硬盘驱动器等。
[0140]
图14示出了分布式节点1400的另一个示例中的功能单元,其可以例如根据从计算机程序接收的计算机可读指令来执行本发明的方法500和/或600的示例。应当理解,图14中所示的单元是功能单元,并且可以以硬件和/或软件的任何适当组合来实现。这些单元可以包括一个或多个处理器并且可以在任何程度上集成。
[0141]
参考图14,分布式节点包括用于接收机器学习模型的种子版本的通信模块1402,已经使用机器学习算法来开发机器学习模型的种子版本。分布式节点还包括用于生成与分布式节点相关联的本地数据集内的数据分布的表示的数据模块1404。通信模块1402还用于将生成的表示传送给管理功能。分布式节点1400还包括学习模块1406,该学习模块用于基于机器学习模型的种子版本和相关联的本地数据集并且使用机器学习算法来开发机器学习模型的节点版本。通信模块还用于将机器学习模型的节点版本的表示传送给管理功能。分布式节点1400还可以包括接口1408。
[0142]
图15是示出了示例组管理功能1500的框图,该管理功能可以例如在从计算机程序1550接收到合适的指令时实施根据本发明的示例的方法700和/或800。参考图15,组管理功能1500包括处理器或处理电路1502,并且可以包括存储器1504和接口1506。处理电路1502可操作以执行如上文参考参考图7和图8所讨论的方法700和/或800的一些或所有步骤。存储器1504可以包含可由处理电路1502执行的指令,使得组管理功能1500可操作以执行方法700和/或800的一些或所有步骤。指令还可以包括用于执行一个或多个电信和/或数据通信协议。指令可以以计算机程序1550的形式存储。在一些示例中,处理器或处理电路1502可以包括一个或多个微处理器或微控制器,以及可以包括数字信号处理器(dsp)的其他数字硬件、专用数字逻辑等。处理器或处理电路1502可以由任何类型的集成电路实现,诸如专用集成电路(asic)、现场可编程门阵列(fpga)等。存储器1504可以包括适用于处理器的一种或几种存储器,诸如只读存储器(rom)、随机存取存储器、高速缓冲存储器、闪存设备、光存储设备、固态硬盘、硬盘驱动器等。
[0143]
图16示出了组管理功能1600的另一个示例中的功能单元,其可以例如根据从计算机程序接收的计算机可读指令来执行本发明的方法700和/或800的示例。应当理解,图16中所示的单元是功能单元,并且可以以硬件和/或软件的任何适当组合来实现。这些单元可以包括一个或多个处理器并且可以在任何程度上集成。
[0144]
参考图16,管理功能1600包括通信模块1602,该通信模块用于从学习组中的分布式节点接收机器学习模型的节点版本的表示,其中已经基于机器学习模型的种子版本和与相应分布式节点相关联的本地数据集,并且使用机器学习算法来开发机器学习模型的节点版本。组管理功能1600还包括组合模块1604,该组合模块用于将机器学习模型的节点版本进行组合,以形成机器学习模型的组版本。通信模块1602还用于将机器学习模型的组版本传送给集中式管理功能。组管理功能1600还可以包括接口1606。
[0145]
应当理解,本发明的示例可以被虚拟化,使得本文描述的方法和过程可以在云环
境中运行。
[0146]
本发明的方法可以在硬件中实现,或者作为在一个或多个处理器上运行的软件模块来实现。这些方法还可以根据计算机程序的指令来执行,并且本发明还提供了一种计算机可读介质,其上存储有用于执行本文描述的任何方法的程序。具体实施本发明的计算机程序可以存储在计算机可读介质上,或者它可以是例如信号的形式,诸如从互联网网站提供的可下载数据信号,或者它可以是任何其他形式。
[0147]
应当注意,上述示例说明而不是限制本发明,并且本领域技术人员将能够在不脱离所附权利要求的范围的情况下设计许多替代实施例。用词“包括”不排除权利要求中列出的元件或步骤以外的元件或步骤的存在,“一”或“一个”不排除多个,并且单个处理器或其他单元可以完成权利要求中所列举的多个单元的功能。权利要求中的任何元件符号不应被解释为限制其范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献