CN112418433A - 一种模型训练方法、装置及设备 - Google Patents
一种模型训练方法、装置及设备 Download PDFInfo
- Publication number
- CN112418433A CN112418433A CN202011194536.3A CN202011194536A CN112418433A CN 112418433 A CN112418433 A CN 112418433A CN 202011194536 A CN202011194536 A CN 202011194536A CN 112418433 A CN112418433 A CN 112418433A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- block
- artificial intelligence
- blockchain
- 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.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 187
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000012795 verification Methods 0.000 claims abstract description 134
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 104
- 238000012360 testing method Methods 0.000 claims description 23
- 238000012937 correction Methods 0.000 claims description 19
- 239000003999 initiator Substances 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 4
- 238000012216 screening Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 16
- 239000004744 fabric Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Abstract
本发明公开了一种模型训练方法、装置及设备,该方法包括:从用于记录所述人工智能模型的初始参数和通过验证的人工智能模型的模型信息的第一区块链获取初始模型参数,根据初始模型参数进行模型训练,得到第一模型,并在用于记录人工智能模型的训练过程信息和验证过程信息的第二区块链上构建用于示出对第一模型进行训练和验证的事务信息区块;从第二区块链上获取对第一模型的验证结果;在验证结果示出验证通过第一模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第一模型的模型信息的区块。如此,有效避免从区块链冗杂信息中筛选模型信息的过程,显著提高基于区块链进行模型训练的信息查询和处理效率,加快模型训练速度。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种模型训练方法、装置及设备。
背景技术
基于区块链的人工智能模型训练场景BDML(Blockchain-based DistributedMachine Learning,基于区块链的分布式机器学习)是指一个联盟为了解决一个特定的人工智能问题,应用区块链技术在保护各参与方数据不被泄露的情况下协同训练出一个模型。
在基于Hypeledger Fabric(超级账本Fabric)的基本BDML系统中,所有模型训练过程中与模型验证的投票相关的事务都全部存放于一个区块链上,信息冗杂。在进行模型训练的过程中,无法快速从区块链中提取需要的信息。
发明内容
本发明实施例为了解决上述问题,创造性地提供一种模型训练方法、装置及设备。
根据本发明第一方面,提供了一种模型训练方法,应用于利用区块链进行人工智能模型训练的任务参与方节点中的训练方节点,所述任务参与方节点还包括对所述训练方节点所训练的模型进行验证的验证方节点,所述方法包括:从第一区块链获取初始模型参数,所述第一区块链用于记录所述人工智能模型的初始参数和通过验证的所述人工智能模型的模型信息;根据所述初始模型参数进行模型训练,得到第一模型;在第二区块链上构建用于示出对所述第一模型进行训练和验证的事务信息区块,所述第二区块链用于记录所述人工智能模型的训练过程信息和验证过程信息;从所述第二区块链上获取人工智能模型训练的多个验证方节点对所述第一模型的验证结果;在所述验证结果示出验证通过所述第一模型的模型验证方节点的比例达到设定阈值时,在所述第一区块链上构建用于示出所述第一模型的模型信息的区块。
根据本发明一实施方式,所述从第一区块链获取初始模型参数包括以下之一:在利用区块链进行人工智能模型训练的任务发起方节点发起模型训练任务时,从所述第一区块链读取所述任务发起方节点确定的所述第一模型的初始模型参数;在所述第一区块链上存在模型参与方节点构建的模型信息的区块时,从所述第一区块链获取当前最优模型的模型参数,作为初始模型参数。
根据本发明一实施方式,所述在第二区块链上构建用于示出对所述第一模型进行训练和验证的模型事务信息区块,包括:在所述训练方节点训练得到第一模型时,在所述第二区块链上构建用于示出所述第一模型的模型标识、模型参数、模型训练方和模型状态的第一事务信息区块;在任一所述验证方节点完成对所述第一模型进行验证时,在所述第二区块链上构建用于示出所述验证方节点对所述第一模型的验证结果的第二事务信息区块。
根据本发明一实施方式,所述方法还包括:在所述验证结果示出验证通过所述第一模型的模型验证方节点的比例小于设定阈值时,从所述第二区块链上获取人工智能模型训练的其他参与方节点所训练的人工智能模型的模型参数,作为修正参数;根据所述初始模型参数和所述修正参数,再次进行模型训练,得到第二模型;在第二区块链上构建用于示出对所述第二模型进行训练和验证的模型事务信息区块;从所述第二区块链上获取人工智能模型训练的多个验证方节点对所述第二模型的验证结果;在所述验证结果示出验证通过所述第二模型的模型验证方节点的比例达到设定阈值时,在所述第一区块链上构建用于示出所述第二模型的模型信息的区块。
根据本发明实施例第二方面,还提供了一种模型训练方法,应用于利用区块链进行人工智能模型训练的任务参与方节点中的验证方节点,所述任务参与方节点还包括对所述训练方节点,所述验证方节点用于对所述训练方节点所训练的模型进行验证,所述方法包括:从第二区块链获取第一模型,所述第一模型由所述训练方节点根据从第一区块链获取的初始模型参数训练得到,其中,所述第一区块链用于记录所述人工智能模型的初始参数和通过验证的所述人工智能模型的模型信息,所述第二区块链用于记录所述人工智能模型的训练过程信息和验证过程信息;对所述第一模型进行验证;在所述第二区块链构建用于示出对所述第一模型的验证结果的区块,以使所述训练方节点根据所述验证结果确定是否在所述第一区块链上构建用于示出所述第一模型的模型信息的区块。
根据本发明一实施方式,所述对所述第一模型进行验证,包括:获取根据所述验证方节点的本地数据利用从所述第一区块链获取的当前最优模型进行测试的第一测试结果;根据所述本地数据对所述第一模型进行测试,得到第二测试结果;在所述第二测试结果示出的模型精度高于所述第一测试结果示出的模型精度时,判定为验证通过所述第一模型。
根据本发明实施第三方面,还提供了一种模型训练装置,应用于利用区块链进行人工智能模型训练的任务参与方节点中的训练方节点,所述任务参与方节点还包括对所述训练方节点所训练的模型进行验证的验证方节点,所述装置包括:第一获取模块,用于从第一区块链获取初始模型参数,所述第一区块链用于记录所述人工智能模型的初始参数和通过验证的所述人工智能模型的模型信息;第一模型训练模块,用于根据所述初始模型参数进行模型训练,得到第一模型;第一区块生成模块,用于在第二区块链上构建用于示出对所述第一模型进行训练和验证的事务信息区块,所述第二区块链用于记录所述人工智能模型的训练过程信息和验证过程信息;第二获取模块,用于从所述第二区块链上获取人工智能模型训练的多个验证方节点对所述第一模型的验证结果;第二区块生成模块,用于在所述验证结果示出验证通过所述第一模型的模型验证方节点的比例达到设定阈值时,在所述第一区块链上构建用于示出所述第一模型的模型信息的区块。
根据本发明一实施方式,所述装置还包括:修正参数获取模块,用于在所述验证结果示出验证通过所述第一模型的模型验证方节点的比例小于设定阈值时,从所述第二区块链上获取人工智能模型训练的其他参与方节点所训练的人工智能模型的模型参数,作为修正参数;第二模型训练模块,用于根据所述初始模型参数和所述修正参数,再次进行模型训练,得到第二模型;第三区块生成模块,用于在第二区块链上构建用于示出对所述第二模型进行训练和验证的模型事务信息区块;验证结果获取模块,用于从所述第二区块链上获取人工智能模型训练的多个验证方节点对所述第二模型的验证结果;第四区块生成模块,用于在所述验证结果示出验证通过所述第二模型的模型验证方节点的比例达到设定阈值时,在所述第一区块链上构建用于示出所述第二模型的模型信息的区块。
根据本发明实施例第四方面,还提供了一种模型训练装置,应用于利用区块链进行人工智能模型训练的任务参与方节点中的验证方节点,所述任务参与方节点还包括对所述训练方节点,所述验证方节点用于对所述训练方节点所训练的模型进行验证,所述装置包括:模型获取模块,用于从第二区块链获取第一模型,所述第一模型由所述训练方节点根据从第一区块链获取的初始模型参数训练得到,其中,所述第一区块链用于记录所述人工智能模型的初始参数和通过验证的所述人工智能模型的模型信息,所述第二区块链用于记录所述人工智能模型的训练过程信息和验证过程信息;验证模块,用于对所述第一模型进行验证;区块生成模块,用于在所述第二区块链构建用于示出对所述第一模型的验证结果的区块,以使所述训练方节点根据所述验证结果确定是否在所述第一区块链上构建用于示出所述第一模型的模型信息的区块。
根据本发明第五方面,又提供了一种设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述模型训练方法。
根据本发明第六方面,又提供了一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行上述任意所述模型训练方法。
本发明实施例模型训练方法、装置及设备,从用于记录所述人工智能模型的初始参数和通过验证的人工智能模型的模型信息的第一区块链获取初始模型参数,根据初始模型参数进行模型训练,得到第一模型,并在用于记录人工智能模型的训练过程信息和验证过程信息的第二区块链上构建用于示出对第一模型进行训练和验证的事务信息区块;从第二区块链上获取多个验证方节点对第一模型的验证结果;在验证结果示出验证通过第一模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第一模型的模型信息的区块。如此,通过将区块链合理区分为第一区块链和第二区块链,第一区块链用于存储经过验证的人工智能模型的模型信息,并在模型训练过程中与参与方进行交互,使得参与方在模型训练过程中,可以直接从第一区块链的尾端获取通过验证的最新的模型参数,有效避免从区块链冗杂信息中过滤筛选模型信息的过程,显著提高基于区块链进行模型训练的信息查询和处理效率,加快模型训练速度。同时,第二区块链能够有效解决区块链底层账本记录功能,保证信息安全性。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本发明实施例模型训练方法的实现流程示意图一;
图2示出了本发明实施例模型训练方法的实现流程示意图二;
图3示出了本发明实施例模型训练方法的具体应用示例中区块链的组成结构示意图;
图4示出了本发明实施例模型训练方法的具体应用示例实现流程示意图一;
图5示出了本发明实施例模型训练方法的具体应用示例实现流程示意图二;
图6示出了本发明实施例模型训练方法的具体应用示例中区块链的信息结构示意图;
图7示出了本发明实施例模型训练装置的组成结构示意图一;
图8示出了本发明实施例模型训练装置的组成结构示意图二;
图9示出了本发明实施例设备的组成结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为使本发明更加透彻和完整,并能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
图1示出了本发明实施例模型训练方法的实现流程示意图一。
参考图1,本发明实施例模型训练方法,应用于利用区块链进行人工智能模型训练的任务参与方节点中的训练方节点,任务参与方节点还包括对训练方节点所训练的模型进行验证的验证方节点,至少包括如下操作流程:操作101,从第一区块链获取初始模型参数,第一区块链用于记录人工智能模型的初始参数和通过验证的人工智能模型的模型信息;操作102,根据初始模型参数进行模型训练,得到第一模型;操作103,在第二区块链上构建用于示出对第一模型进行训练和验证的事务信息区块,第二区块链用于记录人工智能模型的训练过程信息和验证过程信息;操作104,从第二区块链上获取人工智能模型训练的多个验证方节点对第一模型的验证结果;操作105,在验证结果示出验证通过第一模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第一模型的模型信息的区块。
在操作101,从第一区块链获取初始模型参数,第一区块链用于记录人工智能模型的初始参数和通过验证的人工智能模型的模型信息。
在本发明一实施方式中,从第一区块链获取初始模型参数包括以下之一:在利用区块链进行人工智能模型训练的任务发起方节点发起模型训练任务时,从第一区块链读取任务发起方节点确定的第一模型的初始模型参数;在第一区块链上存在模型参与方节点构建的模型信息的区块时,从第一区块链获取当前最优模型的模型参数,作为初始模型参数。
举例说明,可以将基于Hyperledger Fabric的区块链网络分为主链和子链两级,主链存储全部事务信息,子链存储提取出的模型训练所需关键信息。例如:在利用区块链进行人工智能模型训练的任务发起方发起新任务,定义模型结构M、初始参数W等信息,同时作为区块链主链和子链的初始区块存于区块链网络。参与者A可以从子链尾端获取初始参数W和模型结构M等,并利用本地数据进行模型训练。
参与者A训练的模型经过本地测试后,广播至其他参与者,其他参与者进行投票,若投赞成票的比例超过设定的验证阈值,则认为参与者A所训练的模型经过验证,此时在子链上构建用于存储经过验证的模型的模型信息的区块,模型信息可以包括模型结构和模型参数等。在参与者A在子链构建新的区块之前,可能存在其他参与者进行模型训练,但是所训练的模型未通过验证的情况,对于未通过验证的模型,其模型参数和投票情况等信息仅存储于主链上。如此,可以保证子链的最后一个区块所存储的是最新的经过验证的模型的模型信息,当其他参与者需要再次进行模型训练时,可以直接从子链的尾端获取当前最优模型的模型参数,作为初始模型参数。
需要说明的是,下文中对本发明实施例具体示例的说明中,如无特别声明,均以基于Hyperledger Fabric的区块链网络分为主链和子链两级为例进行说明,主链存储全部事务信息,可以相当于第二区块链,子链存储提取出的模型训练所需关键信息,可以相当于第一区块链。
在操作102,根据初始模型参数进行模型训练,得到第一模型。
举例说明,参与方A作为训练方,从子链末端获取模型初始参数后,利用参与方A的本地数据进行模型训练,得到第一模型。
在操作103~操作104中,在第二区块链上构建用于示出对第一模型进行训练和验证的事务信息区块,第二区块链用于记录人工智能模型的训练过程信息和验证过程信息,从第二区块链上获取人工智能模型训练的多个验证方节点对第一模型的验证结果。
在本发明一实施方式中,采用以下操作步骤实现在第二区块链上构建用于示出对第一模型进行训练和验证的模型事务信息区块:在训练方节点训练得到第一模型时,在第二区块链上构建用于示出第一模型的模型标识、模型参数、模型训练方和模型状态的第一事务信息区块;在任一验证方节点完成对第一模型进行验证时,在第二区块链上构建用于示出验证方节点对第一模型的验证结果的第二事务信息区块。
举例说明,参与者A从子链末端获取任务发起方所提供的初始模型参数W和模型结构M,进行模型训练后,得到模型参数WA1,此时,在区块链的主链构建新的区块,并将模型参数进行广播,新区块上可以包括模型参数WA1、模型训练方参与者A、模型状态为待投票等的信息。其他参与者可以根据新的区块上的模型参数利用其本地测试数据进行测试,并对参与者A所训练的模型进行投票。可以设定在参与者A所训练的模型准确率或精度高于设定阈值时,对参与者A所训练的模型投赞成票,否则,投反对票。也可以在参与者A所训练的模型准确率或精度高于当前子链末端的最优模型的准确度或精度时,对参与者A所训练的模型投赞成票,否则,投反对票。每一参与者根据模型参数WA1对参与者A所训练的模型进行投票的结果在主链上生成一个新的区块。
从主链上获取针对模型参数WA1的投票结果,可以在人工智能模型的多个参与方中对参与者A所训练的模型投赞成票的比例大于设定赞成阈值时,确定参与者A所训练的模型通过验证,否则,认为验证未通过。
在操作105,在验证结果示出验证通过第一模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第一模型的模型信息的区块。
举例说明,可以根据操作104中从第二区块链上所获取人工智能模型训练的多个验证方节点对第一模型的验证结果,确定是否在第一区块链上构建新的区块。例如:人工智能模型的多个参与方中对参与者A所训练的模型投赞成票的比例大于设定赞成阈值,参与者A所训练的模型通过验证,则在子链上构建用于示出参与者A所训练的模型的区块,区块上可以包括:模型生成方为参与者A、模型参数WA1等信息。
在本发明一实施方式中,还在验证结果示出验证通过第一模型的模型验证方节点的比例小于设定阈值时,从第二区块链上获取人工智能模型训练的其他参与方节点所训练的人工智能模型的模型参数,作为修正参数;根据初始模型参数和修正参数,再次进行模型训练,得到第二模型;在第二区块链上构建用于示出对第二模型进行训练和验证的模型事务信息区块;从第二区块链上获取人工智能模型训练的多个验证方节点对第二模型的验证结果;在验证结果示出验证通过第二模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第二模型的模型信息的区块。
举例说明,参与者A所训练的模型未通过其他参与方的验证,而在子链上生成新的区块之前,其他参与者也会进行模型训练并广播训练得到的模型参数,参与者A可以对其他参与者所训练的模型进行验证。在多个其他参与方对参与者A所训练的第一模型的验证结果示出验证通过第一模型的模型验证方节点的比例小于设定阈值时,确定参与者A所训练的模型为通过其他参与方的验证。此时,参与者A可以从子链上获取其他参与方所训练的模型参数,再次进行模型训练。参与者A可以获取新的区块生成之前其他所有参与方所训练的模型参数,作为修正参数。也可以仅获取参与者A对其他参与者所训练的模型进行验证时投赞成票的模型参数,作为修正参数。同时,参与者A可以利用操作101中所获取的初始模型参数和修正参数,再次进行模型训练。还可以利用操作102中训练得到的第一模型的模型参数与修正参数,再次进行模型训练。
图2示出了本发明实施例模型训练方法的实现流程示意图二。
参考图2,本发明实施例模型训练方法,应用于利用区块链进行人工智能模型训练的任务参与方节点中的验证方节点,任务参与方节点还包括对训练方节点,验证方节点用于对训练方节点所训练的模型进行验证,至少包括如下操作流程:操作201,从第二区块链获取第一模型,第一模型由训练方节点根据从第一区块链获取的初始模型参数训练得到,其中,第一区块链用于记录人工智能模型的初始参数和通过验证的人工智能模型的模型信息,第二区块链用于记录人工智能模型的训练过程信息和验证过程信息;操作202,对第一模型进行验证;操作203,在第二区块链构建用于示出对第一模型的验证结果的区块,以使训练方节点根据验证结果确定是否在第一区块链上构建用于示出第一模型的模型信息的区块。
在操作201,从第二区块链获取第一模型,第一模型由训练方节点根据从第一区块链获取的初始模型参数训练得到,其中,第一区块链用于记录人工智能模型的初始参数和通过验证的人工智能模型的模型信息,第二区块链用于记录人工智能模型的训练过程信息和验证过程信息。
举例说明,参考图1中操作102~操作103,参与者A训练得到第一模型时,首先在主链上构建用于示出第一模型的模型训练过程的区块。例如:模型生成者为参与者A,模型参数为WA1等。模型验证方可以从主链上获取该模型的相关信息,例如:模型参数,并根据所获取到的模型信息进行模型验证。例如:模型为一个利用神经网络算法进行语音识别的模型,可以利用模型验证方的本地数据验证识别准确度。
在操作202,对第一模型进行验证。
在本发明一实施方式中,采用以下操作步骤对第一模型进行验证:获取根据验证方节点的本地数据利用从第一区块链获取的当前最优模型进行测试的第一测试结果;根据本地数据对第一模型进行测试,得到第二测试结果;在第二测试结果示出的模型精度高于第一测试结果示出的模型精度时,判定为验证通过第一模型。
在操作203,在第二区块链构建用于示出对第一模型的验证结果的区块,以使训练方节点根据验证结果确定是否在第一区块链上构建用于示出第一模型的模型信息的区块。
其中,操作201~操作203的具体实现细节与图1所示实施例中操作101~操作105的相关细节相类似,这里不再赘述。
图3示出了本发明实施例模型训练方法的具体应用示例中区块链的组成结构示意图,图4示出了本发明实施例模型训练方法的具体应用示例实现流程示意图一,图5示出了本发明实施例模型训练方法的具体应用示例实现流程示意图二,图6示出了本发明实施例模型训练方法的具体应用示例中区块链的信息结构示意图。
参考图3~6,本发明实施例的具体应用示例中,将基于Hyperledger Fabric的区块链网络分为主链和子链两级,主链存储全部事务信息,子链存储提取出的模型训练所需关键信息。
具体来讲,区块链中的任何一个参与者均可以是模型训练方,从子链末端获取当前最优模型参数。例如:参与者A作为模型训练方,从子链末端获取最新区块的模型参数,进行模型训练,模型训练过程可以参考图4,至少包括如下流程:
操作401,拉取区块链子链上最新模型。区块链子链上的最新模型即为当前最优模型。
操作402,利用参与者A的本地训练数据进行模型训练。
操作403,利用本地数据对训练得到的模型参数进行本地测试。
操作404,判断是否优于子链上最新区块。若是,则执行操作405,否则,执行操作408。
操作405,向其他参与方广播参数。若确定模型参数优于当前最优模型参数,则在主链构建新的区块M,进行模型信息广播,以使其他参与者能够从主链获取该参与者所训练的模型,并对模型进行验证。其中区块M可以包括模型类型Mi、参数Wi、生成者为参与者A以及模型状态为待投票等信息。
操作406,判断其他参与方是否投票通过。具体流程可参考下文图5,此处不再赘述。若是,则执行操作407,否则,执行操作408。
操作407,子链生成新区块。例如:图3中参与者A所生成的模型通过其他参与者的验证时,生成新的区块i,区块i可以包括模型标识Mi、模型参数Wi和参与者为A等信息。此时,重置参考模型参数Wr=0
操作408,更新参数。举例说明,参与者A综合其他参与者所训练的模型参数重新进行模型训练,例如:W=α*Wi+(1-α)*Wr,其中Wi为参与者A本轮训练得到的模型Mi的参数,α为预先设定的参数综合系数,可以根据实际需要进行设定。Wr为其他参与者所训练的模型的参数,例如:可以是其他所有参与者所训练的模型的模型参数均值,也可以是参与者A投赞成票的参与者所训练的模型的模型参数均值,也可以采用其他合理的方式更新参数。
每一参与方也可以是模型验证方,例如:参与者B、参与者C。参与者B对参与者所训练的模型Mi进行验证。对模型进行验证的实现流程可以参考图5,如图5所示,至少包括:
操作501,收到其他参与方训练模型的参数。例如:操作405中参与者A向其他参与方广播所广播的模型Mi和参数Wi。
操作502,综合其他参与方的参数得到Wr并保存。
举例说明,参与者B接受到其他参与方A所训练的模型的模型参数Wi并保存。
操作503,使用本地测试数据测试收到的模型。例如:利用参与者A所训练的模型Mi进行测试,验证该模型Mi的准确度或精度是否是否比当前子链上最新区块上的最优模型的准确度或精度更高。
操作504,判断是否优于子链上最新区块。若是,则执行操作505,否则执行操作506。
操作505,投赞成票存于主链。验证结果在主链上生成新的区块,例如:参与者B对参与者A所训练的模型Mi的验证结果为投票赞成,生成区块N。参与者C对参与者A所训练的模型Mi的验证结果为投票赞成,生成区块O。
在对参与A所训练看到模型Mi进行验证的参与者中投赞成票的比例达到设定阈值时,返回参考操作407,在子链上生成新的区块,例如:参与者A在子链上生成新的区块i。
操作506,投反对票存于主链。
需要说明的是,对于主链和子链上存储的具体信息可以参考图6,子链上用于存储模型的相关信息,而主链上全部的事务信息。子链上所存储的通过验证的模型的相关信息也可以在主链上查找得到。
由此,本发明实施例模型训练方法、装置及设备,从用于记录人工智能模型的初始参数和通过验证的人工智能模型的模型信息的第一区块链获取初始模型参数,根据初始模型参数进行模型训练,得到第一模型,并在用于记录人工智能模型的训练过程信息和验证过程信息的第二区块链上构建用于示出对第一模型进行训练和验证的事务信息区块;从第二区块链上获取多个验证方节点对第一模型的验证结果;在验证结果示出验证通过第一模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第一模型的模型信息的区块。如此,通过将区块链合理区分为第一区块链和第二区块链,第一区块链用于存储经过验证的人工智能模型的模型信息,并在模型训练过程中与参与方进行交互,使得参与方在模型训练过程中,可以直接从第一区块链的尾端获取通过验证的最新的模型参数,有效避免从区块链上冗杂信息中过滤筛选模型信息的过程,显著提高基于区块链进行模型训练的信息查询和处理效率,加快模型训练速度。同时,第二区块链可以有效解决区块链底层账本记录功能,保证信息安全性。
同理,基于上文模型训练方法,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器至少执行如下的操作步骤:操作101,从第一区块链获取初始模型参数,第一区块链用于记录人工智能模型的初始参数和通过验证的人工智能模型的模型信息;操作102,根据初始模型参数进行模型训练,得到第一模型;操作103,在第二区块链上构建用于示出对第一模型进行训练和验证的事务信息区块,第二区块链用于记录人工智能模型的训练过程信息和验证过程信息;操作104,从第二区块链上获取人工智能模型训练的多个验证方节点对第一模型的验证结果;操作105,在验证结果示出验证通过第一模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第一模型的模型信息的区块。
进一步,基于如上文模型训练方法,本发明实施例还提供一种模型训练装置,图7示出了本发明实施例模型训练装置的组成示意图一,该装置70应用于利用区块链进行人工智能模型训练的任务参与方节点中的训练方节点,任务参与方节点还包括对训练方节点所训练的模型进行验证的验证方节点,如图7所示,该装置70包括:第一获取模块701,用于从第一区块链获取初始模型参数,第一区块链用于记录人工智能模型的初始参数和通过验证的人工智能模型的模型信息;第一模型训练模块702,用于根据初始模型参数进行模型训练,得到第一模型;第一区块生成模块703,用于在第二区块链上构建用于示出对第一模型进行训练和验证的事务信息区块,第二区块链用于记录人工智能模型的训练过程信息和验证过程信息;第二获取模块704,用于从第二区块链上获取人工智能模型训练的多个验证方节点对第一模型的验证结果;第二区块生成模块705,用于在验证结果示出验证通过第一模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第一模型的模型信息的区块。
根据本发明一实施方式,装置70还包括:修正参数获取模块,用于在验证结果示出验证通过第一模型的模型验证方节点的比例小于设定阈值时,从第二区块链上获取人工智能模型训练的其他参与方节点所训练的人工智能模型的模型参数,作为修正参数;第二模型训练模块,用于根据初始模型参数和修正参数,再次进行模型训练,得到第二模型;第三区块生成模块,用于在第二区块链上构建用于示出对第二模型进行训练和验证的模型事务信息区块;验证结果获取模块,用于从第二区块链上获取人工智能模型训练的多个验证方节点对第二模型的验证结果;第四区块生成模块,用于在验证结果示出验证通过第二模型的模型验证方节点的比例达到设定阈值时,在第一区块链上构建用于示出第二模型的模型信息的区块。
图8示出了本发明实施例模型训练装置的组成示意图二,该装置80应用于利用区块链进行人工智能模型训练的任务参与方节点中的验证方节点,任务参与方节点还包括对训练方节点,验证方节点用于对训练方节点所训练的模型进行验证,如图8所示,该装置80包括:模型获取模块801,用于从第二区块链获取第一模型,第一模型由训练方节点根据从第一区块链获取的初始模型参数训练得到,其中,第一区块链用于记录人工智能模型的初始参数和通过验证的人工智能模型的模型信息,第二区块链用于记录人工智能模型的训练过程信息和验证过程信息;验证模块802,用于对第一模型进行验证;区块生成模块803,用于在第二区块链构建用于示出对第一模型的验证结果的区块,以使训练方节点根据验证结果确定是否在第一区块链上构建用于示出第一模型的模型信息的区块。
更进一步,基于如上文模型训练方法,本发明实施例又提供了一种设备,如图9所示,设备90包括至少一个处理器901、以及与处理器901连接的至少一个存储器902、总线903;其中,处理器901、存储器902通过总线完成相互间的通信;处理器901用于调用存储器902中的程序指令,以执行上述模型训练方法。
这里需要指出的是:以上对针对模型训练装置和设备实施例的描述,与前述图1至6所示的方法实施例的描述是类似的,具有同前述图1至6所示的方法实施例相似的有益效果,因此不做赘述。对于本发明模型训练装置和设备的实施例中未披露的技术细节,请参照本发明前述图1至6所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种模型训练方法,应用于利用区块链进行人工智能模型训练的任务参与方节点中的训练方节点,所述任务参与方节点还包括对所述训练方节点所训练的模型进行验证的验证方节点,所述方法包括:
从第一区块链获取初始模型参数,所述第一区块链用于记录所述人工智能模型的初始参数和通过验证的所述人工智能模型的模型信息;
根据所述初始模型参数进行模型训练,得到第一模型;
在第二区块链上构建用于示出对所述第一模型进行训练和验证的事务信息区块,所述第二区块链用于记录所述人工智能模型的训练过程信息和验证过程信息;
从所述第二区块链上获取人工智能模型训练的多个验证方节点对所述第一模型的验证结果;
在所述验证结果示出验证通过所述第一模型的模型验证方节点的比例达到设定阈值时,在所述第一区块链上构建用于示出所述第一模型的模型信息的区块。
2.根据权利要求1所述的方法,所述从第一区块链获取初始模型参数包括以下之一:
在利用区块链进行人工智能模型训练的任务发起方节点发起模型训练任务时,从所述第一区块链读取所述任务发起方节点确定的所述第一模型的初始模型参数;
在所述第一区块链上存在模型参与方节点构建的模型信息的区块时,从所述第一区块链获取当前最优模型的模型参数,作为初始模型参数。
3.根据权利要求1所述的方法,所述在第二区块链上构建用于示出对所述第一模型进行训练和验证的模型事务信息区块,包括:
在所述训练方节点训练得到第一模型时,在所述第二区块链上构建用于示出所述第一模型的模型标识、模型参数、模型训练方和模型状态的第一事务信息区块;
在任一所述验证方节点完成对所述第一模型进行验证时,在所述第二区块链上构建用于示出所述验证方节点对所述第一模型的验证结果的第二事务信息区块。
4.根据权利要求1所述的方法,所述方法还包括:
在所述验证结果示出验证通过所述第一模型的模型验证方节点的比例小于设定阈值时,从所述第二区块链上获取人工智能模型训练的其他参与方节点所训练的人工智能模型的模型参数,作为修正参数;
根据所述初始模型参数和所述修正参数,再次进行模型训练,得到第二模型;
在第二区块链上构建用于示出对所述第二模型进行训练和验证的模型事务信息区块;
从所述第二区块链上获取人工智能模型训练的多个验证方节点对所述第二模型的验证结果;
在所述验证结果示出验证通过所述第二模型的模型验证方节点的比例达到设定阈值时,在所述第一区块链上构建用于示出所述第二模型的模型信息的区块。
5.一种模型训练方法,应用于利用区块链进行人工智能模型训练的任务参与方节点中的验证方节点,所述任务参与方节点还包括对所述训练方节点,所述验证方节点用于对所述训练方节点所训练的模型进行验证,所述方法包括:
从第二区块链获取第一模型,所述第一模型由所述训练方节点根据从第一区块链获取的初始模型参数训练得到,其中,所述第一区块链用于记录所述人工智能模型的初始参数和通过验证的所述人工智能模型的模型信息,所述第二区块链用于记录所述人工智能模型的训练过程信息和验证过程信息;
对所述第一模型进行验证;
在所述第二区块链构建用于示出对所述第一模型的验证结果的区块,以使所述训练方节点根据所述验证结果确定是否在所述第一区块链上构建用于示出所述第一模型的模型信息的区块。
6.根据权利要求5所述的方法,所述对所述第一模型进行验证,包括:
获取根据所述验证方节点的本地数据利用从所述第一区块链获取的当前最优模型进行测试的第一测试结果;
根据所述本地数据对所述第一模型进行测试,得到第二测试结果;
在所述第二测试结果示出的模型精度高于所述第一测试结果示出的模型精度时,判定为验证通过所述第一模型。
7.一种模型训练装置,应用于利用区块链进行人工智能模型训练的任务参与方节点中的训练方节点,所述任务参与方节点还包括对所述训练方节点所训练的模型进行验证的验证方节点,所述装置包括:
第一获取模块,用于从第一区块链获取初始模型参数,所述第一区块链用于记录所述人工智能模型的初始参数和通过验证的所述人工智能模型的模型信息;
第一模型训练模块,用于根据所述初始模型参数进行模型训练,得到第一模型;
第一区块生成模块,用于在第二区块链上构建用于示出对所述第一模型进行训练和验证的事务信息区块,所述第二区块链用于记录所述人工智能模型的训练过程信息和验证过程信息;
第二获取模块,用于从所述第二区块链上获取人工智能模型训练的多个验证方节点对所述第一模型的验证结果;
第二区块生成模块,用于在所述验证结果示出验证通过所述第一模型的模型验证方节点的比例达到设定阈值时,在所述第一区块链上构建用于示出所述第一模型的模型信息的区块。
8.根据权利要求7所述的装置,所述装置还包括:
修正参数获取模块,用于在所述验证结果示出验证通过所述第一模型的模型验证方节点的比例小于设定阈值时,从所述第二区块链上获取人工智能模型训练的其他参与方节点所训练的人工智能模型的模型参数,作为修正参数;
第二模型训练模块,用于根据所述初始模型参数和所述修正参数,再次进行模型训练,得到第二模型;
第三区块生成模块,用于在第二区块链上构建用于示出对所述第二模型进行训练和验证的模型事务信息区块;
验证结果获取模块,用于从所述第二区块链上获取人工智能模型训练的多个验证方节点对所述第二模型的验证结果;
第四区块生成模块,用于在所述验证结果示出验证通过所述第二模型的模型验证方节点的比例达到设定阈值时,在所述第一区块链上构建用于示出所述第二模型的模型信息的区块。
9.一种模型训练装置,应用于利用区块链进行人工智能模型训练的任务参与方节点中的验证方节点,所述任务参与方节点还包括对所述训练方节点,所述验证方节点用于对所述训练方节点所训练的模型进行验证,所述装置包括:
模型获取模块,用于从第二区块链获取第一模型,所述第一模型由所述训练方节点根据从第一区块链获取的初始模型参数训练得到,其中,所述第一区块链用于记录所述人工智能模型的初始参数和通过验证的所述人工智能模型的模型信息,所述第二区块链用于记录所述人工智能模型的训练过程信息和验证过程信息;
验证模块,用于对所述第一模型进行验证;
区块生成模块,用于在所述第二区块链构建用于示出对所述第一模型的验证结果的区块,以使所述训练方节点根据所述验证结果确定是否在所述第一区块链上构建用于示出所述第一模型的模型信息的区块。
10.一种设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行权利要求1-6中任一项所述的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011194536.3A CN112418433A (zh) | 2020-10-30 | 2020-10-30 | 一种模型训练方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011194536.3A CN112418433A (zh) | 2020-10-30 | 2020-10-30 | 一种模型训练方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112418433A true CN112418433A (zh) | 2021-02-26 |
Family
ID=74828675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011194536.3A Pending CN112418433A (zh) | 2020-10-30 | 2020-10-30 | 一种模型训练方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112418433A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7289588B1 (ja) | 2022-08-22 | 2023-06-12 | connectome.design株式会社 | ニューラルネットワーク学習過程記録システム、ニューラルネットワーク学習過程記録方法及びプログラム |
WO2024034414A1 (ja) * | 2022-08-10 | 2024-02-15 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491266A (zh) * | 2018-03-09 | 2018-09-04 | 联想(北京)有限公司 | 基于区块链的数据处理方法、装置及电子设备 |
CN109194510A (zh) * | 2018-08-27 | 2019-01-11 | 联想(北京)有限公司 | 基于区块链的数据处理方法和装置 |
CN109194508A (zh) * | 2018-08-27 | 2019-01-11 | 联想(北京)有限公司 | 基于区块链的数据处理方法和装置 |
CN109493216A (zh) * | 2018-09-30 | 2019-03-19 | 北京小米移动软件有限公司 | 模型训练方法、装置、系统及存储介质 |
CN110321385A (zh) * | 2019-06-28 | 2019-10-11 | 联想(北京)有限公司 | 基于区块链的数据处理方法和数据处理装置 |
CN110610241A (zh) * | 2019-08-30 | 2019-12-24 | 联想(北京)有限公司 | 一种模型训练方法、设备及存储介质 |
CN110619317A (zh) * | 2019-09-26 | 2019-12-27 | 联想(北京)有限公司 | 模型训练方法、模型训练装置和电子设备 |
-
2020
- 2020-10-30 CN CN202011194536.3A patent/CN112418433A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491266A (zh) * | 2018-03-09 | 2018-09-04 | 联想(北京)有限公司 | 基于区块链的数据处理方法、装置及电子设备 |
CN109194510A (zh) * | 2018-08-27 | 2019-01-11 | 联想(北京)有限公司 | 基于区块链的数据处理方法和装置 |
CN109194508A (zh) * | 2018-08-27 | 2019-01-11 | 联想(北京)有限公司 | 基于区块链的数据处理方法和装置 |
CN109493216A (zh) * | 2018-09-30 | 2019-03-19 | 北京小米移动软件有限公司 | 模型训练方法、装置、系统及存储介质 |
CN110321385A (zh) * | 2019-06-28 | 2019-10-11 | 联想(北京)有限公司 | 基于区块链的数据处理方法和数据处理装置 |
CN110610241A (zh) * | 2019-08-30 | 2019-12-24 | 联想(北京)有限公司 | 一种模型训练方法、设备及存储介质 |
CN110619317A (zh) * | 2019-09-26 | 2019-12-27 | 联想(北京)有限公司 | 模型训练方法、模型训练装置和电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024034414A1 (ja) * | 2022-08-10 | 2024-02-15 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
JP7289588B1 (ja) | 2022-08-22 | 2023-06-12 | connectome.design株式会社 | ニューラルネットワーク学習過程記録システム、ニューラルネットワーク学習過程記録方法及びプログラム |
WO2024042566A1 (ja) * | 2022-08-22 | 2024-02-29 | connectome.design株式会社 | ニューラルネットワーク学習過程記録システム、ニューラルネットワーク学習過程記録方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113837761B (zh) | 一种基于区块链和可信执行环境的联邦学习方法及系统 | |
CN108320155B (zh) | 一种实现区块链共识机制的方法 | |
CN107392618A (zh) | 植入智能合约的方法和设备 | |
KR102187294B1 (ko) | 블록체인 네트워크를 기반으로 한 비밀 전자 투표 시스템 및 방법 | |
CN112418433A (zh) | 一种模型训练方法、装置及设备 | |
CN109040341A (zh) | 智能合约地址生成方法、装置、计算机设备及可读存储介质 | |
CN110298421A (zh) | 一种二维码的在线生成、离线生成和验证方法及装置 | |
CN111026578A (zh) | 一种基于预言机的智能合约安全检测方法 | |
CN107330701A (zh) | 植入智能合约的方法和设备 | |
CN110928951A (zh) | 一种基于区块链的数据共享及仲裁方法 | |
CN111817855B (zh) | 基于以太坊区块链的电子投票方法及系统 | |
CN111464633B (zh) | 用于区块链的交易信息的共识方法及系统 | |
CN107563798A (zh) | 中奖数据处理方法及装置 | |
CN109886810B (zh) | 众包交易方法及系统、可读存储介质和终端 | |
CN110868286A (zh) | 一种基于区块链智能合约生成随机数的方法 | |
CN114358907A (zh) | 一种基于区块链联邦学习的金融风险预测方法和系统 | |
CN110096859A (zh) | 用户验证方法、装置、计算机设备及计算机可读存储介质 | |
CN112685792A (zh) | 一种模型验证方法、装置及电子设备 | |
CN111445209A (zh) | 一种基于区块链的电子合同签署方法、装置和存储介质 | |
CN110460617A (zh) | 机考考试系统及相关产品 | |
CN114817888A (zh) | 证书登记和颁发方法、装置与存储介质 | |
CN110516475B (zh) | 一种数据处理方法、装置及服务器 | |
TWI625703B (zh) | 基於區塊鏈的線上投票與唱票系統及其方法 | |
CN114491615A (zh) | 基于区块链的异步纵向联邦学习公平激励机制方法 | |
CN108764533B (zh) | 基于虹膜识别的预测迟到概率的学校考勤系统及方法 |
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 |