CN110879827A - 一种基于区块链网络的信息处理方法及设备 - Google Patents

一种基于区块链网络的信息处理方法及设备 Download PDF

Info

Publication number
CN110879827A
CN110879827A CN201911013679.7A CN201911013679A CN110879827A CN 110879827 A CN110879827 A CN 110879827A CN 201911013679 A CN201911013679 A CN 201911013679A CN 110879827 A CN110879827 A CN 110879827A
Authority
CN
China
Prior art keywords
training
test accuracy
voting
participant
determining
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
Application number
CN201911013679.7A
Other languages
English (en)
Other versions
CN110879827B (zh
Inventor
李梅
王奇刚
张婉璐
陈旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201911013679.7A priority Critical patent/CN110879827B/zh
Publication of CN110879827A publication Critical patent/CN110879827A/zh
Application granted granted Critical
Publication of CN110879827B publication Critical patent/CN110879827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供了一种基于区块链网络的信息处理方法及设备,其中,所述方法包括:基于数据训练模型对自身的训练数据集进行第一训练次数的训练,得到训练后的数据训练模型;至少基于训练后的数据训练模型的第一测试准确率确定未达到训练完成条件时,基于训练后的数据训练模型对训练数据集进行第二训练次数的训练,得到目标数据训练模型;至少基于目标数据训练模型的第二测试准确率确定达到训练完成条件时,向区块链网络中的其他参与方节点发送投票请求;基于接收到的区块链网络中的其他参与方节点发送的投票信息,确定投票请求对应的投票结果满足投票通过条件时,基于第二参数集合生成新的区块。

Description

一种基于区块链网络的信息处理方法及设备
技术领域
本申请属于区块链技术领域,涉及但不限于一种基于区块链网络的信息处理方法及设备。
背景技术
在基于区块链的人工智能模型训练场景中,当存在社区维护一个待解决特定问题的人工智能模型的区块链时,每个参与方通过训练各自的模型生成对应的参数,并在通过其他参与方的投票时生成一个新的区块,以此实现每个参与方在不公开自身数据的情况下进行模型的协同训练。
但是,在现有的基于区块链的人工智能模型训练场景中,当人工智能模型训练场景中的某一参与方向其他参与方广播参数前都会按照预先设置的训练轮数进行模型训练,由于训练轮数是固定不变的,因此很可能导致任一参与方进行模型训练的训练结果为训练未收敛或者过拟合,那么在将未收敛或者过拟合生成的参数广播给其他参与方,且其他参与方综合获取到的参数时,会使得基于区块链的人工智能模型训练场景中参与方的训练后的模型收敛速度较慢或者难以收敛到预期精度。
发明内容
有鉴于此,本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于区块链网络的信息处理方法,所述方法包括:
基于数据训练模型对自身的训练数据集进行第一训练次数的训练,得到训练后的数据训练模型,并确定所述训练后的数据训练模型的第一测试准确率;
至少基于所述第一测试准确率确定未达到训练完成条件时,基于所述训练后的数据训练模型对所述训练数据集进行第二训练次数的训练,得到目标数据训练模型和所述目标数据训练模型的第二测试准确率;
至少基于所述第二测试准确率确定达到训练完成条件时,向区块链网络中的其他参与方节点发送投票请求;其中,所述投票请求中至少携带有所述目标数据训练模型的第二参数集合;
基于接收到的区块链网络中的其他参与方节点发送的投票信息,确定所述投票请求对应的投票结果满足投票通过条件时,基于所述第二参数集合生成新的区块。
本申请实施例提供了一种基于区块链网络的信息处理设备,所述设备至少包括存储器、通信总线以及处理器,其中:
所述存储器,用于存储基于区块链网络的信息处理程序;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的基于区块链网络的信息处理程序,以实现如前述实施例所述的基于区块链网络的信息处理方法的步骤。
本申请实施例提供了一种基于区块链网络的信息处理方法及设备,其中,首先基于数据训练模型对训练数据集进行第一训练次数的训练,得到训练后的数据训练模型,然后至少基于训练后的数据训练模型的第一测试准确率确定未达到训练完成条件时基于训练后的数据训练模型训练训练数据集第二训练次数后确定目标数据训练模型,以此实现通过自适应增强的方式调节数据训练模型的训练次数来避免训练未收敛或者过拟合;进一步地,当至少基于目标数据训练模型的第二测试准确率确定达到训练完成条件时在区块链网络广播投票请求,并基于接收到的其他参与方节点发送的投票信息,确定投票请求对应的投票结果满足投票通过条件时,基于目标数据训练模型的第二参数向量生成新的区块,以此提高区块链网络中各个参与方节点的模型的收敛速度和精度,从而提高了区块链网络的灵活性和可靠性。
附图说明
图1为本申请实施例提供的基于区块链网络的信息处理方法的一种实现流程示意图;
图2为本申请实施例提供的基于区块链网络的信息处理方法的另一实现流程示意图;
图3为本申请实施例提供的基于区块链网络的信息处理方法的再一实现流程示意图;
图4为本申请实施例提供的基于区块链网络的信息处理方法的又一实现流程示意图;
图5A为本申请实施例提供的基于区块链的人工智能模型训练场景示意图;
图5B为本申请实施例中进行模型训练和参数更新的流程示意图;
图5C为本申请实施例提供的区块链网络中一参与方接收其他参与方发送的投票信息的示意图;
图5D为本申请实施例中进行参数综合和投票的流程示意图;
图5E为本申请实施例提供的区块链网络中4个参与方分别接收和发送投票请求的过程示意图;
图6为本申请实施例提供的基于区块链网络的信息处理装置的示意图;
图7为本申请实施例提供的基于区块链网络的信息处理设备的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本申请实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
2)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
3)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
4)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
本实施例提供一种基于区块链网络的信息处理方法,所述方法应用于基于区块链网络中的某一参与方节点中,所述参与方节点可以是电子设备,所述电子设备可以是智能手机、平板电脑、平板电脑等具有无线通信能力的移动终端,还可以是不便移动的具有计算功能的台式计算机、桌面电脑、服务器等,服务器可以是指一台服务器,也可以是由多台服务器构成的服务器集群、云计算中心等等;图1为本申请实施例提供的基于区块链网络的信息处理方法的一种实现流程示意图,如图1所示,所述方法包括:
步骤S101:基于数据训练模型对自身的训练数据集进行第一训练次数的训练,得到训练后的数据训练模型,并确定所述训练后的数据训练模型的第一测试准确率。
这里,所述数据训练模型可以设置于所述参与方节点中,用于对所述参与方节点中的训练数据集进行第一训练次数的训练,所述第一测试准确率可以是测试所述数据训练模型经过第一训练次数训练的准确率。
在实际处理过程中,所述数据训练模型可以采用梯度下降算法对所述参与方节点中的训练数据集进行第一训练次数的训练,所述梯度下降算法可以是随机梯度下降算法、小批量梯度下降算法、梯度下降法、批量梯度下降算法或者随机并行梯度下降算法等其他包括梯度下降的算法。并且,所述参与方节点中包括有数据集,所述数据集可以包括图片数据、语音数据、视频数据等其他类型数据中的至少一种,并将所述数据集分为两部分子数据集,将其中一部分子数据集确定为训练数据集,将另一部分子数据集确定为测试数据集。
步骤S102:至少基于所述第一测试准确率确定未达到训练完成条件时,基于所述训练后的数据训练模型对所述训练数据集进行第二训练次数的训练,得到目标数据训练模型和所述目标数据训练模型的第二测试准确率。
这里,至少基于所述第一测试准确率确定未达到训练完成条件,可以认为所述训练后的数据训练模型并不是已训练好的模型,并且所述第一测试准确率没有达到或高于测试准确率阈值的要求,也即测试所述数据训练模型经过第一训练次数训练的准确率并不够高,因此可以基于所述训练后的数据训练模型对所述训练数据集进行第二训练次数的训练,并且所述训练后的数据训练模型也是使用梯度下降算法对所述训练数据集进行第二训练次数的训练的。
在本实施例中,所述第二训练次数小于第一训练次数,并且在确定是否达到训练完成条件时,可以通过第一测试准确率与测试准确率阈值的大小关系比较结果、第一训练次数与训练次数阈值的大小关系比较结果和/或第一训练损失值与训练损失阈值的大小关系比较结果来确定;其中,所述第一训练损失值可以是训练所述数据训练模型第一训练次数的开销损失值,所述测试准确率阈值用于表明测试数据训练模型经过多次训练的准确率足以影响目标数据训练模型的精度,所述训练损失阈值用于表明训练数据训练模型经过多次训练的开销损失值足以影响目标数据训练模型的精度,所述训练次数阈值用于表明训练数据训练模型的次数足以影响目标数据训练模型的精度,所述目标数据训练模型可以认为是训练好的模型。
步骤S103:至少基于所述第二测试准确率确定达到训练完成条件时,向区块链网络中的其他参与方节点发送投票请求。
其中,所述投票请求中至少携带有所述目标数据训练模型的第二参数集合,在一些实施例中,所述投票请求中还携带有所述参与方节点的签名信息,用于表征参与方节点的身份。
至少基于第二测试准确率确定达到训练完成条件,可以认为所述训练后的数据训练模型经过第二训练次数训练后得到的模型为目标数据训练模型,也即训练好的模型;并且,所述投票请求中还可以携带目标数据训练模型的第二测试准确率、目标数据训练模型的第二训练损失值,此时所述参与方节点可以向区块链网络中的其他参与方节点发送投票请求,以获取其它参与方节点针对所述投票请求发送的投票信息。
步骤S104:基于接收到的区块链网络中的其他参与方节点发送的投票信息,确定所述投票请求对应的投票结果满足投票通过条件时,基于所述第二参数集合生成新的区块。
这里,所述投票信息至少包括投票类型,所述投票类型可以为赞成票或者反对票;并且,所述投票请求对应的投票结果满足投票通过条件,可以认为是所述投票结果中赞成票的个数大于或者等于个数阈值,所述个数阈值用于表明赞成票的个数足以影响区块链网络中新的区块的生成结果。
在实际处理过程中,确定所述投票请求对应的投票结果满足投票通过条件时,表明所述投票请求对应的交易在区块链网络中共识成功,此时可以将该共识成功的交易确定为区块链网络中新的区块。
在本实施例中,基于数据训练模型训练数据集第一训练次数后得到训练后的数据训练模型,当至少基于训练后的数据训练模型的第一测试准确率确定未达到训练完成条件时基于训练后的数据训练模型训练训练数据集第二训练次数,以此实现通过自适应增强的方式调节数据训练模型的训练次数来避免训练未收敛或者过拟合;进一步的至少基于得到的目标数据训练模型的第二测试准确率确定达到训练完成条件时广播投票请求,并基于获取到的其他参与方节点发送的投票信息确定满足投票通过条件时,基于目标数据训练模型的第二参数向量生成新的区块,以此提高区块链网络上各个模型的收敛速度和精度。
在一些实施例中,如图2所示,在执行步骤S102之前,所述方法可以执行以下步骤:
步骤S11:确定测试准确率阈值,并获取训练次数阈值,其中,所述测试准确率阈值是基于自身获取的n个参数集合确定的,n为大于1的整数。
这里,所述n个参数集合可以是基于所述参与方节点接收的区块链网络中的n个其他参与方节点发送过来的n个投票请求获取的,每个其它参与方节点发送的投票请求中可以携带有测试准确率。
在实际处理过程中,当所述参与方节点在训练自身的数据训练模型的过程中,也可以获取区块链网络中每个其它参与方节点的数据训练模型的测试准确率,以使得所述参与方基于获取的n个测试准确率判断所述训练后的数据训练模型的第一测试准确率是否满足准确率条件。
步骤S12:判断所述第一测试准确率是否小于测试准确率阈值,且第一训练次数是否小于训练次数阈值。
这里,当所述第一测试准确率小于测试准确率阈值且第一训练次数小于训练次数阈值时,进入步骤S13;反之,当所述第一测试准确率不小于测试准确率或者第一训练次数达到训练次数阈值时,进入步骤S14。
在实际处理过程中,基于数据训练模型训练所述训练数据集第一训练次数,如果测试所述数据训练模型经过第一训练次数训练的准确率(即所述第一测试准确率)没有达到或高于测试准确率阈值,并且所述第一训练次数也没有达到训练次数阈值,那么可以认为训练后的数据训练模型并不是训练好的模型;相应地,如果第一测试准确率达到或高于测试准确率阈值,或者第一训练次数达到训练次数阈值,那么可以认为训练后的数据训练模型是训练好的模型。
步骤S13:基于所述第一测试准确率确定未达到训练完成条件。
这里,当基于所述第一测试准确率确定出所述训练后的数据训练模型不是训练好的模型时,可以认为所述训练后的数据训练模型没有达到训练完成条件。
步骤S14:基于所述第一测试准确率确定达到训练完成条件。
这里,当基于所述第一测试准确率确定出所述训练后的数据训练模型是训练好的模型时,可以认为所述训练后的数据训练模型达到了训练完成条件。
在本实施例中,参与方节点在训练自身数据训练模型的同时还能够基于获取的区块链网络中其它参与方节点发送的投票请求确定测试准确率阈值,从而基于训练自身数据训练模型的第一训练次数和测试所述数据训练模型经过第一训练次数训练的准确率来判断训练后的数据训练模式是否达到训练完成条件,以此提高自身模型的精度,同时也能有效提高参与方节点的功能多样性和灵活性,增强了区块链网络中各个参与方节点之间的数据交互性。
在一些实施例中,在执行步骤S102之前,所述方法还可以执行以下步骤:
步骤S21:确定所述训练后的数据训练模型的第一训练损失值以及训练损失阈值,其中,所述训练损失阈值是基于自身获取的n个训练损失值确定的,n为大于1的整数。
这里,所述第一训练损失值可以是训练所述数据训练模型第一训练次数的开销损失值,所述训练损失阈值可以是基于自身接收的区块链网络中的n个其它参与方节点发送的n个投票请求获取的,每个其它参与方节点发送的投票请求中还可以携带有测试准确率和/或训练损失值。
在实际处理过程中,当所述参与方节点在训练自身的数据训练模型的过程中,不仅可以获取区块链网络中每个其它参与方节点的数据训练模型的测试准确率,也可以获取每个其它参与方节点的数据训练模型的训练损失值,以使得所述参与方节点基于获取的n个测试准确率判断所述训练后的数据训练模型的第一测试准确率是否满足准确率条件和/或和基于获取的n个训练损失值判断所述训练后的数据训练模型的第一训练损失值是否满足损失值条件。
步骤S22:基于所述第一测试准确率和/或所述第一训练损失值判断是否达到训练完成条件。
这里,如果所述第一测试准确率小于测试准确率阈值且所述第一训练损失值大于训练损失阈值且第一训练次数小于训练次数阈值,进入步骤S23;反之,如果所述第一测试准确率满足测试准确率要求,或者所述第一训练损失值满足训练损失条件,或者所述第一测试准确率不满足测试准确率要求且所述第一训练损失值不满足训练损失条件时所述第一训练次数满足训练次数要求,进入步骤S24。
在实际处理过程中,所述第一测试准确率满足测试准确率要求,可以是所述第一测试准确率不小于测试准确率阈值,所述第一训练损失值满足训练损失条件,可以是所述第一训练损失值不大于训练损失阈值,所述第一测试准确率不满足测试准确率要求且所述第一训练损失值不满足训练损失条件时所述第一训练次数满足训练次数要求,可以是所述第一测试准确率小于测试准确率阈值且所述第一训练损失值大于训练损失阈值时第一训练次数达到训练次数阈值。
步骤S23:确定未达到训练完成条件。
这里,当所述第一测试准确率小于测试准确率阈值且所述第一训练损失值大于训练损失阈值且第一训练次数小于训练次数阈值时,可以认为所述训练后的数据训练模型并不是训练好的模型,也即所述训练后的数据训练模型未达到训练完成条件。
步骤S24:确定达到训练完成条件。
这里,当所述第一测试准确率满足测试准确率要求,或者所述第一训练损失值满足训练损失条件,或者所述第一测试准确率不满足测试准确率要求且所述第一训练损失值不满足训练损失条件时所述第一训练次数满足训练次数要求时,可以认为所述训练后的数据训练模型并不是训练好的模型,也即所述训练后的数据训练模型达到训练完成条件。
在本实施例中,参与方节点在训练自身数据训练模型的同时还能够基于获取的区块链网络中其它参与方节点发送的投票请求确定测试准确率阈值和训练损失阈值,从而基于训练自身数据训练模型的第一训练次数和测试所述数据训练模型经过第一训练次数训练的准确率和/或训练所述数据训练模型第一训练次数的开销损失值来判断训练后的数据训练模式是否达到训练完成条件,以此提高区块链网络中每个参与方节点的功能多样性和灵活性,也增强了区块链网络中各个参与方节点之间的数据交互性。
在一些实施例中,步骤S11中所述确定测试准确率阈值,其确定过程可以通过执行以下步骤实现:
步骤S111:接收区块链网络中的n个参与方节点发送的n个投票请求,所述每个投票请求中至少携带有参数集合和参与方节点的签名信息,进入步骤S112。
这里,所述参与方节点接收的每个投票请求中携带的参数集合可以是其它参与方节点的数据训练模型的参数集合,所述参与方节点的签名信息可以是利用所述其他参与方的参与私钥对所述其它参与方节点的数据训练模型的参数集合的摘要进行签名得到的,所述参与方节点的签名信息可以表征所述其他参与方节点的身份;其中,n可以为不小于3的整数。
在实际处理过程中,每个参与方节点在广播投票请求时都会对投票请求中所携带的参数集合的摘要进行签名以得到对应的签名信息,用以提高区块链网络中各个参与方节点之间进行数据传输的可靠性以及避免信息泄露。
步骤S112:判断对第i个参与方节点的签名信息验签是否通过。
这里,判断对第i个参与方节点的签名信息验签是否通过,可以是判断第i个参与方的身份验证是否通过,当对第i个参与方节点的签名信息验签通过时,说明第i个参与方的身份验证通过,进入步骤S113;反之,当对第i个参与方节点的签名信息验签没有通过时,说明第i个参与方的身份验证没有通过,进入步骤S115;其中,i=1,2,…,n。
在实际处理中,对第i个参与方节点的签名信息进行验签的过程,可以通过以下步骤实现:
步骤S1121:基于第i个参与方节点的标识信息,获取第i个参与方节点的参与公钥。
这里,由于第i个参与方节点中运行有接入区块链网络的客户端,那么在第i个参与方节点第一次接入到区块链网络时,需要到认证中心(CA,Certific ate Authority)注册获取证书(其中包括参与公钥、以及CA对参与方节点的参与公钥和身份信息签署的数字签名),用来与第i个参与方节点针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证。
由于区块链网络中存储有第i个参与方节点的参与公钥,并且该参与公钥与第i个参与方节点的标识是对应的,在第i个参与方节点向区块链网络发送投票请求时会携带有第i个参与方节点的标识信息,此时区块链网络中的节点就可以根据第i个参与方节点的标识信息,获取到相应的参与公钥。
步骤S1122:基于所述第i个参与方节点的参与公钥以及第i个参与方节点的发送的投票请求中携带的参数集合,对所述第i个参与方节点的签名信息进行验签,得到验签结果。
这里,步骤S1122在实现时,首先利用所述第i个参与方节点的参与公钥对所述第i个参与方节点的签名信息进行解密,得到解密后信息,再基于所述第i个参与方节点的发送的投票请求中携带的参数集合生成第i个摘要,当所述第i个摘要与所述解密后的信息一致时,认为对第i个参与方节点的签名信息验签通过;反之,当所述第i个摘要与所述解密后的信息不一致时,认为对第i个参与方节点的签名信息验签不通过。
步骤S113:使用测试数据集对所述第i个参数集合进行测试,得到第i个测试准确率,进入步骤S114。
这里,当第i个参与方节点的签名信息验签通过时,说明所述参与方节点和第i个其它参与方节点之间进行数据传输是安全的,并且所述参与方节点获取到的第i个其它参与方节点的参数集合是正确和可靠的,那么,所述参与方节点使用测试数据集测试第i个其它参与方节点的参数集合后得到的第i个测试准确率也是可靠的,从而可以得到每一个测试准确率,也即n个测试准确率。
步骤S114:对n个测试准确率进行排序,并基于排序结果确定测试准确率阈值。
这里,可以对n个测试准确率从大到小进行排序,再将排序结果中处于中间位置的测试准确率确定为测试准确率阈值。
在实际处理过程中,当n的取值为3且3个测试准确率为ACC0、ACC1、ACC2时对3个测试准确率进行从大到小排序后的结果为ACC2>ACC0>ACC1,此时可以将ACC0确定为测试准确率阈值;也可以基于对n个测试准确率从小到大进行排序后的排序结果确定测试准确率阈值。
步骤S115:确定验签通过的其它参与方对应的训练损失值个数,并判断所述训练损失值个数是否大于个数门限值且小于n。
这里,确定所述训练损失值个数大于个数门限值且小于n时,进入步骤S116;反之,确定所述训练损失值个数小于或者等于个数门限值时,进入步骤S117。
在实际处理过程中,所述个数门限值可以为1,并且当n的取值为3时,所述确定所述训练损失值个数大于个数门限值且小于n,可以认为确定出的所述训练损失值个数为2,所述确定所述训练损失值个数小于或者等于个数门限值,可以认为确定出的所述训练损失值个数为1或者为0。
步骤S116:确定验签通过的其它参与方对应的训练损失值的均值,将所述均值确定为训练损失阈值。
这里,如果验签通过的其它参与方的个数为2,可以将该2个其它参与方节点对应的2个训练损失值的均值来确定所述训练损失阈值,所述均值可以是算术平均值或者加权平均值。
步骤S117:基于验签通过的其它参与方对应的训练损失值,确定训练损失阈值。
这里,如果验签通过的其它参与方的个数为1时,训练损失值的个数为1时,可以将该1个其它参与方对应的训练损失值确定为训练损失阈值;如果验签通过的其它参与方的个数为0时,可以认为训练损失阈值为0。
在本实施例中,当参与方节点基于接收到n个投票请求时,先对接收的投票请求中的参与方节点的签名信息进行验签,然后再对验签通过的其它参与方的参数集合进行测试,以确定出测试准确率阈值,实现了在确保各个参与方节点之间能够进行安全可靠的信息传输时再进行信息处理,从而有效提高了区块链网络的安全性和可靠性。
在一些实施例中,步骤S21中所述训练损失阈值,其确定过程可以通过执行以下步骤实现:
步骤S211:接收区块链网络中的n个参与方节点发送的n个投票请求,所述每个投票请求中至少携带有训练损失值和参与方节点的签名信息。
这里,所述参与方节点接收的每个投票请求中携带的训练损失值可以是训练其它参与方节点的数据训练模型的开销损失值,所述参与方节点的签名信息可以表征所述其他参与方节点的身份;其中,n可以为不小于3的整数。
步骤S212:判断对每一个参与方节点的签名信息是否均验签通过。
这里,当每一个参与方节点的签名信息均验签通过时,可以是进入步骤S213;反之,当至少一个参与方节点的签名信息验签未通过时,进入步骤S214。
在实际处理过程中,每一个参与方节点的签名信息均验签通过,可以认为利用每一个参与方节点的参与公钥对训练损失值的摘要进行签名后得到所述参与方节点可以获取每一个投票请求中携带的训练损失值;反之,至少一个参与方节点的签名信息验签未通过,可以认为所述参与方节点不能获取至少一个其它参与方发送的投票请求中携带的训练损失值。
其中,当第i个参与方节点的签名信息是基于第i个参与方节点的参与公钥对i个参与方节点发送的投票请求中携带的训练损失值的摘要进行签名得到时,对第i个参与方节点的签名信息进行验签的过程与前述实施例中步骤S1121至步骤S1122的过程是对应的;i=1,2,…,n。
步骤S213:对n个训练损失值进行排序,并基于排序结果确定训练损失阈值。
这里,可以对n个训练损失值从大到小进行排序,再基于排序结果确定出训练损失阈值。
在实际处理过程中,当n的取值为3且3个训练损失值为BCC0、BCC1、BCC2时对3个训练损失值进行从大到小排序后的结果为BCC2>BCC0>BCC1,此时可以将BCC0确定为训练损失阈值;也可以基于对n个训练损失值从小到大进行排序后的排序结果确定训练损失阈值。
步骤S214:基于验签通过的参与方节点的签名信息对应的训练损失值个数,判断所述训练损失值个数是否大于个数门限值且小于n。
这里,确定所述训练损失值个数大于个数门限值且小于n时,进入步骤S215;反之,确定所述训练损失值个数小于或者等于个数门限值时,进入步骤S216。
在实际处理过程中,所述个数门限值可以为1,并且当n的取值为3时,所述确定所述训练损失值个数大于个数门限值且小于n,可以认为确定出的所述训练损失值个数为2,所述确定所述训练损失值个数小于或者等于个数门限值,可以认为确定出的所述训练损失值个数为1或者为0。
步骤S215:确定验签通过的其它参与方节点对应的训练损失值的均值,将所述均值确定为训练损失阈值。
这里,如果验签通过的其它参与方的个数为2,可以将该2个其它参与方节点对应的2个训练损失值的均值来确定所述训练损失阈值,所述均值可以是算术平均值或者加权平均值。
步骤S216:基于验签通过的其它参与方节点对应的训练损失值,确定训练损失阈值。
这里,如果验签通过的其它参与方的个数为1时,可以将该1个其它参与方对应的训练损失值确定为训练损失阈值;如果验签通过的其它参与方的个数为0时,可以认为训练损失阈值为0。
在本实施例中,当参与方节点基于接收到n个投票请求时,先对接收的投票请求中的参与方节点的签名信息进行验签,然后再对验签通过的其它参与方的训练损失值进行排序,以确定出训练损失阈值,实现了在确保各个参与方节点之间能够进行安全可靠的信息传输时再进行信息处理,从而有效提高了区块链网络的安全性和可靠性。
在一些实施例中,步骤S104中基于接收到的区块链网络中的其他参与方节点发送的投票信息,还可以确定出所述投票请求对应的投票结果不满足投票通过条件,当确定出所述投票请求对应的投票结果不满足投票通过条件时,可以执行以下步骤:
步骤S105:基于接收到的区块链网络中的其他参与方节点发送的投票信息,确定所述投票请求对应的投票结果不满足投票通过条件时,根据所述n个参数集合,确定第三参数集合,进入步骤S106。
这里,所述投票请求对应的投票结果不满足投票通过条件,可以认为是所述投票结果中赞成票的个数小于反对票个数或者是所述投票结果中赞成票的个数不满足个数阈值;并且,所述n个参数集合可以是所述参与方节点接收的每个投票请求中携带的参数集合,所述第三参数集合可以通过对n个参数集合进行均值处理后得到。
在实际处理过程中,所述参与方节点确定自身发出的投票请求对应的投票结果不满足投票通过条件时,可以认为自身发出的投票请求对应的交易在区块链网络中共识失败,此时可以通过自身从接收到的n个投票请求中获取的n个参数集合确定第三参数集合,用以对自身目标数据训练模型中的第二参数集合进行更新。
并且,在对n个参数集合进行均值处理时,可以是将所述n个参数集合中的第j个参数进行均值处理,得到第j个均值参数;其中,每个参数集合中有m个参数,j=1,2,…,m,再将第1至第m个均值参数确定为第三参数集合。
在实际处理过程中,当基于所述参与方节点发送的投票请求对应的交易在区块链网络中共识成功时,会在区块链网络中生成一个新的区块,并在所述新的区块生成时,所述第三参数集合中的每一个参数都会被置为0。
步骤S106:基于所述第二参数集合和所述第三参数集合,确定更新后的参数集合,进入步骤S107。
这里,所述更新后的参数集合,可以通过对所述第二参数集合和所述第三参数集合进行加权得到。
在实际处理过程中,在对第二参数集合和第三参数集合进行加权之前,首先确定第一权值和第二权值,然后基于所述第一权值和所述第二权值对所述第二参数集合和所述第三参数集合进行加权处理,得到加权处理后的参数集合。
步骤S107:将所述更新后的参数集合确定为所述目标数据训练模型的参数集合。
这里,所述更新后的参数集合可以为加权处理后的参数集合。
在本实施例中,当所述参与方节点基于接收到的其他参与方节点发送的投票信息确定出所述投票请求对应的投票结果不满足投票通过条件时,通过获取其它参与方节点的参数集合和自身目标数据训练模型的第二参数集合确定更新后的参数集合。以此利用区块链网络中的其他参与方节点对应的参数集合和自身对应的所述第二参数集合实现参数集合更新的过程,有效提高了区块链网络中各个参与方节点之间的数据交互性,从而也提高了区块链网络的灵活性和可靠性。
在一些实施例中,如图3所示,步骤S104中基于接收到的区块链网络中的其他参与方节点发送的投票信息,当所述投票信息中至少包括参与方节点的签名信息和投票类型时,所述方法还可以执行以下步骤:
步骤S31:判断所述参与方节点的签名信息是否验签通过。
这里,确定所述参与方节点的签名信息验签通过时,执行步骤S32;反之,确定所述参与方节点的签名信息验签没有通过时,进入步骤S36。
在实际处理过程中,当参与方节点的签名信息验签通过时,可以认为所述参与方节点可以获取该参与方节点的签名信息对应的其他参与方节点发送的投票请求中携带的投票类型;反之,当参与方节点的签名信息验签未通过时,可以认为所述参与方节点不能获取该参与方节点的签名信息对应的其他参与方节点发送的投票请求中携带的投票信息;其中,所述投票信息可以包括投票类型,所述投票类型可以为赞成票或者反对票。
其中,当第i个参与方节点的签名信息是基于第i个参与方节点的参与公钥对i个参与方节点发送的投票请求中携带的投票类型的摘要进行签名得到时,对第i个参与方节点的签名信息进行验签的过程与前述实施例中步骤S1121至步骤S1122的过程是对应的;i=1,2,…,n。
步骤S32:基于各个投票信息中的投票类型,确定接收到的赞成票的个数,进入步骤S33。
这里,当所述参与方节点的签名信息验签通过时,所述参与方节点可以获取所述参与方节点的签名信息对应的各个其他参与方节点发送的各个投票信息,并基于所述各个投票信息中的各个投票类型,确定出赞成票的个数。
步骤S33:判断所述赞成票的个数是否满足个数阈值。
这里,确定所述赞成票的个数满足个数阈值时,进入步骤S34;反之,确定所述赞成票的个数不满足个数阈值时,进入步骤S35。
在实际处理过程中,判断所述赞成票的个数是否满足个数阈值,可以认为是所述赞成票的个数是否大于或者等于个数阈值,如果确定出所述赞成票的个数大于或者等于个数阈值,说明所述赞成票的个数满足个数阈值;反之,如果确定出所述赞成票的个数小于个数阈值,说明所述赞成票的个数不满足个数阈值。
步骤S34:确定所述投票请求对应的投票结果满足投票通过条件。
这里,当所述赞成票的个数满足个数阈值时,可以确定所述投票请求对应的投票结果满足投票通过条件,此时可以认为所述投票请求对应的交易在区块链网络中共识成功,那么,也能够将该共识成功的事件确定为区块链网络中新的区块。
步骤S35:确定所述投票请求对应的投票结果不满足投票通过条件。
这里,当所述赞成票的个数不满足个数阈值时,可以确定所述投票请求对应的投票结果不满足投票通过条件,此时可以认为所述投票请求对应的交易没有共识成功,那么自然也就不能在区块链网络中生成新的区块。
步骤S36:输出提示信息,所述提示信息用于提示所述投票请求对应的投票结果获取失败。
这里,确定所述参与方节点的签名信息验签没有通过,可以是接收到的区块链网络中的其他参与方发送的投票信息包括的参与方节点的签名信息没有通过验签,此时可以输出提示信息以提示所述其他参与方节点验签失败。
在本实施例中,当从区块链网络足获取到的投票信息时先对所述投票信息进行验签,然后在验签通过时再基于投票信息中的投票类型确定赞成票的个数是否满足个数阈值,以实现当所述赞成票的个数满足个数阈值时生成对应的新的区块,从而能够有效提高区块链网络中新的区块的生成效率以及生成质量。
在一些实施例中,如图4所示,步骤S111中接收区块链网络中的n个参与方节点发送的n个投票请求时,所述方法还可以执行以下步骤:
步骤S41:将当前区块链网络中的末尾区块确定为参考区块,并确定所述参考区块中的数据训练模型为参考数据训练模型,进入步骤S42。
这里,所述参考区块中的数据训练模型,可以是所述末尾区块在生成时对应的训练模型,并且该训练模型可以是已训练好的模型,也即所述参考区块中的数据训练模型可以认为是已训练好的模型,再将所述已训练好的模型确定为参考数据训练模型。
步骤S42:基于所述测试数据集确定所述参考数据训练模型对应的测试准确率,并将所述参考数据训练模型对应的测试准确率确定为参考测试准确率,进入步骤S43。
这里,所述参考数据训练模型对应的测试准确率,可以是基于所述测试数据集对所述参考数据训练模型进行测试后得到的准确率。
步骤S43:判断第i个测试准确率是否小于所述参考测试准确率,i=1,2,…,n。
这里,确定第i个测试准确率小于所述参考测试准确率时,进入步骤S44;反之,确定第i个测试准确率是否大于或者等于所述参考测试准确率时,进入步骤S45。
在实际处理过程中,所述参与方节点针对区块链网络中第i个其他参与方节点发送的投票请求确定投票类型时,会将自身获得的第i个测试准确率与参考测试准确率进行大小比较,得到比较结果,并基于所述比较结果确定第i个其他参与方对应的投票信息。
步骤S44:向第i个其他参与方发送包含反对票的投票信息。
这里,当确定所述第i个测试准确率小于所述参考测试准确率时,可以认为所述参与方节点不同意第i个其他参与方发送的投票请求对应的事件,那么此时就会向所述第i个其他参与方发送包含反对票的投票信息。
步骤S45:向第i个其他参与方发送包含赞成票的投票信息。
这里,当确定所述第i个测试准确率大于或者等于所述参考测试准确率时,可以认为所述参与方节点同意第i个其他参与方发送的投票请求对应的事件,那么此时则会向所述第i个其他参与方发送包含赞成票的投票信息。
在本实施例中,参与方节点基于自身测试数据集测试区块链网络的末尾区块中的数据训练模式后得到的测试准确率,以及自身测试数据测试区块链网络中一其他参与方节点的参数集合得到的测试准确率的大小关系来确定向该其他参与方节点发送包含赞成票的投票信号还是发送包含赞成票的投票信息,以此实现区块链网络中参与方节点与已有区块之间的数据交互,从而能够有效提高区块链网络的灵活性和可靠性。
本实施例再提供一种信息处理方法,用以在基于区块链的人工智能模型训练场景中通过自适应增强的方式调节参与方的训练轮数,能够防止参与方本地训练未收敛或过拟合,并且基于自适应增强的方式,同时考虑了参与方的计算开销、参与方之间的通信开销和各个参与方的模型精度等多方面因素,能够提高区块链上各参与方的模型的收敛速度和模型精度的目的。
现有基于区块链的人工智能模型训练场景通常如图5A所示,在图5A中,包括3个参与方的社区维护一个待解决特定问题的人工智能模型的区块链,3个参与方分别为医院A、医院B和医院C,所述人工智能模型的区块链中包括3个区块,分别为区块1、区块2和区块3,社区中的某一参与方如果训练自身的模型后得到一个更好的模型,并且通过其他参与方投票后会生成一个新的区块,使得区块链上的每个参与方能够在不公开自身数据的情况下进行协同训练。
但在基于区块链的人工智能模型训练场景设置中,在广播参数前,每个参与方都会按照预先设置的训练轮数进行训练,由于训练轮数是固定的,很可能会导致训练未收敛或过拟合,当这样的参数广播给其他参与方,其他参与方会综合参数,使得区块链上的模型收敛速度较慢或难以收敛到预期精度。
因此,为了防止参与方本地训练未收敛或过拟合以及提高区块链上各参与方的模型的收敛速度和模型精度,本实施例利用一种基于自适应增强的方式,同时考虑参与方的计算开销、参与方之间的通信开销和模型精度等多方面因素,再提供一种基于区块链网络的信息处理方法,每个参与方维护进程0和进程1这两个进程,进程0主要进行模型训练和参数更新,进程1主要进行参数综合和投票,图5B为本申请实施例中进行模型训练和参数更新的流程示意图,如图5B所示,进程0可以通过执行以下步骤实现:
步骤S501:从区块链中获取参考测试准确率ACCr
这里,在当前区块链中选取末尾区块,将所述末尾区块确定为参考区块,并将所述参考区块中的数据训练模型确定为参考数据训练模型,再基于所述参与方的测试数据集确定所述参考数据训练模型对应的测试准确率,并将所述参考数据训练模型对应的测试准确率确定为参考测试准确率ACCr
在实际处理过程中,所述区块链与前述实施例中的所述区块链网络对应,所述参考测试准确率ACCr与前述实施例中的所述参考测试准确率对应,所述参考测试准确率ACCr的确定过程与前述实施例中步骤S41至步骤S42的所述参考测试准确率的确定过程是对应的。
步骤S502:确定预设起始训练轮数E以及最大训练轮数Emax
这里,所述预设起始训练轮数E和所述最大训练轮数Emax的取值可以根据实际情况设定,并且所述预设起始训练轮数E与前述实施例中的第一训练次数对应,所述最大训练次数与前述实施例中的所述训练次数阈值对应,所述确定预设起始训练轮数E以及最大训练轮数Emax的过程与前述实施例步骤S11中确定测试准确率阈值以及获取所述训练次数阈值的过程是对应的。
步骤S503:使用参与方的训练数据集训练E轮,得到第一参数向量w和第一测试准确率ACC。
这里,所述参与方与前述实施例中的所述参与方节点对应,所述第一参数向量w与前述实施例中的所述第一参数集合对应,所述第一测试准确率ACC与前述实施例中的所述第一测试准确率对应。
在实际处理过程中,所述参与方是使用自身的数据训练模型训练所述训练数据集,具体训练过程为:
步骤S5031:将所述训练数据集按照预先设置的批尺寸(Batch Size)分割成多个批(Batch)。
步骤S5032:将所述训练数据集训练E轮,在每一轮训练中使用随机梯度下降(stochastic gradient descent,SGD)算法对所有Batch进行训练,最终得到第一参数向量w1、第一测试准确率ACC1以及第一训练损失值BCC1。
这里,当E取值为3时所述参与方的数据训练模型使用SGD算法对所有Batch进行第1轮训练后得到参数向量w1、测试准确率ACC1以及训练损失值BCC1,使用w1、ACC1和BCC1对所有Batch进行第2轮训练后得到参数向量w2、测试准确率ACC2以及训练损失值BCC2,使用w2、ACC2和BCC2对所有Batch进行第3轮训练后得到参数向量w3、测试准确率ACC3以及训练损失值BCC3,此时w3为最终得到的第一参数向量w,ACC3为最终得到的第一测试准确率ACC,BCC3为最终得到的第一训练损失值BCC,并且所述第一参数向量w1、第一测试准确率ACC1以及第一训练损失值BCC1都为训练后的数据训练模型的参数信息。
在实际处理过程中,也可以使用小批量梯度下降算法、梯度下降法、批量梯度下降算法或者随机并行梯度下降算法等其他包括梯度下降的算法对所有Batch进行训练;并且所述参与方自身包括数据集,所述数据集可以是与当前事件有关的图片数据、语音数据、视频数据等其他类型数据中的至少一种,将所述数据集划分为两部分子数据集,其中一部分子数据集为训练数据集,另一部分子数据集为测试数据集,所述训练数据集和所述测试数据集的数据类型相同;比如当数据集包括100个数据时,可以将90个数据确定为训练数据集,将10个数据确定为测试数据集。
步骤S504:判断第一测试准确率ACC1是否小于测试准确率中位数ACCmedian以及第一训练损失值BCC1是否大于训练损失阈值中位数BCCmedian
这里,如果第一测试准确率ACC1小于测试准确率中位数ACCmedian且第一训练损失值BCC1大于训练损失阈值中位数BCCmedian时,进入步骤S505;反之,如果第一测试准确率ACC1不小于测试准确率中位数ACCmedian,或者第一训练损失值BCC1不大于训练损失阈值中位数BCCmedian,进入步骤S507。
在实际处理过程中,所述第一测试准确率ACC1与前述实施例中的所述第一测试准确率对应,所述测试准确率中位数ACCmedian与前述实施例中的所述测试准确率阈值对应,所述第一训练损失值BCC1与前述实施例中的所述第一训练损失值对应,所述训练损失阈值与前述实施例中的所述训练损失阈值中位数BCCmedian对应。
步骤S505:判断预设起始训练轮数E是否达到最大训练轮数Emax
这里,当E<Emax时,进入步骤S506;反之,当E>=Emax时,进入步骤S507。
步骤S506:将所述训练数据集训练E-r+1轮(r=1,2,3,…),得到第二参数向量w2、第二测试准确率ACC2和第二训练损失值BCC2,进入步骤S504。
这里,所述第二参数向量w2与前述实施例中的所述第二参数集合对应,所述第二测试准确率ACC2与前述实施例中的所述第二测试准确率对应,所述第二训练损失值BCC2与前述实施例中的所述第二训练损失值对应,所述E-r+1轮与前述实施例中的所述第二训练次数对应。
在实际处理过程中,所述确定第二参数向量w2、第二测试准确率ACC2以及第二训练损失值BCC2的过程,与前述实施例中步骤S11至步骤S14中所述确定是否达到训练完成条件的过程以及前述实施例中步骤S21至步骤S24中所述确定是否达到训练完成条件的过程是对应的。
步骤S507:所述参与方向区块链网络中的n个其他参与方广播投票请求,所述投票请求中携带有最终参数向量wf,进入步骤S508。
这里,当所述第一测试准确率ACC1不小于测试准确率中位数,或者第一训练损失值BCC1不大于训练损失阈值中位数时,所述最终参数向量wf为第一参数向量w1;当所述第一测试准确率ACC1小于测试准确率中位数且第一训练损失值BCC1大于训练损失阈值中位数时E大于或者等于Emax,所述最终参数向量wf为第二参数向量w2。所述最终参数向量wf与前述实施例中的所述第二参数集合对应,所述n个其他参与方与前述实施例中的所述n个其他参与方节点对应。
在实际处理过程中,所述测试准确率中位数可以是基于所述参与方接收的区块链网络中的n个其他参与方发送的n个投票请求确定的,其中接收的每个投票请求中携带有参数向量、训练损失值以及参与方节点的签名信息。
当所述参与方对第i个其他参与方节点的签名信息验签通过时,使用所述测试数据集对第i个参数向量进行测试,得到第i个测试准确率ACCi,i=1,2,…,n。
然后对n个测试准确率进行排序,并基于排序结果确定测试准确率中位数,比如可以对所述n个测试准确率进行从大到小排序的排序结果为,为投票请求为{w0}、{w3}、{w8}时,可以认为n的取值为3,
步骤S508:判断n个其他参与方投票是否通过。
这里,判断n个其他参与方投票是否通过,可以认为是基于所述参与方接收的n个投票信息中的投票类型,判断接收到的赞成票的个数是否满足个数阈值,如果接收到的赞成票的个数满足个数阈值,表明所述投票请求对应的投票结果满足投票通过条件,也即n个其他参与方投票通过,进入步骤S509;反之,如果接收到的赞成票的个数不满足个数阈值,表明所述投票请求对应的投票结果不满足投票通过条件,也即n个其他参与方投票没有通过,此时进入步骤S510。
在实际处理过程中,所述投票信息中不仅包括投票类型,还包括其他参与方节点的签名信息,当对所述其他参与方的签名信息验签通过时,再基于各个投票信息中的投票类型,确定接收到的赞成票的个数;所述投票类型可以为赞成票或者反对票,并且所述接收到的赞成票的个数满足个数阈值,可以认为n个其他参与方中投赞成票的其他参与方的个数大于投赞成票的其他参与方的个数,自然可以认为n个其他参与方投票通过;相应地,所述接收到的赞成票的个数满足个数阈值,可以认为n个其他参与方中投赞成票的其他参与方的个数小于投赞成票的其他参与方的个数,自然可以认为n个其他参与方投票没有通过;本实施例中对所述其他参与方的签名信息验签的过程与前述实施例步骤S1121至步骤S1122的过程是对应的。
比如,当区块链中包括4个参与方时,如图5C所示,参与方p0向第2个其他参与方发送包含反对票的投票信息,第1个其他参与方向第2个其他参与方发送包含赞成票的投票信息,第3个其他参与方向第2个其他参与方发送包含反对票的投票信息,那么,此时可以认为3个参与方对第2个其他参与方的投票没有通过。
本实施例中判断n个其他参与方投票是否通过的过程与前述实施例中步骤S31至步骤S36的过程是对应的。
步骤S509:基于最终参数向量生成新的区块,并将所述新的区块确定为区块链网络中的末尾区块,将所述参考参数向量wr中的每一个参数重置为0。
步骤S510:更新所述最终参数向量wf,得到更新后的最终参数向量后进入步骤S503。
这里,使用公式来更新所述最终参数向量wf,wf=α*w+(1-α)*wf,其中,0<α<1;其中,所述α与前述实施例中的第一权值对应,所述1-α与前述实施例中的所述第二权值对应。
在实际处理过程中,所述参与方在执行进程0的过程中,也会执行进程1,也即接收区块链网络中的n个其他参与方发送的n个投票请求,并根据所述n个投票请求确定向每一个其他参与方发送包含赞成票的投票信息或者发送包含反对票的投票信息,也即所述参与方通过进程1进行参数综合和投票,图5D为本申请实施例中进行参数综合和投票的流程示意图,如图5D所示,进程1的过程可以通过以下步骤实现:
步骤S51:所述参与方接收n个其他参与方的投票请求,进入步骤S52。
这里,所述参与方向区块链网络中的n个其他参与方广播最终参数向量时,也会接收n个其他参与方发送的n个投票请求,每个投票请求中携带有参数向量、其他参与方节点的签名信息以及训练损失值。
比如,当接收到的n个投票请求为{w0}、{w3}、{w8}时,可以认为n的取值为3,{w0}表示第1个其他参与方发送的投票请求,w0表示第1个其他参与方的数据训练模型的参数向量,{w3}表示第2个其他参与方发送的投票请求,w3表示第2个其他参与方的数据训练模型的参数向量,{w8}表示第3个其他参与方发送的投票请求,w8表示第3个其他参与方的数据训练模型的参数向量。
步骤S52:对n个参数向量进行综合得到综合参数向量wr,然后进入步骤S53。
这里,当接收到的n个投票请求为{w0}、{w3}、{w8}时,所述综合参数向量wr可以是对参数向量w0、参数向量w3和参数向量w8进行算数平均后得到的结果,也可以是对参数向量w0、参数向量w3和参数向量w8进行加权平均后得到的结果;并且,对n个训练损失值进行排序后,基于排序结果确定训练损失值中位数BCCmedian。
在实际处理过程中,所述参与方接收到区块链网络中的n个其他参与方发送的n个投票请求,所述每个投票请求中至少携带有训练损失值和参与方节点的签名信息;当对每一个参与方节点的签名信息均验签通过时,对n个训练损失值进行从大到小排序,并基于排序结果确定训练损失值中位数。比如当对第1个其他参与方的数据训练模型的训练损失值BCC0、第2个其他参与方的数据训练模型的训练损失值BCC3和第3个其他参与方的数据训练模型的训练损失值BCC8进行从大到小排序后的排序结果为BCC3>BCC8>BCC0时,可以将第3个其他参与方的数据训练模型的训练损失值BCC8确定为所述训练损失值中位数BCCmedian;其中,所述训练损失值中位数BCCmedian与前述实施例中的所述训练损失阈值对应,所述训练损失值中位数BCCmedian的确定过程与前述实施例中步骤S211至步骤S216确定所述训练损失阈值的过程是对应的,所述n个其他参与方与前述实施例中的所述n个参与方对应。
步骤S53:使用测试数据集对接收到的n个参数向量分别进行测试,得到n个测试准确率,进入步骤S54。
这里,当接收到的n个投票请求为{w0}、{w3}、{w8}时,也即n的取值为3,此时使用测试数据集对接收到的第1个其他参与方的数据训练模型的参数向量w0进行测试,得到第1个其他参与方的测试准确率ACC0;使用测试数据集对接收到的第2个其他参与方的数据训练模型的参数向量w3进行测试,得到第2个其他参与方的测试准确率ACC3;使用测试数据集对接收到的第3个其他参与方的数据训练模型的参数向量w8进行测试,得到第3个其他参与方的测试准确率ACC8。
步骤S54:对所述n个测试准确率进行排序求得测试准确率中位数ACCmedian,进入步骤S55。
这里,当所述n个测试准确率为第1个其他参与方的测试准确率ACC0、第2个其他参与方的测试准确率ACC3和第3个其他参与方的测试准确率ACC8时,可以对进行从大到小排序,得到排序结果,比如排序结果为ACC3>ACC8>ACC0时,可以将第3个其他参与方的测试准确率ACC8确定为所述测试准确率中位数ACCmedian;其中,所述测试准确率中位数ACCmedian与前述实施例中的所述测试准确率阈值对应,所述确定所述训练损失值中位数BCCmedian与测试准确率中位数ACCmedian的过程与前述实施例中步骤S111至步骤S117确定所述测试准确率阈值和训练损失阈值的过程是对应的。
在实际处理过程中,当区块链中的每一个参与方既广播投票请求,也接收其余参与方发送过来的投票请求;比如,当区块链网络中包括4个参与方时,其中一参与方在向另外3个参与方发送投票请求时,也会接收3个参与方发送过来的投票请求,如图5E所示,参与方p0接收第1个其他参与方发送的投票请求{w1}、第2个其他参与方发送的投票请求{w2}以及第3个其他参与方发送的投票请求{w3},第1个其他参与方接收所述参与方p0发送的投票请求{w0}、第2个其他参与方发送的投票请求{w2}以及第3个其他参与方发送的投票请求{w3},第2个其他参与方接收所述参与方p0发送的投票请求{w0}、第1个其他参与方发送的投票请求{w1}以及第3个其他参与方发送的投票请求{w3},所述第3个其他参与方接收所述参与方p0发送的投票请求{w0}、第1个其他参与方发送的投票请求{w1}以及第2个其他参与方发送的投票请求{w2}。
步骤S55:判断第i个测试准确率ACCi是否小于参考测试准确率ACCr,i=1,2,…,n。
这里,如果ACCi<ACCr,进入步骤S56;反之,如果ACCi>=ACCr,进入步骤S57。
步骤S56:所述参与方向第i个其他参与方pi发送包含反对票的投票信息。
步骤S57:所述参与方向第i个其他参与方pi发送包含赞成票的投票信息。
这里,所述参与方向第i个其他参与方pi发送包含反对票的投票信息或者发送包含赞成票的投票信息的确定过程,与前述实施例中步骤S105至步骤S107以及步骤S41至步骤S45的过程是对应的。
在本实施例中,区块链中的每一参与方同时执行模型训练和参数更新的进程和参数综合和投票的进程,在执行模型训练时训练轮数并不是固定不变的,而是随着自适应改变的,以此实现通过自适应增强的方式调节参与方的训练轮数来防止各个参与方模型训练未收敛或者过拟合,并且在对参数向量进行更新时使用了加权融合的方式,以此使得使用更新后的参数向量对训练数据集进行训练时能够获得较高的测试准确率或者较低的训练损失值,从而使得区块链上的各个参与方的数据训练模型的收敛速度和精度更高。
本申请实施例提供一种基于区块链网络的信息处理装置,图6为本申请实施例提供的基于区块链网络的信息处理装置的示意图,如图6所示,所述装置600至少包括:第一确定模块601、获取模块602、发送模块603、第二确定模块604,其中:
所述第一确定模块601,用于基于数据训练模型对自身的训练数据集进行第一训练次数的训练,得到训练后的数据训练模型,并确定所述训练后的数据训练模型的第一测试准确率。
所述获取模块602,用于至少基于所述第一测试准确率确定未达到训练完成条件时,基于所述训练后的数据训练模型对所述训练数据集进行第二训练次数的训练,得到目标数据训练模型和所述目标数据训练模型的第二测试准确率。
所述发送模块603,用于至少基于所述第二测试准确率确定达到训练完成条件时,向区块链网络中的其他参与方节点发送投票请求;其中,所述投票请求中至少携带有所述目标数据训练模型的第二参数集合。
所述第二确定模块604,用于基于接收到的区块链网络中的其他参与方节点发送的投票信息,确定所述投票请求对应的投票结果满足投票通过条件时,基于所述第二参数集合生成新的区块。
在一种可能的实现方式中,所述第一确定模块601,还用于确定测试准确率阈值,并获取训练次数阈值,其中,所述测试准确率阈值是基于自身获取的n个参数集合确定的,n为大于1的整数;
确定所述第一测试准确率是否小于测试准确率阈值,且第一训练次数是否小于训练次数阈值;
其中,如果所述第一测试准确率小于测试准确率阈值且第一训练次数小于训练次数阈值,确定未达到训练完成条件;如果所述第一测试准确率不小于测试准确率或者第一训练次数达到训练次数阈值,确定达到训练完成条件。
在一种可能的实现方式中,所述第一确定模块601,还用于确定所述训练后的数据训练模型的第一训练损失值以及训练损失阈值,其中,所述训练损失阈值是基于自身获取的n个训练损失值确定的,n为大于1的整数;
基于所述第一测试准确率和/或所述第一训练损失值确定是否达到训练完成条件,其中,如果所述第一测试准确率小于测试准确率阈值且所述第一训练损失值大于训练损失阈值且第一训练次数小于训练次数阈值,确定未达到训练完成条件;
如果所述第一测试准确率不小于测试准确率阈值或者所述第一训练损失值不大于训练损失阈值,或者第一训练次数达到训练次数阈值,确定达到训练完成条件。
在一种可能的实现方式中,所述装置600还包括接收模块,所述接收模块,用于接收区块链网络中的n个参与方节点发送的n个投票请求,所述每个投票请求中至少携带有参数集合和参与方节点的签名信息。
在一种可能的实现方式中,所述获取模块602,还用于当对第i个参与方节点的签名信息验签通过时,使用测试数据集对所述第i个参数集合进行测试,得到第i个测试准确率,i=1,2,…,n。
在一种可能的实现方式中,所述第二确定模块604,还用于对n个测试准确率进行排序,并基于排序结果确定测试准确率阈值。
在一种可能的实现方式中,所述接收模块,还用于接收区块链网络中的n个参与方节点发送的n个投票请求,所述每个投票请求中至少携带有训练损失值和参与方节点的签名信息。
在一种可能的实现方式中,所述第二确定模块604,还用于当对每一个参与方节点的签名信息均验签通过时,对n个训练损失值进行排序,并基于排序结果确定训练损失阈值。
在一种可能的实现方式中,所述第二确定模块604,还用于基于接收到的区块链网络中的其他参与方节点发送的投票信息,确定所述投票请求对应的投票结果不满足投票通过条件时,根据所述n个参数集合,确定第三参数集合;
基于所述第二参数集合和所述第三参数集合,确定更新后的参数集合;
将所述更新后的参数集合确定为所述目标数据训练模型的参数集合。
在一种可能的实现方式中,所述获取模块602,还用于将所述n个参数集合中的第j个参数进行均值处理,得到第j个均值参数;其中,每个参数集合中有m个参数,j=1,2,…,m。
在一种可能的实现方式中,所述第二确定模块604,还用于将第1至第m个均值参数确定为第三参数集合。
在一种可能的实现方式中,所述第二确定模块604,还用于确定第一权值和第二权值。
在一种可能的实现方式中,所述获取模块602,还用于基于所述第一权值和所述第二权值对所述第二参数集合和所述第三参数集合进行加权处理,得到加权处理后的参数集合。
在一种可能的实现方式中,所述第二确定模块604,还用于将所述加权处理后的参数集合确定为更新后的参数集合。
在一种可能的实现方式中,所述投票信息中至少包括参与方节点的签名信息和投票类型,所述第二确定模块604,还用于当所述参与方签名进行验签通过时,基于各个投票信息中的投票类型,确定接收到的赞成票的个数;
如果所述赞成票的个数满足个数阈值,确定所述投票请求对应的投票结果满足投票通过条件;
如果所述赞成票的个数不满足个数阈值,确定所述投票请求对应的投票结果不满足投票通过条件。
在一种可能的实现方式中,所述第二确定模块604,还用于将当前区块链网络中的末尾区块确定为参考区块,并确定所述参考区块中的数据训练模型为参考数据训练模型;
基于所述测试数据集确定所述参考数据训练模型对应的测试准确率,并将所述参考数据训练模型对应的测试准确率确定为参考测试准确率。
在一种可能的实现方式中,所述发送模块603,还用于如果第i个测试准确率小于所述参考测试准确率,向第i个其他参与方发送包含反对票的投票信息;
如果第i个测试准确率大于或者等于所述参考测试准确率,向第i个其他参与方发送包含赞成票的投票信息,i=1,2,…,n。
在实际应用中,上述第一确定模块601、获取模块602、发送模块603、第二确定模块604可由位于所述基于区块链网络的信息处理装置600上的处理器实现,具体为中央处理器(Central Processing Unit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(Digital Signal Processing,DSP)或现场可编程门阵列(Field Programmable GateArray,FPGA)等实现。
本申请实施例提供一种基于区块链网络的信息处理设备,如图7所示,所述信息处理设备700至少包括存储器701、通信总线702以及处理器703,其中:
所述存储器701,用于存储基于区块链网络的信息处理程序。
所述通信总线702,用于实现所述处理器703和所述存储器701之间的通信连接。
所述处理器703,用于执行所述存储器701中存储的基于区块链网络的信息处理程序,以实现如前述实施例中任一实施例所述的基于区块链网络的信息处理方法的步骤。
对应地,本申请实施例再提供一种计算机存储介质,所述计算机存储介质存储有基于区块链网络的信息处理程序,所述基于区块链网络的信息处理程序被处理器执行时实现如前述实施例所述的基于区块链网络的信息处理方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置、设备、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (10)

1.一种基于区块链网络的信息处理方法,所述方法包括:
基于数据训练模型对自身的训练数据集进行第一训练次数的训练,得到训练后的数据训练模型,并确定所述训练后的数据训练模型的第一测试准确率;
至少基于所述第一测试准确率确定未达到训练完成条件时,基于所述训练后的数据训练模型对所述训练数据集进行第二训练次数的训练,得到目标数据训练模型和所述目标数据训练模型的第二测试准确率;
至少基于所述第二测试准确率确定达到训练完成条件时,向区块链网络中的其他参与方节点发送投票请求;其中,所述投票请求中至少携带有所述目标数据训练模型的第二参数集合;
基于接收到的区块链网络中的其他参与方节点发送的投票信息,确定所述投票请求对应的投票结果满足投票通过条件时,基于所述第二参数集合生成新的区块。
2.根据权利要求1中所述的方法,所述方法还包括:
确定测试准确率阈值,并获取训练次数阈值,其中,所述测试准确率阈值是基于自身获取的n个参数集合确定的,n为大于1的整数;
确定所述第一测试准确率是否小于测试准确率阈值,且第一训练次数是否小于训练次数阈值;
其中,如果所述第一测试准确率小于测试准确率阈值且第一训练次数小于训练次数阈值,确定未达到训练完成条件;如果所述第一测试准确率不小于测试准确率或者第一训练次数达到训练次数阈值,确定达到训练完成条件。
3.根据权利要求1中所述的方法,所述方法还包括:
确定所述训练后的数据训练模型的第一训练损失值以及训练损失阈值,其中,所述训练损失阈值是基于自身获取的n个训练损失值确定的,n为大于1的整数;
基于所述第一测试准确率和/或所述第一训练损失值确定是否达到训练完成条件,其中,如果所述第一测试准确率小于测试准确率阈值且所述第一训练损失值大于训练损失阈值且第一训练次数小于训练次数阈值,确定未达到训练完成条件;
如果所述第一测试准确率不小于测试准确率阈值或者所述第一训练损失值不大于训练损失阈值,或者第一训练次数达到训练次数阈值,确定达到训练完成条件。
4.根据权利要求2中所述的方法,所述确定测试准确率阈值,包括:
接收区块链网络中的n个参与方节点发送的n个投票请求,所述每个投票请求中至少携带有参数集合和参与方节点的签名信息;
当对第i个参与方节点的签名信息验签通过时,使用测试数据集对所述第i个参数集合进行测试,得到第i个测试准确率,i=1,2,…,n;
对n个测试准确率进行排序,并基于排序结果确定测试准确率阈值。
5.根据权利要求3中所述的方法,确定训练损失阈值,包括:
接收区块链网络中的n个参与方节点发送的n个投票请求,所述每个投票请求中至少携带有训练损失值和参与方节点的签名信息;
当对每一个参与方节点的签名信息均验签通过时,对n个训练损失值进行排序,并基于排序结果确定训练损失阈值。
6.根据权利要求4中所述的方法,所述方法还包括:
基于接收到的区块链网络中的其他参与方节点发送的投票信息,确定所述投票请求对应的投票结果不满足投票通过条件时,根据所述n个参数集合,确定第三参数集合;
基于所述第二参数集合和所述第三参数集合,确定更新后的参数集合;
将所述更新后的参数集合确定为所述目标数据训练模型的参数集合。
7.根据权利要求6中所述的方法,所述根据所述n个参数集合,确定第三参数集合,包括:
将所述n个参数集合中的第j个参数进行均值处理,得到第j个均值参数;其中,每个参数集合中有m个参数,j=1,2,…,m;
将第1至第m个均值参数确定为第三参数集合。
8.根据权利要求6中所述的方法,所述基于所述第二参数集合和所述第三参数集合,确定更新后的参数集合,包括:
确定第一权值和第二权值;
基于所述第一权值和所述第二权值对所述第二参数集合和所述第三参数集合进行加权处理,得到加权处理后的参数集合;
将所述加权处理后的参数集合确定为更新后的参数集合。
9.根据权利要求4中所述的方法,所述方法还包括:
将当前区块链网络中的末尾区块确定为参考区块,并确定所述参考区块中的数据训练模型为参考数据训练模型;
基于所述测试数据集确定所述参考数据训练模型对应的测试准确率,并将所述参考数据训练模型对应的测试准确率确定为参考测试准确率;
如果第i个测试准确率小于所述参考测试准确率,向第i个其他参与方发送包含反对票的投票信息;
如果第i个测试准确率大于或者等于所述参考测试准确率,向第i个其他参与方发送包含赞成票的投票信息,i=1,2,…,n。
10.一种基于区块链网络的信息处理设备,所述设备至少包括存储器、通信总线以及处理器,其中:
所述存储器,用于存储基于区块链网络的信息处理程序;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的基于区块链网络的信息处理程序,以实现权利要求1至9任一项所述的基于区块链网络的信息处理方法的步骤。
CN201911013679.7A 2019-10-23 2019-10-23 一种基于区块链网络的信息处理方法及设备 Active CN110879827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911013679.7A CN110879827B (zh) 2019-10-23 2019-10-23 一种基于区块链网络的信息处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911013679.7A CN110879827B (zh) 2019-10-23 2019-10-23 一种基于区块链网络的信息处理方法及设备

Publications (2)

Publication Number Publication Date
CN110879827A true CN110879827A (zh) 2020-03-13
CN110879827B CN110879827B (zh) 2023-07-25

Family

ID=69728039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911013679.7A Active CN110879827B (zh) 2019-10-23 2019-10-23 一种基于区块链网络的信息处理方法及设备

Country Status (1)

Country Link
CN (1) CN110879827B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966753A (zh) * 2020-08-18 2020-11-20 中国银行股份有限公司 基于区块链和同态加密的决策树模型训练方法及装置
CN111988137A (zh) * 2020-07-11 2020-11-24 浙江工商大学 一种基于门限签名和公平奖励的DPoS共识方法及其系统
CN112331353A (zh) * 2020-11-10 2021-02-05 上海计算机软件技术开发中心 一种基于区块链的医疗人工智能模型训练系统及方法
CN112528317A (zh) * 2020-11-10 2021-03-19 联想(北京)有限公司 一种基于区块链的信息处理方法、装置及设备
CN112613601A (zh) * 2020-12-24 2021-04-06 暨南大学 神经网络模型更新方法、设备及计算机存储介质
CN113420017A (zh) * 2021-06-21 2021-09-21 上海特高信息技术有限公司 一种机器人导航算法训练数据集获取的区块链应用方法
CN114579581A (zh) * 2022-05-05 2022-06-03 武汉北大高科软件股份有限公司 一种基于区块链的数据监管方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108323200A (zh) * 2018-01-25 2018-07-24 深圳前海达闼云端智能科技有限公司 基于区块链的数据训练方法、装置、存储介质及区块链节点
US20180336467A1 (en) * 2017-07-31 2018-11-22 Seematics Systems Ltd System and method for enriching datasets while learning
CN108898219A (zh) * 2018-06-07 2018-11-27 广东工业大学 一种基于区块链的神经网络训练方法、装置及介质
CN109194508A (zh) * 2018-08-27 2019-01-11 联想(北京)有限公司 基于区块链的数据处理方法和装置
CN109918444A (zh) * 2019-02-01 2019-06-21 上海尚阵智能科技有限公司 模型结果的训练/验证/管理方法/系统、介质及设备
WO2019192119A1 (zh) * 2018-04-03 2019-10-10 平安科技(深圳)有限公司 基于区块链的融资方法、系统及存储介质
CN110321385A (zh) * 2019-06-28 2019-10-11 联想(北京)有限公司 基于区块链的数据处理方法和数据处理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180336467A1 (en) * 2017-07-31 2018-11-22 Seematics Systems Ltd System and method for enriching datasets while learning
CN108323200A (zh) * 2018-01-25 2018-07-24 深圳前海达闼云端智能科技有限公司 基于区块链的数据训练方法、装置、存储介质及区块链节点
WO2019192119A1 (zh) * 2018-04-03 2019-10-10 平安科技(深圳)有限公司 基于区块链的融资方法、系统及存储介质
CN108898219A (zh) * 2018-06-07 2018-11-27 广东工业大学 一种基于区块链的神经网络训练方法、装置及介质
CN109194508A (zh) * 2018-08-27 2019-01-11 联想(北京)有限公司 基于区块链的数据处理方法和装置
CN109918444A (zh) * 2019-02-01 2019-06-21 上海尚阵智能科技有限公司 模型结果的训练/验证/管理方法/系统、介质及设备
CN110321385A (zh) * 2019-06-28 2019-10-11 联想(北京)有限公司 基于区块链的数据处理方法和数据处理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
尹化荣: "基于卷积神经网络的情感分类算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
文丹艳;马超群;王琨;: "一种多源数据驱动的自动交易系统决策模型", 自动化学报 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988137B (zh) * 2020-07-11 2022-05-17 浙江工商大学 一种基于门限签名和公平奖励的DPoS共识方法及其系统
CN111988137A (zh) * 2020-07-11 2020-11-24 浙江工商大学 一种基于门限签名和公平奖励的DPoS共识方法及其系统
CN111966753B (zh) * 2020-08-18 2024-02-27 中国银行股份有限公司 基于区块链和同态加密的决策树模型训练方法及装置
CN111966753A (zh) * 2020-08-18 2020-11-20 中国银行股份有限公司 基于区块链和同态加密的决策树模型训练方法及装置
CN112528317A (zh) * 2020-11-10 2021-03-19 联想(北京)有限公司 一种基于区块链的信息处理方法、装置及设备
CN112331353A (zh) * 2020-11-10 2021-02-05 上海计算机软件技术开发中心 一种基于区块链的医疗人工智能模型训练系统及方法
CN112613601A (zh) * 2020-12-24 2021-04-06 暨南大学 神经网络模型更新方法、设备及计算机存储介质
CN112613601B (zh) * 2020-12-24 2024-01-16 暨南大学 神经网络模型更新方法、设备及计算机存储介质
US11949797B2 (en) 2020-12-24 2024-04-02 Jinan University Neural network model update method and device, and computer storage medium
CN113420017A (zh) * 2021-06-21 2021-09-21 上海特高信息技术有限公司 一种机器人导航算法训练数据集获取的区块链应用方法
CN113420017B (zh) * 2021-06-21 2023-10-13 上海特高信息技术有限公司 一种机器人导航算法训练数据集获取的区块链应用方法
CN114579581A (zh) * 2022-05-05 2022-06-03 武汉北大高科软件股份有限公司 一种基于区块链的数据监管方法和装置
CN114579581B (zh) * 2022-05-05 2022-08-30 武汉北大高科软件股份有限公司 一种基于区块链的数据监管方法和装置

Also Published As

Publication number Publication date
CN110879827B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
CN110879827B (zh) 一种基于区块链网络的信息处理方法及设备
CN113837761B (zh) 一种基于区块链和可信执行环境的联邦学习方法及系统
CN110224837B (zh) 基于分布式身份标识的零知识证明方法及终端
CN110991622B (zh) 基于区块链网络的机器学习模型处理方法及节点
WO2021232754A1 (zh) 联邦学习建模方法、设备及计算机可读存储介质
CN112968881B (zh) 区块链匿名投票方法、计算机设备和存储介质
CN112261137B (zh) 基于联合学习的模型训练方法及系统
CN112540926A (zh) 一种基于区块链的资源分配公平的联邦学习方法
CN112000744A (zh) 一种签名方法及相关设备
CN115499379B (zh) 一种基于区块链的信息交互方法、装置、设备及介质
CN112949865A (zh) 一种基于sigma协议的联邦学习贡献度评估方法
CN113553377B (zh) 基于区块链和联邦学习的数据共享方法及装置
CN112749968B (zh) 基于区块链的业务数据记录方法及装置
WO2022161108A1 (zh) 一种匿名多重签名方法、计算机设备和存储介质
CN110990790B (zh) 一种数据处理方法及设备
CN112184219A (zh) 安全多方计算方法、电子设备及存储介质
CN114024723B (zh) 基于esop系统的线上签署方法及装置、设备、介质
US10970180B2 (en) Methods and apparatus for verifying processing results and/or taking corrective actions in response to a detected invalid result
CN112184220A (zh) 安全多方计算方法、电子设备及存储介质
CN116187471A (zh) 基于区块链的身份匿名与可问责隐私保护联邦学习方法
Xi et al. CrowdLBM: A lightweight blockchain-based model for mobile crowdsensing in the Internet of Things
WO2021196473A1 (zh) 电子投票方法、装置、计算机和存储介质
CN110365671B (zh) 一种支持隐私保护的群智感知激励机制方法
CN115361196A (zh) 一种基于区块链网络的业务交互方法
CN113112269A (zh) 多重签名方法、计算机设备和存储介质

Legal Events

Date Code Title Description
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