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

基于区块链的神经网络训练容器和托管训练方法与流程

2021-12-15 01:52:00 来源:中国专利 TAG:


1.本发明涉及机器学习技术领域,具体涉及一种基于区块链的神经网络训练容器和托管训练方法。


背景技术:

2.人工神经网络,是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。学习是神经网络研究的一个重要内容,它的适应性是通过学习实现的。根据环境的变化,对权值进行调整,改善系统的行为。神经网络是一种运算模型,由大量的神经元之间相互联接构成。每个节点代表一种特定的输出函数,称为激活函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。神经网络模型的本质是对自然界某种算法或者函数的逼近,或者是对一种逻辑策略的表达。但神经网络模型的拟合精准度主要由神经网络结构以及样本数据决定。建立合适的层数、连接结构,并使用适当的激活函数后,即完成了神经网络的初始建立。一旦神经网络的结构被确定,神经网络的最终准确度就由训练过程决定了。优质且足够多的样本数据,能够使神经网络模型获得较好的准确度。然而,建立神经网络模型者不一定拥有足够的优质数据,导致神经网络模型的应用因数据不足受到阻碍。加之受制于隐私保护,当前数据的流动严重不足,数据仍然主要以孤岛的形式存在。进一步导致神经网络模型应用受阻。因而需要研究如何使神经网络模型与拥有样本数据的数据源方之间建立能够保护数据隐私的数据共享通道。
3.中国专利cn112801198a,公开日2021年5月14日,一种基于智慧城市云平台的数据融合处理系统,包括同一系统架构下的数据采集模块、数据存储模块、数据调度模块和数据共享模块,数据采集模块用于采集基础地理信息、政府部门数据信息、企业数据信息和公众信息;数据存储模块将数据存储在highgo database中,使用sql查询,将实时数据采用键值对方式存储在数据库中,将视频和图像以文件形式存放在分布式文件系统中。其技术方案通过建立数据融合处理模型,更高效快速地处理多源数据,有利于各用户直接查看分享。但该技术方案不能保证数据在分享时不会泄露隐私。


技术实现要素:

