CN113033826A - 基于区块链的模型联合训练方法、装置、设备和介质 - Google Patents
基于区块链的模型联合训练方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN113033826A CN113033826A CN202110569241.8A CN202110569241A CN113033826A CN 113033826 A CN113033826 A CN 113033826A CN 202110569241 A CN202110569241 A CN 202110569241A CN 113033826 A CN113033826 A CN 113033826A
- Authority
- CN
- China
- Prior art keywords
- model
- node
- joint
- secret
- deviation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 152
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000011156 evaluation Methods 0.000 claims description 84
- 230000008859 change Effects 0.000 claims description 49
- 239000006185 dispersion Substances 0.000 claims description 24
- 230000003321 amplification Effects 0.000 claims description 17
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 17
- 230000009467 reduction Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 15
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 239000012634 fragment Substances 0.000 description 25
- 230000008569 process Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010606 normalization Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 230000010355 oscillation Effects 0.000 description 5
- 230000035945 sensitivity Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000007670 refining Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007115 recruitment Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了基于区块链的模型联合训练方法、装置、设备和介质,涉及数据处理技术领域,尤其涉及大数据、人工智能和区块链技术,可用于云计算和云服务。具体实现方案由多方区块链节点中的任一区块链节点执行,包括:确定本机节点的目标模型的模型关联参数的偏离秘密,以及多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密;根据本机节点的模型关联参数的偏离秘密,以及其他节点的模型关联参数的偏离秘密,确定联合模型关联参数;根据联合模型关联参数,对本机节点的目标模型进行训练。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及大数据、人工智能和区块链技术,可用于云计算和云服务。
背景技术
随着人工智能技术的发展,机器学习在各个场景中得到了越来越广泛的应用。
在机器学习的方案中,各样本持有方为了保证自身样本数据的隐私安全,通常采用自身持有的样本数据进行模型训练。
发明内容
本公开提供了基于区块链的模型联合训练方法、装置、设备和介质。
根据本公开的一方面,提供了基于区块链的模型联合训练方法,由多方区块链节点中的任一区块链节点执行,包括:
确定本机节点的目标模型的模型关联参数的偏离秘密,以及所述多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密;
根据所述本机节点的模型关联参数的偏离秘密,以及所述其他节点的模型关联参数的偏离秘密,确定联合模型关联参数;
根据所述联合模型关联参数,对所述本机节点的目标模型进行训练。
根据本公开的另一方面,还提供了基于区块链的模型联合训练装置,配置于多方区块链节点中的任一区块链节点执行,包括:
第一偏离秘密确定模块,用于确定本机节点的目标模型的模型关联参数的偏离秘密,以及所述多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密;
联合模型关联参数确定模块,用于根据所述本机节点的模型关联参数的偏离秘密,以及所述其他节点的模型关联参数的偏离秘密,确定联合模型关联参数;
模型训练模块,用于根据所述联合模型关联参数,对所述本机节点的目标模型进行训练。
根据本公开的另一方面,还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所提供的任意基于区块链的模型联合训练方法。
根据本公开的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开实施例所提供的任意基于区块链的模型联合训练方法。
根据本公开的另一方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开实施例所提供的任意基于区块链的模型联合训练方法。
根据本公开的技术,实现了多方区块链节点对目标模型的分布式联合训练,为目标模型的训练提供了新思路。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的基于区块链的模型联合训练方法的流程图;
图2是本公开实施例提供的另一基于区块链的模型联合训练方法的流程图;
图3是本公开实施例提供的另一基于区块链的模型联合训练方法的流程图;
图4是本公开实施例提供的另一基于区块链的模型联合训练方法的流程图;
图5是本公开实施例提供的另一基于区块链的模型联合训练方法的流程图;
图6是本公开实施例提供的基于区块链的模型联合训练装置的结构图;
图7是用来实现本公开实施例的基于区块链的模型联合训练方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开提供的各基于区块链的模型联合训练方法和装置,适用于各自持有相同特征维度的样本数据的多方区块链节点(为了便于描述,后续将多方区块链节点统称为多方节点),在不泄露数据隐私的情况下,对相同目标模型进行联合训练的情况。本公开所提供的各基于区块链的模型联合训练方法,可以由基于区块链的模型联合训练装置执行,该装置采用软件和/或硬件实现,并具体配置于作为多方节点的其中一方的节点设备中。在一个可选实施例中,该节点设备可以是参与构建区块链网络的电子设备,也即所方节点中各节点为区块链节点。
为了便于理解,首先对本公开所涉及的基于区块链的模型联合训练方法进行详细说明。
参见图1所示的基于区块链的模型联合训练方法,包括:
S101、确定本机节点的目标模型的模型关联参数的偏离秘密,以及多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密。
其中,本机节点即为多方节点中执行模型联合训练方法的节点。需要说明的是,多方节点的节点数量可以为至少两个,相应的,其他节点的节点数量可以为至少一个,也即适配至少两个区块链节点进行模型联合训练的场景。
示例性的,多方节点可以通过本机节点线下招募获取得到。若本机节点为参与区块链网络的区块链节点,则多方节点还可以依赖区块链网络线上招募确定。
在一个可选实施例中,本机节点基于标准化智能合约,向区块链网络发布包括样本需求的节点匹配请求;接收矿工节点反馈的满足样本需求的多方节点的标识信息。
在一个具体实现方式中,本机节点基于自身部署的节点匹配智能合约,调用节点匹配智能合约中的节点匹配函数,向区块链网络发布节点匹配请求;其中,该节点匹配请求中包括特征维度、特征类别和标签类别等至少一种样本需求;区块链网络中的矿工节点响应于该节点匹配请求,调用自身部署的节点匹配智能合约中的节点匹配函数,从收集的各候选节点中,选取满足样本需求的至少部分节点作为多方节点;向节点匹配请求的发起方节点(也即前述本机节点)反馈多方节点的标识信息。
示例性的,若满足样本需求的候选节点的数量较多,还可以根据节点可信度、节点活跃度、节点计算能力和节点存储能力等参数中的至少一种,对满足样本需求的候选节点进行筛选或排序,并将筛选结果或排序结果反馈至节点匹配请求的发起方节点。
可以理解的是,为了便于多方节点中的其他节点获知匹配情况,在确定多方节点之后,还可以向多方节点中除节点匹配请求的发起方节点之外的其他节点,反馈多方节点的标识信息。
可以理解的是,通过区块链网络参与多方节点的确定过程,能够扩大多方节点的查找范围,同时保证查找过程的安全性,以及查找结果的可靠性。
其中,样本数据为多方节点中各方所持有的用于进行模型训练的数据。为了便于区分,将本机节点的样本数据统称为第一样本数据,将多方节点中除本机节点以外的其他节点中的样本数据,统称为第二样本数据。其中,第一样本数据和第二样本数据的特征维度相同。
需要说明的是,样本数据可以包括样本特征数据和标签特征数据中的至少一种,以适配对目标模型进行有监督训练和无监督训练等不同的应用场景。
其中,目标模型为待训练模型。需要说明的是,多方节点中各节点所训练模型为相同的目标模型,各节点分别进行各自目标模型的训练,得到各节点自身的模型关联参数。
其中,模型关联参数可以是进行目标模型训练时得到的与模型相关联的各参数数据。示例性的,模型关联参数可以是模型参数,也即目标模型所训练的权重数据和偏置等数据中的至少一种。示例性的,模型关联数据还可以是在进行模型训练时的训练控制数据,如表征目标模型训练过程震荡程度的模型参数变化数据等。
示例性的,本机节点采用第一样本数据训练目标模型,得到本机节点的模型关联参数;其他节点采用各自第二样本数据训练各自的目标模型,得到其他节点各自的模型关联参数;多方节点确定各自模型关联参数的偏离秘密,并分享各自的模型关联参数的偏离秘密。
示例性的,模型关联参数的偏离秘密可以是基于秘密分享技术和有限域的椭圆曲线运算确定的本地秘密所对应的偏离结果。该偏离结果可用于辅助多方节点中的各节点进行联合模型关联参数的确定,进而实现对目标模型的联合训练。同时还可以保证各节点的样本数据的数据安全,避免了隐私泄露。
在一个可选实施例中,本机节点可以采用以下方式进行模型关联参数的偏离秘密的确定:将模型关联参数按照多方节点的数量,切分为秘密碎片,并将各秘密碎片一一对应的传输给多方节点中的每个节点;获取多方节点中其他节点各自切分并传输的秘密碎片;根据获取的多方节点各自的秘密碎片,确定模型关联参数的本地秘密;根据本机节点的节点编号和多方节点的节点编号,生成模型关联参数的偏离系数,用于表征模型关联参数的本地秘密相对于模型关联参数的偏离情况;根据模型关联参数的偏离系数和本地秘密,确定模型关联参数的偏离秘密。
其中,节点的节点编号为节点的节点标识经设定编码规则转化后,所得到的大整数。所谓大整数又称之为高精度整数,其含义就是用基本数据类型无法存储其精度的整数。
示例性的,将模型关联参数按照多方节点的数量,切分为秘密碎片,并将各秘密碎片一一对应的传输给多方节点的每个节点,可以是:按照多方节点的数量,将模型关联参数且分为秘密碎片;将各秘密碎片按照秘密碎片被切分时确定的碎片编号和多方节点的节点编号,分别传输给多方节点中的每个节点;其中,每个节点中记录的节点编号与节点的对应关系相同。
S102、根据本机节点的模型关联参数的偏离秘密,以及其他节点的模型关联参数的偏离秘密,确定联合模型关联参数。
示例性的,根据本机节点的模型关联参数的偏离秘密以及获取的其他节点的模型关联参数的偏离秘密的和值,确定模型关联参数和值;根据模型关联参数和值与多方节点的数量的比值,得到模型关联参数均值,并将该模型关联参数均值作为联合模型关联参数。需要说明的是,这里的和值为基于有限域椭圆曲线的和值。
S103、根据联合模型关联参数,对本机节点的目标模型进行训练。
本机节点根据联合模型关联参数,对本机节点的目标模型进行训练;多方节点中的其他节点根据联合模型关联参数,对各自的目标模型进行训练。
可以理解的是,由于对本机节点的目标模型进行训练时,所使用的联合模型关联参数,基于多方节点中各节点各自训练得到的模型关联参数所确定,因此,实现了对目标模型的联合训练。由于联合训练过程中各节点无需交互自身的样本数据,避免了各区块链参与方的数据泄露。
本公开通过多方节点中各节点采用各自目标模型的模型关联参数的偏离秘密,进行联合模型关联参数的确定,从而使得联合模型关联参数中,融合有各节点的目标模型的模型关联参数,各节点根据联合模型关联参数进行各自目标模型的训练,从而实现了各节点对同一目标模型进行联合训练。采用上述技术方案在各节点不泄露自身样本数据的情况下,实现了对目标模型的分布式联合训练,为现有技术的模型训练提供了一种新的思路,同时弥补了各节点由于样本量不足导致独立训练的目标模型性能较差的缺陷,提高了所训练目标模型的性能。
在上述各技术方案的基础上,模型关联参数存在为浮点型数据的情况。而采用部分算法无法直接确定浮点型数据的偏离秘密。为了保证偏离秘密确定过程的顺利执行,在一个可选实施例中,还可以对浮点型数据进行调整,得到整型数据;相应的,在确定模型关联参数之后,对模型关联参数进行逆向调整,得到浮点型数据。
示例性的,确定本机节点的目标模型的模型关联参数的偏离秘密,以及所述多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密,可以是:确定所述本机节点的模型关联参数的整型数据的偏离秘密,以及所述其他节点的模型关联参数的整型数据的偏离秘密;模型关联参数的整型数据为模型关联参数按照设定放大倍数的放大处理结果。其中,设定放大倍数可以由技术人员根据需要或经验值进行设定,或通过大量试验调整确定。需要说明的是,不同模型关联参数对应的设定放大倍数的数值相同或不同,本公开对此不作任何限定,仅需保证多方节点对统一模型关联参数所采用设定放大倍数相同即可。
具体的,多方节点中的各节点按照设定放大倍数,将自身模型关联参数进行放大处理,得到模型关联参数的整型数据;各节点确定自身模型关联参数的整型数据的偏离秘密;各节点分别交换各自的模型关联参数的整型数据的偏离秘密。
相应的,根据本机节点的模型关联参数的偏离秘密,以及其他节点的模型关联参数的偏离秘密,确定联合模型关联参数,可以是:根据本机节点的模型关联参数的整型数据的偏离秘密,以及其他节点的模型关联参数的整型数据的偏离秘密,确定中间数据;按照设定放大倍数,对中间数据进行缩小处理,得到联合模型关联参数。
具体的,多方节点中的各节点确定自身的模型关联参数的偏离秘密,与获取的其他节点的模型关联参数的偏离秘密的和值;将该和值与多方节点的节点数量比值,作为中间数据;按照设定放大倍数对中间数据进行缩小处理,得到联合模型关联参数。
可以理解的是,通过引入设定放大倍数将模型关联参数调整为整型数据,从而采用该整型数据的偏离秘密辅助进行联合模型关联参数的确定,避免了由于浮点型的模型关联参数无法进行偏离秘密确定,给模型联合训练过程带来阻碍,为模型联合训练的执行提供了保障。
在上述各技术方案的基础上,本公开还提供了另一可选实施例。在该实施例中,将模型关联参数的偏离秘密细化为包括模型参数的偏离秘密;对目标模型的联合模型参数的确定方式进行了优化改进。在本公开实施例未详述的内容,可参见前述各实施例的表述。
参见图2所示的基于区块链的模型联合训练方法,包括:
S201、确定本机节点的目标模型的模型参数的偏离秘密,以及多方区块链节点中其他节点的目标模型的模型参数的偏离秘密。
其中,模型参数包括目标模型中的权重参数和偏置参数等参数中的至少一种。
本机节点根据第一样本数据训练自身目标模型得到模型参数,并确定模型参数的偏离秘密;多方节点中的其他节点,分别根据各自的第二样本数据训练各自的目标模型,得到各自的模型参数,并确定各自模型参数的偏离秘密;多方节点中各节点分别交换各自的模型参数的偏离秘密。
可选的,多方节点中的各节点可以预先设置有训练周期;基于该训练周期,采用各自的样本数据对自身目标模型进行训练,得到模型参数;各节点分别确定各自模型参数的偏离秘密,并交换各自的模型参数的偏离秘密。其中,训练周期为正整数,其具体数值可以由技术人员根据需要或经验值进行确定,或通过大量试验调整确定。其中,多方节点中各节点的训练周期可以相同或不同,为了保持各节点训练一致性,通常将各节点的训练周期设置为相同数值。
示例性的,在每次迭代过程中,基于梯度下降法,根据本次迭代的样本数量和学习率,对目标模型的当前模型参数进行更新;确定最末次迭代得到的当前模型参数偏离秘密,作为本机节点的模型参数的偏离秘密。
在一个可选实施例中,针对每一模型参数,本机节点将自身的模型参数,按照多方节点的数量且分为秘密碎片,并将各秘密碎片一一对应的传输给多方节点中的每个节点;获取多方节点中其他节点各自切分并传输的秘密碎片;根据获取的多方节点各自的秘密碎片,确定模型参数的本地秘密;根据本机节点的节点编号和多方节点的节点编号,生成模型参数的偏离系数,用于表征模型参数的本地秘密相对于模型参数的偏离情况;根据模型参数的偏离系数和本地秘密,确定模型参数的偏离秘密。
示例性的,本机节点将自身的模型参数,按照多方节点的数量切分为秘密碎片,并将各秘密碎片一一对应的传输给多方节点中的每个节点,可以是:按照多方节点的数量,将本机节点的模型参数切分为秘密碎片;将各秘密碎片按照秘密碎片被切分时确定的碎片编号和多方节点的节点编号,分别传输给多方节点中的每个节点;其中,每个节点中记录的节点编号与节点的对应关系相同。
以多方节点包括节点A、节点B和节点C三个节点为例,对各自的预定模型参数thetaA、thetaB和thetaC对应的偏离秘密Coef_SecretA、Coef_SecretB和Coef_SecretC的生成过程,进行详细说明。
1)各节点将自身模型参数进行切分,得到相应的秘密碎片。
将三个节点的节点标识分别转换为大整数,得到节点编号id_A,id_B,id_C。
节点A根据模型参数thetaA构建多项式fA(x)=a1*x^2+a2*x+thetaA;其中,a1和a2为随机数;将各节点编号依次作为多项式fA(x)的自变量,得到节点A的秘密碎片:thetaA_partA、thetaA_partB和thetaA_partC。即:thetaA_partA=fA(id_A)、thetaA_partB=fA(id_B)、thetaA_partC=fA(id_C)
节点B根据模型参数thetaB构建多项式fB(x)=b1*x^2+b2*x+thetaB;其中,b1和b2为随机数;将各节点编号依次作为多项式fB(x)的自变量,得到节点B的秘密碎片:thetaB_partA、thetaB_partB和thetaB_partC。即:thetaB_partA=fB(id_A)、thetaB_partB=fB(id_B)、thetaB_partC=fB(id_C)。
节点C根据模型参数thetaC构建多项式fC(x)=c1*x^2+c2*x+thetaC;其中,c1和c2为随机数;将各节点编号依次作为多项式fC(x)的自变量,得到节点C的秘密碎片:thetaC_partA、thetaC_partB和thetaC_partC。即:thetaC_partA=fC(id_A)、thetaC_partB=fC(id_B)、thetaC_partC=fC(id_C)。
需要说明的是,各节点所构建的多项式随机数,可以相同或至少部分不同。多项式中的最高次幂的数值由多方节点的节点数量确定。
2)各节点将各秘密碎片一一对应的发送给其他节点。
最终,各节点获得的秘密碎片如下:
节点A:thetaA_partA、thetaB_partA和thetaC_partA;
节点B:thetaA_partB、thetaB_partB和thetaC_partB;
节点C:thetaA_partC、thetaB_partC和thetaC_partC。
3)各节点基于有限域的椭圆曲线,将自身获得的秘密碎片组合,得到自身对应的本地秘密。其中有限域的椭圆曲线可以由技术人员根据需要或经验值进行设定,或通过大量试验反复确定。
最终,各节点确定的本地秘密如下:
节点A:SecretA = thetaA_partA + thetaB_partA + thetaC_partA;
节点B:SecretB = thetaA_partB + thetaB_partB + thetaC_partB;
节点C:SecretC = thetaA_partC + thetaB_partC + thetaC_partC。
4)各节点根据自身节点编号,生成偏离系数,并根据偏离系数和本地秘密,生成偏离秘密。
各节点可以根据自身的节点编号、以及获取到的秘密碎片的其他节点的节点编号,基于对各个节点多项式的插值计算,确定该节点的偏离系数;根据自身偏离秘密和本地秘密的乘积,生成偏离秘密。其中,本地秘密为节点自身存储数据,不能泄露给其他节点;偏离秘密可用于节点间共享。
具体的,每个节点j的模型参数thetaj转换后的大整数(本地秘密)乘以偏离系数,累加求和,得到的是通过所有点(x,sum(y))的基多项式fj(x)所代表的曲线f(x)。特别是,当节点数量N=2时,曲线退化为直线。f(x)实际上为所有节点各自基多项式:f1(x),f2(x),…,fN(x)之和。当x=0时,f(x)的值是多方节点所保管的模型参数thetaj之和。其中,x代表秘密编号,y代表本地秘密与偏离系数的乘积所确定的偏离秘密,sum(y)是多方节点所获得的偏离秘密之和。
可选的,偏离系数可以通过拉格朗日插值公式(Lagrange interpolationformula)来获得插值基函数(Lagrange base polynomial)。需要说明的是,由于多方节点仅需获知x=0时f(x)的值,得到全部模型参数之和即可。因此,无需关注计算过程中采用何种基多项式,仅需获知各基多项式当x=0时的值即可。
最终,各节点确定的偏离秘密如下:
节点A:Coef_SecretA = coefA * SecretA;
节点B:Coef_SecretB = coefB * SecretB;
节点C:Coef_SecretC = coefC * SecretC。
S202、根据本机节点的模型参数的偏离秘密,以及其他节点的模型参数的偏离秘密,确定联合模型参数。
本机节点根据自身的模型参数的偏离秘密,以及获取的其他节点的模型参数的偏离秘密,确定模型参数和值;根据模型参数和值与多方节点的节点数量的比值,确定模型参数均值;将模型参数均值,作为联合模型参数。
可以理解的是,联合模型参数作为多方节点中各节点的模型参数的融合结果,为目标模型的联合训练提供了数据支撑。
延续前例,相应的,节点A、节点B和节点C所确定的联合模型参数总值为:thetaSum= Coef_SecretA + Coef_SecretB + Coef_SecretC = thetaA + thetaB + thetaC;相应的,联合模型参数为:thetaAvg = thetaSum /N。
S203、将联合模型参数作为本机节点的目标模型的初始模型参数,对相应目标模型进行训练。
本机节点将联合模型参数作为本机节点的目标模型的初始模型参数,继续对目标模型进行训练;多方节点中的其他节点,分别将联合模型参数作为各自的目标模型的初始模型参数,继续对各自目标模型进行训练。
本公开通过将模型关联参数的偏离秘密细化为包括模型参数的偏离秘密;将联合模型关联参数细化为包括联合模型参数;将联合模型关联参数的确定操作,细化为根据本机节点的模型参数的偏离秘密以及其他节点的模型参数的偏离秘密,确定联合模型参数;将对本机节点的目标模型的训练操作,细化为将联合模型参数作为本机节点的目标模型的初始模型参数,对相应目标模型进行训练,从而实现了多方节点之间模型参数的联合使用,完善了目标模型的联合训练机制,从而为各节点目标模型性能的提高提供了保障。
在上述各技术方案的基础上,本公开还提供了另一可选实施例。在该实施例中,对目标模型的训练终止条件的判定方式进行了优化改进。在本公开实施例未详述的内容,可参见前述各实施例的表述。
参见图3所示的基于区块链的模型训练方法,包括:
S301、确定本机节点的目标模型的模型参数变化数据的偏离秘密,以及多方区块链节点中其他节点的目标模型的模型参数变化数据的偏离秘密。
其中,模型参数变化数据可以理解为对目标模型进行训练将初始参数优化为模型参数时,该模型参数与初始参数之间的数据变化幅值或数据变化率。其中,初始参数可以是预先设定的随机数,或前次训练得到的联合模型参数。
示例性的,本机节点根据第一样本数据训练自身目标模型,以将自身目标模型的初始参数优化为模型参数;根据该模型参数与初始参数的差值,确定自身目标模型的模型参数变化数据;多方节点中的其他节点,分别根据各自的第二样本数据训练各自的目标模型,以将各自的目标模型的初始参数优化为模型参数,并分别根据各自模型参数于初始参数的差值,确定自身目标模型的模型参数变化数据;多方节点中的各节点分别确定各自模型参数变化数据的偏离秘密,并分别交换各自的模型参数变化数据的偏离秘密。
S302、根据本机节点的模型参数变化数据的偏离秘密,以及其他节点的模型参数变化数据的偏离秘密,确定联合模型参数变化数据。
本机节点根据自身的模型参变化数据数的偏离秘密,以及获取的其他节点的模型参数变化数据的偏离秘密,确定模型参数变化数据和值;根据模型参数变化数据和值与多方节点的节点数量的比值,确定模型参数变化数据均值;将模型参数变化数据均值,作为联合模型变化数据。
可以理解的是,联合模型变化数据作为多方节点中各节点的模型参数变化数据的融合结果,能够表征在对目标模型的联合训练过程中,目标模型的联合训练波动情况,为衡量目标模型稳定性提供了数据支撑。
针对联合模型参数变化数据的具体确定过程,可参照前述联合模型参数的详细描述,仅采用各节点的模型参数变化数据替代联合模型参数确定过程的模型参数即可,在此不再赘述。
S303、根据联合模型参数变化数据,确定是否满足模型训练终止条件。
示例性的,联合模型参数变化数据能够反映多方节点联合训练的目标模型的稳定程度,若联合模型参数变化数据较大,则说明联合训练的目标模型尚不稳定,需要继续进行模型训练;若联合模型参数变化数据较小,则说明联合训练的目标模型趋于稳定,此时继续进行模型训练,将会带来计算资源的浪费,甚至会出现目标模型过拟合情况的发生,此时需要终止对目标模型的训练操作。
在一个可选实施例中,可以根据联合模型参数变化数据和历史联合模型参数变化数据进行比较,确定联合模型参数变化数据的变化趋势;若变化趋势区域稳定,则确定满足模型训练终止条件;否则,确定不满足模型训练终止条件。其中,历史联合模型参数变化数据为历史训练过程中所确定的至少一个联合模型参数变化数据。本公开对历史联合模型参数变化数据的数量不作任何限定,例如可以是前一次联合训练或前几次联合训练所确定的联合模型参数变化数据。
在另一可选实施例中,可以将联合模型参数变化数据与预设震荡阈值进行比较;若该联合模型参数变化数据小于预设震荡阈值,则确定满足模型训练终止条件;否则,确定不满足模型训练终止条件。其中,预设震荡阈值可以由技术人员根据需要或经验值进行设定,或通过大量试验确定,仅需保证多方节点中各节点进行比较时所采用预设震荡阈值相等即可。
S304、根据确定结果,控制对本机节点的目标模型进行模型训练。
示例性的,若满足训练终止条件,则控制本机节点的目标模型终止训练,并将最末次联合训练所确定的联合模型参数作为该目标模型的最终参数。
本公开实施例通过将模型关联参数的偏离秘密细化为包括模型参数变化数据的偏离秘密;将联合模型关联参数细化为包括联合模型参数变化数据;将联合模型关联参数的确定操作,细化为根据本机节点的模型参数变化数据的偏离秘密,以及其他节点的模型参数变化数据的偏离秘密,确定联合模型参数变化数据;将对本机节点的目标模型的训练操作,细化为根据联合模型参数变化数据,确定是否满足模型训练终止条件;根据确定结果,控制对本机节点的目标模型进行模型训练,从而实现了对本机节点的目标模型的训练控制。上述技术方案完善了本机节点的目标模型的终止训练时机的确定方式,从而避免了对目标模型进行过量训练导致计算资源的浪费,同时避免了过量训练造成所训练的目标模型出现过拟合情况影响目标模型的模型性能。
在上述各技术方案的基础上,本公开还提供了一个可选实施例。在该实施例中,对联合训练的目标模型进行模型评价的方式进行了优化改进。
参见图4所示的基于区块链的模型联合训练方法,包括:
S401、确定本机节点的目标模型的模型关联参数的偏离秘密,以及多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密。
S402、根据本机节点的模型关联参数的偏离秘密,以及其他节点的模型关联参数的偏离秘密,确定联合模型关联参数。
S403、根据联合模型关联参数,对本机节点的目标模型进行训练。
S404、确定本机节点的目标模型的模型评价数据的偏离秘密,以及其他节点的目标模型的模型评价数据的偏离秘密。
其中,模型评价数据可以理解为对多方节点中各自训练好的目标模型进行模型评价时所采用的至少一种评价参数。
示例性的,模型评价数据可以包括预测数据的真阴率(True negative,TN)、假阳率(False positive,FP)、假阴率(False negative,FN)、真阳率(True positive,TP)、样本数量、总离差平方和(Total Sum of Squares,TSS)和残差平方和(Residual Sum ofSquares,RSS)中的至少一种。
其中,TN表示将预测数据中实际是负样本预测成负样本的样本数;FP表示将预测数据中实际是负样本预测成正样本的样本数;FN表示将预测数据中实际是正样本预测成负样本的样本数;TP表示将预测数据中实际是正样本预测成正样本的样本数;TSS反映了预测数据的预测结果数据与标签平均值之间的偏差情况;RSS反映了预测数据的预测结果与对应标签数据之间的偏差情况。
其中,预测数据用于对训练好的目标模型的模型性能进行评价。为了便于区分,将本机节点中的预测数据统称为第一预测数据,将多方节点中其他节点中的预测数据统称为第二预测数据。
本机节点将第一预测数据输入至训练好的目标模型,得到本机节点的模型评价数据,并确定自身模型评价数据的偏离秘密;其他节点将第二预测数据输入至训练好的目标模型,得到该其他节点的模型评价数据,并确定自身模型评价数据的偏离秘密;本机节点获取该其他节点的模型评价数据的偏离秘密。
本机节点将第一预测数据输入至训练好的目标模型,得到预测结果数据,并根据该预测结果数据和第一预测数据的标签数据,确定自身模型评价数据;多方节点中的其他节点将各自的第二预测数据输入至训练好的目标模型,得到预测结果数据,并根据该预测结果数据和各自第二预测数据的标签数据,确定自身模型评价数据;多方节点中各节点分别确定各自的模型评价数据的偏离秘密,并交换各自的模型评价数据的偏离秘密。
S405、根据本机节点的模型评价数据的偏离秘密,以及其他节点的模型评价数据的偏离秘密,确定联合模型评价数据。
在一个可选实施例中,若模型评价数据的偏离秘密包括真阳率的偏离秘密和假阴率的偏离秘密,则联合模型评价数据包括联合召回率;相应的,根据本机节点的模型评价数据的偏离秘密,以及其他节点的模型评价数据的偏离秘密,确定联合模型评价数据,包括:根据本机节点的真阳率的偏离秘密和其他节点的真阳率的偏离秘密,确定真阳率总值;根据本机节点的假阴率的偏离秘密,以及其他节点的假阴率的偏离秘密,确定假阴率总值;确定真阳率总值与真阳率总值和假阴率总值两者和值的比值,将该比值作为联合召回率。
示例性的,可以采用以下方式,确定联合召回率:
Co_Recall = Co_TP/(Co_TP+ Co_FN);
其中,Co_Recall为联合召回率;Co_TP为真阳率总值;Co_FN为假阴率总值。
在另一可选实施例中,若模型评价数据的偏离秘密包括真阳率的偏离秘密和假阳率的偏离秘密,则联合模型评价数据包括联合查准率;相应的,根据本机节点的模型评价数据的偏离秘密,以及其他节点的模型评价数据的偏离秘密,确定联合模型评价数据,包括:根据本机节点的真阳率的偏离秘密和其他节点的真阳率的偏离秘密,确定真阳率总值;根据本机节点的假阳率的偏离秘密,以及其他节点的假阳率的偏离秘密,确定假阳率总值;确定真阳率总值与真阳率总值和假阳率总值两者之和的比值,将该比值作为联合查准率。
示例性的,可以采用以下方式,确定联合查准率:
Co_Precision = Co_TP/(Co_TP+ Co_FP);
其中,Co_Precision为联合差准率,Co_TP为真阳率总值,Co_FP为假阳率总值。
在另一可选实施例中,若模型评价数据的偏离秘密包括真阴率的偏离秘密和假阳率的偏离秘密,则联合模型评价数据包括联合特异性;相应的,根据本机节点的模型评价数据的偏离秘密,以及其他节点的模型评价数据的偏离秘密,确定联合模型评价数据,包括:根据本机节点的真阴率的偏离秘密和其他节点的真阴率的偏离秘密,确定真阴率总值;根据本机节点的假阳率的偏离秘密,以及其他节点的假阳率的偏离秘密,确定假阳率总值;确定真阴率总值与真阴率总值和假阳率总值两者之和的比值,将该比值作为联合特异性。
示例性的,可以采用以下方式,确定联合特异性:
Co_Specifity = Co_TN/(Co_TN + Co_FP);
其中,Co_Specifity为联合特异性,Co_TN为真阴率总值,Co_FP为假阳率总值。
在另一可选实施例中,若模型评价数据的偏离秘密包括真阳率的偏离秘密和假阴率的偏离秘密,则联合模型评价数据包括联合灵敏度;相应的,根据本机节点的模型评价数据的偏离秘密,以及其他节点的模型评价数据的偏离秘密,确定联合模型评价数据,包括:根据本机节点的真阳率的偏离秘密和其他节点的真阳率的偏离秘密,确定真阳率总值;根据本机节点的假阴率的偏离秘密,以及其他节点的假阴率的偏离秘密,确定假阴率总值;确定真阳率总值与真阳率总值和假阴率总值两者之和的比值,将该比值作为联合灵敏度。
示例性的,可以采用以下方式,确定联合灵敏度:
Co_Sensitivity = Co_TP/(Co_TP + Co_FN);
其中,Co_ Sensitivity为联合灵敏度,Co_TP为真阳率总值,Co_FN为假阴率总值。
在又一可选实施例中,若模型评价数据的偏离秘密包括真阳率的偏离秘密、真阴率的偏离秘密和样本总数量的偏离秘密,则联合模型评价数据包括联合准确性;相应的,根据本机节点的模型评价数据的偏离秘密,以及其他节点的模型评价数据的偏离秘密,确定联合模型评价数据,包括:根据本机节点的真阳率的偏离秘密和其他节点的真阳率的偏离秘密,确定真阳率总值;根据本机节点的真阴率的偏离秘密,以及其他节点的真阴率的偏离秘密,确定真阴率总值;根据本机节点的样本数量的偏离秘密,以及其他节点的样本数量的偏离秘密,确定样本总数量;根据真阳率总值与真阴率总值两者之和与样本总数量的比值,确定联合准确性。
示例性的,可以采用以下方式,确定联合准确性:
Co_Accuracy = (Co_TP + Co_TN)/(Co_Num);
其中,Co_Accuracy为联合准确性,Co_TP为真阳率总值,Co_TN为真阴率总值,Co_Num为样本总数量。
在再一可选实施例中,若模型评价数据的偏离秘密包括总离差平方和的偏离秘密以及残差平方和的偏离秘密,则联合模型评价数据包括联合拟合度;相应的,根据本机节点的模型评价数据的偏离秘密,以及其他节点的模型评价数据的偏离秘密,确定联合模型评价数据,包括:根据本机节点的总离差平方和的偏离秘密,以及其他节点的总离差平方和的偏离秘密,确定联合总离差平方和;根据本机节点的残差平方和的偏离秘密,以及其他节点的残差平方和的偏离秘密,确定联合残差平方和;根据联合离差平方和以及联合残差平方和,确定联合拟合度。
示例性的,可以采用以下方式,确定联合拟合度:
Co_rSquared = 1- Co_RSS/Co_TSS;
其中,Co_rSquared为联合拟合度,Co_RSS为联合残差平方和,Co_TSS为联合总离差平方和。
可以理解的是,通过上述各可选实施例,可以实现对训练好的目标模型的不同性能的综合评价。
在一个可选实施例中,总离差平方和与残差平方和,可能存在由于数值本身为浮点型,导致无法直接确定其偏离秘密的情况。为了保证总离差平方和与残差平方和的偏离秘密的确定过程的顺利执行,需要将浮点型数据进行调整,得到整型数据;相应的,在确定模型关联参数之后,对模型关联参数进行逆向调整,得到浮点型数据。
在一个可选实施例中,可以确定本机节点的总离差平方和的整型数据的偏离秘密,以及其他节点的总离差平方和的整型数据的偏离秘密;其中,总离差平方和的整型数据为总离差平方和按照第一预定放大倍数的放大处理结果。其中,第一预定放大倍数可以由技术人员根据需要或经验值进行设定,或通过大量试验调整确定。需要说明的是,该第一预定放大倍数与前述设定放大倍数可以相同或不同,本公开对此不作任何限定。
具体的,多方节点中的各节点按照第一预定放大倍数,将自身总离差平方和进行放大处理,得到总离差平方和的整型数据;各节点确定自身总离差平方和的整型数据的偏离秘密;各节点分别交换各自的总离差平方和的整箱数据的偏离秘密。
相应的,根据本机节点的总离差平方和的偏离秘密,以及其他节点的总离差平方和的偏离秘密,确定联合总离差平方和,可以是:根据本机节点的总离差平方和的整型数据的偏离秘密,以及其他节点的总离差平方和的整型数据的偏离秘密,确定总离差平方和的中间数据;按照第一预定放大倍数,对总离差平方和的中间数据进行缩小处理,得到联合总离差平方和。
在一个可选实施例中,可以确定本机节点的残差平方和的整型数据的偏离秘密,以及其他节点的残差平方和的整型数据的偏离秘密;其中,残差平方和的整型数据为残差平方和按照第二预定放大倍数的放大处理结果。其中,第二预定放大倍数可以由技术人员根据需要或经验值进行设定,或通过大量试验调整确定。需要说明的是,该第二预定放大倍数与前述设定放大倍数可以相同或不同,本公开对此不作任何限定。其中,第二预定放大倍数与第一预定放大倍数可以相同或不同。
具体的,多方节点中的各节点按照第一预定放大倍数,将自身残差平方和进行放大处理,得到残差平方和的整型数据;各节点确定自身残差平方和的整型数据的偏离秘密;各节点分别交换各自的残差平方和的整箱数据的偏离秘密。
相应的,根据本机节点的残差平方和的偏离秘密,以及其他节点的残差平方和的偏离秘密,确定联合残差平方和,可以是:根据本机节点的残差平方和的整型数据的偏离秘密,以及其他节点的残差平方和的整型数据的偏离秘密,确定残差平方和的中间数据;按照第二预定放大倍数,对残差平方和的中间数据进行缩小处理,得到联合残差平方和。
本公开实施例通过追加确定本机节点的目标模型的模型评价数据的偏离秘密,以及其他节点的目标模型的模型评价数据的偏离秘密;根据本机节点的模型评价数据的偏离秘密,以及其他节点的模型评价数据的偏离秘密,确定联合模型评价数据,从而实现了多方节点中各节点对训练好的目标模型的联合评价,能够更好的表征训练好的目标模型的性能。
在上述各技术方案的基础上,本公开还提供了另一可选实施例。在该实施例中,对多方节点中的各节点的样本数据进行统一标准化,为多方节点的目标模型的联合训练奠定基础。
参见图5所示的基于区块链的模型联合训练方法,包括:
S501、根据本机节点的第一样本数据的初始统计值的偏离秘密,以及获取的多方节点中其他节点各自的第二样本数据的初始统计值的偏离秘密,确定目标统计值。
其中,第一样本数据和第二样本数据的特征维度相同。
其中,目标统计值包括多方节点的全部样本数据在预定特征维度下的特征总均值、特征总方差和特征总标准差中的至少一种。
其中,初始统计值用于反映节点自身持有的样本数据的统计情况。例如,初始统计值可以包括样本数据的样本数量、样本数据中预定特征维度下的特征和值和预定特征维度下的特征偏离和值等数据中的至少一种;相应的,初始统计值的偏离秘密可以包括样本数量的偏离秘密、预定特征维度下的特征和值的偏离秘密和预定特征维度下的特征偏离和值的偏离秘密等数据中的至少一种,用于作为目标统计值的确定依据。
示例性的,本机节点根据自身的初始统计值的偏离秘密,以及获取的多方节点中其他节点各自的初始统计值的偏离秘密的和值,确定初始统计总值;根据初始统计总值,确定目标统计值。需要说明的是,这里的和值为基于有限域椭圆曲线的和值。
其中,初始统计总值用于作为目标统计值的确定依据,包括但不限于多方节点的全部样本数据的样本总数量、多方节点的全部样本数据在预定特征维度下的特征总和值和特征偏离总和值等。
S502、根据目标统计值,对第一样本数据进行标准化处理。
需要说明的是,由于目标统计值基于多方节点的样本数据所确定,因此,该目标统计值可以作为对多方节点的样本数据进行统一标准化处理的参照数据。
在一个可选实施例中,若目标统计值中包括特征总均值和特征总标准差,则本机节点可以根据第一样本数据中预定特征维度下的特征总标准差和特征总均值,对相应特征维度下的数据值进行标准化处理。
在另一可选实施例中,若目标统计值中包括特征总均值和特征总方差,则本机节点可以根据特征总方差确定特征总标准差,根据第一样本数据中预定特征维度下的特征总标准差和特征总均值,对相应特征维度下的数据值进行标准化处理。
在又一可选实施例中,若目标统计值中仅包括特征总均值,则本机节点可以通过线下获取等方式,确定多方节点在预定特征维度下的特征总方差或特征总标准差,进而根据线下获取到的第一样本数据中预定特征维度下的特征总方差或特征总标准差,以及相应特征维度下的特征总均值,对相应特征维度下的数据值进行标准化处理。
在再一可选实施例中,若目标统计值中仅包括预定特征维度下的特征总方差或特征总标准差,则本机节点可以通过线下获取等方式,确定多方节点在预定特征维度下的特征总均值,进而根据预定特征维度下的特征总方差或特征总标准差,以及线下获取到的相应特征维度下的特征总均值,对相应特征维度下的数据值进行标准化处理。
示例性的,本机节点在标准化完成之后,可以通过线下方式向多方节点中的其他节点发送标准化完成消息。为了扩大消息传输范围,同时保证消息传输的安全性和有效性,在另一可选实施例中,还可以基于标准化智能合约向区块链网络发布标准化完成消息,以供区块链网络中的区块链节点根据标准化完成消息,进行标准化结果的查找或后续使用。可以理解的是,为了便于多方节点中的其他节点获知统一标准化的数据持有方,还可以在标准化完成消息中携带多方节点的标识信息。
具体的,本机节点通过调用自身部署的标准化智能合约的消息发布函数,向区块链网络发布标准化完成消息;区块链网络中的各节点在接收到标准化完成消息之后,根据实际需求与多方节点中的至少一个节点进行数据交易。
当然,为了便于第三方进行设定样本需求的样本数据的关联查找,还可以将标准化完成消息中携带多方节点的标识信息,向多方节点之外的其他节点进行标准化完成消息的发送。
需要说明的是,本公开的标准化智能合约可以是与前述节点匹配智能合约相同或不同的智能合约。
S503、确定本机节点的目标模型的模型关联参数的偏离秘密,以及多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密。
S504、根据本机节点的模型关联参数的偏离秘密,以及其他节点的模型关联参数的偏离秘密,确定联合模型关联参数。
S505、采用标准化后的第一样本数据,根据联合模型关联参数,对本机节点的目标模型进行训练。
本公开实施例通过引入多方节点自身样本数据的初始统计值的偏离秘密,进行目标统计值的确定,使得多方节点中的各节点可以基于该目标统计值,对自身样本数据进行统一标准化,为多方节点的样本数据的统一标准化提供了新的思路,同时,避免了直接进行初始统计值交互造成的各节点数据隐私的泄露。
在上述各技术方案的基础上,本公开还提供了一个可选实施例。在该实施例中,对特征总均值的确定方式进行了优化改进。在本实施例中未详述部分,可参见前述各实施例的表述。
在一个可选实施例中,初始统计值的偏离秘密可以包括样本数量的偏离秘密和预定特征维度下的特征和值的偏离秘密;相应的,根据本机节点的第一样本数据的初始统计值的偏离秘密,以及获取的多方节点中其他节点各自的第二样本数据的初始统计值的偏离秘密,确定特征总均值,可以是:根据第一样本数据的样本数量的偏离秘密,以及获取的各第二样本数据的样本数量的偏离秘密,确定样本总数量;以及,根据第一样本数据在预定特征维度下的特征和值的偏离秘密,以及获取的各第二样本数据在对应特征维度下的特征和值的偏离秘密,确定预定特征维度下的特征总和值;根据样本总数量和预定特征维度下的特征总和值,确定预定特征维度下的特征总均值。
示例性的,本机节点通过累加第一样本数据在预定特征维度下的数据值,得到该预定特征维度下的特征和值;多方节点中的其他节点,分别通过累加各自第二样本数据在该预定特征维度下的数据值,得到该预定特征维度下的特征和值;本机节点确定第一样本数据在该预定特征维度下的特征和值的偏离秘密;多方节点中的其他节点分别确定各自第二样本数据在该预定特征维度下的特征和值的偏离秘密;多方节点中的各节点分别交换各自的该预定特征维度下的特征和值的偏离秘密;多方节点中的各节点根据自身获得的该预定特征维度下各特征和值的偏离秘密,确定特征总和值。
相应的,本机节点获得有多方节点的全部样本数据的样本总数量和在预定特征维度下的特征总和值。因此,可以确定该预定特征维度下的特征总和值与样本总数量的比值,并将所确定结果作为多方节点的全部样本数据在该预定特征维度下的特征总均值。
针对预定特征维度下的特征总和值的具体确定过程,可参照前述联合模型参数总值的详细描述,仅采用该预定特征维度下的特征和值替代联合模型参数总值的确定过程中的模型参数即可,在此不再赘述。
在另一可选实施例中,初始统计值的偏离秘密可以包括样本数量的偏离秘密;相应的,根据本机节点的第一样本数据的初始统计值的偏离秘密,以及获取的多方节点中其他节点各自的第二样本数据的初始统计值的偏离秘密,确定特征总均值,可以是:根据第一样本数据的样本数量的偏离秘密,以及各第二样本数据的样本数量的偏离秘密,确定样本总数量;根据样本总数量和第一样本数据在预定特征维度下的特征和值,确定第一样本数据在预定特征维度下的模拟特征均值;根据第一样本数据在预定特征维度下的模拟特征均值的偏离秘密,以及获取的各第二样本数据在相应特征维度下的模拟特征均值的偏离秘密,确定预定特征维度下的特征总均值。
示例性的,本机节点通过如下方式进行模拟特征均值的确定:累加第一样本数据在预定特征维度下的数据值,得到该预定特征维度下的特征和值;将该预定特征维度下的特征和值与样本总数量的比值,作为该预定特征维度下的模拟特征均值。或者,根据第一样本数据在该预定特征维度下的数据值,确定该预定特征维度下的特征均值;将第一样本数据在该预定特征维度下的样本数量与样本总数量的比值,与该预定特征维度下的特征均值的乘积,作为该预定特征维度下的模拟特征均值。
相应的,本机节点确定第一样本数据在预定特征维度下的模拟特征均值的偏离秘密;多方节点中的其他节点,分别确定各自第二样本数据在该预定特征维度下的模拟特征均值的偏离秘密;多方节点中的各节点,分别交换各自的该预定特征维度下的模拟特征均值的偏离秘密;多方节点中的各节点,根据自身获得的该预定特征维度下各模拟特征均值的偏离秘密,确定特征总和值。
针对预定特征维度下的特征总均值的具体确定过程,可参照前述联合模型参数总值的详细描述,仅将该预定特征维度下的模拟特征均值替代联合模型参数总值确定过程中的模型参数即可,在此不再赘述。
可以理解的是,通过完善特征总均值的确定方式,为多方节点中各节点的样本数据的统一标准化提供了数据支撑,同时避免了各节点的数据隐私的泄露。
在上述各技术方案的基础上,本公开还提供了一个可选实施例。在该实施例中,对特征总标准差和/或特征总方差的确定方式进行了优化改进。在本实施例中未详述部分,可参见前述各实施例的表述。
在一个可选实施例中,初始统计值的偏离秘密可以包括样本数量的偏离秘密和预定特征维度下的特征偏离和值的偏离秘密;相应的根据本机节点的第一样本数据的初始统计值的偏离秘密,以及获取的多方节点中其他节点各自的第二样本数据的初始统计值的偏离秘密,确定特征总标准差和/或特征总方差,可以是:根据第一样本数据的样本数量的偏离秘密,以及获取的各第二样本数据的样本数量的偏离秘密,确定样本总数量;以及,根据第一样本数据在预定特征维度下的特征偏离和值的偏离秘密,以及获取的各第二样本数据在对应特征维度下的特征偏离和值的偏离秘密,确定预定特征维度下的特征偏离总和值;根据样本总数量和预定特征维度下的特征偏离总和值,确定预定特征维度下的特征总标准差和/或特征总方差。
预定特征维度下样本数据的特征偏离和值,用于表征该样本数据在该预定特征维度下的各数据值,相对于该预定特征维度对应的特征总均值的偏离程度。
示例性的,本机节点通过累加第一样本数据在预定特征维度下,各数据值与该预定特征维度下的特征总均值的差值平方和,得到该预定特征维度下的特征偏离和值;多方节点中的其他节点,分别通过累加各自第二样本数据该预定特征维度下,各数据值与该预定特征维度下的特征总均值的差值平方和,得到该预定特征维度下的特征偏离和值;本机节点确定第一样本数据在该预定特征维度下的特征偏离和值的偏离秘密;多方节点中的其他节点,分别确定各自第二样本数据在该预定特征维度下的特征偏离和值的偏离秘密;多方节点中的各节点,分别交换各自的该预定特征维度下的特征偏离和值的偏离秘密;多方节点中的各节点,根据自身获得的该预定特征维度下各特征偏离和值的偏离秘密,确定特征偏离总和值。
相应的,本机节点获得有多方节点的全部样本数据的样本总数量和在预定特征维度下的特征偏离总和值。因此,可以确定该预定特征维度下的特征偏离总和值与样本总数量的比值,并将所确定结果作为多方节点的全部样本数据在该预定特征维度下的特征总方差;对该预定特征维度下的特征总方差进行开方,并将开方结果作为多方节点的全部样本数据在该预定特征维度下的特征总标准差。
针对预定特征维度下的特征偏离总和值的具体确定过程,可参照前述联合模型参数总值的详细描述,仅将该预定特征维度下的特征偏离和值替代联合模型参数总值确定过程的模型参数即可,在此不在赘述。
在另一可选实施例中,初始统计值的偏离秘密可以包括样本数量的偏离秘密;相应的,根据本机节点的第一样本数据的初始统计值的偏离秘密,以及获取的多方节点中其他节点各自的第二样本数据的初始统计值的偏离秘密,确定特征总标准差和/或特征总方差,可以是:根据第一样本数据的样本数量的偏离秘密,以及获取的各第二样本数据的样本数量的偏离秘密,确定样本总数量;根据样本总数量和第一样本数据在预定特征维度下的特征偏离和值,确定第一样本数据在预定特征维度下的模拟特征方差;根据第一样本数据在预定特征维度下的模拟特征方差的偏离秘密,以及获取的各第二样本数据在相应特征维度下的模拟特征方差的偏离秘密,确定预定特征维度下的特征总标准差和/或特征总方差。
示例性的,本机节点通过如下方式进行模拟特征方差的确定:累加第一样本数据在预定特征维度下的数据值与该预定特征维度下的特征总均值的差值平方和,得到该预定特征维度下的特征偏离和值;将该预定特征维度下的特征偏离和值与样本总数量的比值,作为该预定特征维度下的模拟特征方差。或者,根据第一样本数据在该预定特征维度下的特征偏离和值,确定该预定特征维度下的特征方差;将第一样本数据在该预定特征维度下的样本数量与样本总数量的比值,与该预定特征维度下的特征方差的乘积,作为该预定特征维度下的模拟特征方差。
相应的,本机节点确定第一样本数据在预定特征维度下的模拟特征方差的偏离秘密;多方节点中的其他节点,分别确定各自第二样本数据在该预定特征维度下的模拟特征方差的偏离秘密;多方节点中的各节点,分别交换各自的该预定特征维度下的模拟特征方差的偏离秘密;多方节点中的各节点,根据自身获得的该预定特征维度下各模拟特征方差的偏离秘密,确定特征总方差;对该预定特征维度下的特征总方差进行开方,并将开方结果作为多方节点的全部样本数据在该预定特征维度下的特征总标准差。
针对预定特征维度下的特征总方差的具体确定过程,可参照前述联合模型参数总值的详细描述,仅将该预定特征维度下的模拟特征方差替代联合模型参数总值确定过程中的模型参数即可,在此不再赘述。
可以理解的是,通过完善预定特征维度下的特征总标准差和/或特征总方差的确定方式,为多方节点中各节点的样本数据的统一标准化提供了数据支撑,同时避免了各节点的数据隐私的泄露。
作为上述各模型训练方法的实现,本公开还提供了一个实施各基于区块链的模型联合训练装置的虚拟装置的实施例。
进一步参见图6所示的基于区块链的模型联合训练装置600,包括:第一偏离秘密确定模块601、联合模型关联参数确定模块602和模型训练模块603。其中,
第一偏离秘密确定模块601,用于确定本机节点的目标模型的模型关联参数的偏离秘密,以及所述多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密;
联合模型关联参数确定模块602,用于根据所述本机节点的模型关联参数的偏离秘密,以及所述其他节点的模型关联参数的偏离秘密,确定联合模型关联参数;
模型训练模块603,用于根据所述联合模型关联参数,对所述本机节点的目标模型进行训练。
本公开通过多方节点中各节点采用各目标模型的模型关联参数的偏离秘密,进行联合模型关联参数的确定,从而使得联合模型关联参数中,携带有各节点的目标模型的模型关联参数,各节点根据联合模型关联参数进行各自目标模型的训练,从而实现了各节点对同一目标模型进行联合训练。采用上述技术方案在各节点不泄露自身样本数据的情况下,实现了对目标模型的分布式联合训练,为现有技术的模型训练提供了一种新的思路,同时弥补了各节点由于样本量不足导致独立训练的目标模型性能较差的缺陷,提高了所训练目标模型的性能。
在一个可选实施例中,所述模型关联参数的偏离秘密包括模型参数的偏离秘密;所述联合模型关联参数包括联合模型参数;
所述联合模型关联参数确定模块602,包括:
联合模型参数确定单元,用于根据本机节点的模型参数的偏离秘密,以及所述其他节点的模型参数的偏离秘密,确定联合模型参数;
所述模型训练模块603,包括:
模型训练单元,用于将所述联合模型参数作为所述本机节点的目标模型的初始模型参数,对相应目标模型进行训练。
在一个可选实施例中,所述模型关联参数的偏离秘密包括模型参数变化数据的偏离秘密;所述联合模型关联参数包括联合模型参数变化数据;
所述联合模型关联参数确定模块602,包括:
联合模型参数变化数据确定单元,用于根据本机节点的模型参数变化数据的偏离秘密,以及所述其他节点的模型参数变化数据的偏离秘密,确定联合模型参数变化数据;
所述模型训练模块603,包括:
训练终止判定单元,用于根据所述联合模型参数变化数据,确定是否满足模型训练终止条件;
训练控制单元,用于根据确定结果,控制对所述本机节点的目标模型进行模型训练。
在一个可选实施例中,所述装置,还包括:
第二偏离秘密确定模块,用于确定所述本机节点的目标模型的模型评价数据的偏离秘密,以及所述其他节点的目标模型的模型评价数据的偏离秘密;
联合模型评价数据确定模块,用于根据所述本机节点的模型评价数据的偏离秘密,以及所述其他节点的模型评价数据的偏离秘密,确定联合模型评价数据。
在一个可选实施例中,所述模型评价数据的偏离秘密包括离差平方和的偏离秘密以及残差平方和的偏离秘密;所述联合模型评价数据包括联合拟合度;
所述联合模型评价数据确定模602,包括:
联合离差平方和确定单元,用于根据所述本机节点的总离差平方和的偏离秘密,以及所述其他节点的总离差平方和的偏离秘密,确定联合总离差平方和;
联合残差平方和确定单元,用于根据所述本机节点的残差平方和的偏离秘密,以及所述其他节点的残差平方和的偏离秘密,确定联合残差平方和;
联合模型拟合度确定单元,用于根据所述联合总离差平方和以及所述联合残差平方和,确定联合拟合度。
在一个可选实施例中,所述第一偏离秘密确定模块601,包括:
第一偏离秘密确定单元,用于确定所述本机节点的模型关联参数的整型数据的偏离秘密,以及所述其他节点的模型关联参数的整型数据的偏离秘密;所述模型关联参数的整型数据为所述模型关联参数按照设定放大倍数的放大处理结果;
所述联合模型关联参数确定模块602,包括:
中间数据确定单元,用于根据所述本机节点的模型关联参数的整型数据的偏离秘密,以及所述其他节点的模型关联参数的整型数据的偏离秘密,确定中间数据;
缩小处理单元,用于按照所述设定放大倍数,对所述中间数据进行缩小处理,得到所述联合模型关联参数。
在一个可选实施例中,所述装置,还包括:
目标统计值确定模块,用于根据所述本机节点的第一样本数据的初始统计值的偏离秘密,以及获取的所述多方区块链节点中其他节点各自的第二样本数据的初始统计值的偏离秘密,确定目标统计值;
标准化处理模块,用于根据所述目标统计值,对所述第一样本数据进行标准化处理;
其中,所述目标统计值包括所述多方区块链节点的全部样本数据在预定特征维度下的特征总均值、特征总方差和特征总标准差中的至少一种;
所述模型训练模块603,包括:
模型训练单元,用于采用标准化后的第一样本数据,根据所述联合模型关联参数,对所述本机节点的目标模型进行训练。
在一个可选实施例中,所述装置,还包括:
节点匹配请求发送模块,用于基于节点匹配智能合约,向区块链网络发布包括样本需求的节点匹配请求;
标识信息接收模块,用于接收矿工节点反馈的满足所述样本需求的所述多方区块链节点的标识信息。
上述基于区块链的模型联合训练装置可执行本公开任意实施例所提供的基于区块链的模型联合训练方法,具备执行基于区块链的模型联合训练方法相应的功能模块和有益效果。
需要说明的是,本公开的技术方案中,所涉及的各初始统计值的偏离秘密的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如基于区块链的模型联合训练方法。例如,在一些实施例中,基于区块链的模型联合训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的基于区块链的模型联合训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于区块链的模型联合训练方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (18)
1.基于区块链的模型联合训练方法,由多方区块链节点中的任一区块链节点执行,包括:
确定本机节点的目标模型的模型关联参数的偏离秘密,以及所述多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密;
根据所述本机节点的模型关联参数的偏离秘密,以及所述其他节点的模型关联参数的偏离秘密,确定联合模型关联参数;
根据所述联合模型关联参数,对所述本机节点的目标模型进行训练。
2.根据权利要求1所述的方法,其中,所述模型关联参数的偏离秘密包括模型参数的偏离秘密;所述联合模型关联参数包括联合模型参数;
所述根据所述本机节点的模型关联参数的偏离秘密,以及所述其他节点的模型关联参数的偏离秘密,确定联合模型关联参数,包括:
根据本机节点的模型参数的偏离秘密,以及所述其他节点的模型参数的偏离秘密,确定联合模型参数;
所述根据所述联合模型关联参数,对所述本机节点的目标模型进行训练,包括:
将所述联合模型参数作为所述本机节点的目标模型的初始模型参数,对相应目标模型进行训练。
3.根据权利要求1所述的方法,其中,所述模型关联参数的偏离秘密包括模型参数变化数据的偏离秘密;所述联合模型关联参数包括联合模型参数变化数据;
所述根据所述本机节点的模型关联参数的偏离秘密,以及所述其他节点的模型关联参数的偏离秘密,确定联合模型关联参数,包括:
根据本机节点的模型参数变化数据的偏离秘密,以及所述其他节点的模型参数变化数据的偏离秘密,确定联合模型参数变化数据;
所述根据所述联合模型关联参数,对所述本机节点的目标模型进行训练,包括:
根据所述联合模型参数变化数据,确定是否满足模型训练终止条件;
根据确定结果,控制对所述本机节点的目标模型进行模型训练。
4.根据权利要求1所述的方法,还包括:
确定所述本机节点的目标模型的模型评价数据的偏离秘密,以及所述其他节点的目标模型的模型评价数据的偏离秘密;
根据所述本机节点的模型评价数据的偏离秘密,以及所述其他节点的模型评价数据的偏离秘密,确定联合模型评价数据。
5.根据权利要求4所述的方法,其中,所述模型评价数据的偏离秘密包括总离差平方和的偏离秘密以及残差平方和的偏离秘密;所述联合模型评价数据包括联合拟合度;
所述根据所述本机节点的模型评价数据的偏离秘密,以及所述其他节点的模型评价数据的偏离秘密,确定联合模型评价数据,包括:
根据所述本机节点的总离差平方和的偏离秘密,以及所述其他节点的总离差平方和的偏离秘密,确定联合总离差平方和;
根据所述本机节点的残差平方和的偏离秘密,以及所述其他节点的残差平方和的偏离秘密,确定联合残差平方和;
根据所述联合总离差平方和以及所述联合残差平方和,确定联合拟合度。
6.根据权利要求1所述的方法,其中,所述确定本机节点的目标模型的模型关联参数的偏离秘密,以及所述多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密,包括:
确定所述本机节点的模型关联参数的整型数据的偏离秘密,以及所述其他节点的模型关联参数的整型数据的偏离秘密;所述模型关联参数的整型数据为所述模型关联参数按照设定放大倍数的放大处理结果;
所述根据所述本机节点的模型关联参数的偏离秘密,以及所述其他节点的模型关联参数的偏离秘密,确定联合模型关联参数,包括:
根据所述本机节点的模型关联参数的整型数据的偏离秘密,以及所述其他节点的模型关联参数的整型数据的偏离秘密,确定中间数据;
按照所述设定放大倍数,对所述中间数据进行缩小处理,得到所述联合模型关联参数。
7.根据权利要求1-6任一项所述的方法,还包括:
根据所述本机节点的第一样本数据的初始统计值的偏离秘密,以及获取的所述多方区块链节点中其他节点各自的第二样本数据的初始统计值的偏离秘密,确定目标统计值;
根据所述目标统计值,对所述第一样本数据进行标准化处理;
其中,所述目标统计值包括所述多方区块链节点的全部样本数据在预定特征维度下的特征总均值、特征总方差和特征总标准差中的至少一种;
所述根据所述联合模型关联参数,对所述本机节点的目标模型进行训练,包括:
采用标准化后的第一样本数据,根据所述联合模型关联参数,对所述本机节点的目标模型进行训练。
8.根据权利要求1-6任一项所述的方法,还包括:
基于节点匹配智能合约,向区块链网络发布包括样本需求的节点匹配请求;
接收矿工节点反馈的满足所述样本需求的所述多方区块链节点的标识信息。
9.基于区块链的模型联合训练装置,配置于多方区块链节点中的任一区块链节点执行,包括:
第一偏离秘密确定模块,用于确定本机节点的目标模型的模型关联参数的偏离秘密,以及所述多方区块链节点中其他节点的目标模型的模型关联参数的偏离秘密;
联合模型关联参数确定模块,用于根据所述本机节点的模型关联参数的偏离秘密,以及所述其他节点的模型关联参数的偏离秘密,确定联合模型关联参数;
模型训练模块,用于根据所述联合模型关联参数,对所述本机节点的目标模型进行训练。
10.根据权利要求9所述的装置,其中,所述模型关联参数的偏离秘密包括模型参数的偏离秘密;所述联合模型关联参数包括联合模型参数;
所述联合模型关联参数确定模块,包括:
联合模型参数确定单元,用于根据本机节点的模型参数的偏离秘密,以及所述其他节点的模型参数的偏离秘密,确定联合模型参数;
所述模型训练模块,包括:
模型训练单元,用于将所述联合模型参数作为所述本机节点的目标模型的初始模型参数,对相应目标模型进行训练。
11.根据权利要求9所述的装置,其中,所述模型关联参数的偏离秘密包括模型参数变化数据的偏离秘密;所述联合模型关联参数包括联合模型参数变化数据;
所述联合模型关联参数确定模块,包括:
联合模型参数变化数据确定单元,用于根据本机节点的模型参数变化数据的偏离秘密,以及所述其他节点的模型参数变化数据的偏离秘密,确定联合模型参数变化数据;
所述模型训练模块,包括:
训练终止判定单元,用于根据所述联合模型参数变化数据,确定是否满足模型训练终止条件;
训练控制单元,用于根据确定结果,控制对所述本机节点的目标模型进行模型训练。
12.根据权利要求9所述的装置,还包括:
第二偏离秘密确定模块,用于确定所述本机节点的目标模型的模型评价数据的偏离秘密,以及所述其他节点的目标模型的模型评价数据的偏离秘密;
联合模型评价数据确定模块,用于根据所述本机节点的模型评价数据的偏离秘密,以及所述其他节点的模型评价数据的偏离秘密,确定联合模型评价数据。
13.根据权利要求12所述的装置,其中,所述模型评价数据的偏离秘密包括离差平方和的偏离秘密以及残差平方和的偏离秘密;所述联合模型评价数据包括联合拟合度;
所述联合模型评价数据确定模,包括:
联合离差平方和确定单元,用于根据所述本机节点的总离差平方和的偏离秘密,以及所述其他节点的总离差平方和的偏离秘密,确定联合总离差平方和;
联合残差平方和确定单元,用于根据所述本机节点的残差平方和的偏离秘密,以及所述其他节点的残差平方和的偏离秘密,确定联合残差平方和;
联合模型拟合度确定单元,用于根据所述联合总离差平方和以及所述联合残差平方和,确定联合拟合度。
14.根据权利要求9所述的装置,其中,所述第一偏离秘密确定模块,包括:
第一偏离秘密确定单元,用于确定所述本机节点的模型关联参数的整型数据的偏离秘密,以及所述其他节点的模型关联参数的整型数据的偏离秘密;所述模型关联参数的整型数据为所述模型关联参数按照设定放大倍数的放大处理结果;
所述联合模型关联参数确定模块,包括:
中间数据确定单元,用于根据所述本机节点的模型关联参数的整型数据的偏离秘密,以及所述其他节点的模型关联参数的整型数据的偏离秘密,确定中间数据;
缩小处理单元,用于按照所述设定放大倍数,对所述中间数据进行缩小处理,得到所述联合模型关联参数。
15.根据权利要求9-14任一项所述的装置,还包括:
目标统计值确定模块,用于根据所述本机节点的第一样本数据的初始统计值的偏离秘密,以及获取的所述多方区块链节点中其他节点各自的第二样本数据的初始统计值的偏离秘密,确定目标统计值;
标准化处理模块,用于根据所述目标统计值,对所述第一样本数据进行标准化处理;
其中,所述目标统计值包括所述多方区块链节点的全部样本数据在预定特征维度下的特征总均值、特征总方差和特征总标准差中的至少一种;
所述模型训练模块,包括:
模型训练单元,用于采用标准化后的第一样本数据,根据所述联合模型关联参数,对所述本机节点的目标模型进行训练。
16.根据权利要求9-14任一项所述的装置,还包括:
节点匹配请求发送模块,用于基于节点匹配智能合约,向区块链网络发布包括样本需求的节点匹配请求;
标识信息接收模块,用于接收矿工节点反馈的满足所述样本需求的所述多方区块链节点的标识信息。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的基于区块链的模型联合训练方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-8中任一项所述的基于区块链的模型联合训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569241.8A CN113033826B (zh) | 2021-05-25 | 2021-05-25 | 基于区块链的模型联合训练方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110569241.8A CN113033826B (zh) | 2021-05-25 | 2021-05-25 | 基于区块链的模型联合训练方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033826A true CN113033826A (zh) | 2021-06-25 |
CN113033826B CN113033826B (zh) | 2021-09-10 |
Family
ID=76455643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110569241.8A Active CN113033826B (zh) | 2021-05-25 | 2021-05-25 | 基于区块链的模型联合训练方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113033826B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242299A (zh) * | 2018-08-31 | 2019-01-18 | 深圳付贝科技有限公司 | 分布式挖矿方法、挖矿机及区块链系统 |
CN110674528A (zh) * | 2019-09-20 | 2020-01-10 | 深圳前海微众银行股份有限公司 | 联邦学习隐私数据处理方法、设备、系统及存储介质 |
CN111600707A (zh) * | 2020-05-15 | 2020-08-28 | 华南师范大学 | 一种在隐私保护下的去中心化联邦机器学习方法 |
CN111931950A (zh) * | 2020-09-28 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法及系统 |
CN112000987A (zh) * | 2020-08-28 | 2020-11-27 | 深圳前海微众银行股份有限公司 | 因子分解机分类模型构建方法、设备及可读存储介质 |
US20200394471A1 (en) * | 2019-06-12 | 2020-12-17 | International Business Machines Corporation | Efficient database maching learning verification |
CN112540926A (zh) * | 2020-12-17 | 2021-03-23 | 杭州趣链科技有限公司 | 一种基于区块链的资源分配公平的联邦学习方法 |
-
2021
- 2021-05-25 CN CN202110569241.8A patent/CN113033826B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242299A (zh) * | 2018-08-31 | 2019-01-18 | 深圳付贝科技有限公司 | 分布式挖矿方法、挖矿机及区块链系统 |
US20200394471A1 (en) * | 2019-06-12 | 2020-12-17 | International Business Machines Corporation | Efficient database maching learning verification |
CN110674528A (zh) * | 2019-09-20 | 2020-01-10 | 深圳前海微众银行股份有限公司 | 联邦学习隐私数据处理方法、设备、系统及存储介质 |
CN111600707A (zh) * | 2020-05-15 | 2020-08-28 | 华南师范大学 | 一种在隐私保护下的去中心化联邦机器学习方法 |
CN112000987A (zh) * | 2020-08-28 | 2020-11-27 | 深圳前海微众银行股份有限公司 | 因子分解机分类模型构建方法、设备及可读存储介质 |
CN111931950A (zh) * | 2020-09-28 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法及系统 |
CN112540926A (zh) * | 2020-12-17 | 2021-03-23 | 杭州趣链科技有限公司 | 一种基于区块链的资源分配公平的联邦学习方法 |
Non-Patent Citations (2)
Title |
---|
我是天边飘过一朵云: "《联邦学习如何融合区块链提升系统认证性能》", 20 March 2020, HTTPS://XW.QQ.COM/AMPHTML/20200320A0D0B400 * |
方俊杰等: "面向边缘人工智能计算的区块链技术综述", 《应用科学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113033826B (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202011285A (zh) | 樣本屬性評估模型訓練方法、裝置及伺服器 | |
WO2021098384A1 (zh) | 一种数据异常检测方法及装置 | |
CN113657269A (zh) | 人脸识别模型的训练方法、装置及计算机程序产品 | |
CN111383100A (zh) | 基于风险模型的全生命周期管控方法和装置 | |
CN113037489B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN115099175B (zh) | 一种时序网表的获取方法、装置、电子设备和存储介质 | |
CN114065864A (zh) | 联邦学习方法、联邦学习装置、电子设备以及存储介质 | |
CN117371508A (zh) | 模型压缩方法、装置、电子设备以及存储介质 | |
CN115358411A (zh) | 一种数据处理方法、装置、设备及介质 | |
US20210142213A1 (en) | Data Partitioning with Quality Evaluation | |
CN113704058B (zh) | 一种业务模型的监控方法、装置及电子设备 | |
CN113033826B (zh) | 基于区块链的模型联合训练方法、装置、设备和介质 | |
CN113132479A (zh) | 流量切换、模型生成方法、装置、设备、存储介质及程序 | |
CN116881898A (zh) | 权限变更方法、系统、装置及存储介质 | |
CN115186738B (zh) | 模型训练方法、装置和存储介质 | |
CN116341680A (zh) | 人工智能模型适配方法、装置、电子设备以及存储介质 | |
CN116341634A (zh) | 神经结构搜索模型的训练方法、装置及电子设备 | |
CN114817476A (zh) | 语言模型的训练方法、装置、电子设备和存储介质 | |
CN114239608A (zh) | 翻译方法、模型训练方法、装置、电子设备及存储介质 | |
US11475296B2 (en) | Linear modeling of quality assurance variables | |
CN114067415A (zh) | 回归模型的训练方法、对象评估方法、装置、设备和介质 | |
CN113112311A (zh) | 训练因果推断模型的方法、信息提示方法以装置 | |
CN113361575A (zh) | 模型训练方法、装置和电子设备 | |
CN115292339B (zh) | 数据库更新方法、装置、电子设备和存储介质 | |
US12038989B2 (en) | Methods for community search, method for training community search model, and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |