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

模型训练方法、装置、电子设备及存储介质与流程

2023-04-01 05:01:50 来源:中国专利 TAG:


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.图1为相关技术中模型训练的系统架构图;
26.图2为本技术一实施例提供的模型训练系统架构示意图;
27.图3为本技术一实施例提供的模型训练方法的实现流程示意图;
28.图4为本技术又一实施例提供的模型训练方法的实现流程示意图;
29.图5为本技术又一实施例提供的模型训练方法的实现流程示意图;
30.图6为本技术又一实施例提供的模型训练方法的实现流程示意图;
31.图7为本技术又一实施例提供的模型训练方法的实现流程示意图;
32.图8为本技术又一实施例提供的模型训练方法的实现流程示意图;
33.图9为本技术一实施例提供的根据环形全局规约传输第一直方图的示意图;
34.图10为本技术一实施例提供的模型训练方法的实现流程示意图;
35.图11为本技术一实施例提供的模型训练装置的结构示意图;
36.图12为本技术又一实施例提供的模型训练装置的结构示意图;
37.图13为本技术实施例电子设备的硬件组成结构示意图。
具体实施方式
38.下面结合附图及具体实施例对本发明作进一步详细的说明。
39.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
40.需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
41.另外,在本发明实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
42.在对本技术实施例的技术方案进行详细说明之前,首先对相关技术中的机器学习模型架构进行简单说明。
43.在现实生活中,智能家居设备的数量呈现出增长的趋势,而智能家居设备数量的增加,将会产生巨大的数据,相关技术中,基于大数据的智能家居概念主要由iot设备、移动终端、现代无线通信、云与边缘计算、大数据分析和人工智能组成,因此,在移动终端之间保持无缝连接,并且同时利用大数据分析和人工智能技术来获得用户的使用习惯,从而提供更优质的服务和产品,成为急需解决的问题。在相关技术中,提出了一种分层众包联邦学习(fl,federated learning)系统来构建机器学习模型,以利于在智能家居场景中提供更优质的服务与优化相关设备的功能。如图1所示,图1示出了相关技术中模型训练的系统架构图,其中,图1所示的系统主要由三个组件组成,制造商、客户和区块链,其中,制造商用于提出一项众包fl任务的要求,对众包fl任务感兴趣的客户将基于样本数据进行训练而生成的模型提交到区块链中,最后,区块链充当集中式服务器收集客户的模型,并由选定的边缘节点为制造商计算并生成全局fl模型。
44.如图1所示的系统架构主要存在三个方面的技术问题。第一,相关技术中,为了转移密集型计算,通常用移动终端作为数据流转和训练设备,而在实际应用中,虽然移动终端具有较强的运算能力,但是移动终端的性能,例如移动终端的电量、网络状况、存储资源是有限的,从而在移动终端进行卷积层训练的过程中,会有很大几率出现设备掉线、存储空间不足等情况,导致训练样本无法存储等问题,并且,由于移动终端与物联网设备是多对多的关系,难以实现数据细粒度同步、访问控制等功能,具体地,一个用户可能拥有多台移动终端,因此,在进行模型训练的过程中,多台移动终端需要同时接入同一台移动终端,而多台移动终端的训练样本的存放以及训练过程的同步也是需要解决的问题。此外,由于在训练的过程中,移动终端需要从物联网设备中获取原始的训练数据,导致大量隐私数据在物联网设备与移动终端以及在移动终端与移动终端之间传输,难以保障数据的安全。
45.第二,在图1所示的系统架构中,还存在着协同训练深度神经网络在区块链与物联网设备架构中的适用性问题。适用性问题主要体现在深度神经网络结构复杂、模型较大、迭代次数多,因此在区块链中存放的局部模型在更新的过程中需要使用链下存储技术,由此增加了系统的复杂性,并且还需要额外配置访问控制策略,通过访问控制策略使边缘节点拥有适当的权限访问每个物联网设备在ipfs中存储的本地模型更新,才能进行模型聚合任务。而在协同训练过程中,需要传输大量中间参数,本地神经网络需要对模型进行两轮的训练,并且还需要聚合模型更新,为参数模型训练的移动终端带来了巨大的计算消耗和通信代价,服务提供商为训练任务提供的激励措施无法弥补移动终端以及边缘节点在模型训练过程中的消耗。在模型训练过程中,物联网设备和传感器网络更多地是面向采集的状态数据、基础的数据分析与管理、深度数据分析与应用,对于处理深度神经网络中的主要数据,例如大量状态参数、表格型数据时没有显著优势。
46.此外,对于传统意义上的机器学习算法多少基于静态样本假设的,而随着物联网
设备获取的统计信息在不断增长,并且物联网设备的资源受限的问题,无法将所有的历史数据都存储在硬件资源中,因此,无法在物联网设备不断汇入新的统计样本的现实环境中使用。
47.为了解决如图1所示的系统架构中存在的技术问题,本技术实施例提供了一种系统架构,如图2所示,图2示出了本技术实施例的模型训练系统架构示意图。如图2所示,本技术实施例提供的系统架构主要由三部分组成,分别为物联网服务商、物联网设备用户与区块链平台,具体如下:
48.物联网服务商提出机器学习模型以预测客户消费、行为和改善物联网设备的任务要求,拥有物联网设备的客户可以参加fl任务,随着越来越多的客户参加众包fl任务,相应的,fl任务的样本数据会越来越多,物联网服务商能够得到更精确的机器学习任务模型。
49.物联网设备用户可以申请参加fl任务,通过认证的物联网设备能够被分配边缘计算节点来接收更新信息,并且,在模型训练过程中支持物联网设备的动态加入与退出,对于在模型训练过程中中途加入fl任务的物联网设备,通过从边缘计算节点中下载到之前的区块信息后可以开始模型训练。另外,当物联网设备上传的训练模型通过边缘计算节点的验证之后,能够得到相应的奖励,从而能够吸引不同的物联网设备加入模型训练的任务中。
50.区块链平台中共的边缘计算节点负责运算,边缘计算节点通过接收对应的物联网设备上传的直方图信息,边缘计算节点之间的互相通信能够构建全局直方图,最后进行叶子节点分裂共识。
51.下面结合附图及具体实施例对本技术作进一步详细的说明。
52.本技术实施例提供了一种模型训练方法,图3为本技术实施例的模型训练方法的一种流程示意图,如图3所示,所述方法包括:
53.s301:基于发布在区块链中的第一任务,获取至少一个第一数据;所述第一任务表征训练树状结构模型的任务;所述第一数据表征所述物联网设备采集得到的数据。
54.这里,在物联网设备从区块链中选择第一任务的时候,需要获取至少一个第一数据作为第一任务的训练样本数据,其中,物联网设备可以将采集得到的数据作为训练样本数据,在实际应用中,区块链中存在着由不同物联网服务商发布的书钻杆结构模型的训练任务,物联网设备能够在区块链中选择其中一个任务开启模型训练。在实际应用中,可以通过物联网服务商的任务发布记录确定不同任务的属性,如表1所示,表1示出了物联网服务商发布的训练任务记录。
55.表1
[0056][0057]
物联网设备在区块链中选择模型训练任务的时候,可以通过参考训练任务记录中的任务奖励,来确定第一任务。在实际应用中,允许物联网设备在中途加入第一任务中,中途加入的物联网设备通过将根节点的数据进行下载后,可以参加模型训练,其中,根节点是由第一任务给出的。
[0058]
s302:根据所述至少一个第一数据生成第一直方图;所述第一直方图表征所述第
一数据的分布情况。
[0059]
这里,将物联网设备获取的至少一个第一数据进行统计,从而生成第一直方图,通过第一直方图中记载的内容能够确定不同的第一数据的分布情况。示例地,当物联网设备采集的数据为温度数据,随着物联网设备所在的环境的变暖,对应采集的温度数据也会发生变化,通过对物联网设备采集的温度数据进行统计制成第一直方图,能够直观地确定不同温度数据的采集状况,从而能够进一步地确定所处环境的温度变化规律。
[0060]
在一实施例中,如图4所示,所述根据所述至少一个第一数据生成第一直方图,包括:
[0061]
s401:根据设定的第一分割点,将所述至少一个第一数据切分为第一数据集与第二数据集。
[0062]
这里,物联网设备根据设定的第一分割点,将物联网设备采集得到的至少一个第一数据切分为第一数据集与第二数据集两部分,其中,设定的第一分割点可以通过v(分裂特征,分裂阈值)来表示,在实际应用中,在基于物联网设备采集的第一数据进行模型训练的过程中,第一边缘计算节点同样地会计算第一分割点进而对第一数据进行分割,从而生成对应的子节点,因此,在物联网设备进行第一数据切分时可以沿用第一分割点对数据进行分割。
[0063]
s402:根据所述第一数据集与所述第二数据集,生成第一直方图。
[0064]
这里,通过对第一数据集与第二数据集的统计,生成第一直方图,在实际应用中,第一直方图中通过一系列高度不等的纵向条纹或线段表示第一数据分布的情况,在本技术实施例中,横轴表示不同数据的取值范围,纵轴表示分布情况,因此,第一直方图为实数集s的压缩近似表示,其中,实数集s为至少一个第一数据组成的集合通过,通过第一直方图能够得到其中,|s|表示实数集s中的数据点的数量,b表示第一直方图中纵向条纹的数量,也就是第一直方图的bin的数量,yi表示第一直方图中落入到对应bin中的样本总数量。
[0065]
在一实施例中,如图5所示,所述方法还包括:
[0066]
s501:在存在第二数据的情况下,确定所述第二数据在所述第一直方图中落入的第一区间;所述第二数据表征所述物联网设备新采集到的数据。
[0067]
这里,物联网设备在执行第一任务的时候,会持续采集新的数据,物联网设备会根据新采集到的第二数据对直方图进行更新。在实际应用中,第一直方图中不同的纵向条纹所对应的区间范围是不相同的,因此需要确定第二数据在第一直方图中落入的第一区间,第二数据在第一直方图中落入的第一区间可以通过在线聚类算法确定。
[0068]
s502:根据所述第一区间以及第一数据量,更新所述第一直方图。
[0069]
这里,在确定第二数据在第一直方图中落入的第一区间之后,需要统计落入第一区间的第二数据的第一数据量,根据第二数据的第一数据量,确定在第一直方图中第一区间对应的纵向条纹的高度,从而完成第一直方图的更新。更新后的第一直方图能够同时记录物联网设备之前采集的第一数据的分布情况,还能记录物联网设备新采集的第二数据的分布情况,提高了数据的处理效率。
[0070]
在一实施例中,如图6所示,所述方法还包括:
[0071]
s601:在第二数据对应的第一区间超出所述第一直方图的区间范围的情况下,确
定第二区间与第三区间;所述第二区间表征所述第一直方图中对应的样本数量最小的区间;所述第三区间表征所述第二区间相邻的区间中对应的样本数量最小的区间。
[0072]
这里,当第二数据对应的第一区间超出第一直方图的区间范围的时候,表明第二数据不在第一直方图当前的阈值范围之内,需要对第一直方图进行重构以使第一直方图能够记录第二数据的分布情况。确定第一直方图中对应的样本数量最小的第二区间,也就是确定第一直方图中高度最低的纵向条纹所在的区间,以及确定第一直方图中第二区间相邻的区间中对应的样本数量最小的第三区间,也就是第二区间的左邻纵向条纹与右邻纵向条纹中高度最低的纵向条纹所在的区间为第三区间,在实际应用中,当第二区间只存在一个相邻区间的情况下,则第三区间对应的是第二区间的相邻区间,示例地,第二区间只存在一个左邻区间,将左邻区间确定为第三区间。
[0073]
s602:在所述第一直方图中将所述第二区间与所述第三区间进行合并,生成第四区间。
[0074]
这里,将第一直方图中第二区间与第三区间进行合并生成新的第四区间,其中,第四区间的区间范围对应的是第二区间与第三区间相加的范围,第四区间对应的纵向条纹的高度为第二区间的纵向条纹高度与第三区间的纵向条纹高度之和,当第二区间与第三区间合并之后,第一直方图区间量在原来的基础上会相应的减小。示例地,当第一直方图原有4个区间,当第二区间与第三区间合并之后,第一直方图将会变成3个区间。在对第一直方图进行重构之后,可以根据第二数据在第一直方图上对应的第一区间以及第一数据量,更新第一直方图,在实际应用中,伴随着在第一直方图中加入第二数据对应的第一区间后,第一直方图从合并后的3个区间变为4个区间,与原有的第一直方图的区间数量保持一致,从而能够保证第一直方图能够反映第一数据的分布情况之外,还能提高数据处理效率。
[0075]
在一实施例中,所述方法还包括:
[0076]
基于拉普拉斯机制,在所述第一直方图上加入设定强度的噪声。
[0077]
这里,物联网设备根据采集到的至少一个第一数据生成对应的第一直方图后,基于拉普拉斯机制,在第一直方图的基础上加入设定强度的噪声,其中,拉普拉斯机制对应的算法表达式为k(d)=f(d) lap(δf/ε),其中,f∈f,且f的敏感度定义为s(f)=max
d1,d2
(∑
f∈f
|f(d1)-f(d2)|),在实际应用中,经过拉普拉斯机制处理的第一直方图为差分隐私直方图,差分隐私直方图有利于保护第一数据的差分隐私,从而提高了数据的安全性。在实际应用,由于第一直方图为经过泛化处理之后的统计结果,因此隐私预算ε可以设置为相对较大的值,进而对第一直方图进行较小的扰动,从而能够保证模型训练过程中的效果。
[0078]
在一实施例中,在根据所述至少一个第一数据生成第一直方图之后,所述方法还包括:
[0079]
存储所述第一直方图中记载的数据统计信息。
[0080]
这里,由于物联网设备获取的第一数据是在不断增长的,无法将所有的数据都存储在硬件资源中,并且为了使物联网设备获取的新数据都能加入到模型训练的过程中,在本技术实施例中,将第一直方图中记载的数据统计信息进行存储,从而物联网设备不会因为参与第一任务而存储过多的数据,同时降低物联网设备在参与第一任务过程中存储资源的消耗。
[0081]
s303:将所述第一直方图发送到第一边缘计算节点,以使所述第一边缘计算节点
基于接收到的直方图进行所述第一任务中的树状结构模型的训练。
[0082]
这里,在物联网设备生成第一直方图之后,将第一直方图发送到第一边缘节点中,以使第一边缘节点能够通过物联网设备发送的第一直方图进行模型训练。在本技术实施例提供的系统架构中,物联网设备负责采集训练模型所需要的样本数据,第一边缘节点负责根据物联网设备采集的样本数据进行模型训练,从而能够减轻物联网设备的负担,也可以进一步提高模型训练的效率以及数据处理效率。
[0083]
在一实施例中,在所述将所述第一直方图发送到第一边缘计算节点之前,所述方法还包括:
[0084]
向所述第一边缘计算节点上报第一信息;其中,
[0085]
所述第一信息表征所述物联网设备的设备信息;所述第一边缘节点基于所述第一信息与所述物联网设备进行配对。
[0086]
这里,在本技术实施例提供的系统架构中存在多个边缘计算节点,因此在物联网设备向第一边缘计算节点发送第一直方图之前,需要向第一边缘计算节点上报第一信息,将物联网设备与边缘计算节点进行配对。在实际应用中,物联网设备需要提供序列号等不同的设备信息,通过认证之后,物联网设备能够与第一边缘节点成功匹配,从而能够使第一边缘计算节点能够接收物联网设备上传的直方图。通过将边缘计算节点与物联网设备之间的配对,从而能够使不同的边缘计算节点更有序地处理不同的数据,并且,能够进一步地提高了数据在传输过程中的安全性。
[0087]
在上述实施例中,物联网设备用于收集用于模型训练的样本数据,并不参与模型训练,从而能够避免物联网设备产生额外的开销,并且,物联网设备能够根据新采集的数据及时更新直方图,直方图与样本数据量的大小无关,避免过分消耗物联网设备的存储资源,此外,向直方图加入较小的拉普拉斯噪声,能够更好地保护数据的隐私安全,提高了数据的安全性。
[0088]
在本技术实施例中,还提供了另一种模型训练方法,如图7所示,所述方法应用于第一边缘计算节点,所述方法包括:
[0089]
s701:接收至少一个第一直方图;所述第一直方图表征由与至少一个边缘计算节点中每个边缘计算节点匹配的物联网设备上传的直方图;所述第一直方图为物联网设备根据第一任务获取的至少一个第一数据生成的;所述第一任务表征基于第一根节点训练树状结构模型的任务。
[0090]
这里,第一边缘计算节点能够匹配多个物联网设备,从而接收多个与第一边缘计算节点匹配的物联网设备上传的第一直方图,其中,第一直方图是物联网设备根据第一任务获取的至少一个第一数据生成的,由于第一边缘计算节点接收物联网设备根据第一任务生成的第一直方图,因而第一边缘计算节点能够根据接收的第一直方图执行所述第一任务。在实际应用中,第一任务是由不同的物联网服务商发布到区块链中,第一任务是基于物联网服务商提供的根节点训练生成模型,为了避免物联网服务商直接将根节点发送给物联网设备,或将根节点存储在云端而带来的故障等问题,物联网服务商会把初始化的参数发布到区块链中,第一边缘计算节点在进行第一任务的模型训练的时候,可以从区块链中获取相应的初始化参数,包括第一根节点。
[0091]
在一实施例中,如图8所示,在所述接收至少一个第一直方图时,所述方法包括:
[0092]
s801:接收第一物联网设备上报的第一信息;所述第一信息表征所述第一物联网设备的设备信息。
[0093]
这里,为了进一步地保证数据传输的安全性,第一边缘计算节点需要对第一物联网设备进行验证,第一边缘计算节点接收第一物联网设备上报的第一信息,其中,第一信息表征第一物联网设备的设备信息,示例地,第一边缘计算节点接收第一物联网设备的序列号等。
[0094]
s802:基于所述第一信息对第一物联网设备进行认证,并在认证通过后与第一物联网设备进行配对。
[0095]
这里,第一边缘计算节点会根据第一信息对第一物联网设备进行认证,示例地,第一边缘计算节点会根据第一信息确定第一物联网设备是否为注册设备,或者是否第一边缘计算节点接收到的第一信息是否存在伪造的情况等,当第一物联网设备通过第一边缘计算节点的认证之后,第一边缘计算节点会与第一物联网设备进行配对。
[0096]
s803在与第一物联网设备处于配对的状态下,接收第一物联网设备上传的第一直方图。
[0097]
这里,第一边缘计算节点与第一物联网设备之间处于配对的状态下,表明第一边缘计算节点信任第一物联网设备,并且信任第一物联网设备上传的数据,因此,第一边缘计算节点会接收第一物联网设备上传的第一直方图,从而能够保证上传的数据是安全的数据,提高了数据的安全性。
[0098]
s702:对所述至少一个第一直方图进行合并处理,生成第二直方图。
[0099]
这里,第二直方图为全局直方图,在实际应用中,会存在多个边缘计算节点参与第一任务的模型训练,而每个边缘计算节点能够配对多个物联网设备,因此,对于一个第一边缘计算节点而言,能够接收到匹配的多个物联网设备上传的第一直方图,将不同边缘计算节点接收到的第一直方图进行交换与合并,从而能够构建全局直方图,即第二直方图包含了参与所有第一任务的物联网设备上传的第一直方图。在实际应用中,第二直方图的生成是基于对不同的第一直方图进行合并处理,从而将所有物联网设备上传的第一直方图合并成为第二直方图。在实际应用中,对于第一直方图的合并可以使用mergehistogram()的方法实现。
[0100]
在一实施例中,所述对所述至少一个直方图进行合并处理,生成第二直方图时,所述方法包括:
[0101]
根据环形全局规约,从至少一个第二边缘计算节点中获取第二物联网设备上传的第一直方图;所述第二物联网设备表征与所述第一边缘节点匹配的第一物联网设备之外的其他物联网设备。
[0102]
这里,第一边缘计算节点需要根据至少一个直方图生成第二直方图,其中,第二直方图是全局直方图,也就是说,第一边缘计算节点除了需要获取与第一边缘计算节点匹配的第一物联网上设备上传的至少一个第一直方图之外,还需要获取第二边缘计算节点接收到的至少一个第一直方图,其中,第二边缘计算节点接收到的至少一个第一直方图是由第二物联网设备上传的,第二物联网设备是指与第一边缘计算节点匹配的第一物联网设备之外的其他物联网设备。在实际应用中,由于每个物联网设备的能力状况不一样,例如网络状况、电量、计算资源等,因此,与物联网设备匹配的边缘计算节点收到上传的第一直方图的
时间花销较大,为了进一步节省数据传输的时间以及提高数据传输的效率,在本技术实施例中,利用环形全局规约的传输方法,在边缘计算节点等待物联网设备的同时,将第一直方图在不同的边缘计算节点之间传输,环形全局规约适用于多个不相交的数据子集交换数据,并且数据传输量与节点数量无关,因此边缘计算节点能够在最短时间内获取其他边缘计算节点接收到的第一直方图。在本技术实施例中,如图9所示,图9示出了根据环形全局规约传输第一直方图的示意图,每个边缘计算节点根据索引组成一个环状,每个边缘计算节点都有逻辑上的左邻居与右邻居,假设每个边缘计算节点都匹配k个物联网设备,当每个边缘计算节点获取到的物联网设备上传的第一直方图,也就是说,k个物联网设备中有一个物联网设备向边缘计算节点上传第一直方图,开始对第一直方图进行传输,每个边缘计算节点向右邻居发送第一直方图,与此同时,边缘计算节点继续等待着匹配的其他物联网设备上传的第一直方图,至此第一轮传输完成。边缘计算节点在接收到另一个匹配物联网设备上传的第一直方图之后,将本轮接收到的第一直方图与上一轮从左邻居接收到的第一直方图汇总发送给右邻居,直至每个边缘计算节点拥有了所有边缘计算节点的第一直方图后,生成第二直方图。
[0103]
s703:基于所述第二直方图,通过拜占庭共识与决策树验证算法对所述树状结构模型进行训练。
[0104]
这里,第一边缘节点根据第二直方图,通过拜占庭共识与决策树验证算法对树状结构模型进行训练,其中,树状结构模型的分裂方案是基于决策树验证算法生成的,采用拜占庭共识确定树状结构模型的分裂方案是否通过验证。在实际应用中,拜占庭共识可以为raft等,训练生成的模型直接存储在区块链上。在实际应用中,由于采取决策树验证算法进行模型训练,产生较少冗余的中间信息,无需解决区块链上计算资源不足的问题,并且通过多个边缘计算节点进行拜占庭共识能够进一步保障安全性。在实际应用中,训练生成的模型适合应用于大规模状态数据的数据挖掘任务中。
[0105]
在一实施例中,如图10所示,所述基于所述第二直方图,通过拜占庭共识与决策树验证算法对所述树状结构模型进行训练,包括:
[0106]
s1001:根据所述第一任务的任务类型,确定所述至少一个边缘计算节点中每个边缘计算节点对应的第一分割点;所述第一分割点表征所述第二直方图中携带的至少一个第一数据的分割点。
[0107]
这里,根据第一任务的任务类型,确定至少一个边缘计算节点中每个边缘计算节点对应的第一分割点,在实际应用中,第一任务可以分为分类任务与回归任务,对于不同任务类型,边缘计算节点确定第一分割点的方法是不同的,当第一任务为分类任务,则对应计算第一分割点的算法表达式为:
[0108][0109]
其中,igj表示第j个属性的信息增益,w表示分裂值,w1,w2分别表示该属性值的上下界。h为条件熵和分别是依据j属性划分之后左样本集和右样本集的条件熵,o为当前正在分裂的决策树节点,y是当前决策树的输出(预测值),p(w1≤xj≤w)为属性xj值为
[w1,w)的概率。
[0110]
当第一任务为回归任务的情况下,对应第一分割点的算法表达式为:当第一任务为回归任务的情况下,对应第一分割点的算法表达式为:
[0111]
其中,vg为方差增益,σj为样本集在属性j上的条件方差。通过第一任务的具体类型,选择对应的第一分割点的确定方法。
[0112]
s1002:确定至少一个边缘计算节点中每个边缘计算节点的第一分割点对应的第一增益。
[0113]
这里,确定至少一个边缘计算节点中每个边缘计算节点的第一分割点对应的第一增益,其中,第一增益可以表示第一直方图在分裂前后的数据复杂度和分裂节点数据复杂度的变化值,第一增益可以通过熵或基尼值计算得到。熵描述了数据的混乱程度,熵越大,混乱程度越高,对应的纯度越低,熵对应的算法表达式为:其中,pi表示第i类数据的数量占比,假设当存在共两类数据,并且两类的数据的数量相同,此时对应的分割点的纯度最低,熵为1,如果分割点的数据属于同一类时,此时对应的分给点的纯度最高,熵为0。基尼值对应的算法表达式为:其中,pi表示第i类数据的数量占比,同样地以存在共两类数据,并且两类的数据的数量相同为例,当两类数据的数量相同时,基尼值为0.5,当对应的分割点的数据属于同一类时,基尼值为0,基尼值越大,数据的纯度越低。
[0114]
s1003:确定第一节点数量;所述第一节点数量表征对应的第一增益小于设定的边缘计算节点对应的第一增益的边缘计算节点的数量。
[0115]
这里,当边缘计算节点确定出对应的第一分割点的时候,每个第一分割点对应的是不同的分割方案,需要通过拜占庭公式来验证这些分割方案,在本技术实施例中,每个边缘计算节点需要对分割方案进行确认,还需要将验证的方案与边缘计算节点对应的第一分割点的分割方案进行比较。确定第一节点数量,其中,第一节点数量表征对应的第一增益小于设定的边缘计算节点对应的第一增益的边缘计算节点的数量,这里的设定的边缘计算节点为基于拜占庭公式的设定规则选择的leader节点,那么边缘计算节点中除leader节点之外的节点为follower节点,leader节点会将自己计算的第一分割点对应的分割方案向follower节点广播,follower节点会将自己对应的第一增益与leader节点对应的第二增益进行比较,当follower节点的第一增益小于leader节点的第二增益的时候,视为follower节点赞成leader节点提出的第一分割点对应的分割方案。当follower节点的第一增益大于leader节点的第二增益的时候,视为follower节点拒绝leader节点提出的第一分割点对应的分割方案。通过follower节点的第一增益与leader节点的第二增益的比较,确定第一节点数量。
[0116]
s1004:在所述第一节点数量大于或等于第一设定阈值的情况下,将所述设定的第一边缘节点的第一分割点存储到新建的区块中。
[0117]
这里,当第一节点数量大于或等于第一设定阈值的时候,例如,第一节点数量大于或等于所有边缘计算节点数量的三分之二的时候,视为大多数follower节点赞同leader节点的第一分割点对应的分裂方案,那么将leader节点的第一分割点存储到新建的区块中,完成树状结构模型的一个分支训练。
[0118]
在一实施例中,在所述第一节点数量小于所述设定阈值的情况下,所述方法还包括:
[0119]
将至少一个第三边缘计算节点中的一个第三边缘计算节点更新为所述设定的边缘计算节点;所述第三边缘计算节点表征对应的第一增益大于设定的边缘计算节点对应的第一增益的边缘计算节点。
[0120]
这里,当第一节点数量小于设定阈值的情况下,也就是说,大多数follower节点不赞同leader节点的第一分割点对应的分裂方案,在这种情况下,将至少一个第三边缘计算节点中的一个第三边缘计算节点更新为设定的边缘计算节点,其中,第三边缘计算节点表征对应的第一增益大于设定的边缘计算节点对应的第一增益的边缘节点,也就是说,从拒绝上任leader节点的第一分割点对应的分割方案的follower节点中选出新任的leader节点。在实际应用中,将拒绝leader节点的第一分割点对应的分割方案的follower节点随机设置一个暂停工作的时间段,当首先恢复工作的follower节点作为新任的leader节点,上任的leader节点会转变为follower节点。当确定出新任的leader节点之后,将leader节点的第一分割点对应的分割方案广播给其他follower节点,通过follower节点继续对新任leader节点提出的分割方案进行验证。
[0121]
在一实施例中,所述方法还包括:
[0122]
在满足第一设定条件的情况下,停止模型训练;其中,
[0123]
所述第一设定条件为以下任一项:
[0124]
所述第一边缘计算节点中接收的第一直方图中所含有的第二数据量少于第二设定阈值;
[0125]
所述第一边缘计算节点对应的第一增益与所述设定的边缘计算节点对应的第一增益均小于第三设定阈值;
[0126]
训练生成的树状结构模型的深度等于或大于所述第一任务规定的最大深度。
[0127]
这里,当满足第一设定条件的时候,停止模型训练,将第一边缘计算节点提交到区块链中的模型作为第一任务的训练结果,其中,第一设定条件可以为第一边缘计算节点中接收的第一直方图中所含有的第二数据量小于第二设定阈值,这里,由于第一边缘计算节点能够接收匹配的多个物联网设备上传的第一直方图作为训练样本,第一直方图能够记录物联网设备采集的第一数据的分布情况,从而能够从第一直方图中获取作为模型训练的数据样本的数据量,当第一边缘计算节点接收的第一直方图中所含有的第二数据量过少的情况下,再进行分裂提案容易强化噪声数据,并且,由于第二数据量过少,将会降低决策树生长的复杂性,从而能够在一定程度上降低过拟合的影响。另一停止模型训练的条件可以为第一边缘计算节点对应的第一增益与设定的边缘计算节点对应的第一增益均小于第三设定阈值,其中,第一增益的大小可以表示数据的复杂程度,当第一增益过小,表明了数据纯度比较大。最后一个可以停止模型训练的条件为训练生成的树状结构模型的深度大于或等于第一任务规定的最大深度,也就是说,训练生成的树状结构模型已经满足了物联网服务
商的需求,因而停止模型的继续训练。
[0128]
在上述实施例中,通过边缘计算节点接收的物联网设备上传的直方图进行模型训练,在边缘计算节点侧进行模型训练,并且在通信量恒定的情况下交换直方图数据,能够在有限的资源中提高了数据的处理效率与传输效率,进而有利于提高模型训练的效果,在模型训练的过程中,通过决策树验证算法与拜占庭共识的融合,能够提高模型训练的效果。
[0129]
为实现本发明实施例的模型训练方法,本发明实施例还提供了一种模型训练装置,如图11所示,该装置包括:
[0130]
获取单元1101,用于基于发布在区块链中的第一任务,获取至少一个第一数据;所述第一任务表征训练树状结构模型的任务;所述第一数据表征物联网设备采集得到的数据;
[0131]
第一生成单元1102,用于根据所述至少一个第一数据生成第一直方图;所述第一直方图表征所述第一数据的分布情况;
[0132]
发送单元1103,用于将所述第一直方图发送到第一边缘计算节点,以使所述第一边缘计算节点基于接收到的直方图进行所述第一任务中的树状结构模型的训练。
[0133]
在一实施例中,所述第一生成单元1102在根据所述至少一个第一数据生成第一直方图时,还用于:
[0134]
根据设定的第一分割点,将所述至少一个第一数据切分为第一数据集与第二数据集;
[0135]
根据所述第一数据集与所述第二数据集,生成第一直方图。
[0136]
在一实施例中,所述装置还用于:
[0137]
在存在第二数据的情况下,确定所述第二数据在所述第一直方图中落入的第一区间;所述第二数据表征所述物联网设备新采集到的数据;
[0138]
根据所述第一区间以及所述第二数据的第一数据量,更新所述第一直方图。
[0139]
在一实施例中,所述装置还用于:
[0140]
在第二数据对应的第一区间超出所述第一直方图的区间范围的情况下,确定第二区间与第三区间;所述第二区间表征所述第一直方图中对应的样本数量最小的区间;所述第三区间表征所述第二区间相邻的区间中对应的样本数量最小的区间;
[0141]
在所述第一直方图中将所述第二区间与所述第三区间进行合并,生成第四区间。
[0142]
在一实施例中,所述发送单元1103在所述将所述第一直方图发送到第一边缘计算节点之前,还用于:
[0143]
向所述第一边缘计算节点上报第一信息;其中,
[0144]
所述第一信息表征所述物联网设备的设备信息;所述第一边缘节点基于所述第一信息与所述物联网设备进行配对。
[0145]
在一实施例中,所述生成单元1102在根据所述至少一个第一数据生成第一直方图之后,还用于:
[0146]
存储所述第一直方图中记载的数据统计信息。
[0147]
在一实施例中,所述装置还用于:
[0148]
基于拉普拉斯机制,在所述第一直方图上加入设定强度的噪声。
[0149]
实际应用时,获取单元1101、第一生成单元1102、发送单元1103可由模型训练装置
中的处理器来实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
[0150]
需要说明的是,上述图11实施例提供的模型训练装置在进行模型训练时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的模型训练装置与模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0151]
本技术实施例还提供了另一种模型训练装置,如图12所示,该装置包括:
[0152]
接收单元1201,用于接收至少一个第一直方图;所述第一直方图表征由与至少一个边缘计算节点中每个边缘计算节点匹配的物联网设备上传的直方图;所述第一直方图为物联网设备根据第一任务获取的至少一个第一数据生成的;所述第一任务表征基于第一根节点训练树状结构模型的任务;
[0153]
第二生成单元1202,用于对所述至少一个第一直方图进行合并处理,生成第二直方图;
[0154]
训练单元1203,用于基于所述第二直方图,通过拜占庭共识与决策树验证算法对所述树状结构模型进行训练。
[0155]
在一实施例中,所述接收单元1201在所述接收至少一个第一直方图时,所述装置还用于:
[0156]
接收第一物联网设备上报的第一信息;所述第一信息表征所述第一物联网设备的设备信息;
[0157]
基于所述第一信息对第一物联网设备进行认证,并在认证通过后与第一物联网设备进行配对;
[0158]
在与第一物联网设备处于配对的状态下,接收第一物联网设备上传的第一直方图。
[0159]
在一实施例中,所述第二生成单元1202在对所述至少一个直方图进行合并处理,生成第二直方图时,还用于:
[0160]
根据环形全局规约,从至少一个第二边缘计算节点中获取第二物联网设备上传的第一直方图;所述第二物联网设备表征与所述第一边缘节点匹配的第一物联网设备之外的其他物联网设备。
[0161]
在一实施例中,所述训练单元1203在基于所述第二直方图,通过拜占庭共识与决策树验证算法对所述树状结构模型进行训练时,还用于:
[0162]
根据所述第一任务的任务类型,确定所述至少一个边缘计算节点中每个边缘计算节点对应的第一分割点;所述第一分割点表征所述第二直方图中携带的至少一个第一数据的分割点;
[0163]
确定至少一个边缘计算节点中每个边缘计算节点的第一分割点对应的第一增益;
[0164]
确定第一节点数量;所述第一节点数量表征对应的第一增益小于设定的边缘计算节点对应的第一增益的边缘计算节点的数量;
[0165]
在所述第一节点数量大于或等于第一设定阈值的情况下,将所述设定的第一边缘节点的第一分割点存储到新建的区块中。
[0166]
在一实施例中,所述训练单元1203在所述第一节点数量小于所述设定阈值的情况下,还用于:
[0167]
将至少一个第三边缘计算节点中的一个第三边缘计算节点更新为所述设定的边缘计算节点;所述第三边缘计算节点表征对应的第一增益大于设定的边缘计算节点对应的第一增益的边缘计算节点。
[0168]
在一实施例中,所述装置还用于:
[0169]
在满足第一设定条件的情况下,停止模型训练;其中,
[0170]
所述第一设定条件为以下任一项:
[0171]
所述第一边缘计算节点接收的第一直方图中所含有的第二数据量少于第二设定阈值;
[0172]
所述第一边缘计算节点对应的第一增益与所述设定的边缘计算节点对应的第一增益均小于第三设定阈值;
[0173]
训练生成的树状结构模型的深度等于或大于所述第一任务规定的最大深度。
[0174]
实际应用时,接收单元1201、第二生成单元1202、训练单元1203可由模型训练装置中的处理器来实现。当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。
[0175]
需要说明的是,上述图12实施例提供的模型训练装置在进行模型训练时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的模型训练装置与模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0176]
基于上述程序模块的硬件实现,且为了实现本技术实施例的方法,本技术实施例还提供了一种电子设备,图13为本技术实施例电子设备的硬件组成结构示意图,如图13所示,电子设备包括:
[0177]
通信接口1,能够与其它设备比如网络设备等进行信息交互;
[0178]
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的模型训练方法。而所述计算机程序存储在存储器3上。
[0179]
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图13中将各种总线都标为总线系统4。
[0180]
本技术实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
[0181]
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储
器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
[0182]
上述本技术实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
[0183]
处理器2执行所述程序时实现本技术实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
[0184]
在示例性实施例中,本技术实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0185]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0186]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0187]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述
集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0188]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0189]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0190]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献