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

模型应用方法、区块链客户端、计算平台、区块链及设备与流程

2022-04-13 20:35:18 来源:中国专利 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.接收区块链客户端发送的针对目标联邦学习计划的参与请求,所述参与请求携带有所述区块链客户端的标识和公钥;
54.响应于所述参与请求,调用针对所述目标联邦学习计划部署的招募智能合约,将所述区块链客户端添加至所述目标联邦学习计划,并对所述区块链客户端的标识和公钥进行备案,以及将所述区块链客户端的公钥发送至所述目标联邦学习计划的计算平台。
55.本说明书实施例方案首先通过区块链发布联邦学习计划,机构登录区块链客户端后,即可向区块链申请参与,从而借助区块链的传播优势,实现成员对象的快速招募。同时,区块链与计算平台对接,将区块链客户端的公钥发送至计算平台,以作为区块链客户端参与联邦学习计划的证明,使得后续计算平台在接收到区块链客户端发送的携带有私钥签名
的本地联邦学习模型的训练结果后,能够通过区块链客户端的公钥对训练结果中的私钥签名校验,以验证区块链客户端是否属于联邦学习计划的成员对象,从而证明其提供的训练结果是否可信。对于计算平台而言,当可信的模型训练结果积累到一定程度后,即可执行建模任务,最终得到具有高可靠性的目标学习模型。可以看出,在本说明书实施例的联邦学习架构下,机构可以借助区块链更便捷地参与到联合学习计划中,从而提高了联邦学习的易用性。
附图说明
56.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通相关负责人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
57.图1为本说明书实施例提供的模型应用方法的第一种流程示意图。
58.图2为本说明书实施例提供的模型应用方法的第二种流程示意图。
59.图3为本说明书实施例提供的区块链客户端的结构示意图。
60.图4为本说明书实施例提供的计算平台的结构示意图。
61.图5为本说明书实施例提供的区块链的结构示意图。
62.图6为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
63.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通相关负责人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
64.如前所述,目前机构之间在有共同开发模型的需求时,通常会选择联邦学习完成建模。而联邦学习并非一蹴而就完成开展的,在实际应用中为满足联邦学习的机制要求,还需要考虑很多因素,比如:如何实现成员对象的招募、如何证明数据的可信、如何确保模型的训练公正等。为了降低联邦学习应用的门槛,本文件基于联邦学习的机制,专门设计一种实现联邦学习的架构,可基于该架构快速开展联邦学习计划,从而方便机构参与联合建模。
65.图1是本说明书的一个实施例的模型应用方法的流程图,包括:
66.s102,区块链客户端向区块链发送目标联邦学习计划的参与请求,参与请求携带有所述区块链客户端的标识和公钥。
67.本说明书实施例中,区块链可以作为联邦学习计划的主导方,负责目标联邦学习计划创建和发布。需要合作参与建模的机构以区块链客户端的身份,向区块链发送目标联邦学习计划的参与请求。
68.或者,联邦学习计划也可以由第三方主导,即,本步骤所述的目标联邦学习由第三方创建并布于区块链,区块链可以视为报名参与目标联邦学习计划的一种渠道。
69.s104,区块链响应于参与请求,调用针对目标联邦学习计划部署的招募智能合约,
将区块链客户端添加至目标联邦学习计划,并对区块链客户端的标识和公钥进行备案,以及将区块链客户端的公钥发送至目标联邦学习计划的计算平台。
70.本说明书实施例中,计算平台负责整合各成员对象的训练结果,以确定目标联邦学习计划最终的目标学习模型。如果目标联邦学习计划是由计算平台一方主导,也就是计算平台通过区块链发布目标联邦学习计划,则计算平台无需要向区块链和成员对象证明可信性。如果目标联邦学习计划由区块链一方主导,则计算平台可以由区块链一方指定,也就是通过主导方指定方式证明计算平台的可信性。
71.应理解,智能合约是一种计算程序执行代码。本说明书实施例的招募智能合约是通过机械语言,将区块链针对目标联邦学习计划招募成员对象所涉及到的执行逻辑编译成代码后得到的。具体地,区块链调用招募智能合约可以执行下述流程:
72.基于区块链客户端对应的区块链数据,对区块链客户端参与目标联邦学习计划的资质进行审核,比如:对区块链客户端的信用信息、风险信息、客户端级别信息等进行审核。若区块链客户端的资质通过审核,则再将区块链客户端添加至目标联邦学习计划;否则,拒绝将于区块链客户端添加至目标联邦学习计划。
73.在将区块链客户端添加至目标联邦学习计划后,对区块链客户端进行针对的目标联邦学习计划的备案,备案记录有区块链客户端的标识和公钥。区块链客户端在备案后,即可成为一个合法的目标联邦学习计划的成员对象。
74.此外,在对区块链客户端完成备案后,还需要将区块链客户端的公钥发送给计算平台。对于计算平台而言,区块链所发送的区块链客户端的公钥可以证明该区块链客户端属于目标联邦学习计划的成员对象,也就是说,区块链客户端的公钥也被计算平台视为目标联邦学习计划其中一个成员对象的公钥。
75.s106,区块链客户端基于私有数据,对本地的学习模型进行训练,并将模型训练结果发送至计算平台,其中,区块链客户端的模型训练结果携带有学习模型训练后的模型参数和区块链客户端的私钥签名。
76.本说明书实施例中,目标联邦学习计划需要多个成员对象协同参与构建目标学习模型。模型构建过程是计算平台将一个目标联邦学习计划初始的学习模型提供给各个成员对象,由成员对象使用各自的私有数据,对本地初始的学习模型进行训练。由于各成员对象的私有数据不尽相同,因此不同成员对象训练得到的模型参数也存在差异。计算平台负责收集各成员对象训练完成的模型参数,并将这些差异化的模型参数进行整合后,得到最终的目标学习模型。
77.具体地,区块链客户端在参与目标联邦学习计划后,可以向计算平台发送针对目标联邦学习计划的模型获取请求,该模型获取请求携带有区块链客户端的私钥签名。之后,计算平台使用s104中获得的区块链客户端的公钥,对模型获取请求中的区块链客户端的私钥签名进行校验。如果模型获取请求中的区块链客户端的私钥签名通过校验,计算平台确定区块链客户端属于目标联邦学习计划初始的成员对象,并将目标联邦学习计划初始的学习模型发送至区块链客户端。
78.同理,区块链客户端向计算平台发送自己的模型训练结果也需要携带区块链客户端自己的私钥签名,以由计算平台使用s104中获得的区块链客户端的公钥,对模型训练结果中的私钥签名进行校验。如果模型训练结果中的私钥签名通过校验,计算平台确定提供
该模型训练结果的区块链客户端属于目标联邦学习计划初始的成员对象,并判定其提供的模型训练结果具有可信性。
79.s108,计算平台基于目标联邦学习计划的成员对象的公钥,对获得的各模型训练结果中的私钥签名进行校验。
80.基于公私钥的非对称加密算法的校验设计,计算平台能够识别各模型训练结果的提供者是否属于目标联邦学习计划的成员对象。本说明书实施例中,计算平台只使用目标联邦学习计划的成员对象提供的模型训练结果进行建模,从而避免了使用他人冒充成员对象提供不实的模型参数,以干扰建模结果。应理解的是,模型训练结果中的模型参数是指学习模型经训练后得到的结果性数据,比如说学习模型中特征向量的权重值。这类结果性数据不是机构本地训练学习模型所使用的私有数据,敏感性相对较低,不会破坏数据安全。
81.此外,还需要说明的是,如果目标联邦学习计划是由计算平台创建并发布于区块链,则区块链可以作为计算平台招募成员对象的一种渠道。也就是说,目标联邦学习计划的成员对象还可以包括其他渠道报名参与到目标联邦学习计划的非区块链客户端。这些非区块链客户端的成员对象,也可以向计算平台提供的模型训练结果,以参与到建模当中。这里,本文不再举例赘述。目标联邦学习计划中s110,计算平台对至少两个通过私钥签名校验的模型训练结果中的模型参数进行整合,得到目标学习模型。
82.应理解的是,模型参数的整合属于数学量化范畴,由于实现方式并不唯一,这里本文不作具体限定。作为示例性介绍,计算平台可以通过加权求和的方式,对模型参数进行整合,得到目标模型参数,并基于目标模型参数配置学习模型,得到最终的目标学习模型。
83.比如:业务规模越大的成员对象,其所收集到的训练学习模型的私有数据样本就越全面;而模型训练能力越强的成员对象,其针对联盟的贡献度也就越高,因此可以提高这属于两类的成员对象对目标学模型建设的影响程度。即,在加权求和过程中,任一目标成员对象提供的模型参数所对应的权重因子,应基于目标成员对象的业务规模指标(可通过交易额、客户量等信息量化)和针对目标联邦学习的贡献度指标所确定得到。
84.本说明书实施例方法首先通过区块链发布联邦学习计划,机构登录区块链客户端后,即可向区块链申请参与,从而借助区块链的传播优势,实现成员对象的快速招募。同时,区块链与计算平台对接,将区块链客户端的公钥发送至计算平台,以作为区块链客户端参与联邦学习计划的证明,使得后续计算平台在接收到区块链客户端发送的携带有私钥签名的本地联邦学习模型的训练结果后,能够通过区块链客户端的公钥对训练结果中的私钥签名校验,以验证区块链客户端是否属于联邦学习计划的成员对象,从而证明其提供的训练结果是否可信。对于计算平台而言,当可信的模型训练结果积累到一定程度后,即可执行建模任务,最终得到具有高可靠性的目标学习模型。可以看出,在本说明书实施例的联邦学习架构下,机构可以借助区块链更便捷地参与到联合学习计划中,从而提高了联邦学习的易用性。此外,在基于目标联邦学习构建得到目标学习模型后,还可以利用区块链去中心化和无法篡改的优点,辅助参与目标联邦学习的成员对象和其他客户能够将正确的目标学习模型,投用到实际生产中。
85.下面结合两种实现方式对基于区块链的目标学习模型应用进行介绍。
86.实现方式一
87.计算平台在生成目标学习模型后,基于不可逆加密算法或非对称加密算法,对最
终的目标学习模型的模型参数进行加密,得到目标学习模型对应的电子存证,并通过区块链交易将电子存证上传至区块链。
88.目标学习模型可以通过网络发布的方式,供目标联邦学习计划中的成员对象或者是其他授权的成员下载后离线使用。
89.这里,以目标联邦学习计划中的成员对象为例,成员对象在挽留过下载到目标学习模型后,可以向区块链获取目标学习模型的电子存证。之后,目标联邦学习计划中的成员对象基于从区块链获取到的电子存证对下载目标学习模型的模型参数进行校验,以判断网络下载的目标学习模型是否被篡改过。
90.如果目标学习模型通过校验,则目标联邦学习计划中的成员对象即可对目标学习模型进行线下应用。反之,如果目标学习模型未通过校验,则目标联邦学习计划中的成员对象可以选择其他方式获取目标联邦学习,比如,向目标联邦学习的计算平台获取目标学习模型。
91.实现方式二
92.计算平台在生成目标学习模型后,按照机械语言,将使用目标学习模型进行预测的执行逻辑编译为预测智能合约并将智能合约部署至区块链中,以实现线上应用。
93.目标联邦学习计划中的区块链客户端(也可以是授权的非成员对象的区块链客户端)在需要使用目标学习模型对待预测对象进行预测时,可以向区块链提交携带有待预测对象的特征信息的预测请求,以调用区块链触发预测智能合约,对待预测对象的特征数据进行预测,并将预测结果发送至区块链客户端。
94.下面结合实际的应用场景,对本实施例的方法进行详细介绍。
95.本应用场景基于人工智能技术,向区块链客户端提供保险保费的机械预测。保险保费千人千价,不同的投保人对投保标的购买保险的保费会因各种因素有所不同,通过保费询价模型进行定制化定价,对保司、投保人、平台是多赢。传统保险根据险种的不同,使用不同的中心化精算表格,如:“生命表”和“重大疾病发生率表”来进行保费的定价。由于不同保险公司在保费定价时都是基于类似上述的不变的精算模型,这就导致保险产品的同质化日益加重;而使用模型构建技术,可以训练出针对个体的风险判断模型,通过模型来估算不同主体的风险杠杆,以实现不同人群保险费率差异化定价,解决传统的保险产品基于总体发生概率来确定风险杠杆的准确性缺失的问题;但传统的模型构建将数据集中到服务端,依赖于一个中心化的数据集通过运行模型构建算法训练相应的模型。而当前,随着国家法律对用户隐私数据保护的要求与重视,上述集中化的模型构建算法面临着巨大的隐私保护的挑战。
96.为此,本应用场景提出了一种基于区块链与联邦学习的保险保费智能询价方案,通过数据收集、模型训练、模型集成、模型存储过程解决了跨信任域场景下使用机器学习技术进行价格模型建模过程中的用户隐私数据的安全性问题;在模型训练时,将训练任务下放到用户侧,在模型集成的过程中仅将训练得到的模型参数发送到授信识别进行融合,而用户的隐私数据依然保持在本地,从而以物理隔离的方式保证了数据的隐私性。在模型的存储与使用的过程中,区块链为联邦学习的各个参与方(用户)提供了一种可信的机制,通过区块链尤其是联盟链的授权机制、身份管理等,可以将互不可信的用户作为参与方整合到一起,建立一个安全可信的数据分享与使用机制;最终,在模式的使用方面,可以将联邦
学习的模型参数通过原生存证锚定或者智能合约的方式存储在区块链的世界状态中,前者为用户的离线下载模型使用提供了可信锚定,后者为用户链上通过智能合约实时询价提供了数据访问的安全性与可靠性。
97.参考图2所示整个过程分为数据收集、模型训练、模型集成、模型应用四个阶段,其中:
98.一、数据收集阶段
99.在数据收集阶段,区块链对外发布目标联邦学习计划。区块链客户端若期望参与目标联邦学习计划,则可以向区块链发送针对目标联邦学习计划的参与请求,参与请求需要向区块链提供区块链客户端的标识和公钥。成功参与至目标联邦学习计划的区块链客户端负责收集目标联邦学习任务所需要的数据,并被区块链备案为联邦学习的成员对象(信任域),备案信息包括:区块链客户端标识(信任域标识)和区块链客户端的公钥。
100.二、模型训练阶段
101.模型训练阶段允许联邦学习的各个信任域(区块链客户端)运用各自不同的私有数据甚至是算法训练各自的学习模型,并将训练得到的学习模型的模型参数协同自身公钥,发送至作为授信设备的计算平台。
102.计算平台可以使用堆叠法(stacking)对各个不同信任域训练得到的模型参数进行融合,得到最终的目标学习模型,并将目标学习模型的模型参数的hash存证上传至区块链,供不同信任域对后续获得的本地目标学习模型进行防篡改校验。另一方面,计算平台可以通过m2cgen库中的代码编程规则,将目标学习模型的运算过程编写为机械语言的执行代码,并将携带有该执行代码的预测智能合约部署至区块链中,供区块链客户端通过线上发起区块链交易的方式调用目标学习模型进行相关预测。其中,上述过程具体的步骤如下:
103.各信任域的根据本地的数据源训练出本地的模型,并用已备案的公钥所对应的私钥对本地训练后的模型文件(携带模型参数)进行签名,生成携带私钥签名模型文件。之后,各信任域的区块链客户端将模型文件与签署的数字签名传输至可信环境的计算平台,这里的可信环境指任何技术手段实现的不受其他因素干扰的运行环境,例如可信执行环境(tee,trusted execution environment)、链上隐私计算环境、链下隐私计算环境等,这里本文不作具体限定。
104.可信环境的计算平台收到模型文件后,对数字签名进行合法性验证。
105.三、模型融合阶段
106.模型融合阶段由可信环境的计算平台执行,具体过程如下:
107.(1)使用stacking集成学习算法来整合各个信任域的模型参数。
108.stacking算法示例过程如下:
109.步骤1,对于基模型1(某一成员对象本地尚未训练的基础模型),将训练集d分为k份,对于每一份,用剩余数据集训练模型,然后预测出这一份的结果。
110.步骤2,重复上面步骤,直到每一份都预测出来,得到次级模型的训练集。
111.步骤3,得到k份测试集,平均后得到次级模型的测试集。
112.步骤4,对于基模型2、基模型3

