分布式机器学习的方法、装置、电子设备及介质

未命名 10-19 阅读:142 评论:0


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.可选地,在基于本技术上述方法的另一个实施例中,基于下述公式生成共识矩阵:
[0029][0030]
其中,di是用户设备i的度,a(g

)为所述通信链路的n
×
n的邻接矩阵,n为网络中用户设备的数量。
[0031]
其中,根据本技术实施例的又一个方面,提供的一种分布式机器学习的装置,应用于包含多个用户设备的分布式机器学习网络中,包括:
[0032]
确定模块,被配置为为各个所述用户设备确定与自身对应的待处理片段,所述待
处理片段包括自身用户设备、与自身相邻的目标邻居设备以及与所述目标邻居设备之间的物理链路;
[0033]
处理模块,被配置为基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,所述最终片段中包含多个最终物理链路;
[0034]
学习模块,被配置为将多个所述最终物理链路作为所述分布式机器学习网络中的通信链路,并基于所述通信链路,完成各个用户设备之间的分布式机器学习。
[0035]
根据本技术实施例的又一个方面,提供的一种电子设备,包括:
[0036]
存储器,用于存储可执行指令;以及
[0037]
显示器,用于与所述存储器执行所述可执行指令从而完成上述任一所述分布式机器学习的方法的操作。
[0038]
根据本技术实施例的还一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一所述分布式机器学习的方法的操作。
[0039]
本技术中,可以为各个用户设备确定与自身对应的待处理片段,待处理片段包括自身用户设备、与自身相邻的目标邻居设备以及与目标邻居设备之间的物理链路;基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,最终片段中包含多个最终物理链路;将多个最终物理链路作为分布式机器学习网络中的通信链路,并基于通信链路,完成各个用户设备之间的分布式机器学习。
[0040]
通过应用本技术的技术方案,可以不将网络下所有的物理链路均选为用户设备间需要进行模型参数交换的通信链路,而是根据预设的处理规则,将其中通信开销较小且鲁棒性更高的物理链路作为通信链路。从而实现了在节省分布式机器学习网络的通信开销的前提下,也能保证分布式机器学习算法收敛的目的。
[0041]
下面通过附图和实施例,对本技术的技术方案做进一步的详细描述。
附图说明
[0042]
构成说明书的一部分的附图描述了本技术的实施例,并且连同描述一起用于解释本技术的原理。
[0043]
参照附图,根据下面的详细描述,可以更加清楚地理解本技术,其中:
[0044]
图1为本技术提出的一种分布式机器学习的方法示意图;
[0045]
图2为本技术提出的一种分布式机器学习的方法的系统架构示意图;
[0046]
图3为本技术提出的一种分布式机器学习的方法的整体流程示意图;
[0047]
图4为本技术提出的另一种分布式机器学习的方法的系统架构示意图;
[0048]
图5为本技术提出的一种利用最小生成树技术选取通信链路的示意图;
[0049]
图6为本技术提出的电子装置的结构示意图;
[0050]
图7为本技术提出的电子设备的结构示意图。
具体实施方式
[0051]
现在将参照附图来详细描述本技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。
[0052]
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0053]
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,不作为对本技术及其应用或使用的任何限制。
[0054]
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0055]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0056]
另外,本技术各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
[0057]
需要说明的是,本技术实施例中所有方向性指示(诸如上、下、左、右、前、后
……
)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
[0058]
下面结合图1-图5来描述根据本技术示例性实施方式的用于进行分布式机器学习的方法。需要注意的是,下述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
[0059]
本技术还提出一种分布式机器学习的方法、装置、电子设备及介质。
[0060]
图1示意性地示出了根据本技术实施方式的一种分布式机器学习的方法的流程示意图。如图1所示,该方法应用于包含多个用户设备的分布式机器学习网络中:
[0061]
s101,本技术中,可以为各个用户设备确定与自身对应的待处理片段,待处理片段包括自身用户设备、与自身相邻的目标邻居设备以及与目标邻居设备之间的物理链路。
[0062]
s102,基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,最终片段中包含多个最终物理链路。
[0063]
s103,将多个最终物理链路作为分布式机器学习网络中的通信链路,并基于通信链路,完成各个用户设备之间的分布式机器学习。
[0064]
相关技术中,分布式机器学习技术是实现在网络边缘侧进行完全去中心化的深度学习模型合作训练的关键技术之一,寻找面向分布式学习的高效通信机制是分布式学习研究的关键问题。
[0065]
进一步对本技术提出的分布式机器学习流程进行说明,可以理解的,分布式机器学习是一种机器学习的设置,其与联邦学习的目的相似,它也允许多个用户设备协同地训练机器学习模型,但其实现方式与联邦学习不同。
[0066]
具体而言,分布式机器学习中的中心服务器(若存在中心服务器)不会对网络间各个用户设备的模型参数进行集中收集和计算。取而代之的是,分布式学习采用一种相邻用户之间进行通信以实现一种模型参数交换的方式,从而达到在整个网络内对模型进行共享(也就是令各用户设备持有的模型参数趋于所有用户设备模型参数的平均值,即模型的共识平均)的目的。
[0067]
需要说明的是,大部分现有的分布式机器学习技术仍需要中心服务器对网络进行
管理,只是该中心服务器不承担模型参数处理的职能。
[0068]
例如以图2所示,其为一个由多个用户设备以及多个用户设备之间的物理链路组成的分布式机器学习网络。其中,每一个用户设备都有自己本地的机器学习模型(具体地,即与这个模型对应的一些参数)以及本地数据集。
[0069]
进一步的,如图2所示,为本技术提出的分布式机器学习的步骤流程,由图可以看出,分布式机器学习以迭代方式运行,在每次迭代中,用户设备依次执行下列两个步骤:
[0070]
步骤a、本地更新步骤:
[0071]
一种方式中,本技术实施例可以通过梯度下降算法对用户设备本地持有的机器学习模型的参数进行更新。
[0072]
具体的,在每一次迭代t时刻,用户设备i会通过小批次随机梯度下降对其持有的机器学习模型xi(t)进行更新,该过程如下:
[0073][0074]
其中,μ是随机梯度下降的步长(即学习率),bi(t)是用户设备i在迭代t时刻从本地数据集di随机采用得到的一个批次的训练数据。
[0075]
步骤b、共识更新步骤:
[0076]
通过通信链路,使得用户设备与其相邻用户设备交换机器学习模型的模型参数,以实现全局收敛。
[0077]
一种方式中,物理链路是用户设备之间的物理上的介质连接(例如双绞线或者无线通信链接),而通信链路是物理链路中的部分链路。
[0078]
可以理解的,只有在通信链路两端的用户设备,才会在共识更新的时候进行双向通信(即执行上述提及的步骤b,共识更新步骤),并通过双向通信的方式进行模型参数交换。
[0079]
其中,为了保证模型参数的共识平均,每一个用户会与其在“通信链路”上相邻的用户进行模型参数的共享,共识更新仍然是对本地机器学习模型参数的更新,共识更新的结果是用户在步骤a(即本地更新)的结果(即模型参数)与邻居用户设备在步骤a的结果的加权平均。作为示例的,这个加权平均的过程如下所示:
[0080][0081]
可以理解的,上述公式表达的就是用户设备拿自身的模型参数,以及它从邻居用户设备那里收到的邻居的模型参数进行加权平均的操作。
[0082]
其中,ni是用户设备i的所有邻居用设备户的集合,w则被称为共识矩阵(它的元素就是加权平均时用到的那些权重)。
[0083]
进一步的,共识矩阵w的数学性质对保证d-psgd算法的收敛至关重要,也就是说,若w能够被优化得到,则通过共识更新(即与邻居设备的模型进行加权平均)的方式,网络中所有用户设备各自持有的模型的参数将能够达成共识平均(即相同并趋于平均值)。
[0084]
进一步的,在加权平均的式子中,如果用户设备i与用户设备j之间不存在“通信链路”(有可能它们之间没有物理链路,也可能它们之间存在物理链路,但是这条物理链路没有被选为通信链路),则对应的共识矩阵的元素w
i,
是0(因为用户设备i无法收到与用户设备
i不存在通信链路的用户设备j的模型参数,也就只能在加权平均中将用户j的模型参数的权重w
i,j
设为0)。
[0085]
由上可见,上述步骤中的分布式机器学习流程不需要中央参数服务器集中收集并处理所有用户设备的模型参数。而是以一种相邻间的用户设备通过通信链路来进行模型参数互相交换的模式,实现模型参数在整个分布式机器学习网络中进行共享的目的。
[0086]
进一步而言,选取物理链路中的哪些链路作为通信链路会直接影响共识矩阵的取值范围(即若用户设备之间没有通信链路,则共识矩阵中对应的元素只能设为0,而若用户设备之间存在通信链路,则对应的元素可以被赋予一个》0的实数),进而影响分布式机器学习算法的成功收敛,这个影响的链条为:通信链路的选取

