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

基于区块链的设备选择方法、装置、设备及可读存储介质与流程

2022-03-08 22:50:28 来源:中国专利 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.可选地,所述基于所述全局参数和所述历史设备参数,计算所述目标设备的距离得分,包括:
26.计算所述全局参数与所述历史设备参数之间的余弦值,得到余弦相似距离;
27.获取所述全局参数对应的维度数值,计算所述全局参数与所述参数备份集中每个备份参数之间的指数差值,得到多个指数差值,所述指数差值中的指数参数是根据变化的所述维度数值计算得出的;
28.对所述多个指数差值进行求和运算,得到距离和值,计算所述余弦相似距离与预设参数的第一乘积和所述距离和值与所述预设参数的第二乘积;
29.计算所述第一乘积和所述第二乘积的和值,将所述和值作为所述距离得分。
30.可选地,所述将所述距离得分与预设得分进行比对,若所述目标设备的所述距离得分高于得分阈值,则指定所述目标设备进行下一轮模型训练,包括:
31.将所述距离得分与所述得分阈值进行比对,生成比对结果;
32.若所述比对结果指示所述距离得分小于所述得分阈值,则确定所述距离得分对应的所述目标设备,禁止所述目标设备进入下一轮更新;
33.若所述比对结果指示所述距离得分大于等于所述得分阈值,则指定所述距离得分对应的所述目标设备进行下一轮模型训练。
34.依据本技术第二方面,提供了一种基于区块链的设备选择装置,该装置包括:
35.清洗模块,用于在区块链网络中获取参数备份集,依据数据清洗算法对所述参数备份集进行数据清洗,得到全部设备对应的历史设备参数;
36.获取模块,用于获取当前被选中的目标设备上传的设备参数,对所述设备参数进行聚合运算,得到全局参数,所述设备参数是所述目标设备在本地进行模型训练得到的训练参数;
37.计算模块,用于基于所述全局参数和所述历史设备参数,计算所述目标设备的距离得分;
38.比对模块,用于将所述距离得分与预设得分进行比对,若所述目标设备的所述距离得分高于得分阈值,则选择所述目标设备进行下一轮模型训练。
39.可选地,所述清洗模块,用于在所述区块链网络中获取所述参数备份集,依据所述数据清洗算法对所述参数备份集进行识别,得到多个历史参数备份,所述多个历史参数备份包括多个历史参数摘要的第一哈希值和多个历史参数地址的第二哈希值;识别所述多个历史参数备份,将所述第一哈希值相同的历史参数备份划分为同一设备组,得到多个设备组;对所述多个设备组中每个设备组,提取一个所述历史参数备份作为备份参数,获得所述多个设备组的多个备份参数;对所述多个备份参数的第二哈希值进行哈希映射,确定所述多个备份参数的历史参数地址,在所述历史参数地址中获取对应的历史设备参数,得到所述全部设备的历史设备参数。
40.可选地,所述获取模块,用于获取所述目标设备上传的所述设备参数,确定所述设备参数对应的维度数值,对所述设备参数进行向量指数运算,得到向量矩阵,所述指数运算中的指数参数是根据变化的所述维度数值计算得出的;依据数据聚类算法对所述向量矩阵进行聚合运算,得到所述向量矩阵的聚合运算结果,将所述聚合运算结果作为所述目标设备的所述全局参数。
41.可选地,所述装置还包括:
42.确定模块,用于获取所述当前被选中的目标设备上传的设备参数,确定所述设备参数的参数摘要和参数地址,所述参数摘要用于指示所述设备参数对应的所述目标设备的设备身份;
43.运算模块,用于基于哈希算法,对所述参数摘要和所述参数地址进行哈希运算,得到所述参数摘要的第一哈希值和所述参数地址的第二哈希值;
44.生成模块,用于对所述第一哈希值和所述第二哈希值进行关联,生成参数备份,将所述参数备份上传至所述区块链网络以使所述区块链网络更新所述参数备份集;
45.统计模块,用于持续统计获取所述参数备份集的时间间隔,当所述时间间隔达到预设时间间隔时,重新在所述区块链网络中获取所述参数备份集,计算所述目标设备的所述距离得分,选择所述距离得分高于所述预设得分的所述目标设备进行下一轮模型训练。
46.可选地,所述计算模块,用于计算所述全局参数与所述历史设备参数之间的余弦值,得到余弦相似距离;获取所述全局参数对应的维度数值,计算所述全局参数与所述参数备份集中每个备份参数之间的指数差值,得到多个指数差值,所述指数差值中的指数参数是根据变化的所述维度数值计算得出的;对所述多个指数差值进行求和运算,得到距离和值,计算所述余弦相似距离与预设参数的第一乘积和所述距离和值与所述预设参数的第二乘积;计算所述第一乘积和所述第二乘积的和值,将所述和值作为所述距离得分。
47.可选地,所述比对模块,用于将所述距离得分与所述得分阈值进行比对,生成比对结果;若所述比对结果指示所述距离得分小于所述得分阈值,则确定所述距离得分对应的所述目标设备,禁止所述目标设备进入下一轮更新;若所述比对结果指示所述距离得分大于等于所述得分阈值,则指定所述距离得分对应的所述目标设备进行下一轮模型训练。
48.依据本技术第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述方法的步骤。
49.依据本技术第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
50.借由上述技术方案,本技术提供的一种基于区块链的设备选择方法、装置、设备及可读存储介质,本技术需要先在区块链网络中获取参数备份集,依据数据清洗算法对参数备份集进行数据清洗,得到全部设备的历史设备参数,再获取目标设备在本地进行模型训练得到的设备参数,对设备参数进行聚合运算,得到全局参数。接下来,基于全局参数和历史设备参数,计算目标设备的距离得分。最后,将距离得分与预设得分进行比对,若目标设备的距离得分高于得分阈值,则选择目标设备进行下一轮模型训练。通过计算目标设备最新的聚合参数与区块链上参数备份集中目标设备对应的历史设备参数之间的距离得分,选择出得分高于平均值的设备,即设备性能更好、更稳定的设备进行后续的模型训练,避免无用设备参与模型训练,提高模型训练效率和准确度。
51.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
52.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
53.图1示出了本技术实施例提供的一种基于区块链的设备选择方法流程示意图;
54.图2示出了本技术实施例提供的一种基于区块链的设备选择方法流程示意图;
55.图3a示出了本技术实施例提供的一种基于区块链的设备选择装置的结构示意图;
56.图3b示出了本技术实施例提供的一种基于区块链的设备选择装置的结构示意图;
57.图4示出了本技术实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
58.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
59.本技术实施例提供了一种基于区块链的设备选择方法,如图1所示,该方法包括:
60.101、在区块链网络中获取参数备份集,依据数据清洗算法对参数备份集进行数据
清洗,得到全部设备的历史设备参数。
61.102、获取当前被选中的目标设备上传的设备参数,对设备参数进行聚合运算,得到全局参数,设备参数是目标设备在本地进行模型训练得到的训练参数。
62.103、基于全局参数和历史设备参数,计算目标设备的距离得分。
63.104、将距离得分与预设得分进行比对,若目标设备的距离得分高于得分阈值,则选择目标设备进行下一轮模型训练。
64.本技术实施例提供的方法,需要先在区块链网络中获取参数备份集,依据数据清洗算法对参数备份集进行数据清洗,得到全部设备的历史设备参数,再获取目标设备在本地进行模型训练得到的设备参数,对设备参数进行聚合运算,得到全局参数。接下来,基于全局参数和历史设备参数,计算目标设备的距离得分。最后,将距离得分与预设得分进行比对,若目标设备的距离得分高于得分阈值,则选择目标设备进行下一轮模型训练。通过计算目标设备最新的聚合参数与区块链上参数备份集中目标设备对应的历史设备参数之间的距离得分,选择出得分高于平均值的设备,即设备性能更好、更稳定的设备进行后续的模型训练,避免无用设备参与模型训练,提高模型训练效率和准确度。
65.本技术实施例提供了一种基于区块链的设备选择方法,如图2所示,该方法包括:
66.201、在区块链网络中获取参数备份集,依据数据清洗算法对参数备份集进行数据清洗,得到全部设备的历史设备参数。
67.随着互联网技术的不断进步,区块链技术的不断发展,使得区块链网络的运算需求迅速增长,越来越多的区块链网络采用边缘计算的方式将部分计算任务在网络的边缘设备上完成,提升区块链网络的计算能力和计算速度。目前,区块链网络会在接入网络的全部设备中选取一定数量的目标设备用于边缘计算进行模型训练任务,在任务完成后,目标设备将训练得出的模型参数上传至区块链网络中进行存储。但是,申请人认识到,在边缘计算场景下,不同目标设备的设备性能也存在明显的差异,一些目标设备由于性能较差,容易在进行模型训练时出现泛化能力弱的情况,导致模型训练的效率、准确率不高。
68.因此,本技术提供的一种基于区块链的设备选择方法、装置、设备及可读存储介质,本技术需要先在区块链网络中获取参数备份集,依据数据清洗算法对参数备份集进行数据清洗,得到全部设备的历史设备参数,再获取目标设备在本地进行模型训练得到的设备参数,对设备参数进行聚合运算,得到全局参数,随后,基于全局参数和历史设备参数,计算目标设备的距离得分,最后,将距离得分与预设得分进行比对,若目标设备的距离得分高于得分阈值,则选择目标设备进行下一轮模型训练。通过计算目标设备最新的聚合参数与区块链上参数备份集中目标设备对应的历史设备参数之间的距离得分,选择出得分高于平均值的设备,即设备性能更好、更稳定的设备进行后续的模型训练,避免无用设备参与模型训练,提高模型训练效率和准确度。
69.其中,本技术应用于区块链网络中的聚合服务器,区块链网络会在多个区块链节点中选取一个区块链节点作为聚合服务器,用于计算目标设备最新的聚合参数并计算最新的聚合参数与区块链上参数备份集中对应的原始参数的向量相似度,得到目标设备的距离得分。实际上,一个区块链网络会选取多个目标设备进行模型训练,也就是说,多个目标设备中的每个目标设备都会上传设备参数至聚合服务器,聚合服务器会对每个目标设备执行下述步骤计算距离得分,判断是否选择当前目标设备继续进行下一轮模型训练。
70.在本技术实施例中,由于边缘目标设备执行完成本地训练任务后,会上传设备参数给聚合服务器,聚合服务器将设备参数的参数摘要和存放位置上传到区块链网络,维持一个包含全部设备参数摘要的参数备份集。因此,聚合服务器可以基于参数备份集,获取目标设备的历史参数备份,根据历史参数备份获取历史设备参数作为历史设备参数。
71.具体地,聚合服务器在区块链网络中获取参数备份集,需要说明的是,参数备份集中包含有全部被选中的目标设备的历史参数备份,每一个目标设备的历史参数备份中存储有历史参数摘要和历史参数地址的哈希运算结果。也就是说,多个历史参数备份包括多个历史参数摘要的第一哈希值和多个历史参数地址的第二哈希值。随后,依据数据清洗算法对参数备份集进行识别,得到多个历史参数备份。在实际应用过程中,聚合服务器通过识别多个历史参数备份,将第一哈希值相同的历史参数备份划分为同一设备组,得到多个设备组。对多个设备组中每个设备组,提取一个历史参数备份作为备份参数,获得多个设备组的多个备份参数,也就是说一个目标设备仅保留有一个历史参数备份。最后,聚合服务器对多个备份参数的第二哈希值进行哈希映射,确定多个备份参数的历史参数地址。需要说明的是,由于历史参数地址是用于指示存放历史设备参数的存放位置,因此,聚合服务器可以通过在历史参数地址中获取对应的历史设备参数,得到全部设备的历史设备参数。
72.聚合服务器对包含有全部设备参数的参数备份集进行预处理,得到目标设备对应的历史设备参数,进而计算目标设备最新的全局参数与历史设备参数的向量相似度,确定当前设备的性能是否稳定,并能够满足区块链网络对边缘计算场景下的目标设备性能的要求。
73.202、获取当前被选中的目标设备上传的设备参数,对设备参数进行聚合运算,得到全局参数。
74.在本技术实施例中,被选中的目标设备会下载最新的全局模型进行本地训练,在训练结束后,将训练结果上传到聚合服务器中,由聚合服务器对当前被选中的目标设备上传的设备参数进行聚合运算,得到全局参数。具体得到全局参数的过程如下:
75.首先,聚合服务器获取当前被选中的目标设备上传的设备参数,确定设备参数对应的维度数值,对设备参数进行向量指数运算,得到向量矩阵。需要说明的是,聚合服务器需要确定设备参数的向量维度,基于向量维度,确定目标设备的向量矩阵。例如,对于n个参与设备节点,各个参与节点i通过本地数据训练获得本地模型参数ωi,若设备参数存在d个维度,则全部设备参数矩阵表示为:
[0076][0077]
随后,依据数据聚类算法对向量矩阵进行聚合运算,得到向量矩阵的聚合运算结果,将聚合运算结果作为目标设备的全局参数。例如,若当前选中i
1-ik共k个目标设备,聚合后i
1-ik对应的参数矩阵的行更新为最新全局参数:
[0078][0079]
需要说明的是,聚合服务器需要将当前被选中的目标设备上传的设备参数存储至区块链网络,以使区块链网络能够存储一个包含全部设备参数的集合,也就是参数备份集。具体地,聚合服务器获取目标设备上传的设备参数,确定设备参数的参数摘要和参数地址,其中,参数摘要用于指示设备参数对应的目标设备的设备身份。随后,基于哈希算法,对参数摘要和参数地址进行哈希运算,得到参数摘要的第一哈希值和参数地址的第二哈希值,对第一哈希值和第二哈希值进行关联,生成参数备份,将参数备份上传至区块链网络以使区块链网络更新参数备份集。最后,持续统计获取参数备份集的时间间隔,当时间间隔达到预设时间间隔时,重新在区块链网络中获取参数备份集,计算目标设备的距离得分,选择距离得分高于预设得分的目标设备进行下一轮模型训练。
[0080]
聚合服务器将本轮的设备参数上传至区块链网络进行备份,使其作为下一轮的历史设备参数,用以计算与下一轮最新全局参数之间的距离得分,依据距离得分判断目标设备能否继续被选择进行模型训练。通过不断计算最新的设备参数与原始的设备参数之间的向量相似度,选取性能更好、更稳定的目标设备继续进行模型训练,淘汰无用的目标设备,进而提高模型训练的效率和准确率。
[0081]
203、基于全局参数和历史设备参数,计算目标设备的距离得分。
[0082]
在本技术实施例中,聚合服务器在计算出全局参数之后,基于全局参数和历史设备参数,计算目标设备的距离得分,也就是目标设备当前的全局参数与历史设备参数之间的向量相似度。计算距离得分的具体过程如下:
[0083]
首先,计算全局参数与历史设备参数之间的余弦值,得到余弦相似距离,具体计算余弦相似距离的过程可以基于下述公式1实现:
[0084]
公式1:
[0085]
其中,w
global
为目标设备参数的全局参数、wi为目标设备参数的向量矩阵。实际应用过程中,聚合服务器计算全局参数与向量矩阵的乘积w
global
·
wi作为第一乘积,计算全局参数的模值与向量矩阵的模值的乘积||w
global
||
·
||wi||作为第二乘积,通过计算第一乘积与第二乘积之间的比值,得到余弦相似距离。
[0086]
随后,获取全局参数对应的维度数值,计算全局参数与参数备份集中每个备份参数之间的指数差值,得到多个指数差值,需要说明的是,指数差值中的指数参数是根据变化的维度数值计算得出的。再对多个指数差值进行求和运算,得到距离和值。具体求和运算的过程可以基于下述公式2实现:
[0087]
公式2:
[0088]
其中,d为设备参数的维度数值;j为指数参数;j的取值范围会根据d的变化而变
化;通过计算多个指数差值。
[0089]
最后,计算余弦相似距离与预设参数的第一乘积和距离和值与预设参数的第二乘积,计算第一乘积和第二乘积的和值,将和值作为距离得分。具体计算距离得分的过程可以基于下述公式3实现:
[0090]
公式3:score(w
global
,wi)=0.5*dis(w
global
,wi) 0.5*cosθ
[0091]
其中,0.5为预设参数,可以是系统默认的权重数值也可以是工作人员根据实际需要设置的。实际上,公式3中的两个预设参数的和值为1,其取值可以不同,本技术对预设参数的数值大小不进行具体限定。
[0092]
聚合服务器通过计算全局参数与历史设备参数之间的余弦相似距离和距离和值,得到目标设备参数的距离得分,以使聚合服务器基于距离得分判断目标设备能够继续下一轮模型训练。
[0093]
204、将距离得分与预设得分进行比对,若目标设备的距离得分高于得分阈值,则选择目标设备进行下一轮模型训练。
[0094]
在本技术实施例中,聚合服务器会将距离得分与预设得分进行比对,基于比对结果判断当前被选中的目标设备能否继续进行下一次的模型训练。
[0095]
具体地,将距离得分与得分阈值进行比对,生成比对结果。其中,得分阈值可以采用聚合服务器默认的数值,也可以是相关工作人员根据实际需要设置的数值本技术对得分阈值的大小不进行具体限定。若比对结果指示距离得分小于得分阈值,则确定距离得分对应的目标设备,禁止目标设备进入下一轮更新。若比对结果指示距离得分大于等于得分阈值,则指定距离得分对应的目标设备进行下一轮模型训练。
[0096]
通过将计算得出的距离得分与预设得分进行比对,可以得出目标设备本次设备参数与历史设备参数之间的向量相似度是否符合预设的条件,若向量相似度符合预设的条件,则可以选择当前的目标设备继续进行下一轮的本地训练,若向量相似度不符合预设的条件,则说明该目标设备的性能稳定性较低,与其他设备的性能差异较大,禁止其进行下一轮模型训练。
[0097]
本技术实施例提供的方法,需要先在区块链网络中获取参数备份集,依据数据清洗算法对参数备份集进行数据清洗,得到全部设备的历史设备参数,再获取目标设备在本地进行模型训练得到的设备参数,对设备参数进行聚合运算,得到全局参数。接下来,基于全局参数和历史设备参数,计算目标设备的距离得分。最后,将距离得分与预设得分进行比对,若目标设备的距离得分高于得分阈值,则选择目标设备进行下一轮模型训练。通过计算目标设备最新的聚合参数与区块链上参数备份集中目标设备对应的历史设备参数之间的距离得分,选择出得分高于平均值的设备,即设备性能更好、更稳定的设备进行后续的模型训练,避免无用设备参与模型训练,提高模型训练效率和准确度。
[0098]
进一步地,作为图1所述方法的具体实现,本技术实施例提供了一种基于区块链的设备选择装置,如图3a所示,所述装置包括:清洗模块301、获取模块302、计算模块303、比对模块304。
[0099]
该清洗模块301,用于在区块链网络中获取参数备份集,依据数据清洗算法对所述参数备份集进行数据清洗,得到全部设备的历史设备参数;
[0100]
该获取模块302,用于获取当前被选中的目标设备上传的设备参数,对所述设备参数进行聚合运算,得到全局参数,所述设备参数是所述目标设备在本地进行模型训练得到的训练参数;
[0101]
该计算模块303,用于基于所述全局参数和所述历史设备参数,计算所述目标设备的距离得分;
[0102]
该比对模块304,用于将所述距离得分与预设得分进行比对,若所述目标设备的所述距离得分高于得分阈值,则选择所述目标设备进行下一轮模型训练。
[0103]
在具体的应用场景中,该清洗模块301,用于在所述区块链网络中获取所述参数备份集,依据所述数据清洗算法对所述参数备份集进行识别,得到多个历史参数备份,所述多个历史参数备份包括多个历史参数摘要的第一哈希值和多个历史参数地址的第二哈希值;识别所述多个历史参数备份,将所述第一哈希值相同的历史参数备份划分为同一设备组,得到多个设备组;对所述多个设备组中每个设备组,提取一个所述历史参数备份作为备份参数,获得所述多个设备组的多个备份参数;对所述多个备份参数的第二哈希值进行哈希映射,确定所述多个备份参数的历史参数地址,在所述历史参数地址中获取对应的历史设备参数,得到所述全部设备的历史设备参数。
[0104]
在具体的应用场景中,该获取模块302,用于获取所述目标设备上传的所述设备参数,确定所述设备参数对应的维度数值,对所述设备参数进行向量指数运算,得到向量矩阵,所述指数运算中的指数参数是根据变化的所述维度数值计算得出的;依据数据聚类算法对所述向量矩阵进行聚合运算,得到所述向量矩阵的聚合运算结果,将所述聚合运算结果作为所述目标设备的所述全局参数。
[0105]
在具体的应用场景中,如图3b所示,所述装置还包括:确定模块305、运算模块306、生成模块307、统计模块308。
[0106]
该确定模块305,用于获取所述当前被选中的目标设备上传的设备参数,确定所述设备参数的参数摘要和参数地址,所述参数摘要用于指示所述设备参数对应的所述目标设备的设备身份;
[0107]
该运算模块306,用于基于哈希算法,对所述参数摘要和所述参数地址进行哈希运算,得到所述参数摘要的第一哈希值和所述参数地址的第二哈希值;
[0108]
该生成模块307,用于对所述第一哈希值和所述第二哈希值进行关联,生成参数备份,将所述参数备份上传至所述区块链网络以使所述区块链网络更新所述参数备份集;
[0109]
该统计模块308,用于持续统计获取所述参数备份集的时间间隔,当所述时间间隔达到预设时间间隔时,重新在所述区块链网络中获取所述参数备份集,计算所述目标设备的所述距离得分,选择所述距离得分高于所述预设得分的所述目标设备进行下一轮模型训练。
[0110]
在具体的应用场景中,该计算模块303,用于计算所述全局参数与所述历史设备参数之间的余弦值,得到余弦相似距离;获取所述全局参数对应的维度数值,计算所述全局参数与所述参数备份集中每个备份参数之间的指数差值,得到多个指数差值,所述指数差值中的指数参数是根据变化的所述维度数值计算得出的;对所述多个指数差值进行求和运算,得到距离和值,计算所述余弦相似距离与预设参数的第一乘积和所述距离和值与所述预设参数的第二乘积;计算所述第一乘积和所述第二乘积的和值,将所述和值作为所述距
离得分。
[0111]
在具体的应用场景中,该比对模块304,用于将所述距离得分与所述得分阈值进行比对,生成比对结果;若所述比对结果指示所述距离得分小于所述得分阈值,则确定所述距离得分对应的所述目标设备,禁止所述目标设备进入下一轮更新;若所述比对结果指示所述距离得分大于等于所述得分阈值,则指定所述距离得分对应的所述目标设备进行下一轮模型训练。
[0112]
本技术实施例提供的装置,需要先在区块链网络中获取参数备份集,依据数据清洗算法对参数备份集进行数据清洗,得到全部设备的历史设备参数,再获取目标设备在本地进行模型训练得到的设备参数,对设备参数进行聚合运算,得到全局参数。接下来,基于全局参数和历史设备参数,计算目标设备的距离得分。最后,将距离得分与预设得分进行比对,若目标设备的距离得分高于得分阈值,则选择目标设备进行下一轮模型训练。通过计算目标设备最新的聚合参数与区块链上参数备份集中目标设备对应的历史设备参数之间的距离得分,选择出得分高于平均值的设备,即设备性能更好、更稳定的设备进行后续的模型训练,避免无用设备参与模型训练,提高模型训练效率和准确度。
[0113]
需要说明的是,本技术实施例提供的一种基于区块链的设备选择装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
[0114]
在示例性实施例中,参见图4,还提供了一种设备,该设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的基于区块链的设备选择方法。
[0115]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于区块链的设备选择方法的步骤。
[0116]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
[0117]
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本技术所必须的。
[0118]
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0119]
上述本技术序号仅仅为了描述,不代表实施场景的优劣。
[0120]
以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
再多了解一些

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

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

相关文献