CN112801292A - 基于区块链智能合约的神经网络训练方法及*** - Google Patents
基于区块链智能合约的神经网络训练方法及*** Download PDFInfo
- Publication number
- CN112801292A CN112801292A CN202110386242.9A CN202110386242A CN112801292A CN 112801292 A CN112801292 A CN 112801292A CN 202110386242 A CN202110386242 A CN 202110386242A CN 112801292 A CN112801292 A CN 112801292A
- Authority
- CN
- China
- Prior art keywords
- training
- results
- participating
- sub
- group
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
- G06Q10/1053—Employment or hiring
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Marketing (AREA)
- Economics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种基于区块链智能合约的神经网络训练方法及***,所述方法包括:接收组织用户提交的原始数据集和奖金;将所述原始数据集划分为训练数据集和测试数据集,并将所述训练数据集划分为A个训练数据子集,A≥2;响应于B个参与用户发送的训练数据获取请求消息,分别向所述B个参与用户发送所述A个训练数据子集,B≥2;分别接收所述B个参与用户发送的C个训练子结果,并对所述C个训练子结果进行汇总,获得训练结果;通过所述测试数据集对所述训练结果进行校验,若所述训练结果通过校验,则向所述B个参与用户支付奖金。在本申请实施例中,通过设计的数据分发和奖金分配方案可以避免各节点的欺诈行为。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于区块链智能合约的神经网络训练方法及***。
背景技术
人工神经网络(Artificial Neural Networks,ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。ANNs依靠***的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
经过大规模训练的神经网络模型在各个领域得到了广泛的应用,且取得了较好的效果,例如语音识别、图像识别等。但是,神经网络模型的大规模训练依赖较高的计算能力,虽然近年来在GPU硬件、网络架构方面取得了重大进展,但是在单个机器上完成神经网络模型的训练仍然会花费很长时间。
区块链智能合约是一种运行在区块链网络上的智能合约,基于智能合约,区块链网络中的组织用户可以分发训练任务,由多个参与用户共同完成训练,并反馈训练结果,实现神经网络模型的分布式训练。作为回报,组织用户需要向参与用户支付一定的奖金。
但是,区块链网络中的每个节点均有可能存在欺诈行为。例如,组织用户可能在参与用户完成训练后通过不相关的测试数据集对训练结果进行校验,训练结果无法通过校验,组织用户进而拒绝支付奖金,以骗取参与用户的工作量;参与用户可能提交虚假的训练结果,以骗取奖金。
因此,在基于区块链智能合约的神经网络训练过程中,如何进行数据的分发及奖金的分配,成为现有技术中亟待解决的技术问题。
发明内容
本申请实施例中提供了一种基于区块链智能合约的神经网络训练方法及***,以利于解决现有技术在基于区块链智能合约的神经网络训练过程中,如何进行数据的分发及奖金的分配问题。
第一方面,本申请实施例提供了一种基于区块链智能合约的神经网络训练方法,包括:
接收组织用户提交的原始数据集和奖金,所述奖金用于储存在所述智能合约指定的托管账户中;
将所述原始数据集划分为训练数据集和测试数据集,并将所述训练数据集划分为A个训练数据子集,A≥2;
响应于B个参与用户发送的训练数据获取请求消息,分别向所述B个参与用户发送所述A个训练数据子集,其中,向每个参与用户发送一个训练数据子集,B≥2;
分别接收所述B个参与用户发送的C个训练子结果,并对所述C个训练子结果进行汇总,获得训练结果;
通过所述测试数据集对所述训练结果进行校验,若所述训练结果通过校验,则向所述B个参与用户支付所述奖金。
优选地,所述响应于B个参与用户发送的训练数据获取请求消息,分别向所述B个参与用户发送所述A个训练数据子集,具体包括:
将所述B个参与用户划分为D个参与用户组,其中,每个参与用户组中包括至少两个参与用户;
分别向所述B个参与用户发送所述A个训练数据子集,其中,向同一参与用户组中的参与用户发送相同的训练数据子集。
优选地,分别接收所述B个参与用户发送的C个训练子结果,并对所述C个训练子结果进行汇总,获得训练结果,具体包括:
分别接收所述D个参与用户组发送的D个组内最优训练子结果,其中,所述组内最优训练子结果为参与用户组内所有参与用户中获得的最优训练子结果;
对所述D个组内最优训练子结果进行汇总,获得训练结果。
优选地,分别接收所述D个参与用户组发送的D个组内最优训练子结果,具体包括:
分别接收所述D个参与用户组发送的D组训练子结果;
将第一参与用户组对应的第一组训练子结果发送至第二参与用户组,使得所述第二参与用户组对所述第一组训练子结果进行校验,确定所述第一参与用户组对应的组内最优训练子结果;
接收所述第二参与用户组发送的所述第一参与用户组对应的组内最优训练子结果;
其中,所述第一参与用户组和所述第二参与用户组为所述D个参与用户组内的任意两个参与用户组。
优选地,分别接收所述B个参与用户发送的C个训练子结果,并对所述C个训练子结果进行汇总,获得训练结果,具体包括:
分别接收所述D个参与用户组发送的D组训练子结果;
分别对所述D组训练子结果中的每个训练子结果进行校验,获得D个组内最优训练子结果,其中,所述组内最优训练子结果为参与用户组内所有参与用户中获得的最优训练子结果;
对所述D个组内最优训练子结果进行汇总,获得训练结果。
优选地,分别对所述D组训练子结果中的每个训练子结果进行校验,包括:
通过第三参与用户组对应的训练数据集,对第四参与用户组内每个参与用户的训练子结果进行校验,所述第三参与用户组和所述第四参与用户组为所述D个参与用户组内的任意两个参与用户组。
优选地,向所述B个参与用户支付所述奖金,具体包括:
向所述D个组内最优训练子结果对应的参与用户支付所述奖金。
优选地,向所述D个组内最优训练子结果对应的参与用户支付所述奖金,具体包括:
根据所述D个组内最优训练子结果对应的参与用户的训练数据量制定奖金分配方案;
根据所述奖金分配方案向所述D个组内最优训练子结果对应的参与用户支付所述奖金。
优选地,还包括:
若所述训练结果未通过校验,则向所述B个参与用户发送所述训练结果,使得所述参与用户基于所述训练结果继续进行神经网络模型训练。
第二方面,本申请实施例提供了一种基于区块链智能合约的神经网络训练***,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行第一方面任一项所述的方法。
在本申请实施例中,由组织用户直接向智能合约提交原始数据集(此时不对训练数据集和测试数据集进行区分),而是由智能合约将原始数据集随机分为训练数据集和测试数据集,避免组织用户采用不相关的测试数据集对参与用户提交的训练结果进行校验,避免组织用户的欺诈行为。另外,只有通过校验的参与用户才会获得奖金,避免参与用户的欺诈行为。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种区块链架构模型示意图;
图2为一种智能合约在区块链中的运行逻辑示意图;
图3为本申请实施例提供的一种基于区块链智能合约的神经网络训练场景示意图;
图4为本申请实施例提供的一种基于区块链智能合约的神经网络训练方法流程示意图;
图5为本申请实施例提供的一种训练数据分发示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
针对现有技术中在单个机器上完成神经网络模型的训练花费时间较长的问题,本申请实施例提供了一种基于区块链智能合约的神经网络训练方法及***。以下,首先对区块链及智能合约的概念进行简单介绍。
参见图1,为一种区块链架构模型示意图。如图1所示,区块链***由数据层、网络层、共识层、激励层、合约层和应用层组成 。
其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的特点。
参见图2,为一种智能合约在区块链中的运行逻辑示意图。基于区块链的智能合约包括预置触发条件和预置响应规则,用于接收和处理各种事务。并且事务的触发、处理及数据保存都必须在链上进行,当满足触发条件后,智能合约即会根据预设逻辑,读取相应数据并进行计算,最后将计算结果永久保存在链式结构中。
参见图3,为本申请实施例提供的一种基于区块链智能合约的神经网络训练场景示意图。其中,图3中的组织用户可以理解为智能合约的创建者或发起者,组织用户存在神经网络的训练需求;参与用户为智能合约的参与者,参与用户拥有计算能力,通过完成训练任务获取奖励。从另一个角度,上述组织用户和参与用户均可理解为区块链网络中的一个节点。
其中,参与用户可能存在多个,智能合约可以将训练数据集划分为多个训练数据子集,分别分发至不同的参与用户进行训练,并收集不同的参与用户发送的训练子结果,进而对训练子结果进行汇总,获得训练结果,完成分布式训练过程。以下结合流程步骤进行详细说明。
参见图4,为本申请实施例提供的一种基于区块链智能合约的神经网络训练方法流程示意图。如图4所示,其主要包括以下步骤。
步骤S401:智能合约接收组织用户提交的原始数据集和奖金,所述奖金用于储存在所述智能合约指定的托管账户中。
可理解,本申请实施例涉及的原始数据集将用于神经网络模型的训练,当神经网络模型训练完成后,通过奖金的形式支付给训练过程中的参与用户。奖金一直存在托管账户中,当触发设置的条件后,托管账户自动将奖金支付给相关参与方。
与传统的分布式***不同,区块链网络中的每个节点均可能存在欺诈行为。例如,组织用户为了避免向参与用户支付奖金,向智能合约分别提交不相关的训练数据集和测试数据集。当参与用户完成训练后,无法通过不相关的测试数据集完成校验,智能合约则将奖金返还给组织用户。
为了避免上述问题,本申请实施例由组织用户直接向智能合约提交原始数据集(此时不对训练数据集和测试数据集进行区分),而是由智能合约将原始数据集随机分为训练数据集和测试数据集。
步骤S402:智能合约将所述原始数据集划分为训练数据集和测试数据集,并将所述训练数据集划分为A个训练数据子集,A≥2。
具体地,当智能合约接收到组织用户提交的原始数据集后,将原始数据集随机划分为训练数据集和测试数据集,其中训练数据集和测试数据集的占比可以根据预设的规则进行调整。例如,可以设置原始数据集中的1/10的数据作为测试数据集,其余的数据为训练数据集。
为了提高训练速度,本申请实施例采用分布式训练的方式,将训练数据集划分为A个训练数据子集,A≥2。所述A个训练数据子集用于分发至不同的节点,即分发至不同的参与用户进行训练。
步骤S403:响应于B个参与用户发送的训练数据获取请求消息,分别向所述B个参与用户发送所述A个训练数据子集,其中,向每个参与用户发送一个训练数据子集,B≥2。
在一种可能的实现方式中,参与用户可以自行在智能合约中下载训练数据子集。需要指出的是,测试数据集对参与用户是不可见的,即参与用户无法进行测试数据集的下载。采用这种设置的原因在于,若参与用户可以下载测试数据集,则参与用户很可能将测试数据集添加到神经网络模型的训练过程中。可理解,采用该方式训练获得的训练子结果很容易通过训练数据集的校验。
在另一种可能的实现方式中,训练数据子集和参与数据集对参与用户均不可见。当参与用户需要获取训练数据子集时,向智能合约发送训练数据获取请求消息,由智能合约随机选择一个训练数据子集发送给参与用户。采用该方式可以更好地避免参与用户在训练过程的欺骗行为,在下文中详细说明。
需要指出的是,在本申请实施例中,参与用户和训练数据子集可能并不是一一对应的关系。例如,智能合约可能将同一个训练数据子集发送给多个参与用户;或者向同一个参与用户发送多个训练数据子集,本申请实施例对此不作具体限制。
步骤S404:分别接收所述B个参与用户发送的C个训练子结果,并对所述C个训练子结果进行汇总,获得训练结果。
在一种可能的实现方式中,每个参与用户均具有完整的神经网络模型副本,每个参与用户分别通过自己获取的训练数据子集进行训练,获得训练子结果。可理解,该训练子结果可以为神经网络模型的权重参数等。
参与用户完成训练获得训练子结果后,将训练子结果发送至智能合约。此处,参与用户和训练子结果可能并不是一一对应的关系,例如,某一参与用户由于自身的各种原因导致未完成神经网络模型的训练,则未向智能合约提交训练子结果。在一种可能的实现方式中,智能合约可以规定参与用户在制定的时间内提交训练子结果,或在完成特定数量的迭代后,向智能合约提交训练子结果。
当智能合约获得B个参与用户发送的C个训练子结果后,对该C个训练子结果进行汇总,获得训练结果。所述训练结果即根据所有训练数据获得的神经网络模型的训练结果。其中,对C个训练子结果的汇总方式可以为取均值,或者其它汇总方式,本申请实施例对此不作具体限制。
如上文所述,与传统的分布式***不同,区块链网络中的每个节点均可能存在欺诈行为。例如,某一参与用户未完成训练,而是随意提交了一个训练子结果,或者只采用极少数的训练数据进行训练,然后将训练子结果提交至智能合约,以获取奖励。
针对该问题,在一种可能的实现方式中,智能合约对每个训练子结果进行校验,仅对校验通过的训练子结果进行汇总。具体地,智能合约可以采用测试数据集对训练子结果进行校验,也可以对不同的参与用户发送的训练子结果进行交叉校验。例如,采用参与用户A的训练数据集对参与用户B的训练子结果进行校验;相反,采用参与用户B的训练数据集对参与用户A的训练子结果进行校验。
步骤S405:通过所述测试数据集对所述训练结果进行校验,若所述训练结果通过校验,则向所述B个参与用户支付所述奖金。
具体地,当获得训练结果后,通过所述测试数据集对所述训练结果进行校验,若所述训练结果通过校验,则触发智能合约响应,向所述B个参与用户支付所述奖金。
可理解,若在步骤S404中对每个训练子结果进行了校验,则仅向通过训练子结果校验的参与用户支付所述奖金。
具体实现中,可以通过预设的损失函数判断训练子结果或训练结果是否通过校验,本申请实施例对损失函数的具体表现形式不做具体限制。
另外,若所述训练结果未通过校验,则向所述B个参与用户发送所述训练结果,使得所述参与用户基于所述训练结果继续进行神经网络模型训练。也就是说,此时,参与用户并非基于初始化参数进行训练,而是基于上一轮汇总的训练结果进一步训练。具体内容与上述步骤相似,为了表述简洁,在此不再赘述。
在本申请实施例中,基于区块链智能合约完成神经网络的分布式训练,提高训练效率,且训练过程真实可追溯。
在一种可能的实现方式中,为了避免参与用户的欺骗行为,将同一训练数据子集分发至多个不同的参与用户,通过比较该多个不同参与用户的训练子结果的优劣,仅采纳最优的训练子结果,并将奖金分配给提供最优训练子结果的参与用户,以此激励每个参与用户努力获得较佳的训练子结果。
参见图5,为本申请实施例提供的一种训练数据分发示意图。如图5所示,智能合约首先将组织用户提交的原始数据集划分为训练数据集和测试数据集,然后将训练数据集划分为A份,获得A个训练数据子集,其中不同训练数据子集中训练数据的数量可以相同也可以不同。对于每一个训练数据子集,分发至多个不同的参与用户。例如在图5中,将训练数据子集2同时分发至参与用户1、参与用户2和参与用户3。也就是说,参与用户1、参与用户2和参与用户3将分别采用训练数据子集2进行模型训练。当然,不同的训练数据子集分发的参与用户的数量也可能不同,例如,将训练数据子集1分发至2个参与用户;将训练数据子集3分发至5个参与用户。
在一种可能的实现方式中,上述步骤S403包括:将所述B个参与用户划分为D个参与用户组,其中,每个参与用户组中包括至少两个参与用户;分别向所述B个参与用户发送所述A个训练数据子集,其中,向同一参与用户组中的参与用户发送相同的训练数据子集。
在本申请实施例中,参与用户组即获得相同训练数据子集的参与用户集合。例如,在图5中,参与用户1、参与用户2和参与用户3组成一个参与用户组。
具体实现中,参与用户组由智能合约进行划分,进而完成训练数据子集的分发。相反,若参与用户自己可以决定获取哪个训练数据子集,则相当于可以自行确定可以和谁组成参与用户组。该方式很有可能造成同一用户或组织控制的多个节点组成参与用户组,参与用户组内的成员均不需要努力训练,即可获得一份奖励(一个参与用户组内存在一个组内最优训练子结果),导致多个参与用户联合作弊。
在一种可能的实现方式中,上述步骤S404包括:分别接收所述D个参与用户组发送的D个组内最优训练子结果,其中,所述组内最优训练子结果为参与用户组内所有参与用户中获得的最优训练子结果;对所述D个组内最优训练子结果进行汇总,获得训练结果。
具体实现中,参与用户可以将其的训练子结果与组内其它参与用户的训练子结果进行比较,若该参与用户的训练子结果优于组内其它参与用户,则确定该参与用户的训练子结果为其所在参与用户组的组内最优训练子结果,则将该组内最优训练子结果提交至智能合约。其中,训练子结果的优劣可以采用其它参与用户的训练数据进行判断。例如,参与用户组A的参与用户采用参与用户组A的训练数据进行训练子结果校验,进而确定训练子结果的优劣程度,确定组内最优训练子结果。
但是,若某一参与用户不遵守规则,在获得的训练子结果不是组内最优训练子结果的情况下,仍然将该训练子结果提交至智能合约,使得该参与用户存在作弊的可能。
针对上述问题,一种可能的解决方式为,当智能合约发现同一参与用户组提交两个或两个以上组内最优训练子结果时,对该两个或两个以上组内最优训练子结果进行校验比较,仅保留校验结果较优的组内最优训练子结果。但是该方式显然会增加智能合约的性能开销。
另一种可能的解决方式为,由不同组的参与用户进行交叉验证。具体为,智能合约分别接收所述D个参与用户组发送的D组训练子结果;智能合约将第一参与用户组对应的第一组训练子结果发送至第二参与用户组,使得所述第二参与用户组对所述第一组训练子结果进行校验,确定所述第一参与用户组对应的组内最优训练子结果。其中,可以为第二参与用户组内的任一参与用户对第一组训练子结果进行校验,该校验过程中可以采用第二参与用户组的训练数据子集。当校验完成后,第二参与用户组确定第一参与用户组的组内最优训练子结果,并将第一参与用户组对应的组内最优训练子结果发送至智能合约。
也就是说,在本申请实施例中采用交叉验证的方式,由其它组的参与用户验证本组的组内最优训练子结果。采用该方式可以避免参与用户上传非组内最优训练子结果至智能合约,进而骗取奖金的行为。
在另一种可能的实现方式中,可以由智能合约完成每个训练子结果的校验,获得组内最优训练子结果。具体包括:智能合约分别接收所述D个参与用户组发送的D组训练子结果;智能合约分别对所述D组训练子结果中的每个训练子结果进行校验,获得D个组内最优训练子结果,其中,所述组内最优训练子结果为参与用户组内所有参与用户中获得的最优训练子结果;智能合约对所述D个组内最优训练子结果进行汇总,获得训练结果。
其中,智能合约对训练子结果的校验过程中可以采用测试数据集,也可以采用其它参与用户组的训练数据集。例如,通过第三参与用户组对应的训练数据集,对第四参与用户组内每个参与用户的训练子结果进行校验。本申请实施例对此不作具体限制。
在一种可能的实现方式中,可以根据参与用户的训练数据量制定奖金分配方案,使得训练数据较多的参与用户获得更多的奖金。其中,训练数据的多少可以依据智能合约为每个参与用户分配的训练数据子集中训练数据的数量确定。
但是,存在一种情况,若某一用户获得的训练数据子集中存在较多的训练数据,但是仅采用其中的部分数据进行模型训练,以期获得更多的奖励。因此,在进行奖金分配时,除了训练数据的数量外,还需要结合校验结果。即若无法通过校验,则不分配奖金,具体参见上文的描述。
具体实现中,上述步骤S405包括:根据所述D个组内最优训练子结果对应的参与用户的训练数据量制定奖金分配方案;根据所述奖金分配方案向所述D个组内最优训练子结果对应的参与用户支付所述奖金。
另外,当采用交叉验证的方式时,为了鼓励参与用户对其它用户组的训练子结果进行校验,在进行奖金分配时综合考虑参与训练子结果校验的次数。具体地,根据参与训练子结果校验的次数和训练数据量制定奖金分配方案。其中,智能合约可以根据参与用户提交的组内最优训练子结果的次数,以及组内最优训练子结果对应的参与用户组中参与用户的数量确定参与训练子结果校验的次数。
具体实现中,本申请实施例还提供了一种基于区块链智能合约的神经网络训练***。所述***处理器;用于存储处理器的执行指令的存储器;其中,所述处理器被配置为执行上述方法。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (10)
1.一种基于区块链智能合约的神经网络训练方法,其特征在于,包括:
接收组织用户提交的原始数据集和奖金,所述奖金用于储存在所述智能合约指定的托管账户中;
将所述原始数据集划分为训练数据集和测试数据集,并将所述训练数据集划分为A个训练数据子集,A≥2;
响应于B个参与用户发送的训练数据获取请求消息,分别向所述B个参与用户发送所述A个训练数据子集,其中,向每个参与用户发送一个训练数据子集,B≥2;
分别接收所述B个参与用户发送的C个训练子结果,并对所述C个训练子结果进行汇总,获得训练结果;
通过所述测试数据集对所述训练结果进行校验,若所述训练结果通过校验,则向所述B个参与用户支付所述奖金。
2.根据权利要求1所述的方法,其特征在于,所述响应于B个参与用户发送的训练数据获取请求消息,分别向所述B个参与用户发送所述A个训练数据子集,具体包括:
将所述B个参与用户划分为D个参与用户组,其中,每个参与用户组中包括至少两个参与用户;
分别向所述B个参与用户发送所述A个训练数据子集,其中,向同一参与用户组中的参与用户发送相同的训练数据子集。
3.根据权利要求2所述的方法,其特征在于,分别接收所述B个参与用户发送的C个训练子结果,并对所述C个训练子结果进行汇总,获得训练结果,具体包括:
分别接收所述D个参与用户组发送的D个组内最优训练子结果,其中,所述组内最优训练子结果为参与用户组内所有参与用户中获得的最优训练子结果;
对所述D个组内最优训练子结果进行汇总,获得训练结果。
4.根据权利要求3所述的方法,其特征在于,分别接收所述D个参与用户组发送的D个组内最优训练子结果,具体包括:
分别接收所述D个参与用户组发送的D组训练子结果;
将第一参与用户组对应的第一组训练子结果发送至第二参与用户组,使得所述第二参与用户组对所述第一组训练子结果进行校验,确定所述第一参与用户组对应的组内最优训练子结果;
接收所述第二参与用户组发送的所述第一参与用户组对应的组内最优训练子结果;
其中,所述第一参与用户组和所述第二参与用户组为所述D个参与用户组内的任意两个参与用户组。
5.根据权利要求2所述的方法,其特征在于,分别接收所述B个参与用户发送的C个训练子结果,并对所述C个训练子结果进行汇总,获得训练结果,具体包括:
分别接收所述D个参与用户组发送的D组训练子结果;
分别对所述D组训练子结果中的每个训练子结果进行校验,获得D个组内最优训练子结果,其中,所述组内最优训练子结果为参与用户组内所有参与用户中获得的最优训练子结果;
对所述D个组内最优训练子结果进行汇总,获得训练结果。
6.根据权利要求5所述的方法,其特征在于,分别对所述D组训练子结果中的每个训练子结果进行校验,包括:
通过第三参与用户组对应的训练数据集,对第四参与用户组内每个参与用户的训练子结果进行校验,所述第三参与用户组和所述第四参与用户组为所述D个参与用户组内的任意两个参与用户组。
7.根据权利要求3-6任一项所述的方法,其特征在于,向所述B个参与用户支付所述奖金,具体包括:
向所述D个组内最优训练子结果对应的参与用户支付所述奖金。
8.根据权利要求7所述的方法,其特征在于,向所述D个组内最优训练子结果对应的参与用户支付所述奖金,具体包括:
根据所述D个组内最优训练子结果对应的参与用户的训练数据量制定奖金分配方案;
根据所述奖金分配方案向所述D个组内最优训练子结果对应的参与用户支付所述奖金。
9.根据权利要求1所述的方法,其特征在于,还包括:
若所述训练结果未通过校验,则向所述B个参与用户发送所述训练结果,使得所述参与用户基于所述训练结果继续进行神经网络模型训练。
10.一种基于区块链智能合约的神经网络训练***,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110386242.9A CN112801292A (zh) | 2021-04-12 | 2021-04-12 | 基于区块链智能合约的神经网络训练方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110386242.9A CN112801292A (zh) | 2021-04-12 | 2021-04-12 | 基于区块链智能合约的神经网络训练方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112801292A true CN112801292A (zh) | 2021-05-14 |
Family
ID=75816743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110386242.9A Pending CN112801292A (zh) | 2021-04-12 | 2021-04-12 | 基于区块链智能合约的神经网络训练方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112801292A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792873A (zh) * | 2021-08-24 | 2021-12-14 | 浙江数秦科技有限公司 | 一种基于区块链的神经网络模型托管训练*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108898219A (zh) * | 2018-06-07 | 2018-11-27 | 广东工业大学 | 一种基于区块链的神经网络训练方法、装置及介质 |
CN109697613A (zh) * | 2018-12-29 | 2019-04-30 | 重庆巴奥科技有限公司 | 用于区块链中网络交易安全认证方法和*** |
CN110222721A (zh) * | 2019-05-10 | 2019-09-10 | 深圳前海达闼云端智能科技有限公司 | 数据处理方法、装置,区块链节点及存储介质 |
US20190287026A1 (en) * | 2018-03-14 | 2019-09-19 | International Business Machines Corporation | Learning service blockchain |
WO2020120933A1 (en) * | 2018-12-12 | 2020-06-18 | University Of York | Proof-of-work for blockchain applications |
CN112084218A (zh) * | 2020-08-19 | 2020-12-15 | 喻婷婷 | 一种基于区块链的云数据管理方法及*** |
CN112288154A (zh) * | 2020-10-22 | 2021-01-29 | 汕头大学 | 一种基于改进神经协同过滤的区块链服务可靠性预测方法 |
CN112416577A (zh) * | 2020-11-05 | 2021-02-26 | 宁波环杭州湾大数据信息技术有限公司 | 一种适用于区块链工作量证明的协作式智能计算分流方法 |
CN112513812A (zh) * | 2018-08-02 | 2021-03-16 | 平衡媒体技术有限责任公司 | 使用区块链网络的任务完成 |
-
2021
- 2021-04-12 CN CN202110386242.9A patent/CN112801292A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190287026A1 (en) * | 2018-03-14 | 2019-09-19 | International Business Machines Corporation | Learning service blockchain |
CN108898219A (zh) * | 2018-06-07 | 2018-11-27 | 广东工业大学 | 一种基于区块链的神经网络训练方法、装置及介质 |
CN112513812A (zh) * | 2018-08-02 | 2021-03-16 | 平衡媒体技术有限责任公司 | 使用区块链网络的任务完成 |
WO2020120933A1 (en) * | 2018-12-12 | 2020-06-18 | University Of York | Proof-of-work for blockchain applications |
CN109697613A (zh) * | 2018-12-29 | 2019-04-30 | 重庆巴奥科技有限公司 | 用于区块链中网络交易安全认证方法和*** |
CN110222721A (zh) * | 2019-05-10 | 2019-09-10 | 深圳前海达闼云端智能科技有限公司 | 数据处理方法、装置,区块链节点及存储介质 |
CN112084218A (zh) * | 2020-08-19 | 2020-12-15 | 喻婷婷 | 一种基于区块链的云数据管理方法及*** |
CN112288154A (zh) * | 2020-10-22 | 2021-01-29 | 汕头大学 | 一种基于改进神经协同过滤的区块链服务可靠性预测方法 |
CN112416577A (zh) * | 2020-11-05 | 2021-02-26 | 宁波环杭州湾大数据信息技术有限公司 | 一种适用于区块链工作量证明的协作式智能计算分流方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792873A (zh) * | 2021-08-24 | 2021-12-14 | 浙江数秦科技有限公司 | 一种基于区块链的神经网络模型托管训练*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2008201956B2 (en) | Character trading method | |
CN112805076A (zh) | 用于玩家安排比赛的机器学习的信任度评分 | |
CN109389399A (zh) | 基于区块链的***方法、装置、计算机设备及存储介质 | |
US11496308B1 (en) | Infusing custom qualities into an artificially intelligent entity | |
CN107742352A (zh) | 基于区块链及智能合约的去中心化抽签/排队方法及*** | |
KR20090021172A (ko) | 게임 장치들을 연결하는 방법 및 장치 판독가능 매체 | |
CN112274925B (zh) | Ai模型训练方法、调用方法、服务器及存储介质 | |
CN108066989A (zh) | 一种随机匹配组队方法、装置及应用服务器 | |
US20150343313A1 (en) | User enforcement reputation scoring algorithm & automated decisioning and enforcement system for non-evidence supported communications misconduct | |
Biaou et al. | Ayo game approach to mitigate free riding in peer-to-peer networks | |
CN112801292A (zh) | 基于区块链智能合约的神经网络训练方法及*** | |
CN113379539B (zh) | 基于区块链的委托权益证明共识方法及装置 | |
CN109120437B (zh) | 基于dabft共识机制的人工智能区块云生态*** | |
Fatemi et al. | Network experiment design for estimating direct treatment effects | |
CN112600682B (zh) | 一种基于委托权益证明算法的区块链共识方法和装置 | |
Roddie | Reputation and gossip in game theory | |
CN114870403A (zh) | 一种游戏中的对战匹配方法、装置、设备及存储介质 | |
CN112738196B (zh) | 区块链代表节点选取方法、装置、计算机设备和存储介质 | |
KR102679147B1 (ko) | 블록체인을 이용한 제3자 참여형 온라인 게임 부정행위 방지 방법 및 이를 이용한 방지 시스템 | |
CN112764714B (zh) | 基于智能合约的自激励随机数生成方法及终端设备 | |
CN113435949B (zh) | 基于智能合约的去中心化联邦机器学习方法、***及存储介质 | |
US20240193434A1 (en) | Federated Learning System and Federated Learning Method | |
CN116506443A (zh) | 一种区块链***及其账本信息修正方法、程序产品 | |
Marti et al. | Modeling reputation and incentives in online trade | |
Zhang et al. | Proof-of-Merit: Harnessing the Computing Power used by Blockchain Consensus Mechanisms for Complex Transaction Generation |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210514 |