共识矩阵的取值

分布式机器学习算法的收敛。
[0087]
更进一步的,用户设备在共识更新(即步骤b)的过程中,会与其在通信链路上相邻(即两个用户设备之间存在通信链路)的用户设备进行双向通信,双向通信传输的内容是模型的参数,这个双向通信过程带来了大量的通信开销。由此可见,在物理链路确定(即数量与每条链路通信开销确定)的情况下,选择的通信链路越多,则网络总体通信开销越大。
[0088]
综上,为了降低分布式机器学习网络中的通信开销,需要解决两个问题:其一为如何在物理链路中选取一部分链路作为通信链路。即在选取时要保证分布式机器学习算法的收敛,即符合特定数学条件的共识矩阵必须存在。其二为在选取了通信链路后,如何根据选取的通信链路找到符合特定数学条件的共识矩阵w。
[0089]
基于上述问题,本技术提出一种分布式机器学习的方法,其方案为,在得到用于判断网络间是否存在告警事件的初始流量特征之后,可以不将网络下所有的物理链路均选为用户设备间需要进行模型参数交换的通信链路,而是根据预设的处理规则,将其中通信开销较小且鲁棒性更高的物理链路作为通信链路。从而实现了在节省分布式机器学习网络的通信开销的前提下,也能保证分布式机器学习算法收敛的目的。
[0090]
进一步的,本技术在此结合图3对方案进行具体说明:
[0091]
步骤1、为各个用户设备确定与自身对应的邻居用户设备。
[0092]
其中,邻居用户设备为与自身所在同一物理链路,且与自身相邻的用户设备。
[0093]
如图4所示,为本技术实施例提出的分布式机器学习的方法的系统运行架构图。其中首先需要从所有的物理链路中确定其中部分的物理链路作为通信链路。
[0094]
步骤2、基于各个用户设备与自身对应的邻居用户设备之间的丢包率,计算得到各个用户设备与自身对应的邻居用户设备之间物理链路的通信开销。
[0095]
一种方式中,分布式机器学习网络中的每一个用户设备需要向其在物理链路上相邻的用户设备(即邻居用户设备)发送若干条消息以计算二者之间的丢包率。
[0096]
作为示例的,以其中一个本端用户设备为a、对端的邻居用户设备为b进行举例来说,用户设备a发送的消息内容可以包括:
[0097]
用户设备a的id等身份信息、若干用于测试的消息文本(例如百科的语料库)等、用户设备a发送的用于测试的消息文本数量总和以及目前已经发送的消息文本数量总和。
[0098]
进一步的,对于邻居用户设备b来说,其在接收到用户设备a发送的若干条消息之后,可向用户设备a发送响应信息,例如可以包括:
[0099]
用户设备b的id等身份信息、用户设备b成功接收到的消息文本数量与应当成功接
收到的消息文本数量(即对方预先规定的并告知的,发送过来的用于测试的消息文本总数量)。
[0100]
可以理解的,用户设备b成功接收到的消息文本与消息总发送量之比就是该链路的“发送错误率”,通信开销被定义为1/发送错误率,代表着发送一定信息量的信息,所需要发送的实际的信息量。
[0101]
可以理解的,二者之间的通信开销越高,则在该链路上发送一定数量(计量单位可以是比特)的信息所需要发送的实际比特数就更多。
[0102]
步骤3、将各个用户设备与对应邻居用户设备之间,通信开销最小的物理链路作为用户设备对应的目标物理链路;以及,将各个用户设备对应的目标物理链路中,与自身相邻的用户设备作为用户设备对应的目标邻居设备。
[0103]
进一步的,本技术实施例在为每个用户设备确定与其连接的各个物理链路所对应的通信开销之后,即可为每个用户设备确定与其连接的目标物理链路(即通信开销最小的物理链路)以及目标邻居设备(即目标物理链路上,对端的邻居用户设备)。
[0104]
需要说明的是,如果对于某个用户设备来说,其对应的目标物理链路有多个时(即与其相连的最小通信开销的物理链路的数量有多个),则其同样可能对应有多个目标邻居设备。
[0105]
步骤4、将目标用户设备、与目标用户设备相邻的目标邻居设备以及目标用户设备与目标邻居设备之间的目标物理链路,作为目标用户设备的待处理片段。
[0106]
作为示例的,以其中一个目标用户设备为a(即各个用户设备中的任意一个用户设备)、目标用户设备a对应的目标邻居用户设备为b、目标用户设备为a与目标邻居用户设备b之间的目标物理链路为c进行举例来说,目标用户设备a对应的待处理片段a的生成方式可以为:a与b与c的集合。
[0107]
即,待处理片段a中包括有目标用户设备a、目标邻居用户设备b,以及二者之间的目标物理链路c。
[0108]
以此为选择标准,将分布式机器学习网络中的各个用户设备分别确定与其对应的待处理片段。
[0109]
步骤5、获取各个待处理片段中,物理链路相邻的两个第一待处理片段,并分别确定两个第一待处理片段对应的第一处理等级。之后执行步骤6a或步骤6b。
[0110]
一种方式中,在为分布式机器学习网络中的各个用户设备分别确定与其对应的待处理片段之后,即可根据各个待处理片段对应的处理等级,分别对各个待处理片段进行融合处理或合并处理。
[0111]
步骤6a、若两个第一待处理片段对应的第一处理等级相同,则将两个第一待处理片段融合为一个第二待处理片段,并为第二待处理片段赋予第二处理等级,其中第二处理等级高于第一处理等级。
[0112]
一种方式中,对于某个待处理片段的处理等级来说,其可以由该待处理片段在历史时段内已融合的次数而定。
[0113]
例如,对于处于相邻关系的待处理片段a与待处理片段b来说,若待处理片段a已经在历史时段融合过待处理片段c。那么待处理片段a对应的处理等级则为二级。而若待处理片段b在历史时段内融合过待处理片段b,则待处理片段b对应的处理等级同样为二级。
[0114]
进一步的,在对待处理片段a与待处理片段b进行处理的过程中,即可将待处理片段b与待处理片段a相融合(因为二者的处理等级相同)。换言之,即将待处理片段b与待处理片段a转变为一个待处理片段x(即第二待处理片段)。
[0115]
可以理解的,融合后的待处理片段x所包含的目标物理链路的数量也会增多(即将待处理片段a、待处理片段b中所包含的用户设备节点、邻居用户设备节点以及二者所连接的目标物理链路均作为待处理片段x)。且此时不会更改待处理片段c的处理等级(即仍为二级)。
[0116]
步骤6b、若两个第一待处理片段对应的处理等级不同,则将处理等级较低的第一待处理片段合并到处理等级较高的第一待处理片段中。
[0117]
一种方式中,对于某个待处理片段的处理等级来说,其可以由该待处理片段在历史时段内已融合的次数而定。
[0118]
例如,对于处于相邻关系的待处理片段a与待处理片段b来说,若待处理片段a已经在历史时段融合过待处理片段c和待处理片段d。那么待处理片段a对应的处理等级则为三级。而若待处理片段b尚未在历史时段内融合过其他待处理片段,则待处理片段b对应的处理等级则为一级。
[0119]
进一步的,在对待处理片段a与待处理片段b进行处理的过程中,即可将待处理片段b合并到待处理片段a中。换言之,即将待处理片段b转变为待处理片段a的一部分。
[0120]
可以理解的,合并后的待处理片段a所包含的目标物理链路的数量也会增多(即将待处理片段b中所包含的用户设备节点、邻居用户设备节点以及二者所连接的目标物理链路也合并到待处理片段a中)。且此时继续将待处理片段a的处理等级提升一级(即提升为四级)。
[0121]
反复执行上述步骤6a与步骤6b的操作,直至得到一个最终片段。
[0122]
其中,最终片段中包含多个自身用户设备、与自身相邻的目标邻居设备以及多个最终物理链路。
[0123]
可以理解的,当分布式机器学习网络中只留下一个片段的时候,该片段就是最终片段,而最终片段所包含的所有物理链路(即最终物理链路)即为本技术要选择的通信链路。
[0124]
步骤7、控制各个用户设备,向与自身对应的通信邻居用户设备发送节点度信息。
[0125]
其中,节点度信息为与自身用户设备相邻的通信链路的数量,通信邻居用户设备为与自身所在同一通信链路,且与自身相邻的用户设备.
[0126]
步骤8、基于各个用户设备接收到的节点度信息,生成共识矩阵,并基于共识矩阵完成各个用户设备之间的分布式机器学习。
[0127]
在完成了通信链路的选择之后,每一个用户设备都与其在通信链路上的邻居交换节点的度的信息(一个用户设备的度就是与该用户设备相邻的通信链路的数量),交换度信息结束之后,共识矩阵w以如下规则生成:
[0128]
[0129]
其中di是用户设备i的度,a(g

)本技术选择的通信链路的邻接矩阵。
[0130]
其中,邻接矩阵是一个n
×
n的矩阵,n为网络中所有用户设备的数量,当用户设备i与用户设备j之间存在通信链路的时候,a(g

)
i,
为1,否则为0,特别地,当i=j时,a(g

)
i,
也为1。
[0131]
综上而言,本技术提供了一种高效通信的分布式机器学习方法,相比需要中心服务器的其他机器学习方法而言,本技术实现了完全去中心化的分布式机器学习流程。也即不需要中心服务器进行模型参数的处理与网络管理,这不仅可以提高网络的可扩展性,还能够达到有效降低单点故障问题发生的可能,提高了网络的鲁棒性。
[0132]
另外,本技术只需要使用网络中存在的所有物理链路中的一部分来进行用户设备间的双向通信。可以理解的,当网络中的部分物理链路出现断开的时候,本方案可以继续运行。
[0133]
通过应用本技术的技术方案,可以不将网络下所有的物理链路均选为用户设备间需要进行模型参数交换的通信链路,而是根据预设的处理规则,将其中通信开销较小且鲁棒性更高的物理链路作为通信链路。从而实现了在节省分布式机器学习网络的通信开销的前提下,也能保证分布式机器学习算法收敛的目的。
[0134]
可选地,在基于本技术上述方法的另一个实施例中,所述为各个所述用户设备确定与自身对应的待处理片段,包括:
[0135]
为各个所述用户设备确定与自身对应的邻居用户设备,所述邻居用户设备为与自身所在同一物理链路,且与自身相邻的用户设备;
[0136]
为各个所述用户设备确定与自身对应的邻居用户设备之间物理链路的通信开销;
[0137]
基于各个所述用户设备与对应邻居用户设备之间的通信开销,为各个所述用户设备确定与自身对应的待处理片段。
[0138]
可选地,在基于本技术上述方法的另一个实施例中,所述基于各个所述用户设备与对应邻居用户设备之间的通信开销,为各个所述用户设备确定与自身对应的待处理片段,包括:
[0139]
将各个所述用户设备与对应邻居用户设备之间,通信开销最小的物理链路作为所述用户设备对应的目标物理链路;以及,
[0140]
将各个所述用户设备对应的目标物理链路中,与自身相邻的用户设备作为所述用户设备对应的目标邻居设备;
[0141]
基于各个所述用户设备对应的目标物理链路与目标邻居设备,为各个所述用户设备确定对应的待处理片段。
[0142]
可选地,在基于本技术上述方法的另一个实施例中,所述为各个所述用户设备确定与自身对应的邻居用户设备之间物理链路的通信开销,包括:
[0143]
基于各个所述用户设备与自身对应的邻居用户设备之间的丢包率,计算得到各个所述用户设备与自身对应的邻居用户设备之间物理链路的通信开销。
[0144]
可选地,在基于本技术上述方法的另一个实施例中,所述基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,所述最终片段中包含多个最终物理链路,包括:
[0145]
获取各个待处理片段中,物理链路相邻的两个第一待处理片段,并分别确定两个
第一待处理片段对应的第一处理等级;
[0146]
若两个第一待处理片段对应的第一处理等级相同,则将两个第一待处理片段融合为一个第二待处理片段,并为所述第二待处理片段赋予第二处理等级,其中所述第二处理等级高于所述第一处理等级;或,
[0147]
若两个第一待处理片段对应的处理等级不同,则将处理等级较低的第一待处理片段合并到处理等级较高的第一待处理片段中;
[0148]
反复执行上述操作,直至得到一个最终片段,所述最终片段中包含多个自身用户设备、与自身相邻的目标邻居设备以及多个最终物理链路。
[0149]
可选地,在基于本技术上述方法的另一个实施例中,所述基于所述通信链路,完成各个用户设备之间的分布式机器学习,包括:
[0150]
控制各个所述用户设备,向与自身对应的通信邻居用户设备发送节点度信息,其中所述节点度信息为与自身用户设备相邻的通信链路的数量,所述通信邻居用户设备为与自身所在同一通信链路,且与自身相邻的用户设备;
[0151]
基于各个所述用户设备接收到的节点度信息,生成共识矩阵,并基于所述共识矩阵完成各个用户设备之间的分布式机器学习。
[0152]
可选地,在基于本技术上述方法的另一个实施例中,基于下述公式生成共识矩阵:
[0153][0154]
其中,di是用户设备i的度,a(g

)为所述通信链路的n
×
n的邻接矩阵,n为网络中用户设备的数量。
[0155]
一种方式中,继续对本技术提出的通信链路的确定方法进行说明:
[0156]
作为示例的,本技术可以选择网络的最小生成树作为通信链路的选择方式,并通过ghs算法进行分布式、去中心化的最小生成树的生成,在这个过程中,本技术不需要中心服务器对网络进行管理,也不需要中心服务器进行模型参数的处理,从而实现了完全去中心化的分布式机器学习。
[0157]
进一步的,本技术在为各个用户设备对应的物理链路确定通信开销之后,即可将通信开销视为分布式共识网络中,加权拓扑图的权重。
[0158]
如图5所示,在初始化时,每一个用户设备将其自己视为一个只有一个用户设备的待处理片段,待处理片段是一个拓扑图,其包含相邻用户设备的物理链路,在每一次迭代时,片段会按照阶段a与阶段b的方式进行反复更新。
[0159]
阶段a、寻找最小权重(即)出边阶段
[0160]
一个待处理片段当中的所有用户设备相邻的物理链路中拥有最小权重的那条出边(出边指的是一端连接该片段当中的一个用户设备,而另一端连接着片段外的一个用户设备的链路)将会被选为该待处理片段的最小权重出边。
[0161]
阶段b、待处理片段之间的融合与合并阶段
[0162]
若待处理片段甲的最小权重出边的另一端的用户设备位于待处理片段乙,且待处理片段甲的大小(包含的节点与边的多少)小于待处理片段乙,则片段甲会变为片段乙的一
部分。
[0163]
若待处理片段甲与待处理片段乙具有同一条最小权重出边,则它们会融合为一个新的待处理片段丁。
[0164]
反复执行上述步骤,并在当分布式机器学习网络中只留下一个最终片段的时候,该片段就是网络的最小生成树,此时该最小生成树就是本技术要选择的通信链路。
[0165]
可选的,在本技术的另外一种实施方式中,如图6所示,本技术还提供一种分布式机器学习的装置。包括:
[0166]
确定模块201,被配置为为各个所述用户设备确定与自身对应的待处理片段,所述待处理片段包括自身用户设备、与自身相邻的目标邻居设备以及与所述目标邻居设备之间的物理链路;
[0167]
处理模块202,被配置为基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,所述最终片段中包含多个最终物理链路;
[0168]
学习模块203,被配置为将多个所述最终物理链路作为所述分布式机器学习网络中的通信链路,并基于所述通信链路,完成各个用户设备之间的分布式机器学习。
[0169]
通过应用本技术的技术方案,可以不将网络下所有的物理链路均选为用户设备间需要进行模型参数交换的通信链路,而是根据预设的处理规则,将其中通信开销较小且鲁棒性更高的物理链路作为通信链路。从而实现了在节省分布式机器学习网络的通信开销的前提下,也能保证分布式机器学习算法收敛的目的。
[0170]
在本技术的另外一种实施方式中,处理模块202,被配置为:
[0171]
为各个所述用户设备确定与自身对应的邻居用户设备,所述邻居用户设备为与自身所在同一物理链路,且与自身相邻的用户设备;
[0172]
为各个所述用户设备确定与自身对应的邻居用户设备之间物理链路的通信开销;
[0173]
基于各个所述用户设备与对应邻居用户设备之间的通信开销,为各个所述用户设备确定与自身对应的待处理片段。
[0174]
在本技术的另外一种实施方式中,处理模块202,被配置为:
[0175]
将各个所述用户设备与对应邻居用户设备之间,通信开销最小的物理链路作为所述用户设备对应的目标物理链路;以及,
[0176]
将各个所述用户设备对应的目标物理链路中,与自身相邻的用户设备作为所述用户设备对应的目标邻居设备;
[0177]
将目标用户设备、与所述目标用户设备相邻的目标邻居设备以及所述目标用户设备与所述目标邻居设备之间的目标物理链路,作为所述目标用户设备的待处理片段,其中所述目标用户设备为各个所述用户设备的任意一个用户设备。
[0178]
在本技术的另外一种实施方式中,处理模块202,被配置为:
[0179]
基于各个所述用户设备与自身对应的邻居用户设备之间的丢包率,计算得到各个所述用户设备与自身对应的邻居用户设备之间物理链路的通信开销。
[0180]
在本技术的另外一种实施方式中,处理模块202,被配置为:
[0181]
获取各个待处理片段中,物理链路相邻的两个第一待处理片段,并分别确定两个第一待处理片段对应的第一处理等级;
[0182]
若两个第一待处理片段对应的第一处理等级相同,则将两个第一待处理片段融合
为一个第二待处理片段,并为所述第二待处理片段赋予第二处理等级,其中所述第二处理等级高于所述第一处理等级;或,
[0183]
若两个第一待处理片段对应的处理等级不同,则将处理等级较低的第一待处理片段合并到处理等级较高的第一待处理片段中;
[0184]
反复执行上述操作,直至得到一个最终片段,所述最终片段中包含多个自身用户设备、与自身相邻的目标邻居设备以及多个最终物理链路。
[0185]
在本技术的另外一种实施方式中,处理模块202,被配置为:
[0186]
控制各个所述用户设备,向与自身对应的通信邻居用户设备发送节点度信息,其中所述节点度信息为与自身用户设备相邻的通信链路的数量,所述通信邻居用户设备为与自身所在同一通信链路,且与自身相邻的用户设备;
[0187]
基于各个所述用户设备接收到的节点度信息,生成共识矩阵,并基于所述共识矩阵完成各个用户设备之间的分布式机器学习。
[0188]
在本技术的另外一种实施方式中,处理模块202,被配置为:
[0189]
基于下述公式生成共识矩阵:
[0190][0191]
其中,di是用户设备i的度,a(g

)为所述通信链路的n
×
n的邻接矩阵,n为网络中用户设备的数量。
[0192]
图7是根据一示例性实施例示出的一种电子设备的逻辑结构框图。例如,电子设备300可以是电子设备。
[0193]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备处理器执行以完成上述分布式机器学习的方法,该方法包括:为各个所述用户设备确定与自身对应的待处理片段,所述待处理片段包括自身用户设备、与自身相邻的目标邻居设备以及与所述目标邻居设备之间的物理链路;基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,所述最终片段中包含多个最终物理链路;将多个所述最终物理链路作为所述分布式机器学习网络中的通信链路,并基于所述通信链路,完成各个用户设备之间的分布式机器学习。可选地,上述指令还可以由电子设备的处理器执行以完成上述示例性实施例中所涉及的其他步骤。例如,非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0194]
在示例性实施例中,还提供了一种应用程序/计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行,以完成上述分布式机器学习的方法,该方法包括:为各个所述用户设备确定与自身对应的待处理片段,所述待处理片段包括自身用户设备、与自身相邻的目标邻居设备以及与所述目标邻居设备之间的物理链路;基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,所述最终片段中包含多个最终物理链路;将多个所述最终物理链路作为所述分布式机器学习网络中的通信链路,并基于所述通信链路,完成各个用户设备之间的分布式机器学习。
[0195]
可选地,上述指令还可以由电子设备的处理器执行以完成上述示例性实施例中所涉及的其他步骤。
[0196]
图7为电子设备300的示例图。本领域技术人员可以理解,示意图7仅仅是电子设备300的示例,并不构成对电子设备300的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备300还可以包括输入输出设备、网络接入设备、总线等。
[0197]
所称处理器302可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器302也可以是任何常规的处理器等,处理器302是电子设备300的控制中心,利用各种接口和线路连接整个电子设备300的各个部分。
[0198]
存储器301可用于存储计算机可读指令303,处理器302通过运行或执行存储在存储器301内的计算机可读指令或模块,以及调用存储在存储器301内的数据,实现电子设备300的各种功能。存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备300的使用所创建的数据等。此外,存储器301可以包括硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)或其他非易失性/易失性存储器件。
[0199]
电子设备300集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
[0200]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0201]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。

