[发明专利]一种用于深度学习的工作量证明共识方法及系统有效
申请号: | 202110764728.1 | 申请日: | 2021-07-07 |
公开(公告)号: | CN113254980B | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 石宁;姜冲;李天莹;朱晓罡 | 申请(专利权)人: | 南京可信区块链与算法经济研究院有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/64;G06Q10/06;G06Q20/38;G06Q20/40;G06K9/62 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 郭放;许伟群 |
地址: | 210031 江苏省南京市中国(江苏)自由*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 深度 学习 工作量 证明 共识 方法 系统 | ||
1.一种用于深度学习的工作量证明共识方法,其特征在于,所述方法包括:
需求方节点根据业务需求生成深度学习任务;所述深度学习任务包括任务指标和深度学习的网络结构;所述任务指标包括模型准确率、模型召回率以及任务难度系数;
需求方节点根据所述深度学习任务编写智能合约,并根据智能合约调用算法组件库,组建深度学习的网络结构;需求方节点测试智能合约代码,若代码无误,则将智能合约上链发布;
需求方节点将所述网络结构和任务指标发布至区块链网络;
需求方节点向区块链网络发布数据集;所述数据集包括训练集和测试集;所述数据集中的测试集采用对称加密算法加密后发布;
区块链网络中的训练节点根据所述训练集对所述网络结构开始深度学习模型的训练,当训练的模型的各指标量达到所述任务指标时,生成待验证区块发布至区块链网络;所述待验证区块包括将模型参数、训练完成时间以及算力付出打包生成的区块头,以及将交易信息打包生成的区块体;
当区块链网络中的节点接收到第一预设数量的待验证区块后,停止接收训练节点再发布的待验证区块,并向需求方节点发送第一指令;
需求方节点根据所述第一指令,向区块链网络发布解密所述测试集的密钥;
验证节点根据所述密钥对加密的测试集解密,得到测试集明文;
区块链网络中的验证节点根据所述测试集验证所有待验证区块中模型的准确率,对准确率最高并且符合任务指标的区块签名,并将带有签名的验证结果发送至对应的训练节点;
收到带有签名的验证结果的数量达到预设值的训练节点生成验证区块,并将验证区块在区块链网络发布;
区块链网络中的所有节点验证所述验证区块中的签名信息,若验证通过,则将验证区块加入到区块链中;
所述方法还包括:
根据区块链网络中任意节点发送的更新请求更新算法组件库;
所述更新算法组件库的步骤包括:
区块链网络中任意节点编写预更新组件,并将预更新组件发布至区块链网络;
获取区块链网络中所有节点对所述预更新组件的校验结果;
若第二预设数量的节点的校验结果为校验通过,则将该预更新组件加入到算法组件库中。
2.根据权利要求1所述的方法,其特征在于,所述智能合约中包括需求方节点提供的担保数字资产;所述方法还包括:
验证区块对应的训练节点获得算力付出对应的数字资产;
需求方节点从训练节点获取深度学习模型,并回收剩余的担保数字资产。
3.一种用于深度学习的工作量证明共识系统,其特征在于,所述系统包括位于同一区块链网络中的需求方节点、多个训练节点以及验证节点,还包括算法组件库;其中,
所述需求方节点被配置为根据业务需求生成深度学习任务;所述深度学习任务包括任务指标和深度学习的网络结构;所述任务指标包括模型准确率、模型召回率以及任务难度系数;根据所述深度学习任务编写智能合约,并根据智能合约调用算法组件库,组建深度学习的网络结构;所述网络结构根据所述任务指标设定;将所述网络结构和任务指标发布至区块链网络;需求方节点测试智能合约代码,若代码无误,则将智能合约上链发布;
所述训练节点被配置为对所述网络结构开始深度学习模型的训练,当训练的模型的各指标量达到所述任务指标时,生成待验证区块发布至区块链网络;所述待验证区块包括将模型参数、训练完成时间以及算力付出打包生成的区块头,以及将交易信息打包生成的区块体;收到带有签名的验证结果的数量达到预设值的训练节点生成验证区块,并将验证区块在区块链网络发布;
所述验证节点被配置为验证所有待验证区块的准确率,对准确率最高并且符合任务指标的区块签名,并将带有签名的验证结果发送至对应的训练节点;
区块链网络中的所有节点被配置为验证所述验证区块中的签名信息,若验证通过,则将验证区块加入到区块链中;
所述系统还被配置为:
需求方节点向区块链网络发布数据集;所述数据集包括训练集和测试集;
所述训练节点根据所述训练集对所述网络结构开始深度学习模型的训练;
所述验证节点根据所述测试集验证待验证区块中模型的准确率;
当区块链网络中的节点接收到第一预设数量的待验证区块后,停止接收训练节点再发布的待验证区块,并向需求方节点发送第一指令;
需求方节点根据所述第一指令,向区块链网络发布解密所述测试集的密钥;
验证节点根据所述密钥对加密的测试集解密,得到测试集明文;
所述系统还配置为:
区块链网络中任意节点编写预更新组件,并将预更新组件发布至区块链网络;
获取区块链网络中所有节点对所述预更新组件的校验结果;
若第二预设数量的节点的校验结果为校验通过,则将该预更新组件加入到算法组件库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京可信区块链与算法经济研究院有限公司,未经南京可信区块链与算法经济研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110764728.1/1.html,转载请声明来源钻瓜专利网。