CN109194510A - 基于区块链的数据处理方法和装置 - Google Patents
基于区块链的数据处理方法和装置 Download PDFInfo
- Publication number
- CN109194510A CN109194510A CN201810985637.9A CN201810985637A CN109194510A CN 109194510 A CN109194510 A CN 109194510A CN 201810985637 A CN201810985637 A CN 201810985637A CN 109194510 A CN109194510 A CN 109194510A
- Authority
- CN
- China
- Prior art keywords
- block chain
- model
- model coefficient
- coefficient
- block
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
Abstract
本公开提供了一种基于区块链的数据处理方法,应用于区块链节点,包括:获取区块链上当前最新区块中的第一模型系数,基于所述第一模型系数和本地数据集,训练得到本区块链节点对应的第二模型系数,将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证,当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,将所述第二模型系数作为更新的第一模型系数,根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中。本公开还提供了一种基于区块链的数据处理装置。
Description
技术领域
本公开涉及一种基于区块链的数据处理方法和装置。
背景技术
深度学习导致了人类历史上第三次人工智能的浪潮,且已被证明在计算机视觉、语音、语言处理等许多领域都有效。许多商业的人工智能的产品/服务已经可用,并使人们的生活更加美好。
人工智能模型的训练是人工智能研究领域的重要课题,越来越多的研究投入到该课题中。
发明内容
本公开的一个方面提供了一种基于区块链的数据处理方法,应用于区块链节点,包括:获取区块链上当前最新区块中的第一模型系数,基于所述第一模型系数和本地数据集,训练得到本区块链节点对应的第二模型系数,将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证,当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,将所述第二模型系数作为更新的第一模型系数,根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中。
可选地,上述将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时,再将所述第二模型系数广播至其他各区块链节点,由其他各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证。
可选地,上述由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:由各区块链节点基于各自的本地测试集对所述第二模型系数对应的模型分别进行测试,并根据测试结果是否优于第一模型系数对应的模型而返回投票结果。上述方法还包括:接收各区块链节点返回的投票结果,当投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
可选地,上述方法还包括:接收其他区块链节点广播的其他区块链节点对应的第二模型系数,当共识验证结果表明本区块链节点对应的第二模型系数对应的模型劣于第一模型系数对应的模型时,基于所述其他区块链节点对应的第二模型系数,将本区块链节点对应的第二模型系数修正为第三模型系数,基于所述第三模型系数和本地数据集,训练得到本区块链节点对应的更新的第二模型系数。
可选地,上述还包括:在上述根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中之后,获取预定数量的数字货币奖励。
本公开的另一个方面提供了一种基于区块链的数据处理方法,应用于区块链节点,包括:接收其他区块链节点广播的第二模型系数,所述第二模型系数是由所述其他区块链节点基于本地测试集和区块链上当前最新区块中的第一模型系数训练得到的,与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证,当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,响应于广播所述第二模型系数的区块链节点根据所述第二模型系数创建新的区块的操作,将所述新的区块加入至本区块链节点对应的区块链中。
可选地,上述与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证包括:基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时发出肯定投票结果,否则发出否定投票结果。当与其他接收到所述第二模型系数的区块链节点发出的投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
本公开的另一个方面提供了一种基于区块链的数据处理装置,应用于区块链节点,包括:获取模块、训练模块、广播模块和区块链更新模块。获取模块用于获取区块链上当前最新区块中的第一模型系数。训练模块用于基于所述第一模型系数和本地数据集,训练得到本区块链节点对应的第二模型系数。广播模块用于将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对第二模型系数进行共识验证。区块链更新模块用于当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,将所述第二模型系数作为更新的第一模型系数,根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中。
可选地,广播模块将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:广播模块用于基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时,再将所述第二模型系数广播至其他各区块链节点,由其他各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证。
可选地,上述由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:由各区块链节点基于各自的本地测试集对所述第二模型系数对应的模型分别进行测试,并根据测试结果是否优于第一模型系数对应的模型而返回投票结果。上述装置还包括:共识验证模块,用于接收各区块链节点返回的投票结果,当投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
可选地,上述装置还包括:修正模块,用于接收其他区块链节点广播的其他区块链节点对应的第二模型系数,当共识验证结果表明本区块链节点对应的第二模型系数对应的模型劣于第一模型系数对应的模型时,基于所述其他区块链节点对应的第二模型系数,将本区块链节点对应的第二模型系数修正为第三模型系数,基于所述第三模型系数和本地数据集,训练得到本区块链节点对应的更新的第二模型系数。
可选地,上述装置还包括:奖励获取模块,用于在所述根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中之后,获取预定数量的数字货币奖励。
本公开的另一个方面提供了一种基于区块链的数据处理装置,应用于区块链节点,包括:接收模块、共识验证模块和区块链更新模块。接收模块用于接收其他区块链节点广播的第二模型系数,所述第二模型系数是由所述其他区块链节点基于本地测试集和区块链上当前最新区块中的第一模型系数训练得到的。共识验证模块用于与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证。区块链更新模块用于当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,响应于广播所述第二模型系数的区块链节点根据所述第二模型系数创建新的区块的操作,将所述新的区块加入至本区块链节点对应的区块链中。
可选地,共识验证模块与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证包括:共识验证模块用于基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时发出肯定投票结果,否则发出否定投票结果。当与其他接收到所述第二模型系数的区块链节点发出的投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开的实施例的基于区块链的数据处理方法和装置的应用场景;
图2示意性示出了根据本公开的实施例的基于区块链的数据处理方法的流程图;
图3示意性示出了根据本公开的实施例的区块链的示意图;
图4示意性示出了根据本公开的另一实施例的基于区块链的数据处理方法的流程图;
图5A示意性示出了根据本公开的实施例的区块链节点进行模型训练和参数更新的流程图;
图5B示意性示出了根据本公开的实施例的区块链节点广播第二模型系数的示意图;
图5C示意性示出了根据本公开的实施例的区块链节点返回投票结果的示意图;
图5D示意性示出了根据本公开的实施例的区块链节点进行参数综合和投票的流程图;
图6示意性示出了根据本公开的实施例的基于区块链的数据处理装置的框图;
图7示意性示出了根据本公开的另一实施例的基于区块链的数据处理装置的框图;
图8示意性示出了根据本公开的另一实施例的基于区块链的数据处理装置的框图;
图9示意性示出了根据本公开的另一实施例的基于区块链的数据处理装置的框图;以及
图10示意性示出了根据本公开的实施例的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种基于区块链的数据处理方法和装置。该方法包括第一模型系数获取过程、第二模型系数生成过程、共识验证过程和区块链更新过程。在第一模型系数获取过程中,获取区块链网络中前一次所获得的最优模型系数,在此基础上进行训练生成第二模型系数,经过共识验证过程验明新生成的第二模型系数对应的第二模型优于前一次的最优模型时,根据第二模型系数对区块链进行更新。
区块链是通过散列指针按时间顺序链接的块的分布式数据库。这些块包含已在社区中执行和共享的所有事务。区块链中的每笔交易均通过社区中全部或大部分区块链节点按照共识规则进行验证。下面介绍区块链中包括的几个概念:
资产:可以被拥有或者被控制以产生价值的任何事,交易:资产的转移,区块:由一组交易构成的区块链条目,共识:所有或大部分参与者验证新的区块,有效的区块加入区块链,奖励:鼓励参与者做出贡献并保持诚实的奖励。
深度学习模型通常通过三个步骤进行训练:前馈评估,反向传播和权重更新。前馈评估计算每个输入的模型输出,反向传播是基于真实值计算误差项,并使用误差项来计算权重更新,更新权重后,重复此过程,直到整个训练数据集已处理完毕,这被称为训练过程。在训练过程结束时,基于测试集计算模型预测误差。通常,训练持续多个周期,每次都重新处理训练数据集,直到验证集错误收敛到期望的低值。然后对测试数据评估训练后的模型。
人工智能研究人员/组织训练人工智能模型以解决特定问题。为了创建特定问题的工作模型,人工智能研究人员需要设计模型结构,获取大量数据,并花费大量计算能力来训练模型,训练过程通常需要很长时间(几个小时到几个月)。
而且,通常,数据集是每个组织的商业秘密,不会与其他人分享。因此,目前主流的做法是各个研亢人员/组织在相同的问题上,根据自己的数据集分别独立地对自己的模型进行训练。这在社会层面上训练效率不高,浪费大量的资源来构建相同模型。
由于训练过程通常需要较长时间(例如,几个小时至几个月),可以利用多个节点的分布式训练来加速这个过程。分布式训练允许在训练数据集的不同分区上并行训练相同模型的多个副本。所有模型副本共享一组通用参数。为了操作速度,每个模型副本并行操作并异步发布模型参数更新并接收更新的模型参数。
图1示意性示出了根据本公开的实施例的基于区块链的数据处理方法和装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景中包括多个电子设备(101-107)。电子设备(101-107)可以是个人电脑(personal computer,PC)、网络服务器、数据库服务器等。电子设备(101-107)中的每一个电子设备可以具有相同或不同的计算能力。
作为一种实施方式,多个电子设备之间可以相互通信,构成区块链网络,每个电子设备作为该区块链网络中的一个区块链节点。该区块链网络中的每个区块链节点在本地对特定问题的模型采用本地数据集进行训练,并共同生成针对特定问题的共享的区块链。
作为另一种实施方式,该区块链网络中的一个或多个电子设备可以构成一个社区,例如,该社区可以对应于一间公司或者一家医院,该社区中的每个区块链节点为该公司或者该医院中的电子设备。该区块链网络中的每个社区均在本地对特定问题的模型采用本地数据集进行训练,并共同生成针对特定问题的共享的区块链。
本发明实施例提供的基于区块链的数据处理方法可以运行于图1所示的电子设备中。
图2示意性示出了根据本公开的实施例的基于区块链的数据处理方法的流程图。
如图2所示,该方法可以应用于区块链网络中的任一区块链节点,该方法包括操作S201~S204。
在操作S201,获取区块链上当前最新区块中的第一模型系数。
其中,当前区块链节点可以是图1中所示的运行环境的任意一个电子设备,即图1中的区块链节点101-107中的任意一个。所述区块链是区块链网络中各个区块链节点共同创建和维护的与对特定问题相对应的区块链,各区块链节点各自具有对应的区块链,各区块链节点对应的区块链相同。当满足预定条件时,区块链网络中的各区块链节点同意当前区块链节点创建区块并将该区块加入到区块链中,加入的区块作为该区块链中当前最新的区块。在某一特定时刻,维护同一区块链的区块链节点从区块链上获取的当前最新区块是相同的。可以理解的是,区块链的区块是按照时间顺序加入的,并且时间顺序上在后加入的区块中可以是优于在前加入的区块的。作为一种实施方式,请参阅图3。
图3示意性示出了根据本公开的实施例的区块链的示意图。
如图3所示,区块链中的每个区块中包含了第一模型系数,初始区块中除第一模型系数之外还包括模型定义和区块链优化目标,各区块链节点可以从初始区块中获得模型定义和区块链优化目标并存在本地。但是,可以理解的是,图3所示的区块仅是为了说明而不是对本公开的限制,区块的结构可以与图3中所示的不同,可以向区块中添加其它元素或者删除图3中所示的元素。例如,模型定义及区块链优化目标可以放在每个区块中。此时区块4为该区块链上当前最新的区块,本区块链节点获取区块4中的第一模型系数。接着返回图2所示的方法。
在操作S202,基于所述第一模型系数和本地数据集,训练得到本区块链节点对应的第二模型系数。
本操作在区块链当前最新区块中的第一模型系数的基础上,利用本地数据集进行训练,相当于利用区块链网络中已有的训练成果,再结合本区块链节点的数据,得到第二模型系数。其中,模型系数是模型本身所直接对应的系数向量,是构建模型的绝对数据。
在操作S203,将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证。
在操作S204,当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,将所述第二模型系数作为更新的第一模型系数,根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中。
可见,在图2所示的方法中,区块链网络中的各区块链节点可以在区块链网络当前已有的最优的训练结果的基础上,结合自身的数据集进行训练,如果新训练得到的模型优于区块链网络当前已有的最优的训练结果,则通过各区块链节点的共识验证,可以产生新的区块,将新训练得到的模型系数放入新的区块并将新的区块链入区块链尾端,以完成区块链的一次更新,即,将新训练得到的模型系数作为新的区块链网络已有的最优的训练结果。依据此方案,区块链网络中的各区块链节点在保持自身的数据集私密性的同时,能够针对同一问题的模型进行共同训练和监督,不断将训练得到的更优的模型系数放入区块链的新区块中,不断基于已有的最优模型系数训练得到更优的模型系数,区块链中保存了逐渐优化的模型系数,使得各区块链节点不用再浪费时间来做其它区块链节点已经完成的训练,能够大大节省了资源,并且提升了训练的效率,共同促进模型训练不断优化。
在本公开的一个实施例中,图2所示方法的操作S203将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时,再将所述第二模型系数广播至其他各区块链节点,由其他各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证。也就是说,本区块链节点在训练生成第二模型系数后,可以先利用自己的本地测试集分别对该第二模型系数和所获取的区块链当前最新区块中的第一模型系数进行准确度测试,当第二模型系数的测试结果优于第一模型系数的测试结果时,说明本区块链节点暂时验证第二模型系数对应的模型优于第一模型系数对应的模型,然后再将第二模型系数广播至其他区块链节点进行进一步验证,当第二模型系数的测试结果劣于第一模型系数的测试结果时,说明本区块链节点暂时验证第二模型系数对应的模型劣于第一模型系数对应的模型,就不再将第二模型系数广播至其他区块链节点。依据此方式可以在本区块链节点对生成的第二模型系数做初步验证,仅将可能为更优的模型系数进行广播及共识验证,能够节省通信带宽,提高效率。在其他实施例中,本区块链节点也可以不预先进行验证,而是直接将生成的第二模型系数广播至其他区块链节点,本区块链节点再与其他区块链节点一同进行验证。
其中,上述由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:由各区块链节点基于各自的本地测试集对所述第二模型系数对应的模型分别进行测试,并根据测试结果是否优于第一模型系数对应的模型而返回投票结果。例如可以是,每个区块链节点在接收到本区块链节点广播的第二模型系数后,可以基于自己的测试集分别对该第二模型系数和所获取的区块链当前最新区块中的第一模型系数进行准确度测试,当第二模型系数的测试结果优于第一模型系数的测试结果时,说明此区块链节点验证第二模型系数对应的模型优于第一模型系数对应的模型,可以返回肯定投票结果,当第二模型系数的测试结果劣于第一模型系数的测试结果时,说明此区块链节点验证第二模型系数对应的模型劣于第一模型系数对应的模型,可以返回否定投票结果。可选地,投票结果可以只返回至广播第二模型系数的本区块链节点,也可以向包含广播第二模型系数的本区块链节点在内的各区块链节点广播。各区块链节点可以均基于上述规则对第二模型系数进行验证并投票,以反映区块链网络中的各区块链节点所具有的共识验证目标为:第二模型系数对应的模型优于第一模型系数对应的模型,即,区块链网络的共同优化目标是:获得更优的模型。
在各区块链节点返回投票结果后,可以根据各区块链节点的投票结果来确定关于本区块链节点所生成的第二模型系数的最终共识验证结果,作为一个可选的实施例,图2所示的方法还包括:接收各区块链节点返回的投票结果,当投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
进一步地,当最终的共识验证结果表明本区块链节点生成的第二模型系数对应的模型劣于第一模型系数对应的模型时,说明本区块链节点新生成的模型效果较差,不能将其存入区块链中,需要重新进行训练,为了使得后续训练能够得到较好的结果,不应当再在已生成的效果较差的第二模型系数的基础上进行继续训练,需要对已生成的效果较差的第二模型系数进行修正,然后再继续训练。在本公开的一个实施例中,图2所示的方法还包括:接收其他区块链节点广播的其他区块链节点对应的第二模型系数,当共识验证结果表明本区块链节点对应的第二模型系数对应的模型劣于第一模型系数对应的模型时,基于所述其他区块链节点对应的第二模型系数,将本区块链节点对应的第二模型系数修正为第三模型系数,基于所述第三模型系数和本地数据集,训练得到本区块链节点对应的更新的第二模型系数。本实施例通过其他区块链节点训练得到的模型系数对本区块链节点训练得到的效果较差的模型系数进行修正后再继续训练,各区块链节点在训练过程中可以相互借鉴共同促进,提高训练效率,节省训练时间。
此外,为了激励区块链网络中的各区块链节点都不断向着优化模型训练的目标进行训练,在本公开的一个实施例中,图2所示的方法还可以设置奖励机制,即,图2所示的方法在操作S204根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中之后,还包括:获取预定数量的数字货币奖励。例如,区块链网络中可以预置奖励规则,在一个区块链节点生成的第二模型系数通过共识验证后该区块链节点产生新的区块时,向该区块链节点的账户中发放预定数量的数字货币奖励,区块链节点可以利用各自账户的数字货币进行交易。
图4示意性示出了根据本公开的另一实施例的基于区块链的数据处理方法的流程图。
如图4所示,该方法可以应用于区块链网络中的任一区块链节点,该方法包括操作S401~S403。
在操作S401,接收其他区块链节点广播的第二模型系数,所述第二模型系数是由所述其他区块链节点基于本地测试集和区块链上当前最新区块中的第一模型系数训练得到的。
其中,当前区块链节点可以是图1中所示的运行环境的任意一个电子设备,即图1中的区块链节点101-107中的任意一个。与图2所示的方法相比,图2所示的方法侧重于对区块链网络中的区块链节点作为训练方的角色进行说明,而图4所示的方法侧重于对区块链网络中的区块链节点作为投票方的角色进行说明,二者相互对应,重复的部分不再赘述。
在操作S402,与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证。
在操作S403,当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,响应于广播所述第二模型系数的区块链节点根据所述第二模型系数创建新的区块的操作,将所述新的区块加入至本区块链节点对应的区块链中。
本操作中,当共识验证结果表明第二模型系数对应的模型优于第一模型系数对应的模型,即表明新训练得到的模型优于区块链上目前已有的最优模型,则包括本区块链节点在内的各区块链节点同意广播所述第二模型系数的区块链节点进行新区块的产生和接入,并响应于该广播所述第二模型系数的区块链节点创建新区块并加入区块链的操作,同样地将该新区块的副本加入各自对应的区块链,使得区块链网络中的各区块链节点对应的区块链保持一致,即区块链的最新的区块中保存当前得到的最优的模型系数,以供后续各区块链节点依据图2所示的方法在此基础上进行进一步训练,追求更优的训练结果。
可见,在图4所示的方法中,各区块链节点不仅可以作为训练方也可以作为投票方,各区块链节点在作为训练方时以区块链的最新区块中的模型系数为基础继续训练,各区块链节点在作为投票方时以获得更优化的模型系数为目标对其他区块链节点训练得到的模型系数进行共识验证,不断地将更优的模型系数放入区块链中,区块链中保存了逐渐优化的模型系数,使得各区块链节点不用再浪费时间来做其它区块链节点已经完成的训练,能够大大节省了资源,并且提升了训练的效率,共同促进模型训练不断优化。
在本公开的一个实施例中,图4所示方法的操作S402与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证包括:基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时发出肯定投票结果,否则发出否定投票结果。也就是说,包括本区块链节点在内的接收到第二模型系数的广播的各区块链节点,每个区块链节点均可以基于自己的测试集分别对该第二模型系数和区块链当前最新区块中的第一模型系数进行准确度测试,当第二模型系数的测试结果优于第一模型系数的测试结果时,说明本区块链节点验证第二模型系数对应的模型优于第一模型系数对应的模型,可以返回肯定投票结果,当第二模型系数的测试结果劣于第一模型系数的测试结果时,说明本区块链节点验证第二模型系数对应的模型劣于第一模型系数对应的模型,可以返回否定投票结果。可选地,投票结果可以只返回至广播第二模型系数的区块链节点,也可以向包含广播第二模型系数的区块链节点在内的其他各区块链节点广播。各接收到第二模型系数的区块链节点可以均基于上述规则对第二模型系数进行验证并投票,以反映区块链网络中的各区块链节点所具有的共识验证目标为:第二模型系数对应的模型优于第一模型系数对应的模型,即,区块链网络的共同优化目标是:获得更优的模型。
接着,可以根据各区块链节点的投票结果来确定关于第二模型系数的最终共识验证结果,作为一个可选的实施例,当本区块链节点与其他接收到所述第二模型系数的区块链节点发出的投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,各区块链节点同意广播所述第二模型系数的区块链节点根据所述第二模型系数产生新区块并链入区块链中,并响应于此操作一致地更新各自对应的区块链,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型,不允许根据第二模型系数对区块链进行更新。
下面参考图5A~图5D,结合具体实施例对图2和图4所示的方法做进一步说明。
假设解决某个特定问题的区块链网络有n个区块链节点P0、P1、..、Pn,本例中n=4,区块链节点为P0~P3,每个区块链节点维护至少两个进程,进程0主要进行模型训练和参数更新,进程1主要进行参数综合和投票。
图5A示意性示出了根据本公开的实施例的区块链节点进行模型训练和参数更新的流程图。
如图5A所示,该过程包括操作S501~S508。
操作S501,从区块链拉取最新的第一模型系数W。
在本例中,区块链如图3所示,初始区块为区块1,当前最新区块为区块4,每个区块链节点在最初加入区块链网络时可以从区块1拉取模型定义和区块链优化目标以获知要解决的特定问题和训练方向。在进行训练前从当前最新区块拉取第一模型系数。
操作S502,使用本地数据集继续训练得到第二模型系数Wi。
每个区块链节点可以使用随机梯度下降(SGD)基于各自的本地数据集分别进行训练。例如,每个区块链节点将自己的本地数据集按照预先设置的尺寸分割成多个训练子集,然后按照预先设置的训练轮数,在每一轮中使用所有训练子集在拉取的第一模型系数W的基础上进行训练,最终得到第二模型系数Wi,第二模型系数Wi和模型定义共同构成新的模型。
操作S503,使用本地测试集对第二模型系数Wi进行测试。
一个区块链节点在训练得到模型系数Wi之后,可以利用自己的本地测试集对其进行精度测试,当通过精度测试确认第二模型系数Wi的精度高于第一模型系数W的精度时,才基于第二模型系数Wi发起区块链网络中的共识验证。
操作S504,判断第二模型系数Wi的精度是否高于第一模型系数W,是则执行操作S505,否则回到操作S502继续训练。
操作S505,向其他区块链节点广播第二模型系数Wi。
本操作中,区块链节点在自己的本地测试集上测试发现得到了比目前区块链上的最优模型更好的模型,将第二模型系数广播给其他所有区块链节点。
图5B示意性示出了根据本公开的实施例的区块链节点广播第二模型系数的示意图。
如图5B所示,区块链节点P0训练得到第二模型系数W0,区块链节点P1训练得到第二模型系数W1,区块链节点P2训练得到第二模型系数W2,区块链节点P3训练得到第二模型系数W3,其中P0利用本地测试集测试出W0的精度高于第一模型系数W,P2利用本地测试集测试出W2的精度高于W,P3利用本地测试集测试出W3的精度高于W,P1利用本地测试集测试出W1的精度低于W,则P0、P2和P3分别将W0、W2和W3广播给其他所有区块链节点。然后再返回图5A所示的流程中。
操作S506,判断第二模型系数Wi是否被其他区块链节点投票通过,是则执行操作S507,否则执行操作S508。
图5C示意性示出了根据本公开的实施例的区块链节点返回投票结果的示意图。
以区块链节点P2为例,在图5B中区块链节点P2将第二模型系数W2发送至P0、P1和P3,在图5C中P2接收P0、P1和P3返回的投票结果,由于仅有P1发现在其测试集上的结果优于当前区块链上的最优模型,给予了肯定答复,而P0和P3给予了否定答复,因此投票不通过。同理,当肯定答复超过一定比例时,投票通过。
操作S507,根据第二模型系数Wi生成新区块,第二模型系数Wi作为更新后的第一模型系数W,以及,将预存的修正因子Wr重置为0。
本操作在投票通过后更新区块链,第二模型系数Wi成为区块链上最新的第一模型系数。其中修正因子Wr是每个区块链节点中预存的以备在投票不通过时用于对第二模型系数Wi进行修正的,其计算规则在后文进程1的流程中加以说明。
操作S508,根据修正因子Wr修正第二模型系数Wi,然后回到操作S502继续训练。
例如,修正后的第二模型系数Wi’等于修正因子Wr与第二模型系数Wi的加权和,Wr′=α×Wi+(1-α)×Wr。可以根据需要调整影响因子α的值,如当区块链被其他区块链节点更新,产生了新的第一模型系数W时,可以设置α为1,即第二模型系数Wi保持不变,回到操作S502后可从区块链拉取新的第一模型系数W并在此基础上继续训练得到新的第二模型系数,当区块链未被更新,即区块链中的第一模型系数W被使用过,则可以设置α小于1,得到修正后的第二模型系数Wi’,回到操作S502后可在第二模型系数Wi’的基础上继续训练得到新的第二模型系数。
图5D示意性示出了根据本公开的实施例的区块链节点进行参数综合和投票的流程图。
如图5D所示,该过程包括操作S501’~S506’。
在操作S501’,接收其他区块链节点Pi的第二模型系数Wi。
在操作S502’,根据接收到的第二模型系数Wi进行综合得到修正因子Wr。
本操作中,在收到其他区块链节点广播的第二模型系数后,本区块链节点在进行投票的同时会使用一定的规则进行综合,例如可以是将已有的旧的修正因子Wr与新接收到的第二模型系数Wi的加权和作为新的修正因子Wr,Wr′=β×Wr+(1-β)×Wi。在更为简化的例子中,可以将收到的第二模型系数进行平均得到修正因子,假设共收到i个参数,则得到Wr=(W0+W1+…+Wi)/i。以图5B中的P2为例,P2接收到W0和W3,P2中的修正因子可以是Wr=(W0+W3)/2,则在图5C中,P2在投票不通过时其修正后的第二模型系数W2’为:
W2=α×W2+(1-α)×Wr=α×W2+(1-α)×(W0+W3)/2
在操作S503’,使用本地测试集对第二模型系数Wi进行测试。
在操作S504’,判断第二模型系数Wi的精度是否高于第一模型系数W,是则执行操作S505’,否则执行操作S506’。
在操作S505’,向区块链节点Pi发送肯定投票结果。
在操作S506’,向区块链节点Pi发送否定投票结果。
可以看到,本方案提出的面向基于区块链的人工智能模型训练场景的参数共享方案,与传统中心化参数综合方式相比,无需使用位于中心地位的参数服务器,而采用点对点的平等通信方式在各区块链节点之间传递模型系数,在一定程度上能够解决信任问题。且由于各区块链节点共享模型系数,与仅广播训练得到的梯度的方式相比,避免了梯度过期的问题。以及,仅在投票不通过时进行模型系数更新,在一定程度上保留了各参与方的数据特异性,并能够节省计算资源。
图6示意性示出了根据本公开的实施例的基于区块链的数据处理装置的框图。
如图6所示,该装置600可以应用于区块链网络中的任一区块链节点,包括获取模块610、训练模块620、广播模块630和区块链更新模块640。该装置600可以执行上面参考图2和图5A描述的方法,以实现人工智能模型训练场景下的模型系数共享方案。
具体地,获取模块610用于获取区块链上当前最新区块中的第一模型系数。
训练模块620用于基于所述第一模型系数和本地数据集,训练得到本区块链节点对应的第二模型系数。
广播模块630用于将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对第二模型系数进行共识验证。
区块链更新模块640用于当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,将所述第二模型系数作为更新的第一模型系数,根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中。
在本公开的一个实施例中,广播模块630将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:广播模块630用于基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时,再将所述第二模型系数广播至其他各区块链节点,由其他各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证。
图7示意性示出了根据本公开的另一实施例的基于区块链的数据处理装置的框图。
如图7所示,该装置700包括获取模块610、训练模块620、广播模块630、区块链更新模块640和共识验证模块650。其中获取模块610、训练模块620、广播模块630和区块链更新模块640在上文中已经说明,重复的部分不再赘述。
上述由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:由各区块链节点基于各自的本地测试集对所述第二模型系数对应的模型分别进行测试,并根据测试结果是否优于第一模型系数对应的模型而返回投票结果。在此基础上,共识验证模块650用于接收各区块链节点返回的投票结果,当投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
图8示意性示出了根据本公开的另一实施例的基于区块链的数据处理装置的框图。
如图8所示,该装置800包括获取模块610、训练模块620、广播模块630、区块链更新模块640、共识验证模块650、修正模块660和奖励获取模块670。其中获取模块610、训练模块620、广播模块630、区块链更新模块640和共识验证模块650在上文中已经说明,重复的部分不再赘述。
作为一个可选的实施例,修正模块660用于接收其他区块链节点广播的其他区块链节点对应的第二模型系数,当共识验证结果表明本区块链节点对应的第二模型系数对应的模型劣于第一模型系数对应的模型时,基于所述其他区块链节点对应的第二模型系数,将本区块链节点对应的第二模型系数修正为第三模型系数,基于所述第三模型系数和本地数据集,训练得到本区块链节点对应的更新的第二模型系数。
作为一个可选的实施例,奖励获取模块670用于在区块链更新模块640根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中之后,获取预定数量的数字货币奖励。
图9示意性示出了根据本公开的另一实施例的基于区块链的数据处理装置的框图。
如图9所示,该装置900可以应用于区块链网络中的任一区块链节点,包括接收模块910、共识验证模块920和区块链更新模块930。该装置900可以执行上面参考图4和图5D描述的方法,以实现人工智能模型训练场景下的模型系数共享方案。
接收模块910用于接收其他区块链节点广播的第二模型系数,所述第二模型系数是由所述其他区块链节点基于本地测试集和区块链上当前最新区块中的第一模型系数训练得到的。
共识验证模块920用于与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证。
区块链更新模块930用于当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,响应于广播所述第二模型系数的区块链节点根据所述第二模型系数创建新的区块的操作,将所述新的区块加入至本区块链节点对应的区块链中。
在本公开的一个实施例中,共识验证模块920与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证包括:共识验证模块920用于基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时发出肯定投票结果,否则发出否定投票结果。当与其他接收到所述第二模型系数的区块链节点发出的投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块610、训练模块620、广播模块630、区块链更新模块640、共识验证模块650、修正模块660和奖励获取模块670中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块610、训练模块620、广播模块630、区块链更新模块640、共识验证模块650、修正模块660和奖励获取模块670中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块610、训练模块620、广播模块630、区块链更新模块640、共识验证模块650、修正模块660和奖励获取模块670中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
又例如,接收模块910、共识验证模块920和区块链更新模块930中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,接收模块910、共识验证模块920和区块链更新模块930中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,接收模块910、共识验证模块920和区块链更新模块930中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图10示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,系统1000包括处理器1010和计算机可读存储介质1020。该系统1000可以执行根据本公开实施例的方法。
具体地,处理器1010例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1010还可以包括用于缓存用途的板载存储器。处理器1010可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质1020,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质1020可以包括计算机程序1021,该计算机程序1021可以包括代码/计算机可执行指令,其在由处理器1010执行时使得处理器1010执行根据本公开实施例的方法或其任何变形。
计算机程序1021可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1021中的代码可以包括一个或多个程序模块,例如包括1021A、模块1021B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1010执行时,使得处理器1010可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,获取模块610、训练模块620、广播模块630、区块链更新模块640、共识验证模块650、修正模块660和奖励获取模块670中的至少一个可以实现为参考图10描述的计算机程序模块,其在被处理器1010执行时,可以实现上面描述的相应操作。和/或,根据本发明的实施例,接收模块910、共识验证模块920和区块链更新模块930中的至少一个可以实现为参考图10描述的计算机程序模块,其在被处理器1010执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种基于区块链的数据处理方法,应用于区块链节点,包括:
获取区块链上当前最新区块中的第一模型系数;
基于所述第一模型系数和本地数据集,训练得到本区块链节点对应的第二模型系数;
将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证;
当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,将所述第二模型系数作为更新的第一模型系数,根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中。
2.根据权利要求1所述的方法,其中,所述将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:
基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时,再将所述第二模型系数广播至其他各区块链节点,由其他各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证。
3.根据权利要求1所述的方法,其中:
所述由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:由各区块链节点基于各自的本地测试集对所述第二模型系数对应的模型分别进行测试,并根据测试结果是否优于第一模型系数对应的模型而返回投票结果;
所述方法还包括:接收各区块链节点返回的投票结果,当投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
4.根据权利要求1所述的方法,还包括:
接收其他区块链节点广播的其他区块链节点对应的第二模型系数;
当共识验证结果表明本区块链节点对应的第二模型系数对应的模型劣于第一模型系数对应的模型时,基于所述其他区块链节点对应的第二模型系数,将本区块链节点对应的第二模型系数修正为第三模型系数;
基于所述第三模型系数和本地数据集,训练得到本区块链节点对应的更新的第二模型系数。
5.根据权利要求1所述的方法,还包括:
在所述根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中之后,获取预定数量的数字货币奖励。
6.一种基于区块链的数据处理方法,应用于区块链节点,包括:
接收其他区块链节点广播的第二模型系数,所述第二模型系数是由所述其他区块链节点基于本地测试集和区块链上当前最新区块中的第一模型系数训练得到的;
与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证;
当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,响应于广播所述第二模型系数的区块链节点根据所述第二模型系数创建新的区块的操作,将所述新的区块加入至本区块链节点对应的区块链中。
7.根据权利要求6所述的方法,其中,所述与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证包括:
基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时发出肯定投票结果,否则发出否定投票结果;
当与其他接收到所述第二模型系数的区块链节点发出的投票结果中肯定投票结果超过预定比例时,共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型,否则,共识验证结果表明所述第二模型系数对应的模型劣于第一模型系数对应的模型。
8.一种基于区块链的数据处理装置,应用于区块链节点,包括:
获取模块,用于获取区块链上当前最新区块中的第一模型系数;
训练模块,用于基于所述第一模型系数和本地数据集,训练得到本区块链节点对应的第二模型系数;
广播模块,用于将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对第二模型系数进行共识验证;
区块链更新模块,用于当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,将所述第二模型系数作为更新的第一模型系数,根据所述第二模型系数创建新的区块,并将所述新的区块加入至区块链中。
9.根据权利要求8所述的装置,其中,所述广播模块将所述第二模型系数广播至各区块链节点,由各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证包括:
所述广播模块,用于基于本地测试集对所述第二模型系数对应的模型进行测试,当测试结果优于第一模型系数对应的模型时,再将所述第二模型系数广播至其他各区块链节点,由其他各区块链节点基于各自的本地测试集对所述第二模型系数进行共识验证。
10.一种基于区块链的数据处理装置,应用于区块链节点,包括:
接收模块,用于接收其他区块链节点广播的第二模型系数,所述第二模型系数是由所述其他区块链节点基于本地测试集和区块链上当前最新区块中的第一模型系数训练得到的;
共识验证模块,用于与其他接收到所述第二模型系数的区块链节点一同基于各自的本地测试集对所述第二模型系数进行共识验证;
区块链更新模块,用于当共识验证结果表明所述第二模型系数对应的模型优于第一模型系数对应的模型时,响应于广播所述第二模型系数的区块链节点根据所述第二模型系数创建新的区块的操作,将所述新的区块加入至本区块链节点对应的区块链中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810985637.9A CN109194510B (zh) | 2018-08-27 | 2018-08-27 | 基于区块链的数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810985637.9A CN109194510B (zh) | 2018-08-27 | 2018-08-27 | 基于区块链的数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109194510A true CN109194510A (zh) | 2019-01-11 |
CN109194510B CN109194510B (zh) | 2021-02-19 |
Family
ID=64916273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810985637.9A Active CN109194510B (zh) | 2018-08-27 | 2018-08-27 | 基于区块链的数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109194510B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815344A (zh) * | 2019-01-29 | 2019-05-28 | 华南师范大学 | 基于参数共享的网络模型训练系统、方法、装置和介质 |
CN109949034A (zh) * | 2019-03-06 | 2019-06-28 | 北京工业大学 | 基于可信性评估的区块链共识方法 |
CN110321385A (zh) * | 2019-06-28 | 2019-10-11 | 联想(北京)有限公司 | 基于区块链的数据处理方法和数据处理装置 |
CN110503202A (zh) * | 2019-08-22 | 2019-11-26 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN110533154A (zh) * | 2019-08-30 | 2019-12-03 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN110543776A (zh) * | 2019-08-30 | 2019-12-06 | 联想(北京)有限公司 | 模型处理方法、装置、电子设备和介质 |
CN110597628A (zh) * | 2019-08-29 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 模型分发方法、装置、计算机可读介质及电子设备 |
CN110610241A (zh) * | 2019-08-30 | 2019-12-24 | 联想(北京)有限公司 | 一种模型训练方法、设备及存储介质 |
CN110619317A (zh) * | 2019-09-26 | 2019-12-27 | 联想(北京)有限公司 | 模型训练方法、模型训练装置和电子设备 |
CN110716726A (zh) * | 2019-08-29 | 2020-01-21 | 平安科技(深圳)有限公司 | 客户端更新方法及装置、电子设备和计算机可读存储介质 |
CN111209599A (zh) * | 2019-12-26 | 2020-05-29 | 安徽讯呼信息科技有限公司 | 一种基于区块链的数据处理系统 |
CN112418433A (zh) * | 2020-10-30 | 2021-02-26 | 联想(北京)有限公司 | 一种模型训练方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864198A (zh) * | 2017-11-07 | 2018-03-30 | 济南浪潮高新科技投资发展有限公司 | 一种基于深度学习训练任务的区块链共识方法 |
US20180165612A1 (en) * | 2016-12-09 | 2018-06-14 | Cognitive Scale, Inc. | Method for Providing Commerce-Related, Blockchain-Associated Cognitive Insights Using Blockchains |
CN108323200A (zh) * | 2018-01-25 | 2018-07-24 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的数据训练方法、装置、存储介质及区块链节点 |
CN108491266A (zh) * | 2018-03-09 | 2018-09-04 | 联想(北京)有限公司 | 基于区块链的数据处理方法、装置及电子设备 |
-
2018
- 2018-08-27 CN CN201810985637.9A patent/CN109194510B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180165612A1 (en) * | 2016-12-09 | 2018-06-14 | Cognitive Scale, Inc. | Method for Providing Commerce-Related, Blockchain-Associated Cognitive Insights Using Blockchains |
CN107864198A (zh) * | 2017-11-07 | 2018-03-30 | 济南浪潮高新科技投资发展有限公司 | 一种基于深度学习训练任务的区块链共识方法 |
CN108323200A (zh) * | 2018-01-25 | 2018-07-24 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的数据训练方法、装置、存储介质及区块链节点 |
CN108491266A (zh) * | 2018-03-09 | 2018-09-04 | 联想(北京)有限公司 | 基于区块链的数据处理方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
涂奔等: ""一种基于私有区块链的信息保护预测模型研究"", 《情报理论与实践(ITA)》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815344B (zh) * | 2019-01-29 | 2021-09-14 | 华南师范大学 | 基于参数共享的网络模型训练系统、方法、装置和介质 |
CN109815344A (zh) * | 2019-01-29 | 2019-05-28 | 华南师范大学 | 基于参数共享的网络模型训练系统、方法、装置和介质 |
CN109949034A (zh) * | 2019-03-06 | 2019-06-28 | 北京工业大学 | 基于可信性评估的区块链共识方法 |
CN109949034B (zh) * | 2019-03-06 | 2022-09-20 | 北京工业大学 | 基于可信性评估的区块链共识方法 |
CN110321385A (zh) * | 2019-06-28 | 2019-10-11 | 联想(北京)有限公司 | 基于区块链的数据处理方法和数据处理装置 |
CN110321385B (zh) * | 2019-06-28 | 2021-12-24 | 联想(北京)有限公司 | 基于区块链的数据处理方法和数据处理装置 |
CN110503202A (zh) * | 2019-08-22 | 2019-11-26 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN110597628B (zh) * | 2019-08-29 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 模型分发方法、装置、计算机可读介质及电子设备 |
CN110597628A (zh) * | 2019-08-29 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 模型分发方法、装置、计算机可读介质及电子设备 |
CN110716726A (zh) * | 2019-08-29 | 2020-01-21 | 平安科技(深圳)有限公司 | 客户端更新方法及装置、电子设备和计算机可读存储介质 |
CN110533154A (zh) * | 2019-08-30 | 2019-12-03 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN110610241B (zh) * | 2019-08-30 | 2022-05-31 | 联想(北京)有限公司 | 一种模型训练方法、设备及存储介质 |
CN110610241A (zh) * | 2019-08-30 | 2019-12-24 | 联想(北京)有限公司 | 一种模型训练方法、设备及存储介质 |
CN110533154B (zh) * | 2019-08-30 | 2023-05-12 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
CN110543776A (zh) * | 2019-08-30 | 2019-12-06 | 联想(北京)有限公司 | 模型处理方法、装置、电子设备和介质 |
CN110619317A (zh) * | 2019-09-26 | 2019-12-27 | 联想(北京)有限公司 | 模型训练方法、模型训练装置和电子设备 |
CN111209599A (zh) * | 2019-12-26 | 2020-05-29 | 安徽讯呼信息科技有限公司 | 一种基于区块链的数据处理系统 |
CN111209599B (zh) * | 2019-12-26 | 2023-03-14 | 安徽讯呼信息科技有限公司 | 一种基于区块链的数据处理系统 |
CN112418433A (zh) * | 2020-10-30 | 2021-02-26 | 联想(北京)有限公司 | 一种模型训练方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109194510B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194510A (zh) | 基于区块链的数据处理方法和装置 | |
CN109194508A (zh) | 基于区块链的数据处理方法和装置 | |
CN108596623A (zh) | 一种区块链共识达成方法 | |
CN109118224A (zh) | 区块链网络的工作量证明方法、装置、介质及电子设备 | |
CN109298998A (zh) | 工作量评估及模型训练方法、电子设备及存储介质 | |
CN108665363A (zh) | 一种区块链共识达成装置 | |
Steinitz | Which way of designing? | |
CN108648082A (zh) | 一种用于区块链共识达成的计算机系统 | |
Namiot et al. | On passenger flow data models for urban railways | |
CN110458355A (zh) | 事件预测方法、装置、设备及存储介质 | |
CN110321385A (zh) | 基于区块链的数据处理方法和数据处理装置 | |
CN114897190A (zh) | 一种联邦学习框架的构建方法、装置、介质及设备 | |
Almasi et al. | Urban transit network optimization under variable demand with single and multi-objective approaches using metaheuristics: The case of Daejeon, Korea | |
Donti et al. | Adversarially robust learning for security-constrained optimal power flow | |
Massacci et al. | Assessing a requirements evolution approach: Empirical studies in the air traffic management domain | |
Mostashari | Collaborative modeling and decision-making for complex energy systems | |
US11605144B1 (en) | System and methods for planning and optimizing the recovery of critical infrastructure/key resources | |
Queiroz et al. | Instance generation tool for on-demand transportation problems | |
KR102010031B1 (ko) | 게임 지표 정보 예측 방법 및 장치 | |
Othman et al. | Enhancing realism in simulation through deep learning | |
CN115687526A (zh) | 一种基于区块链和联邦学习的地震数据模型共享方法 | |
CN109388747A (zh) | 一种获得网络中用户的置信度的方法和装置 | |
Gu et al. | Planning rolling stock maintenance: Optimization of train arrival dates at a maintenance center | |
Nurlaili et al. | A combination of the evolutionary tree miner and simulated annealing | |
CN111292176A (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 |