技术特征:
1.一种分布式机器学习的方法,其特征在于,应用于包含多个用户设备的分布式机器学习网络中,包括:为各个所述用户设备确定与自身对应的待处理片段,所述待处理片段包括自身用户设备、与自身相邻的目标邻居设备以及与所述目标邻居设备之间的物理链路;基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,所述最终片段中包含多个最终物理链路;将多个所述最终物理链路作为所述分布式机器学习网络中的通信链路,并基于所述通信链路,完成各个用户设备之间的分布式机器学习。2.如权利要求1所述的方法,其特征在于,所述为各个所述用户设备确定与自身对应的待处理片段,包括:为各个所述用户设备确定与自身对应的邻居用户设备,所述邻居用户设备为与自身所在同一物理链路,且与自身相邻的用户设备;为各个所述用户设备确定与自身对应的邻居用户设备之间物理链路的通信开销;基于各个所述用户设备与对应邻居用户设备之间的通信开销,为各个所述用户设备确定与自身对应的待处理片段。3.如权利要求2所述的方法,其特征在于,所述基于各个所述用户设备与对应邻居用户设备之间的通信开销,为各个所述用户设备确定与自身对应的待处理片段,包括:将各个所述用户设备与对应邻居用户设备之间,通信开销最小的物理链路作为所述用户设备对应的目标物理链路;以及,将各个所述用户设备对应的目标物理链路中,与自身相邻的用户设备作为所述用户设备对应的目标邻居设备;将目标用户设备、与所述目标用户设备相邻的目标邻居设备以及所述目标用户设备与所述目标邻居设备之间的目标物理链路,作为所述目标用户设备的待处理片段,其中所述目标用户设备为各个所述用户设备的任意一个用户设备。4.如权利要求2所述的方法,其特征在于,所述为各个所述用户设备确定与自身对应的邻居用户设备之间物理链路的通信开销,包括:基于各个所述用户设备与自身对应的邻居用户设备之间的丢包率,计算得到各个所述用户设备与自身对应的邻居用户设备之间物理链路的通信开销。5.如权利要求1所述的方法,其特征在于,所述基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,所述最终片段中包含多个最终物理链路,包括:获取各个待处理片段中,物理链路相邻的两个第一待处理片段,并分别确定两个第一待处理片段对应的第一处理等级;若两个第一待处理片段对应的第一处理等级相同,则将两个第一待处理片段融合为一个第二待处理片段,并为所述第二待处理片段赋予第二处理等级,其中所述第二处理等级高于所述第一处理等级;或,若两个第一待处理片段对应的处理等级不同,则将处理等级较低的第一待处理片段合并到处理等级较高的第一待处理片段中;反复执行上述操作,直至得到一个最终片段,所述最终片段中包含多个自身用户设备、
与自身相邻的目标邻居设备以及多个最终物理链路。6.如权利要求1所述的方法,其特征在于,所述基于所述通信链路,完成各个用户设备之间的分布式机器学习,包括:控制各个所述用户设备,向与自身对应的通信邻居用户设备发送节点度信息,其中所述节点度信息为与自身用户设备相邻的通信链路的数量,所述通信邻居用户设备为与自身所在同一通信链路,且与自身相邻的用户设备;基于各个所述用户设备接收到的节点度信息,生成共识矩阵,并基于所述共识矩阵完成各个用户设备之间的分布式机器学习。7.如权利要求6所述的方法,其特征在于,基于下述公式生成共识矩阵:其中,d
i
是用户设备i的度,a(g

)为所述通信链路的n
×
n的邻接矩阵,n为网络中用户设备的数量。8.一种分布式机器学习的装置,其特征在于,应用于包含多个用户设备的分布式机器学习网络中,包括:确定模块,被配置为为各个所述用户设备确定与自身对应的待处理片段,所述待处理片段包括自身用户设备、与自身相邻的目标邻居设备以及与所述目标邻居设备之间的物理链路;处理模块,被配置为基于预设的处理规则,分别对各个待处理片段进行融合吸收处理,直至得到一个最终片段,所述最终片段中包含多个最终物理链路;学习模块,被配置为将多个所述最终物理链路作为所述分布式机器学习网络中的通信链路,并基于所述通信链路,完成各个用户设备之间的分布式机器学习。9.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;以及,处理器,用于与所述存储器执行所述可执行指令从而完成权利要求1-7中任一所述分布式机器学习的方法的操作。10.一种计算机可读存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行权利要求1-7中任一所述分布式机器学习的方法的操作。

技术总结
本申请公开了一种分布式机器学习的方法、装置、电子设备及介质。通过应用本申请的技术方案,可以不将网络下所有的物理链路均选为用户设备间需要进行模型参数交换的通信链路,而是根据预设的处理规则,将其中通信开销较小且鲁棒性更高的物理链路作为通信链路。从而实现了在节省分布式机器学习网络的通信开销的前提下,也能保证分布式机器学习算法收敛的目的。的。的。


技术研发人员:吕昕晨 梁紫宣 崔琪楣 陶小峰
受保护的技术使用者:北京邮电大学
技术研发日:2023.06.13
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