4.本发明要解决的技术问题是:目前神经网络模型训练缺少数据的技术问题。提出了一种基于区块链的神经网络训练容器和托管训练方法。基于区块链能够在神经网络建立者和数据源方之间建立可信的数据使用权交易,同时通过改进的托管训练方法,能够保证数据的隐私安全。
5.为解决上述技术问题,本发明所采取的技术方案为:基于区块链的神经网络训练容器,包括模型编号、目标神经网络模型、主模型、若干个子模型、历史记录集、探测模型和
目标测试集,新建空容器,分配模型编号,接收用户提供的神经网络模型和测试集,分别存入目标神经网络模型和目标测试集,将目标神经网络模型拆分为主模型和若干个子模型,子模型数量与第1层的神经元数量相同,所述子模型的输出为对应的第1层神经元的输入数,所述子模型的输入为对应的第1层神经元所连接的输入层神经元,所述子模型的连接权重等于对应的第1层神经元所连接的输入层神经元的权重,所述主模型为所述目标神经网络模型删除输入层,并将第1层神经元的输入更改为对应子模型的输出,所述历史记录集记录已输入数据行的哈希值,历史记录集周期性将新增的记录一起提取哈希值,并上传区块链,存储相应的区块高度和区块哈希值,所述探测模型判断新数据行是否含有全部输入字段和输出字段,若含有全部输入字段和输出字段,则探测模型输出为真,若不含有全部输入字段和输出字段,则探测模型输出为假,将数据行输入子模型,将子模型的输出作为主模型的输入,获得损失值和梯度值,更新目标神经网络、主模型和子模型的权系数。
6.作为优选,还包括备份点,若干个数据行构成一组,输入一组数据行进行训练前,将目标神经网络模型备份,输入一组数据训练后,测试目标神经网络模型在目标测试集的准确度,若准确度低于备份点处的准确度,则将目标神经网络退回到备份点,反之,则删除备份点。
7.作为优选,还包括标准字段对照表,所述标准字段对照表记录目标神经网络模型的每个输入的标准字段名称、字段含义和归一化算子,提供数据行的数据源方根据字段含义,将所提交的数据行的字段名称关联对应的标准字段名称,并使用对应的归一化算子将字段值归一化。
8.经网络模型托管训练方法,使用如前述的基于区块链的神经网络训练容器,包括以下步骤:建立托管节点,所述托管节点建立神经网络训练容器;所述托管节点接收用户提供的神经网络模型和测试集,将神经网络模型和测试集输入神经网络训练容器,获得目标神经网络模型、目标测试集、主模型和若干个子模型;所述托管节点建立报价和账单,用户向所述托管节点的虚拟账户转账若干个代币;拥有数据行的数据源方若接受报价,则将其数据行的哈希值提交给所述托管节点,所述托管节点建立备份点;所述托管节点将若干个子模型发送给数据源方,数据源方依次将若干个数据行代入子模型,获得子模型的输出后,将子模型的输出发送给所述托管节点;所述托管节点将子模型的输出代入主模型,获得损失值,按照梯度值更新目标神经网络模型、主模型和子模型;所述托管节点将更新后的子模型发送给数据源方,数据源方再次计算并反馈子模型的输出,直到达到训练结束条件;所述托管节点将数据行哈希值存入历史记录集,所述托管节点在账单中记录数据源方和数据行哈希值;所述托管节点检查目标神经网络模型在目标测试集上的准确度,若准确度高于上一个备份点处的准确度,则确认账单,将上一个备份点后新生成的账单记录结账,将对应数量的代币转账到数据源方的虚拟账户,删除备份点。
9.作为优选,所述隐私安全检查的方法包括:将子模型中权系数为0的连接删除;检查子模型的输出是否仅涉及到一个输入层神经元的连接,若是,则子模型隐私安全检查不通过,反之,子模型的隐私安全检查通过;若全部子模型的隐私安全检查均通过,则判定隐私安全检查通过,计算子模型的输出提交给所述托管节点。
10.作为优选,还包括以下步骤:建立若干个源代理节点,数据源方将数据行提交给源代理节点,所述源代理节点为数据行赋予行编号,公开数据行的行编号和字段组成;所述源
代理节点接收数据源方的最低限价并保存;所述托管节点周期性将源代理节点新增公开的字段组成输入探测模型,若探测模型输出为真,则进入下一步,若探测模型输出为假,则继续将下一个公开的字段组成输入探测模型;所述托管节点将行编号和用户报价发送给所述源代理节点,若满足最低限价,则所述源代理节点将行编号对应的数据行的哈希值反馈给所述托管节点;所述托管节点将若干个子模型发送给所述源代理节点,所述源代理节点将数据行代入子模型,获得子模型的输出后,将子模型的输出发送给所述托管节点;所述托管节点将若干个子模型的输出代入主模型,获得损失值,根据梯度值更新目标神经网络模型、主模型和子模型;所述托管节点将数据行哈希值存入历史记录集,所述托管节点在账单中记录数据源方和数据行哈希值;所述托管节点将更新后的子模型发送给所述源代理节点,再次进行计算,直到满足训练终止条件;所述托管节点检查目标神经网络模型的准确度,若准确度高于上一个备份点处的准确度,则确认账单,将上一个备份点后新生成的账单记录结账,将对应数量的代币转账到数据源方的虚拟账户,删除备份点。
11.作为优选,所述源代理节点接收到若干个子模型后,对若干个子模型进行隐私安全检查,若隐私安全检查不通过,则停止训练,若隐私安全检查通过,则计算子模型的输出提交给所述托管节点。
12.作为优选,多个所述源代理节点存储数据源方的数据行,所述托管节点同时将若干个子模型发送给多个所述源代理节点,比较所述源代理节点的输出是否相同,若相同,则将子模型的输出代入主模型,若不相同,则丢弃当前数据行的训练,进行下一个数据行的训练。
13.本发明的实质性效果是:通过神经网络训练容器,并借助区块链,使代入神经网络的数据记录不可篡改,为提供数据的数据源方结算收益提供了依据,同时通过历史记录集避免为重复的数据付费;通过改进的训练方法,能够避免数据隐私泄露,保护数据源方数据的隐私安全。
附图说明
14.图1为实施例一神经网络训练容器结构示意图。
15.图2为实施例一子模型示意图。
16.图3为实施例一神经网络模型托管训练方法流程示意图。
17.图4为实施例一隐私安全检查流程示意图。
18.图5为实施例一结合源代理节点托管训练流程示意图。
19.其中:11、模型编号,12、主模型,13、子模型,14、目标神经网络模型,15、历史记录集,16、探测模型,17、目标测试集,131、第0层,132、第1层,133、输出层。
具体实施方式
20.下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
21.实施例一:基于区块链的神经网络训练容器,请参阅附图1,包括模型编号11、目标神经网络模型14、主模型12、若干个子模型13、历史记录集15、探测模型16和目标测试集17,新建空容器,分配模型编号11,接收用户提供的神经网络模型和测试集,分别存入目标神经网络模型
14和目标测试集17,将目标神经网络模型14拆分为主模型12和若干个子模型13,子模型13数量与第1层132的每个神经元数量相同,子模型13的输出为对应的第1层132神经元的输入数,子模型13的输入为对应的第1层132神经元所连接的输入层神经元,子模型13的连接权重等于对应的第1层132神经元所连接的输入层神经元的权重,主模型12为目标神经网络模型14删除输入层,并将第1层132神经元的输入更改为对应子模型13的输出,历史记录集15记录已输入数据行的哈希值,探测模型16判断新数据行是否含有全部输入字段和输出字段,若含有全部输入字段和输出字段,则探测模型16输出为真,若不含有全部输入字段和输出字段,则探测模型16输出为假,将数据行输入子模型13,将子模型13的输出作为主模型12的输入,获得损失值和梯度值,更新目标神经网络、主模型12和子模型13的权系数。
22.表1 两个数据源的字段
编号贷款金额还款期限贷款利率每期应还金额贷款日期已付本金已还利息 编号贷款金额用户名期数每月还款日每期应还金额是否逾期逾期金额等级
如表1所示,为两个数据源的字段,若目标神经网络模型14需要的字段为贷款金额、期数和等级,以用于参考制定其贷款用户的等级制度,则第2行对应的数据源提供的数据能够被应用到目标神经网络模型14的训练。
23.如图2中,函数f1连接的第0层131和第1层132神经元构成一个子模型13,但该子模型13的输出仅涉及一个第0层131神经元,因而隐私安全检查不通过。若仅考虑图2中函数f2、f3和f4构成的子模型13,则隐私安全检查通过。子模型13的输出代入图2中的函数f5和f6,则能够得出数据处理模型的输出层133的结果。
24.历史记录集15周期性将新增的记录一起提取哈希值,并上传区块链,存储相应的区块高度和区块哈希值。本神经网络训练容器使用历史记录集15,并借助区块链证明已代入训练过的数据,当数据源方提供了相同的数据时,能够通过历史记录集15,避免为同一条数据行二次付费。
25.通过容器公开探测模型16和目标测试集17,数据源方运行探测模型16,即可获得其数据是否能够被用于目标神经网络模型14的训练,方便撮合数据源方和神经网络模型所有者之间进行合作。
26.将多个数据源的数据进行融合,目前主要通过数据融合服务平台的方式,由平台提供风险控制等服务。本实施例提供的容器方案,能够在脱离平台的情况下,完成风险的控制,提供可信可靠的数据融合服务。即能够撮合数据交易,又能够保护数据的隐私性,还提供了合理的计费和可靠的付费方式。
27.若干个数据行构成一组,输入一组数据行进行训练前,将目标神经网络模型14备份,输入一组数据训练后,测试目标神经网络模型14在目标测试集17的准确度,若准确度低于备份点处的准确度,则将目标神经网络退回到备份点,反之,则删除备份点。关于被丢弃的训练结果所使用的数据,是否支付费用或者折扣收费,由数据融合双方协商确定。
28.标准字段对照表,标准字段对照表记录目标神经网络模型14的每个输入的标准字段名称、字段含义和归一化算子,提供数据行的数据源方根据字段含义,将所提交的数据行的字段名称关联对应的标准字段名称,并使用对应的归一化算子将字段值归一化。在神经网络训练容器中公开标准字段对照表,使多个数据源方能够主动将自己的字段名称关联标准字段名称,使神经网络模型训练时能够准确读取对应的字段。
29.神经网络模型托管训练方法,使用如前述的基于区块链的神经网络训练容器,请参阅附图3,包括以下步骤:步骤a01)建立托管节点,托管节点建立神经网络训练容器;步骤a02)托管节点接收用户提供的神经网络模型和测试集;步骤a03)将神经网络模型和测试集输入神经网络训练容器,获得目标神经网络模型14、目标测试集17、主模型12和若干个子模型13;步骤a04)托管节点建立报价和账单,用户向托管节点的虚拟账户转账若干个代币;步骤a05)拥有数据行的数据源方若接受报价,则将其数据行的哈希值提交给托管节点,托管节点建立备份点;步骤a06)托管节点将若干个子模型13发送给数据源方,数据源方依次将若干个数据行代入子模型13,获得子模型13的输出后,将子模型13的输出发送给托管节点;步骤a07)托管节点将子模型13的输出代入主模型12,获得损失值,按照梯度值更新目标神经网络模型14、主模型12和子模型13;步骤a08)托管节点将更新后的子模型13发送给数据源方,数据源方再次计算并反馈子模型13的输出,直到达到训练结束条件;步骤a09)托管节点将数据行哈希值存入历史记录集15,托管节点在账单中记录数据源方和数据行哈希值;步骤a10)托管节点检查目标神经网络模型14在目标测试集17上的准确度,若准确度高于上一个备份点处的准确度,则确认账单;步骤a11)将上一个备份点后新生成的账单记录结账,将对应数量的代币转账到数据源方的虚拟账户,删除备份点。
30.请参阅附图4,隐私安全检查的方法包括:步骤b01)将子模型13中权系数为0的连接删除;步骤b02)检查子模型13的输出是否仅涉及到一个输入层神经元的连接;步骤b03)若是,则子模型13隐私安全检查不通过,反之,子模型13的隐私安全检查通过;步骤b04)若全部子模型13的隐私安全检查均通过,则判定隐私安全检查通过,计算子模型13的输出提交给托管节点。
31.还包括以下步骤,建立了数据源方的托管代理,使数据源方能够自动寻找,请参阅附图5,包括:步骤c01)建立若干个源代理节点,数据源方将数据行提交给源代理节点;步骤c02)源代理节点为数据行赋予行编号,公开数据行的行编号和字段组成;步骤c03)源代理节点接收数据源方的最低限价并保存;步骤c04)托管节点周期性将源代理节点新增公开的字段组成输入探测模型16,若探测模型16输出为真,则进入下一步,若探测模型16输出为假,则继续将下一个公开的字段组成输入探测模型16;步骤c05)托管节点将行编号和用户报价发送给源代理节点;步骤c06)若满足最低限价,则源代理节点将行编号对应的数据行的哈希值反馈给托管节点;步骤c07)托管节点将若干个子模型13发送给源代理节点,源代理节点将数据行代入子模型13,获得子模型13的输出后,将子模型13的输出发送给托管节点;步骤c08)托管节点将若干个子模型13的输出代入主模型12,获得损失值,根据梯度值更新目标神经网络模型14、主模型12和子模型13;步骤c09)托管节点将数据行哈希值存入历史记录集15,托管节点在账单中记录数据源方和数据行哈希值;步骤c10)托管节点将更新后的子模型13发送给源代理节点,再次进行计算,直到满足训练终止条件;步骤c11)托管节点检查目标神经网络模型14的准确度,若准确度高于上一个备份点处的准确度,则确认账单;步骤c12)将上一个备份点后新生成的账单记录结账,将对应数量的代币转账到数据源方的虚拟账户,删除备份点。
32.源代理节点接收到若干个子模型13后,对若干个子模型13进行隐私安全检查,若隐私安全检查不通过,则停止训练,若隐私安全检查通过,则计算子模型13的输出提交给托管节点。
33.多个源代理节点存储数据源方的数据行,托管节点同时将若干个子模型13发送给多个源代理节点,比较源代理节点的输出是否相同,若相同,则将子模型13的输出代入主模型12,若不相同,则丢弃当前数据行的训练,进行下一个数据行的训练。
34.本实施例的有益技术效果是:通过神经网络训练容器,并借助区块链,使代入神经网络的数据记录不可篡改,为提供数据的数据源方结算收益提供了依据,同时通过历史记录集15避免为重复的数据付费;通过改进的训练方法,能够避免数据隐私泄露,保护数据源方数据的隐私安全。
35.以上的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
再多了解一些

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

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

相关文献