基模型m重复以上步骤,得到m维的模型参数。
113.步骤5,对m维的模型参数据进行整合,确定最终的模型。这里,本应用场景不对模型的具体实现方式进行限定,但考虑到模型的训练难度以及稳定性,可以优选采用逻辑回
归模型。
114.(2)将整合得到的模型转换为pkl格式的文件。
115.(3)使用m2cgen库,将模型文件的运算逻辑编写为执行代码以作为区块链对目标学习模型应用的预测智能合约。
116.四、模型应用阶段
117.模型应用阶段分为链下使用和链上使用两种方式。
118.链下使用:
119.(1)可信环境的计算平台计算融合后的模型文件的hash值,并将hash值上传区块链进行存证。
120.(2)各个信任域在下载使用融合后的模型文件时,计算其hash值,并通过区块链提供的hash值进行验证比对。
121.(3)若比对一致,即表示下载的模型文件未发生过篡改,并通过该模型文件完成相对应的预测。
122.链上使用:
123.(1)可信环境的计算平台将模型文件的应用过程编写为智能合约部署在区块链上。
124.(2)区块链通知各信任域的区块链客户端,目标学习模型的智能合约已部署,信任域的区块链客户端在有保费询价的需求时,通过向智能合约提交区块链交易(交易携带有于模型预测保费的特征信息),以使区块链触发该智能合约,基于区块链交易中保费的特征信息完成保费预测。
125.应理解,上述保费询价的应用场景是对仅是对联邦学习和区块链实现模型运行的模式进行示例性介绍,并不限于本文件的保护范围,像风险识别、身份识别等常见的人工智能识别场景均可以适用于本说明实施例的方案。在不脱离本文上述原理基础之上,还可以对实施例的方法的步骤进行适当的变化,这些变化也应视为本说明书实施例的保护范围。
126.此外,对应于图3所示的法,本说明书实施例还提供一种区块链客户端。图3是本说明书实施例的区块链客户端300的结构示意图,包括:
127.参与请求模块310,向区块链发送目标联邦学习计划的参与请求,所述参与请求携带有所述区块链客户端的标识和公钥。
128.联邦学习执行模块320,基于私有数据,对本地的所述目标联邦学习计划的学习模型进行训练,并将模型训练结果发送至所述计算平台,其中,所述区块链客户端的模型训练结果携带有学习模型训练后的模型参数和所述区块链客户端的私钥签名,所述计算平台基于所述目标联邦学习计划的成员对象的公钥,对获得的各模型训练结果中的私钥签名进行校验,并对至少两个通过私钥签名校验的模型训练结果中的模型参数进行整合,得到目标学习模型。
129.可选地,所述区块链客户端还包括:
130.模型获取模块,用于向所述计算平台发送模型获取请求,所述模型获取请求携带有所述区块链客户端的私钥签名,以及接收所述计算平台反馈的目标联邦学习计划初始的学习模型。其中,所述计算平台在所述模型获取请求中的所述区块链客户端的私钥签名通过校验后,将所述目标联邦学习计划初始的学习模型发送至所述区块链客户端;所述区块
链客户端的模型训练结果是所述区块链客户端基于私有数据,对所述目标联邦学习计划初始的学习模型进行训练所得到的。
131.可选地,计算台按照机械语言,将使用所述目标学习模型进行预测的执行逻辑编译为预测智能合约并将所述智能合约部署至所述区块链中所述区块链客户端还包括:
132.预测请求模块,向所述区块链发送所述目标学习模型的预测请求,所述预测请求携带有待预测对象的特征信息,以调用所述区块链触发该预测智能合约,对所述待预测对象的特征数据进行预测,并将预测结果发送至所述区块链客户端。
133.显然,本说明书实施例的区块链客户端可以作为上述图1所示方法中对应区块链客户端的步骤的执行主体,由于原理相同,本文不再赘述。
134.此外,对应于图1所示的法,本说明书实施例还提供一种联邦学习的计算平台。图4是本说明书实施例的计算平台400的结构示意图,包括:
135.证明信息接收模块410,接收区块链发送的区块链客户端的公钥,其中,所述区块链客户端的公钥是所述区块链将所述区块链客户端添加至目标联邦学习计划发送的,用于证明所述区块链客户端属于所述目标联邦学习计划中的成员对象。
136.模型训练结果接收模块420,接收目标联邦学习计划的成员对象所发送的模型训练结果,所述目标联邦学习计划的成员对象发送的模型训练结果携带有成员对象发送基于私有数据对本地的所述目标联邦学习计划的学习模型训练后的模型参数和成员对象发送的私钥签名,所述目标联邦学习计划的成员对象包括所述区块链客户端。
137.核身检测模块430,基于所述目标联邦学习计划的成员对象的公钥,对获得的各模型训练结果中的私钥签名进行校验。
138.模型参数整合模块430,对至少两个通过私钥签名校验的模型训练结果中的模型参数进行整合,得到目标学习模型。
139.可选地,所述计算平台还包括:
140.存证模块,在模型参数整合模块430得到所述目标学习模型后,生成所述目标学习模型对应的电子存证,并通过区块链交易将所述电子存证上传至区块链。
141.可选地,所述计算平台还包括:
142.智能合约部署模块,在模型参数整合模块430得到所述目标学习模型后,按照机械语言,将使用所述目标学习模型进行预测的执行逻辑编译为预测智能合约并将所述智能合约部署至所述区块链中。
143.显然,本说明书实施例图4的计算平台可以作为上述图1所示方法中对应计算平台的步骤的执行主体,由于原理相同,本文不再赘述。
144.此外,对应于图1所示的法,本说明书实施例还提供一种区块链。图5是本说明书实施例的区块链500的结构示意图,包括:
145.参与请求接收模块510,接收区块链客户端发送的针对目标联邦学习计划的参与请求,所述参与请求携带有所述区块链客户端的标识和公钥。
146.联邦学习计划备案模块520,响应于所述参与请求,调用针对所述目标联邦学习计划部署的招募智能合约,将所述区块链客户端添加至所述目标联邦学习计划,并对所述区块链客户端的标识和公钥进行备案,以及将所述区块链客户端的公钥发送至所述目标联邦学习计划的计算平台。
147.可选地,所述计算平台按照机械语言,将使用目标学习模型进行预测的执行逻辑编译为预测智能合约并将所述智能合约部署至所述区块链中。本说明书实施例的区块链还包括:模型应用模块,接收所述区块链客户端提交的携带有待预测对象的特征信息的预测请求,所述预测请求携带有待预测对象的特征信息;响应于所述预测请求,调用所述预测智能合约,对所述待预测对象的特征数据进行预测,并将预测结果发送至所述区块链客户端。
148.可选地,联邦学习计划备案模块520响应于所述参与请求,调用针对所述目标联邦学习计划部署的招募智能合约还执行:在将所述区块链客户端添加至所述目标联邦学习计划前,基于所述区块链客户端对应的区块链数据,对所述区块链客户端参与所述目标联邦学习计划的资质进行审核,其中,若所述区块链客户端参与所述目标联邦学习计划的资质通过审核,则将所述区块链客户端添加至所述目标联邦学习计划并备案。
149.显然,本说明书实施例图5的区块链可以作为上述图1所示方法中对应区块链的步骤的执行主体,由于原理相同,本文不再赘述。
150.图6是本说明书的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(ram,random-access memory),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
151.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
152.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
153.其中,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成图1所示的区块链客户端。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
154.向区块链发送目标联邦学习计划的参与请求,所述参与请求携带有所述区块链客户端的标识和公钥。
155.基于私有数据,对本地的所述目标联邦学习计划的学习模型进行训练,并将模型训练结果发送至所述计算平台,其中,所述区块链客户端的模型训练结果携带有学习模型训练后的模型参数和所述区块链客户端的私钥签名,所述计算平台基于所述目标联邦学习计划的成员对象的公钥,对获得的各模型训练结果中的私钥签名进行校验,并对至少两个通过私钥签名校验的模型训练结果中的模型参数进行整合,得到目标学习模型。
156.目标联邦学习计划中目标联邦学习计划中或者,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成图4所示的计算平台。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
157.接收区块链发送的区块链客户端的公钥,其中,所述区块链客户端的公钥是所述
区块链将所述区块链客户端添加至目标联邦学习计划发送的,用于证明所述区块链客户端属于所述目标联邦学习计划中的成员对象。
158.接收目标联邦学习计划的成员对象所发送的模型训练结果,所述目标联邦学习计划的成员对象发送的模型训练结果携带有成员对象发送基于私有数据对本地的所述目标联邦学习计划的学习模型训练后的模型参数和成员对象发送的私钥签名,所述目标联邦学习计划的成员对象包括所述区块链客户端。
159.基于所述目标联邦学习计划的成员对象的公钥,对获得的各模型训练结果中的私钥签名进行校验。
160.对至少两个通过私钥签名校验的模型训练结果中的模型参数进行整合,得到目标学习模型。
161.或者,处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成图5所示的区块链。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
162.接收区块链客户端发送的针对目标联邦学习计划的参与请求,所述参与请求携带有所述区块链客户端的标识和公钥。
163.响应于所述参与请求,调用针对所述目标联邦学习计划部署的招募智能合约,将所述区块链客户端添加至所述目标联邦学习计划,并对所述区块链客户端的标识和公钥进行备案,以及将所述区块链客户端的公钥发送至所述目标联邦学习计划的计算平台。
164.上述如本说明书图1所示实施例揭示的关于目标联邦学习计划中区块链客户端执行的步骤,或者是关于计算平台执行的步骤,再或是关于区块链执行的步骤均可以应用于处理器中,并由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(cpu,central processing unit)、网络处理器(np,network processor)等;还可以是数字信号处理器(dsp,digital signal processor)、专用集成电路(asic,application specific integrated circuit)、现场可编程门阵列(fpga,field-programmable gate array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
165.应理解,本说明书实施例的电子设备可以实现上述取证方法在图1所示的实施例的功能。由于原理相同,本文不再赘述。
166.当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
167.此外,本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介
质存储一个或多个程序,该一个或多个程序包括指令。
168.其中,上述该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例关于区块链客户端执行的步骤,包括:
169.向区块链发送目标联邦学习计划的参与请求,所述参与请求携带有所述区块链客户端的标识和公钥。
170.基于私有数据,对本地的所述目标联邦学习计划的学习模型进行训练,并将模型训练结果发送至所述计算平台,其中,所述区块链客户端的模型训练结果携带有学习模型训练后的模型参数和所述区块链客户端的私钥签名,所述计算平台基于所述目标联邦学习计划的成员对象的公钥,对获得的各模型训练结果中的私钥签名进行校验,并对至少两个通过私钥签名校验的模型训练结果中的模型参数进行整合,得到目标学习模型。
171.或者,上述该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例关于计算平台执行的步骤,包括:
172.接收区块链发送的区块链客户端的公钥,其中,所述区块链客户端的公钥是所述区块链将所述区块链客户端添加至目标联邦学习计划发送的,用于证明所述区块链客户端属于所述目标联邦学习计划中的成员对象。
173.接收目标联邦学习计划的成员对象所发送的模型训练结果,所述目标联邦学习计划的成员对象发送的模型训练结果携带有成员对象发送基于私有数据对本地的所述目标联邦学习计划的学习模型训练后的模型参数和成员对象发送的私钥签名,所述目标联邦学习计划的成员对象包括所述区块链客户端。
174.基于所述目标联邦学习计划的成员对象的公钥,对获得的各模型训练结果中的私钥签名进行校验。
175.对至少两个通过私钥签名校验的模型训练结果中的模型参数进行整合,得到目标学习模型。
176.再或者,上述该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例关于区块链执行的步骤,包括:
177.接收区块链客户端发送的针对目标联邦学习计划的参与请求,所述参与请求携带有所述区块链客户端的标识和公钥。
178.响应于所述参与请求,调用针对所述目标联邦学习计划部署的招募智能合约,将所述区块链客户端添加至所述目标联邦学习计划,并对所述区块链客户端的标识和公钥进行备案,以及将所述区块链客户端的公钥发送至所述目标联邦学习计划的计算平台。
179.本领域相关负责人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
180.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可
以的或者可能是有利的。
181.以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域相关负责人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。此外,本领域普通相关负责人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
再多了解一些

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

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

相关文献