CN109493216B - 模型训练方法、装置、***及存储介质 - Google Patents
模型训练方法、装置、***及存储介质 Download PDFInfo
- Publication number
- CN109493216B CN109493216B CN201811160666.8A CN201811160666A CN109493216B CN 109493216 B CN109493216 B CN 109493216B CN 201811160666 A CN201811160666 A CN 201811160666A CN 109493216 B CN109493216 B CN 109493216B
- Authority
- CN
- China
- Prior art keywords
- model
- block chain
- data analysis
- node
- address
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开是关于一种模型训练方法、装置、***及存储介质,该方法应用于模型优化节点,该方法包括:调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址,其中,第一区块链地址是模型拥有节点在将数据分析模型写入区块链后得到并写入智能合约中的;根据第一区块链地址查询所述区块链,得到数据分析模型;利用预置的第一训练数据集训练数据分析模型,得到模型优化信息;将模型优化信息写入区块链中,得到第二区块链地址;将第二区块链地址写入智能合约中,第二区块链地址用于模型拥有节点获取模型优化信息。通过本公开实施例的技术方案,可以保证用户隐私,克服相关技术中因训练数据集数量不足而导致的训练所获模型精度不高的问题。
Description
技术领域
本公开涉及通信技术领域,尤其涉及一种模型训练方法、装置、***及存储介质。
背景技术
人工智能是数据分析不可或缺的一部分,在使用人工智能技术进行数据分析时,通常需要选择大量合适的训练数据集来训练模型,而训练数据集的数量常常是决定一个模型性能的关键因素。
然而,对于一些特定的应用场景,部分可作为训练数据集的数据因涉及用户隐私而无法共享使用,导致训练数据集的数量不足,进而致使训练所获模型的精度不高。
发明内容
为克服相关技术中存在的问题,本公开提供一种模型训练方法、装置、***及存储介质。
根据本公开实施例的第一方面,提供一种模型训练***,包括模型拥有节点和模型优化节点,所述模型拥有节点和所述模型优化节点是区块链网络中的节点;
所述模型拥有节点用于,将数据分析模型写入区块链中,得到第一区块链地址,将所述第一区块链地址写入所述区块链中存储的智能合约中;
所述模型优化节点用于,调用所述智能合约,得到所述第一区块链地址;根据所述第一区块链地址查询所述区块链,得到所述数据分析模型;利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;将所述模型优化信息写入所述区块链中,得到第二区块链地址;将所述第二区块链地址写入所述智能合约中;
所述模型拥有节点还用于,调用所述智能合约,得到所述第二区块链地址,根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
可选地,所述模型拥有节点用于:
基于预设的同态加密算法,利用公钥对所述数据分析模型进行加密;
将加密后的数据分析模型写入所述区块链中;
所述模型优化节点用于:
基于所述同态加密算法,利用所述第一训练数据集训练所述加密后的数据分析模型,得到所述模型优化信息。
可选地,所述模型拥有节点用于:
利用私钥对所述模型优化信息进行解密;
利用解密后的模型优化信息更新所述数据分析模型,得到所述目标数据分析模型。
可选地,所述模型训练***还包括模型使用节点,所述模型使用节点是区块链网络中的节点;
所述模型拥有节点还用于:
将所述目标数据分析模型写入所述区块链中,得到第三区块链地址;
将所述第三区块链地址写入所述智能合约中;
所述模型使用节点用于:
调用所述智能合约,得到所述第三区块链地址;
根据所述第三区块链地址查询所述区块链,得到所述目标数据分析模型;
将待分析数据输入所述目标数据分析模型,得到分析结果。
可选地,所述模型拥有节点用于:
基于预设的同态加密算法,利用公钥对所述目标的数据分析模型进行加密;
将加密后的目标数据分析模型写入所述区块链;
所述模型使用节点用于:
基于所述同态加密算法,将待分析数据输入所述加密后的数据分析模型,得到所述分析结果。
可选地,所述模型使用节点还用于:
将所述分析结果写入所述区块链中,得到第四区块链地址;
将所述第四区块链地址写入所述智能合约中;
所述模型拥有节点还用于:
调用所述智能合约,得到所述第四区块链地址;
根据所述第四区块链地址查询所述区块链,得到所述分析结果;
利用私钥对所述分析结果进行解密,并将解密后的分析结果写入所述第四区块链地址对应的所述区块链的区块中;
所述模型使用节点还用于:
根据所述第四区块链地址查询所述区块链,得到所述解密后的分析结果。
可选地,所述模型优化信息包括优化后的数据分析模型或者优化后的数据分析模型的梯度值。
根据本公开实施例的第二方面,提供一种模型训练方法,应用于模型优化节点,所述模型优化节点是区块链网络中的节点,所述方法包括:
调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址,其中,所述第一区块链地址是模型拥有节点在将所述数据分析模型写入所述区块链后得到并写入所述智能合约中的,所述模型拥有节点是所述区块链网络中的节点;
根据所述第一区块链地址查询所述区块链,得到所述数据分析模型;
利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;
将所述模型优化信息写入所述区块链中,得到第二区块链地址;
将所述第二区块链地址写入所述智能合约中,所述第二区块链地址用于所述模型拥有节点获取所述模型优化信息。
可选地,所述数据分析模型是所述模型拥有节点基于预设的同态加密算法,利用公钥进行加密写入所述区块链中的;
所述利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息,包括:
基于所述同态加密算法,利用所述第一训练数据集训练所述加密后的数据分析模型,得到所述模型优化信息。
可选地,所述模型优化信息包括优化后的数据分析模型或者优化后的数据分析模型的梯度值。
根据本公开实施例的第三方面,提供一种模型训练方法,应用于模型拥有节点,所述模型拥有节点是区块链网络中的节点,所述方法包括:
将数据分析模型写入区块链中,得到第一区块链地址;
将所述第一区块链地址写入所述区块链中存储的智能合约中,所述第一区块链地址用于模型优化节点获取所述数据分析模型以及在所述智能合约中写入针对所述数据分析模型的模型优化信息的第二区块链地址,其中,所述模型优化节点是所述区块链网络中的节点;
调用所述智能合约,得到所述第二区块链地址;
根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;
利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
可选地,所述将数据分析模型写入区块链中,包括:
基于预设的同态加密算法,利用公钥对所述数据分析模型进行加密;
将加密后的数据分析模型写入所述区块链中。
可选地,所述利用所述模型优化信息更新所述数据分析模型,包括:
利用私钥对所述模型优化信息进行解密;
利用解密后的模型优化信息更新所述数据分析模型。
可选地,所述方法还包括:
将所述目标数据分析模型写入所述区块链中,得到第三区块链地址;
将所述第三区块链地址写入所述智能合约中,所述第三区块链地址用于模型使用节点获取所述目标数据分析模型,其中,所述模型使用节点是区块链网络中的节点。
可选地,所述将所述目标数据分析模型写入所述区块链中,包括:
基于预设的同态加密算法,利用公钥对所述目标数据分析模型进行加密;
将加密后的目标数据分析模型写入所述区块链中。
根据本公开实施例的第四方面,提供一种模型训练装置,应用于模型优化节点,所述模型优化节点是区块链网络中的节点,所述装置包括:
第一调用模块,被配置为调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址,其中,所述第一区块链地址是模型拥有节点在将所述数据分析模型写入所述区块链后得到并写入所述智能合约中的,所述模型拥有节点是所述区块链网络中的节点;
第一查询模块,被配置为根据所述第一区块链地址查询所述区块链,得到所述数据分析模型;
第一训练模块,被配置为利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;
第一写入模块,被配置为将所述模型优化信息写入所述区块链中,得到第二区块链地址;
第二写入模块,被配置为将所述第二区块链地址写入所述智能合约中,所述第二区块链地址用于所述模型拥有节点获取所述模型优化信息。
可选地,所述数据分析模型是所述模型拥有节点基于预设的同态加密算法,利用公钥进行加密写入所述区块链中的,第一训练模块包括:
第一训练子模块,被配置为基于所述同态加密算法,利用所述第一训练数据集训练所述加密后的数据分析模型,得到所述模型优化信息。
可选地,所述模型优化信息包括优化后的数据分析模型或者优化后的数据分析模型的梯度值。
根据本公开实施例的第五方面,提供一种模型训练装置,应用于模型拥有节点,所述模型拥有节点是区块链网络中的节点,所述装置包括:
第三写入模块,被配置为将数据分析模型写入区块链中,得到第一区块链地址;
第四写入模块,被配置为将所述第一区块链地址写入所述区块链中存储的智能合约中,所述第一区块链地址用于模型优化节点获取所述数据分析模型以及在所述智能合约中写入针对所述数据分析模型的模型优化信息的第二区块链地址,其中,所述模型优化节点是所述区块链网络中的节点;
第二调用模块,被配置为调用所述智能合约,得到所述第二区块链地址;
第二查询模块,被配置为根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;
更新模块,被配置为利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
可选地,所述第三写入模块包括:
第一加密子模块,被配置为基于预设的同态加密算法,利用公钥对所述数据分析模型进行加密;
第一写入子模块,被配置为将加密后的数据分析模型写入所述区块链中。
可选地,所述更新模块包括:
第一解密子模块,被配置为利用私钥对所述模型优化信息进行解密;
更新子模块,被配置为利用解密后的模型优化信息更新所述数据分析模型。
可选地,所述装置还包括:
第五写入模块,被配置为将所述目标数据分析模型写入所述区块链中,得到第三区块链地址;
第六写入模块,被配置为将所述第三区块链地址写入所述智能合约中,所述第三区块链地址用于模型使用节点获取所述目标数据分析模型,其中,所述模型使用节点是区块链网络中的节点。
可选地,所述第五写入模块包括:
第二加密子模块,被配置为基于预设的同态加密算法,利用公钥对所述目标数据分析模型进行加密;
第二写入子模块,被配置为将加密后的目标数据分析模型写入所述区块链中。
根据本公开实施例的第六方面,提供一种模型训练装置,应用于模型优化节点,所述模型优化节点是区块链网络中的节点,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址,其中,所述第一区块链地址是模型拥有节点在将所述数据分析模型写入所述区块链后得到并写入所述智能合约中的,所述模型拥有节点是所述区块链网络中的节点;利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;将所述模型优化信息写入所述区块链中,得到第二区块链地址;将所述第二区块链地址写入所述智能合约中,所述第二区块链地址用于所述模型拥有节点获取所述模型优化信息。
根据本公开实施例的第七方面,提供一种模型训练装置,应用于模型拥有节点,所述模型拥有节点是区块链网络中的节点,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:将数据分析模型写入区块链中,得到第一区块链地址;将所述第一区块链地址写入所述区块链中存储的智能合约中,所述第一区块链地址用于模型优化节点获取所述数据分析模型以及在所述智能合约中写入针对所述数据分析模型的模型优化信息的第二区块链地址,其中,所述模型优化节点是所述区块链网络中的节点;调用所述智能合约,得到所述第二区块链地址;根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
根据本公开实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第二方面所提供的模型训练方法的步骤。
根据本公开实施例的第九方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第三方面所提供的模型训练方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过区块链将拥有数据分析模型的模型拥有节点和拥有大量训练数据集的模型优化节点连接起来,通过智能合约的方式将模型拥有节点写入区块链中的数据分析模型用以模型训练,即模型优化节点可调用区块链中存储的智能合约来获取数据分析模型,利用预置的训练数据集对数据分析模型进行训练,并将训练得到的模型优化信息写入区块链中,以便模型拥有节点可以获取模型优化信息。这样,模型优化节点无需共享其拥有的训练数据集,而是在本地进行模型训练并上传模型优化信息,保证了用户隐私,克服了相关技术中因训练数据集数量不足而导致的训练所获模型精度不高的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种模型训练方法的流程图,其中,该方法应用于模型优化节点;
图2是根据一示例性实施例示出的一种模型训练方法的流程图,其中,该方法应用于模型拥有节点;
图3是根据一示例性实施例示出的一种实施环境的示意图;
图4是根据一示例性实施例示出的一种模型训练方法的信令交互示意图;
图5是根据一示例性实施例示出的一种模型训练***的框图;
图6是根据另一示例性实施例示出的一种模型训练***的框图;
图7是根据一示例性实施例示出的一种模型训练装置的框图,其中,该装置应用于模型优化节点;
图8是根据另一示例性实施例示出的一种模型训练装置的框图,其中,该装置应用于模型优化节点;
图9是根据一示例性实施例示出的一种模型训练装置的框图,其中,该装置应用于模型拥有节点;
图10是根据另一示例性实施例示出的一种模型训练装置的框图,其中,该装置应用于模型拥有节点;
图11是根据一示例性实施例示出的一种模型训练装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开的说明书和权利要求书以及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为特定的顺序或先后次序。
为了使本领域技术人员更容易理解本公开实施例提供的技术方案,下面首先对本公开涉及到的相关技术进行简单介绍。
区块链是由区块链网络中所有节点共同参与维护的去中心化分布式数据库***,它是由一系列基于密码学方法产生的数据块组成,每个数据块即为区块链中的一个区块。根据产生时间的先后顺序,区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链。区块链由其特别的区块和交易产生、验证协议,具有不可更改,不可伪造、完全可追溯的安全特性。
区块链技术中涉及到的相关概念说明:
区块链节点:区块链网络基于P2P(Peer to Peer,对等网络)网络,每个参与交易和区块存储、验证、转发的P2P网络节点都是一个区块链网络中的节点。
区块链数据写入:区块链节点通过向区块链网络发布“交易”(Transaction)实现向区块链写入数据。交易中包含用户使用自己私钥对交易的签名,以证明用户的身份。交易被“矿工”(执行区块链共识竞争机制的区块链节点)记录入产生的新区块,然后发布到区块链网络,并被其他区块链节点验证通过和接受后,交易数据即被写入区块链。
智能合约:从技术角度来讲,智能合约被认为是网络服务器,只是之二写服务器并不是使用IP地址架设在互联网上,而是架设在区块链上,从而可以在其上面运行特定的合约程序。但是与网络服务器不同的是,智能合约不依赖某个特定的硬件设备,事实上,智能合约的代码由所有参与挖矿的设备来执行。
智能合约是编程在区块链上的汇编语言,例如用Solidity或者Javascript类似的专用语言在创建区块链时预先制定智能合约。这些字节码确实给区块链的功能性提供了指引,因此代码可以很容易与它进行交互,例如转移密码学货币和记录事件。
区块链具有的特性:
去中心化:整个区块链***没有中心化的硬件或者管理机构,任意节点之间的权利和义务都是均等的,且任一节点的损坏或者失去都会不影响整个***的运作。因此也可以认为区块链具有极好的健壮性。
去信任化:参与整个区块链***中的每个节点之间进行数据交换是无需互相信任的,整个***的运作规则是公开透明的,所有的数据内容也是公开的,因此在***指定的规则范围和时间范围内,节点之间是不能也无法欺骗其它节点。
基于区块链技术,本公开实施例提供一种模型训练方法,所述方法应用于模型优化节点,其中,模型优化节点是区块链网络中的节点,如图1所示,该方法包括以下步骤:
在步骤S11中,调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址。
参照上述对智能合约的介绍,本公开实施例所述的智能合约可以是该区块链网络创建时各个区块链节点协商一致制定的。
在本公开的实施例中,第一区块链地址是模型拥有节点在将数据分析模型写入区块链后得到并写入智能合约中的,其中,模型拥有节点也是区块链网络中的节点。
在步骤S12中,根据第一区块链地址查询区块链,得到数据分析模型。
模型优化节点有模型训练需求时,可以通过向智能合约写入请求的方式调用智能合约,触发智能合约执行代码以向模型优化节点返回数据分析模型的第一区块链地址,这样,模型优化节点通过第一区块链地址查询区块链即可获取数据分析模型。
在步骤S13中,利用预置的第一训练数据集训练数据分析模型,得到模型优化信息。
可选地,数据分析模型可以是未经模型拥有节点加密而直接写入区块链中的,也可以是模型拥有节点基于同态加密算法,利用公钥对该数据分析模型进行加密后写入区块链中的。
对于前者,模型优化节点可以直接利用第一训练数据集训练该数据分析模型。
对于后者,在该过程中,由于只有模型拥有节点的私钥才能对加密后的数据分析模型进行解密且该私钥仅由模型拥有节点掌握,因而模型优化节点无法对加密后的数据分析模型进行解密,其可以基于模型拥有节点相同的同态加密算法,利用预置的第一训练数据集训练该加密后的数据分析模型,相应地,训练得到模型优化信息也是经加密后的信息且该模型优化信息解密后与对未加密的数据分析模型进行训练得到的结果一致。由于整个过程中数据分析模型都保持加密状态,可以实现加密状态下的模型融合与迭代,避免数据分析模型被窃取,保障了模型拥有节点的利益。
在步骤S14中,将模型优化信息写入区块链中,得到第二区块链地址。
在步骤S15中,将第二区块链地址写入智能合约中。
在一种可能的实现方式中,模型优化信息可以是优化后的数据分析模型,在此种情况下,模型优化节点直接将优化后的数据分析模型写入区块链中,并将得到的第二区块链地址写入智能合约中,以便模型拥有节点可以通过调用智能合约获取到优化后的数据分析模型。
在另一种可能的实施方式中,模型优化信息还可以是优化后的数据分析模型的梯度值,在此种情况下,模型优化节点仅将优化后得到的梯度值写入区块链中,并将得到的第二区块链地址写入智能合约中,以便模型拥有节点可以通过调用智能合约得到梯度值并利用梯度值更新数据分析模型。相对于第一种实现方式,该方式占用的区块链的存储资源更小、数据写入速度更快,并且可以避免优化后的数据分析模型被窃取,保障了模型优化节点的利益。此外,该方式更容易对模型优化节点的贡献值进行评估。
值得说明的是,本公开实施例所述的区块链可以是联盟链,其允许授权节点加入区块链网络,因而在该具有权限控制的区块链网络中,该模型优化节点和模型拥有节点是具备信息写入和读写权限的节点。
其次,本公开实施例所述的区块链网络中可以有多个模型优化节点,每一模型优化节点均可采用上述模型训练方法对数据分析模型进行优化。
此外,本公开所述的模型训练是指可以分布式训练的使用人工智能、机器学习、统计学和数据库的交叉方法在相对较大型的数据集中发现模式的计算过程。例如,建立深度学习的神经网络模型、AI(Artificial Intelligence,人工智能)训练、决策树分类模型等,本公开对此不做限定。
采用上述方法,通过区块链将拥有数据分析模型的模型拥有节点和拥有大量训练数据集的模型优化节点连接起来,通过智能合约的方式将模型拥有节点写入区块链中的数据分析模型用以模型训练,即模型优化节点可调用区块链中存储的智能合约来获取数据分析模型,利用预置的训练数据集对数据分析模型进行训练,并将训练得到的模型优化信息写入区块链中,以便模型拥有节点可以获取模型优化信息。这样,模型优化节点无需共享其拥有的训练数据集,而是在本地进行模型训练并上传模型优化信息,保证了用户隐私,克服了相关技术中因训练数据集数量不足而导致的训练所获模型精度不高的问题。
本公开实施例还提供一种模型训练方法,所述方法应用于模型拥有节点,其中,模型拥有节点是区块链网络中的节点,如图2所示,该方法包括以下步骤:
在步骤S21中,将数据分析模型写入区块链中,得到第一区块链地址。
在一种可能的实现方式中,模型拥有节点可以直接将数据分析模型写入区块链中,在此种情况下,区块链网络中的其他节点(例如模型优化节点)可从区块链中获取该数据分析模型。
在另一种可能的实现方式中,模型拥有节点可以基于同态加密算法,利用其公钥对数据分析模型进行加密后写入区块链中,在此种情况下,区块链网络中的其他节点(例如模型优化节点)可以从区块链中获取加密后的数据分析模型。由于仅模型拥有节点的私钥才能对加密后的数据分析模型进行解密并且该私钥仅由模型拥有节点掌握,因而区块链网络中的其他任何节点都无法对加密后的数据分析模型进行解密,进而可以避免数据分析模型被窃取,保障了模型拥有节点的利益。
在步骤S22中,将第一区块链地址写入区块链中存储的智能合约中,该一区块链地址用于模型优化节点获取数据分析模型以及在智能合约中写入针对该数据分析模型的模型优化信息的第二区块链地址。
模型拥有节点可以将第一区块链地址写入智能合约中,这样,智能合约在被模型优化节点调用时,可以将第一区块链地址返回给该模型优化节点。
智能合约和模型优化节点调用该智能合约的过程参照上述对图1所示方法的说明,此处不再赘述。
在步骤S23中,调用智能合约,得到第二区块链地址。
在步骤S24中,根据第二区块链地址查询区块链,得到模型优化信息。
模型拥有节点有数据分析模型更新需求时,可以通过向智能合约写入请求的方式调用智能合约,触发智能合约执行代码以向模型拥有节点返回模型优化信息的第二区块链地址,这样,模型拥有节点通过第二区块链地址查询区块链即可获取模型优化信息。
在步骤S25中,利用模型优化信息更新数据分析模型,得到目标数据分析模型。
在一种可能的实施方式中,模型优化信息可以是优化后的数据分析模型,在此种情况下,模型拥有节点可以利用预置的预测数据集分别评估该优化后的数据分析模型的精度和数据分析模型的精度,并将精度较高的一者作为目标数据分析模型。
在另一种可能的实施方式中,模型优化信息可以是优化后的数据分析模型的梯度值,在此种情况下,模型拥有节点可以利用梯度值和数据分析模型得到优化后的数据分析模型,并利用预置的预测数据集分别评估该优化后的数据分析模型的精度和数据分析模型的精度,且将精度较高的一者作为目标数据分析模型。
值得说明的是,本公开实施例所述的区块链网络中可以有多个模型优化节点,每一模型优化节点均可以从区块链中获取数据分析模型,利用各自的训练数据集训练该数据分析模型并将各自得到的模型优化信息写入区块链中。在此种情况下,模型拥有节点通过调用智能合约可以得到多个模型优化信息的区块链地址,通过各区块链地址查询区块链,可以得到所有的模型优化信息,利用这些模型优化信息可以得到多个优化后的数据分析模型,通过预置的预测数据集分别评估各优化后的数据分析模型的精度和数据分析模型的精度,并将精度最高的一者作为目标数据分析模型。
此外,对于模型拥有节点基于预设的同态加密算法、利用其公钥对数据分析模型进行加密后写入区块链中的实现方式,由于模型优化节点无法对加密后的数据分析模型解密而只能基于相同的同态加密算法,在保持数据分析模型加密的情况下进行模型训练,相应地,模型优化节点得到并写入区块链中的模型优化信息也是经加密后的并且该模型优化信息解密后与对未加密的数据分析模型进行训练得到的结果一致。因此,在此种情况下,模型拥有节点可以先利用其私钥对模型优化信息进行解密,再利用解密后的模型优化信息更新数据分析模型,得到目标数据分析模型。
进一步地,在另一个实施例中,模型拥有节点还可以将目标数据分析模型写入区块链中,得到第三区块链地址,并将第三区块链地址写入智能合约中,以便区块链网络中的模型使用节点获取和使用该目标数据分析模型。
值得说明的是,模型拥有节点可以基于同态加密算法,利用其公钥将目标数据分析模型写入区块链中,在这种情况下,模型使用节点无法对加密后的目标数据分析模型进行解密,其可以基于相同的同态加密算法,将待分析数据输入该加密后的目标数据分析模型以得到分析结果。由于整个过程中目标数据分析模型都处于加密状态,进而可以避免目标数据分析模型被窃取,保障模型拥有节点的利益。
进一步地,模型使用节点获得的分析结果也是处于加密状态的且该分析结果解密后与利用未加密的目标数据分析模型进行运算的结果一致,在此种情况下,模型使用节点可以将分析结果写入区块链中并将得到的分析结果的区块链地址写入智能合约中,由模型拥有节点通过调用智能合约和查询区块链的方式获取分析结果,并利用其私钥对分析结果进行解密,再将解密后的分析结果写入区块链,进而模型使用节点可以通过查询区块链获取到解密后的分析结果。
采用上述方法,通过区块链将拥有数据分析模型的模型拥有节点和拥有大量训练数据集的模型优化节点连接起来,通过智能合约的方式将模型拥有节点写入区块链中的数据分析模型用以模型训练,即模型优化节点可调用区块链中存储的智能合约来获取数据分析模型,利用预置的训练数据集对数据分析模型进行训练,并将训练得到的模型优化信息写入区块链中。而模型拥有节点可以通过调用智能合约获取模型优化信息并利用模型优化信息更新数据分析模型。这样,无需模型优化节点共享其拥有的训练数据集,只需模型优化节点上传模型优化信息,模型拥有节点使用模型优化信息更新数据分析模型,保证了用户隐私,克服了相关技术中因训练数据集数量不足而导致的训练所获模型精度不高的问题。
为了使本领域技术人员更加理解本公开实施例提供的技术方案,下面结合图3说明本公开实施例提供的模型训练方法。
图3是根据一示例性实施例示出的一种实施环境的示意图,如图3所示,该实施环境包括拥有数据分析模型的模型拥有节点301、模型优化节点302、模型使用节点303以及区块链网络304,其中,模型拥有节点301、模型优化节点302以及模型使用节点303均为区块链网络304中的节点。结合图3,本公开一示例性实施例示出的一种模型训练方法的流程图如图4所示,该方法包括以下步骤:
在步骤S41中,模型拥有节点301将数据分析模型写入区块链中,得到第一区块链地址。
可选地,模型拥有节点301可以直接将数据分析模型写入区块链中,也可以基于同态加密算法,利用其公钥对数据分析模型进行加密后写入区块链中。
在步骤S42中,模型拥有节点301将第一区块链地址写入区块链中存储的智能合约中。
在步骤S43中,模型优化节点302调用智能合约,得到第一区块链地址。
在步骤S44中,模型优化节点302根据第一区块链地址查询区块链,得到数据分析模型。
在步骤S45中,模型优化节点302利用预置的第一训练数据集训练数据分析模型,得到模型优化信息。
可选地,若数据分析模型是未经模型拥有节点301加密的,模型优化节点302则可以利用第一训练数据集训练数据分析模型。
可选地,若数据分析模型是经模型拥有节点301基于预设的同态加密算法、利用公钥进行加密的,模型优化节点302则可以基于相同的同态加密算法,利用第一训练数据集直接训练该加密后的数据分析模型,相应地,训练得到的模型优化信息也是经加密后的信息且该模型优化信息解密后与对未加密的数据分析模型进行训练得到的结果一致。在整个过程中,数据分析模型都保持加密状态。
在步骤S46中,模型优化节点302将模型优化信息写入区块链中,得到第二区块链地址。
可选地,模型优化信息可以是优化后的数据分析模型,也可以是优化后的数据分析模型的梯度值。
在步骤S47中,模型优化节点302将第二区块链地址写入智能合约中。
在步骤S48中,模型拥有节点301调用智能合约,得到第二区块链地址。
在步骤S49中,模型拥有节点301根据第二区块链地址查询区块链,得到模型优化信息。
在步骤S50中,模型拥有节点301利用模型优化信息更新数据分析模型,得到目标数据分析模型。
可选地,若模型优化信息是优化后的数据分析模型,模型拥有节点301则可以利用预置的预测数据集分别评估该优化后的数据分析模型的精度和数据分析模型的精度,并将精度较高的一者作为目标数据分析模型。
可选地,若模型优化信息是优化后的数据分析模型的梯度值,模型拥有节点301则可以利用梯度值和数据分析模型确定优化后的数据分析模型,并利用预置的预测数据集分别评估优化后的数据分析模型的精度和数据分析模型的精度,并且将精度较高的一者作为目标数据分析模型。
在步骤S51中,模型拥有节点301将目标数据分析模型写入区块链中,得到第三区块链地址。
可选地,模型拥有节点301可以直接将目标数据分析模型写入区块链中,也可以基于同态加密算法,利用其公钥对目标数据分析模型进行加密后写入区块链中。
在步骤S52中,模型拥有节点301将第三区块链地址写入智能合约中。
在步骤S53中,模型使用节点303调用智能合约,得到第三区块链地址。
在步骤S54中,模型使用节点303根据第三区块链地址查询区块链,得到目标数据分析模型。
在步骤S55中,模型使用节点303将待分析数据输入目标数据分析模型,得到分析结果。
可选地,若目标数据分析模型是未经模型拥有节点301加密的,模型使用节点303则可以将待分析数据输入目标数据分析模型,得到分析结果。
可选地,若目标数据分析模型是经模型拥有节点301基于预设的同态加密算法、利用公钥进行加密后的,模型使用节点303则可以基于相同的同态加密算法,将待分析数据直接输入该加密后的目标数据分析模型,相应地,输出的分析结果也是经加密后的结果且该分析结果解密后与对未加密的目标数据分析模型输出的结果一致。在整个过程中,目标数据分析模型都保持加密状态。
进一步地,模型使用节点303可以将分析结果写入区块链中并将得到的分析结果的区块链地址写入智能合约中,由模型拥有节点301通过调用智能合约和查询区块链的方式获取分析结果,并利用其私钥对分析结果进行解密,再将解密后的分析结果写入区块链,进而模型使用节点303通过查询区块链即可获取到解密后的分析结果。
采用上述方法,通过区块链将拥有数据分析模型的模型拥有节点、拥有大量训练数据集的模型优化节点以及使用数据分析模型的模型使用节点连接起来,通过智能合约的方式将模型拥有节点写入区块链中的数据分析模型用以模型训练和数据分析,即模型优化节点可调用区块链中存储的智能合约来获取数据分析模型,利用预置的训练数据集对数据分析模型进行训练,并将训练得到的模型优化信息写入区块链中,模型拥有节点可以通过调用智能合约获取模型优化信息并利用模型优化信息更新数据分析模型并上传更新所得的目标数据分析模型,模型使用节点通过调用智能合约获取目标数据分析模型并使用该目标数据分析模型进行数据分析。这样,无需模型优化节点共享其拥有的训练数据集,只需模型优化节点上传模型优化信息,模型拥有节点使用模型优化信息更新数据分析模型,保证了用户隐私,克服了相关技术中因训练数据集数量不足而导致的训练所获模型精度不高的问题。
值得说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
图5是根据一示例性实施例示出的一种模型训练***的框图,如图5所示,该***500包括模型拥有节点501和模型优化节点502。
该模型拥有节点501用于,将数据分析模型写入区块链中,得到第一区块链地址,将所述第一区块链地址写入所述区块链中存储的智能合约中;
该模型优化节点502用于,调用所述智能合约,得到所述第一区块链地址;根据所述第一区块链地址查询所述区块链,得到所述数据分析模型;利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;将所述模型优化信息写入所述区块链中,得到第二区块链地址;将所述第二区块链地址写入所述智能合约中;
该模型拥有节点501还用于,调用所述智能合约,得到所述第二区块链地址,根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
可选地,所述模型拥有节点501用于:
基于预设的同态加密算法,利用公钥对所述数据分析模型进行加密;
将加密后的数据分析模型写入所述区块链中;
所述模型优化节点502用于:
基于所述同态加密算法,利用所述第一训练数据集训练所述加密后的数据分析模型,得到所述模型优化信息。
可选地,所述模型拥有节点501用于:
利用私钥对所述模型优化信息进行解密;
利用解密后的模型优化信息更新所述数据分析模型,得到所述目标数据分析模型。
在另一个实施例中,如图6所示,所述模型训练***500还包括模型使用节点503,所述模型使用节点503是区块链网络中的节点;
所述模型拥有节点501还用于:
将所述目标数据分析模型写入所述区块链中,得到第三区块链地址;
将所述第三区块链地址写入所述智能合约中;
所述模型使用节点503用于:
调用所述智能合约,得到所述第三区块链地址;
根据所述第三区块链地址查询所述区块链,得到所述目标数据分析模型;
将待分析数据输入所述目标数据分析模型,得到分析结果。
可选地,所述模型拥有节点501用于:
基于预设的同态加密算法,利用公钥对所述目标的数据分析模型进行加密;
将加密后的目标数据分析模型写入所述区块链;
所述模型使用节点503用于:
基于所述同态加密算法,将待分析数据输入所述加密后的数据分析模型,得到所述分析结果。
可选地,所述模型使用节点503还用于:
将所述分析结果写入所述区块链中,得到第四区块链地址;
将所述第四区块链地址写入所述智能合约中;
所述模型拥有节点501还用于:
调用所述智能合约,得到所述第四区块链地址;
根据所述第四区块链地址查询所述区块链,得到所述分析结果;
利用私钥对所述分析结果进行解密,并将解密后的分析结果写入所述第四区块链地址对应的所述区块链的区块中;
所述模型使用节点503还用于:
根据所述第四区块链地址查询所述区块链,得到所述解密后的分析结果。
可选地,所述模型优化信息包括优化后的数据分析模型或者优化后的数据分析模型的梯度值。
所属领域的技术人员应该清楚地了解到,为了描述的方便和简洁,上述描述的模型训练***中的各节点的具体工作过程,可以参考前述方法实施例中对应的过程,此处不再赘述。
采用上述模型训练***,通过区块链将拥有数据分析模型的模型拥有节点、拥有大量训练数据集的模型优化节点以及使用数据分析模型的模型使用节点连接起来,通过智能合约的方式将模型拥有节点写入区块链中的数据分析模型用以模型训练和数据分析,即模型优化节点可调用区块链中存储的智能合约来获取数据分析模型,利用预置的训练数据集对数据分析模型进行训练,并将训练得到的模型优化信息写入区块链中,模型拥有节点可以通过调用智能合约获取模型优化信息并利用模型优化信息更新数据分析模型并上传更新所得的目标数据分析模型,模型使用节点通过调用智能合约获取目标数据分析模型并使用该目标数据分析模型进行数据分析。这样,无需模型优化节点共享其拥有的训练数据集,只需模型优化节点上传模型优化信息,模型拥有节点使用模型优化信息更新数据分析模型,保证了用户隐私,克服了相关技术中因训练数据集数量不足而导致的训练所获模型精度不高的问题。此外,相对于中心化部署的模型训练***,区块链的去中心化可以降低模型训练***的运维成本。
值得说明的是,本公开上述任一实施例可以应用于不同的场景。示例地,以医疗领域为例,模型拥有节点可以是机器学习或图像识别公司、科研机构等,其拥有数据分析模型,需要数据来帮助提升模型的性能;模型优化节点可以是大型医院、医疗信息化公司、科研机构等,其拥有大量患者医疗数据;模型使用节点可以是医疗APP公司、医疗机器人、医院等,其拥有待分析的患者医疗数据。
在该应用场景下,模型拥有节点无需共享其拥有的患者医疗数据,而是在本地进行模型训练并上传模型优化信息至区块链,由模型拥有节点从区块链下载模型优化信息,利用模型优化信息更新数据分析模型并将更新得到的目标数据分析模型上传至区块链,并将待分析的患者医疗数据输入目标数据分析模型,得到分析结果。这样,无需使模型优化节点共享患者医疗数据就可以使模型拥有节点更新数据分析模型,保证了用户隐私,同时可以使模型使用节点可以利用精度更好的模型对待分析的患者医疗数据进行分析,得到更准确的分析结果。
此外,在该应用场景下,患者医疗数据可以是医疗影像数据(例如X光片等),由于医疗影像数据具有通用性,可以避免数据格式不兼容的问题出现。
图7是根据一示例性实施例示出的一种模型训练装置的框图,该装置700应用于模型优化节点,其中,模型优化节点是区块链网络中的节点,用于实施上述方法实施例中图1所示的方法步骤,如图7所示,该装置700包括:
第一调用模块701,被配置为调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址,其中,所述第一区块链地址是模型拥有节点在将所述数据分析模型写入所述区块链后得到并写入所述智能合约中的,所述模型拥有节点是所述区块链网络中的节点;
第一查询模块702,被配置为根据所述第一区块链地址查询所述区块链,得到所述数据分析模型;
第一训练模块703,被配置为利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;
第一写入模块704,被配置为将所述模型优化信息写入所述区块链中,得到第二区块链地址;
第二写入模块705,被配置为将所述第二区块链地址写入所述智能合约中,所述第二区块链地址用于所述模型拥有节点获取所述模型优化信息。
可选地,如图8所示,所述数据分析模型是所述模型拥有节点基于预设的同态加密算法,利用公钥进行加密写入所述区块链中的;
第一训练模块703包括:
第一训练子模块731,被配置为基于所述同态加密算法,利用所述第一训练数据集训练所述加密后的数据分析模型,得到所述模型优化信息。
可选地,所述模型优化信息包括优化后的数据分析模型或者优化后的数据分析模型的梯度值。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
另外,上述对应用于模型优化节点的模型训练装置组成模块进行的划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,各个模块的物理实现也可以有多种方式,本发明对此不做限定。
采用上述模型训练装置,通过区块链将拥有数据分析模型的模型拥有节点和拥有大量训练数据集的模型优化节点连接起来,通过智能合约的方式将模型拥有节点写入区块链中的数据分析模型用以模型训练,即模型优化节点可调用区块链中存储的智能合约来获取数据分析模型,利用预置的训练数据集对数据分析模型进行训练,并将训练得到的模型优化信息写入区块链中,以便模型拥有节点可以获取模型优化信息。这样,模型优化节点无需共享其拥有的训练数据集,而是在本地进行模型训练并上传模型优化信息,保证了用户隐私,克服了相关技术中因训练数据集数量不足而导致的训练所获模型精度不高的问题。
图9是根据一示例性实施例示出的一种模型训练装置的框图,该装置900应用于模型拥有节点,其中,模型拥有节点是区块链网络中的节点,用于实施上述方法实施例中图2所示的方法步骤,如图9所示,该装置900包括:
第三写入模块901,被配置为将数据分析模型写入区块链中,得到第一区块链地址;
第四写入模块902,被配置为将所述第一区块链地址写入所述区块链中存储的智能合约中,所述第一区块链地址用于模型优化节点获取所述数据分析模型以及在所述智能合约中写入针对所述数据分析模型的模型优化信息的第二区块链地址,其中,所述模型优化节点是所述区块链网络中的节点;
第二调用模块903,被配置为调用所述智能合约,得到所述第二区块链地址;
第二查询模块904,被配置为根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;
更新模块905,被配置为利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
可选地,如图10所示,所述第三写入模块901包括:
第一加密子模块911,被配置为基于预设的同态加密算法,利用公钥对所述数据分析模型进行加密;
第一写入子模块912,被配置为将加密后的数据分析模型写入所述区块链中。
可选地,如图10所示,所述更新模块905包括:
第一解密子模块951,被配置为利用私钥对所述模型优化信息进行解密;
更新子模块952,被配置为利用解密后的模型优化信息更新所述数据分析模型。
可选地,如图10所示,所述装置900还包括:
第五写入模块906,被配置为将所述目标数据分析模型写入所述区块链中,得到第三区块链地址;
第六写入模块907,被配置为将所述第三区块链地址写入所述智能合约中,所述第三区块链地址用于模型使用节点获取所述目标数据分析模型,其中,所述模型使用节点是区块链网络中的节点。
可选地,如图10所示,所述第五写入模块906包括:
第二加密子模块961,被配置为基于预设的同态加密算法,利用公钥对所述目标数据分析模型进行加密;
第二写入子模块962,被配置为将加密后的目标数据分析模型写入所述区块链中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
另外,上述对应用于模型拥有节点的模型训练装置组成模块进行的划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,各个模块的物理实现也可以有多种方式,本发明对此不做限定。
采用上述模型训练装置,通过区块链将拥有数据分析模型的模型拥有节点和拥有大量训练数据集的模型优化节点连接起来,通过智能合约的方式将模型拥有节点写入区块链中的数据分析模型用以模型训练,即模型优化节点可调用区块链中存储的智能合约来获取数据分析模型,利用预置的训练数据集对数据分析模型进行训练,并将训练得到的模型优化信息写入区块链中。而模型拥有节点可以通过调用智能合约获取模型优化信息并利用模型优化信息更新数据分析模型。这样,无需模型优化节点共享其拥有的训练数据集,只需模型优化节点上传模型优化信息,模型拥有节点使用模型优化信息更新数据分析模型,保证了用户隐私,克服了相关技术中因训练数据集数量不足而导致的训练所获模型精度不高的问题。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现上述图1所示的模型训练方法的步骤。
相应地,本公开实施例还提供一种模型训练装置,该装置应用于模型优化节点,所述模型优化节点是区块链网络中的节点,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:执行上述图1所示的模型训练方法。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现上述图2所示的模型训练方法的步骤。
相应地,本公开实施例还提供一种模型训练装置,该装置应用于模型拥有节点,所述模型拥有节点是区块链网络中的节点,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:执行上述图2所示的模型训练方法。
图11是根据一示例性实施例示出的一种模型训练装置1100的框图,该装置1100可应用于模型优化节点或者模型拥有节点,其中,模型优化节点和模型拥有节点均为区块链网络中的节点。例如,装置1100可以是移动电话,计算机,数字广播终端,消息收发设备,平板设备,个人数字助理等。
参照图11,装置1100可以包括以下一个或多个组件:处理组件1102,存储器1104,电力组件1106,多媒体组件1108,音频组件1110,输入/输出(I/O)的接口1112,传感器组件1114,以及通信组件1116。
处理组件1102通常控制装置1100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,其中,当该装置1100应用于模型优化节点时,处理组件1102可以完成上述图1所示的模型训练方法的全部或部分步骤;当该装置1100应用于模型拥有节点时,处理组件1102可以完成上述图2所示的模型训练方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。
存储器1104被配置为存储各种类型的数据以支持在装置1100的操作。这些数据的示例包括用于在装置1100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件1106为装置1100的各种组件提供电力。电力组件1106可以包括电源管理***,一个或多个电源,及其他与为装置1100生成、管理和分配电力相关联的组件。
多媒体组件1108包括在所述装置1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括一个前置摄像头和/或后置摄像头。当装置1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括一个麦克风(MIC),当装置1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。
I/O接口1112为处理组件1102和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1114包括一个或多个传感器,用于为装置1100提供各个方面的状态评估。例如,传感器组件1114可以检测到装置1100的打开/关闭状态,组件的相对定位,例如所述组件为装置1100的显示器和小键盘,传感器组件1114还可以检测装置1100或装置1100一个组件的位置改变,用户与装置1100接触的存在或不存在,装置1100方位或加速/减速和装置1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1116被配置为便于装置1100和其他设备之间有线或无线方式的通信。装置1100可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1116还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图1(当该装置1100应用于模型优化节点时)或图2(当该装置1100应用于模型拥有节点时)所示模型训练方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1104,上述指令可由装置1100的处理器1120执行以完成上述图1(当该装置1100应用于模型优化节点时)或图2(当该装置1100应用于模型拥有节点时)所示模型训练方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (27)
1.一种模型训练***,其特征在于,包括模型拥有节点和模型优化节点,所述模型拥有节点和所述模型优化节点是区块链网络中的节点;
所述模型拥有节点用于,将数据分析模型写入区块链中,得到第一区块链地址,将所述第一区块链地址写入所述区块链中存储的智能合约中;
所述模型优化节点用于,调用所述智能合约,得到所述第一区块链地址;根据所述第一区块链地址查询所述区块链,得到所述数据分析模型;利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;将所述模型优化信息写入所述区块链中,得到第二区块链地址;将所述第二区块链地址写入所述智能合约中;
所述模型拥有节点还用于,调用所述智能合约,得到所述第二区块链地址,根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
2.根据权利要求1所述的模型训练***,其特征在于,所述模型拥有节点用于:
基于预设的同态加密算法,利用公钥对所述数据分析模型进行加密;
将加密后的数据分析模型写入所述区块链中;
所述模型优化节点用于:
基于所述同态加密算法,利用所述第一训练数据集训练所述加密后的数据分析模型,得到所述模型优化信息。
3.根据权利要求2所述的模型训练***,其特征在于,所述模型拥有节点用于:
利用私钥对所述模型优化信息进行解密;
利用解密后的模型优化信息更新所述数据分析模型,得到所述目标数据分析模型。
4.根据权利要求1所述的模型训练***,其特征在于,所述模型训练***还包括模型使用节点,所述模型使用节点是所述区块链网络中的节点;
所述模型拥有节点还用于:
将所述目标数据分析模型写入所述区块链中,得到第三区块链地址;
将所述第三区块链地址写入所述智能合约中;
所述模型使用节点用于:
调用所述智能合约,得到所述第三区块链地址;
根据所述第三区块链地址查询所述区块链,得到所述目标数据分析模型;
将待分析数据输入所述目标数据分析模型,得到分析结果。
5.根据权利要求4所述的模型训练***,其特征在于,所述模型拥有节点用于:
基于预设的同态加密算法,利用公钥对所述目标的数据分析模型进行加密;
将加密后的目标数据分析模型写入所述区块链;
所述模型使用节点用于:
基于所述同态加密算法,将待分析数据输入所述加密后的数据分析模型,得到所述分析结果。
6.根据权利要求5所述的模型训练***,其特征在于,所述模型使用节点还用于:
将所述分析结果写入所述区块链中,得到第四区块链地址;
将所述第四区块链地址写入所述智能合约中;
所述模型拥有节点还用于:
调用所述智能合约,得到所述第四区块链地址;
根据所述第四区块链地址查询所述区块链,得到所述分析结果;
利用私钥对所述分析结果进行解密,并将解密后的分析结果写入所述第四区块链地址对应的所述区块链的区块中;
所述模型使用节点还用于:
根据所述第四区块链地址查询所述区块链,得到所述解密后的分析结果。
7.根据权利要求1~6中任一项所述的模型训练***,其特征在于,所述模型优化信息包括优化后的数据分析模型或者优化后的数据分析模型的梯度值。
8.一种模型训练方法,其特征在于,应用于模型优化节点,所述模型优化节点是区块链网络中的节点,所述方法包括:
调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址,其中,所述第一区块链地址是模型拥有节点在将所述数据分析模型写入所述区块链后得到并写入所述智能合约中的,所述模型拥有节点是所述区块链网络中的节点;
根据所述第一区块链地址查询所述区块链,得到所述数据分析模型;
利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;
将所述模型优化信息写入所述区块链中,得到第二区块链地址;
将所述第二区块链地址写入所述智能合约中,所述第二区块链地址用于所述模型拥有节点获取所述模型优化信息。
9.根据权利要求8所述的方法,其特征在于,所述数据分析模型是所述模型拥有节点基于预设的同态加密算法,利用公钥进行加密写入所述区块链中的;
所述利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息,包括:
基于所述同态加密算法,利用所述第一训练数据集训练所述加密后的数据分析模型,得到所述模型优化信息。
10.根据权利要求8或9所述的方法,其特征在于,所述模型优化信息包括优化后的数据分析模型或者优化后的数据分析模型的梯度值。
11.一种模型训练方法,其特征在于,应用于模型拥有节点,所述模型拥有节点是区块链网络中的节点,所述方法包括:
将数据分析模型写入区块链中,得到第一区块链地址;
将所述第一区块链地址写入所述区块链中存储的智能合约中,所述第一区块链地址用于模型优化节点获取所述数据分析模型以及在所述智能合约中写入针对所述数据分析模型的模型优化信息的第二区块链地址,其中,所述模型优化节点是所述区块链网络中的节点;
调用所述智能合约,得到所述第二区块链地址;
根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;
利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
12.根据权利要求11所述的方法,其特征在于,所述将数据分析模型写入区块链中,包括:
基于预设的同态加密算法,利用公钥对所述数据分析模型进行加密;
将加密后的数据分析模型写入所述区块链中。
13.根据权利要求12所述的方法,其特征在于,所述利用所述模型优化信息更新所述数据分析模型,包括:
利用私钥对所述模型优化信息进行解密;
利用解密后的模型优化信息更新所述数据分析模型。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
将所述目标数据分析模型写入所述区块链中,得到第三区块链地址;
将所述第三区块链地址写入所述智能合约中,所述第三区块链地址用于模型使用节点获取所述目标数据分析模型,其中,所述模型使用节点是区块链网络中的节点。
15.根据权利要求14所述的方法,其特征在于,所述将所述目标数据分析模型写入所述区块链中,包括:
基于预设的同态加密算法,利用公钥对所述目标数据分析模型进行加密;
将加密后的目标数据分析模型写入所述区块链中。
16.一种模型训练装置,其特征在于,应用于模型优化节点,所述模型优化节点是区块链网络中的节点,所述装置包括:
第一调用模块,被配置为调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址,其中,所述第一区块链地址是模型拥有节点在将所述数据分析模型写入所述区块链后得到并写入所述智能合约中的,所述模型拥有节点是所述区块链网络中的节点;
第一查询模块,被配置为根据所述第一区块链地址查询所述区块链,得到所述数据分析模型;
第一训练模块,被配置为利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;
第一写入模块,被配置为将所述模型优化信息写入所述区块链中,得到第二区块链地址;
第二写入模块,被配置为将所述第二区块链地址写入所述智能合约中,所述第二区块链地址用于所述模型拥有节点获取所述模型优化信息。
17.根据权利要求16所述的装置,其特征在于,所述数据分析模型是所述模型拥有节点基于预设的同态加密算法,利用公钥进行加密写入所述区块链中的,第一训练模块包括:
第一训练子模块,被配置为基于所述同态加密算法,利用所述第一训练数据集训练所述加密后的数据分析模型,得到所述模型优化信息。
18.根据权利要求16或17所述的装置,其特征在于,所述模型优化信息包括优化后的数据分析模型或者优化后的数据分析模型的梯度值。
19.一种模型训练装置,其特征在于,应用于模型拥有节点,所述模型拥有节点是区块链网络中的节点,所述装置包括:
第三写入模块,被配置为将数据分析模型写入区块链中,得到第一区块链地址;
第四写入模块,被配置为将所述第一区块链地址写入所述区块链中存储的智能合约中,所述第一区块链地址用于模型优化节点获取所述数据分析模型以及在所述智能合约中写入针对所述数据分析模型的模型优化信息的第二区块链地址,其中,所述模型优化节点是所述区块链网络中的节点;
第二调用模块,被配置为调用所述智能合约,得到所述第二区块链地址;
第二查询模块,被配置为根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;
更新模块,被配置为利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
20.根据权利要求19所述的装置,其特征在于,所述第三写入模块包括:
第一加密子模块,被配置为基于预设的同态加密算法,利用公钥对所述数据分析模型进行加密;
第一写入子模块,被配置为将加密后的数据分析模型写入所述区块链中。
21.根据权利要求20所述的装置,其特征在于,所述更新模块包括:
第一解密子模块,被配置为利用私钥对所述模型优化信息进行解密;
更新子模块,被配置为利用解密后的模型优化信息更新所述数据分析模型。
22.根据权利要求19所述的装置,其特征在于,所述装置还包括:
第五写入模块,被配置为将所述目标数据分析模型写入所述区块链中,得到第三区块链地址;
第六写入模块,被配置为将所述第三区块链地址写入所述智能合约中,所述第三区块链地址用于模型使用节点获取所述目标数据分析模型,其中,所述模型使用节点是区块链网络中的节点。
23.根据权利要求22所述的装置,其特征在于,所述第五写入模块包括:
第二加密子模块,被配置为基于预设的同态加密算法,利用公钥对所述目标数据分析模型进行加密;
第二写入子模块,被配置为将加密后的目标数据分析模型写入所述区块链中。
24.一种模型训练装置,其特征在于,应用于模型优化节点,所述模型优化节点是区块链网络中的节点,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
调用区块链中存储的智能合约,得到数据分析模型的第一区块链地址,根据所述第一区块链地址查询所述区块链,得到所述数据分析模型,其中,所述第一区块链地址是模型拥有节点在将所述数据分析模型写入所述区块链后得到并写入所述智能合约中的,所述模型拥有节点是所述区块链网络中的节点;
利用预置的第一训练数据集训练所述数据分析模型,得到模型优化信息;
将所述模型优化信息写入所述区块链中,得到第二区块链地址;
将所述第二区块链地址写入所述智能合约中,所述第二区块链地址用于所述模型拥有节点获取所述模型优化信息。
25.一种模型训练装置,其特征在于,应用于模型拥有节点,所述模型拥有节点是区块链网络中的节点,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
将数据分析模型写入区块链中,得到第一区块链地址;
将所述第一区块链地址写入所述区块链中存储的智能合约中,所述第一区块链地址用于模型优化节点获取所述数据分析模型以及在所述智能合约中写入针对所述数据分析模型的模型优化信息的第二区块链地址,其中,所述模型优化节点是所述区块链网络中的节点;
调用所述智能合约,得到所述第二区块链地址;
根据所述第二区块链地址查询所述区块链,得到所述模型优化信息;
利用所述模型优化信息更新所述数据分析模型,得到目标数据分析模型。
26.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求8~10中任一项所述方法的步骤。
27.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求11~15中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160666.8A CN109493216B (zh) | 2018-09-30 | 2018-09-30 | 模型训练方法、装置、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160666.8A CN109493216B (zh) | 2018-09-30 | 2018-09-30 | 模型训练方法、装置、***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109493216A CN109493216A (zh) | 2019-03-19 |
CN109493216B true CN109493216B (zh) | 2021-02-09 |
Family
ID=65690061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811160666.8A Active CN109493216B (zh) | 2018-09-30 | 2018-09-30 | 模型训练方法、装置、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109493216B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723147B (zh) * | 2019-03-21 | 2023-07-25 | 杭州海康威视数字技术股份有限公司 | 基于区块链的数据训练方法、装置及设备、存储介质 |
CN109977014B (zh) * | 2019-03-22 | 2022-04-05 | 泰康保险集团股份有限公司 | 基于区块链的代码错误识别方法、装置、设备及存储介质 |
CN112166445A (zh) * | 2019-04-16 | 2021-01-01 | 华为技术有限公司 | 基于区块链网络的联合学习方法和联合学习设备 |
CN110532320B (zh) * | 2019-08-01 | 2023-06-27 | 立旃(上海)科技有限公司 | 基于区块链的训练数据管理方法及装置 |
CN110503202B (zh) * | 2019-08-22 | 2022-04-22 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN110991622B (zh) * | 2019-08-22 | 2021-06-04 | 腾讯科技(深圳)有限公司 | 基于区块链网络的机器学习模型处理方法及节点 |
CN110535938B (zh) | 2019-08-29 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 一种基于智能合约的数据处理方法、设备及存储介质 |
CN110543776A (zh) * | 2019-08-30 | 2019-12-06 | 联想(北京)有限公司 | 模型处理方法、装置、电子设备和介质 |
CN110825797B (zh) * | 2019-10-25 | 2022-12-16 | 烨链(上海)科技有限公司 | 数据交换方法和装置 |
CN111091888B (zh) * | 2019-11-25 | 2023-10-31 | 泰康保险集团股份有限公司 | 活动决策方法、装置、设备及存储介质 |
CN112418433A (zh) * | 2020-10-30 | 2021-02-26 | 联想(北京)有限公司 | 一种模型训练方法、装置及设备 |
CN112989390A (zh) * | 2021-04-15 | 2021-06-18 | 深圳前海移联科技有限公司 | 一种基于可插拔同态加密的区块链同质数据共享方法 |
CN113609508B (zh) * | 2021-08-24 | 2023-09-26 | 上海点融信息科技有限责任公司 | 一种基于区块链的联邦学习方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101774844B1 (ko) * | 2017-04-18 | 2017-09-19 | 주식회사 더디엔에이시스템 | 뉴로블록체인 콤비네이션을 이용한 인공신경망 모델의 자가 학습 모듈 |
CN107864198A (zh) * | 2017-11-07 | 2018-03-30 | 济南浪潮高新科技投资发展有限公司 | 一种基于深度学习训练任务的区块链共识方法 |
CN108491266A (zh) * | 2018-03-09 | 2018-09-04 | 联想(北京)有限公司 | 基于区块链的数据处理方法、装置及电子设备 |
CN108595185A (zh) * | 2018-04-11 | 2018-09-28 | 暨南大学 | 一种将以太坊智能合约转换成超级账本智能合约的方法 |
-
2018
- 2018-09-30 CN CN201811160666.8A patent/CN109493216B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101774844B1 (ko) * | 2017-04-18 | 2017-09-19 | 주식회사 더디엔에이시스템 | 뉴로블록체인 콤비네이션을 이용한 인공신경망 모델의 자가 학습 모듈 |
CN107864198A (zh) * | 2017-11-07 | 2018-03-30 | 济南浪潮高新科技投资发展有限公司 | 一种基于深度学习训练任务的区块链共识方法 |
CN108491266A (zh) * | 2018-03-09 | 2018-09-04 | 联想(北京)有限公司 | 基于区块链的数据处理方法、装置及电子设备 |
CN108595185A (zh) * | 2018-04-11 | 2018-09-28 | 暨南大学 | 一种将以太坊智能合约转换成超级账本智能合约的方法 |
Non-Patent Citations (2)
Title |
---|
A. Besir Kurtulmus.Trustless Machine Learning Contracts * |
Evaluating and Exchanging.《arXiv:1802.10185》.2018, * |
Also Published As
Publication number | Publication date |
---|---|
CN109493216A (zh) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109493216B (zh) | 模型训练方法、装置、***及存储介质 | |
JP6896942B2 (ja) | ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイス | |
EP3968567B1 (en) | Blockchain-based user privacy data providing methods and apparatuses | |
EP3701700B1 (en) | Blockchain-based smart contract invocation method and apparatus, and electronic device | |
CN114756886B (zh) | 一种匿踪查询方法、装置和用于匿踪查询的装置 | |
JP2021140156A (ja) | 準同型暗号を使用したブロックチェーンデータ保護 | |
CN110222721B (zh) | 数据处理方法、装置,区块链节点及存储介质 | |
JP2021509189A (ja) | ブロックチェーンベースのトランザクション処理方法および装置 | |
JP2020510329A (ja) | ログイン情報処理の方法およびデバイス | |
CN108304475B (zh) | 数据查询方法、装置及电子设备 | |
JP2019537348A (ja) | 準同型暗号を使用したブロックチェーンデータ保護 | |
CN107819572A (zh) | 命令传输方法、装置及电子设备 | |
CN104168277A (zh) | 文件保密方法及装置 | |
KR101768813B1 (ko) | 원격 상담 서비스 제공 시스템 및 시스템 보안방법 | |
CN113076527B (zh) | 一种基于区块链的数字资产处理方法及装置 | |
CN114401154B (zh) | 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置 | |
CN115967491B (zh) | 一种隐私求交方法、***和可读存储介质 | |
CN112184218B (zh) | 一种数据处理方法、装置和用于数据处理的装置 | |
CN112182647A (zh) | 数据读取方法及装置、数据授权方法及装置、存储介质 | |
CN112182646A (zh) | 数据读取方法及装置、数据授权方法及装置、存储介质 | |
CN108053241B (zh) | 数据分析方法、装置及计算机可读存储介质 | |
CN111596926B (zh) | 数据取证分析方法、装置及电子设备 | |
CN113868505A (zh) | 数据处理方法、装置、电子设备、服务器及存储介质 | |
CN105120452A (zh) | 传输信息的方法、装置及*** | |
CN112163046A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |