CN113836566B - 基于区块链***的模型处理方法及装置、设备、介质 - Google Patents
基于区块链***的模型处理方法及装置、设备、介质 Download PDFInfo
- Publication number
- CN113836566B CN113836566B CN202111423078.0A CN202111423078A CN113836566B CN 113836566 B CN113836566 B CN 113836566B CN 202111423078 A CN202111423078 A CN 202111423078A CN 113836566 B CN113836566 B CN 113836566B
- Authority
- CN
- China
- Prior art keywords
- training
- model
- stage
- aggregation
- uplink
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请的实施例揭示了一种基于区块链***的模型处理方法及装置、设备、介质、产品。该方法包括:从区块链***中获取第t训练阶段的聚合模型;根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型;根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型;将第t+1训练阶段的聚合模型进行上链处理,并将第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行关联上链。本申请实施例的技术方案极大地优化了模型处理方案,提升了模型训练的效果与效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种基于区块链***的模型处理方法、区块链***的模型处理装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
相关技术中,每次进行模型训练都是针对特定批次的样本数据进行训练,从而得到对应批次样本数据下的模型,例如针对第一批次样本数据进行训练得到一个模型,针对第二批次样本数据进行训练得到一个模型。但是,这种训练方式无法反映数据跃迁对模型的影响,导致最终训练得到的模型的泛化性能较差。
发明内容
为解决上述技术问题,本申请的实施例提供了一种基于区块链***的模型处理方法及装置、电子设备、计算机可读存储介质、计算机程序产品,进而至少在一定程度上提升了训练得到的模型的泛化性能。
根据本申请实施例的一个方面,提供了一种基于区块链***的模型处理方法,所述方法包括:从所述区块链***中获取第t训练阶段的聚合模型,所述第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的,其中,t>1且t为整数;根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型;根据所述第t+1训练阶段的目标模型和所述第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型;将所述第t+1训练阶段的聚合模型进行上链处理,并将所述第t+1训练阶段的样本数据和所述第t+1训练阶段的目标模型进行关联上链。
根据本申请实施例的一个方面,提供了一种基于区块链***的模型处理装置,所述装置包括:获取模块,配置为从所述区块链***中获取第t训练阶段的聚合模型,所述第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的,其中,t>1且t为整数;训练模块,配置为根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型;聚合模块,配置为根据所述第t+1训练阶段的目标模型和所述第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型;上链模块,配置为将所述第t+1训练阶段的聚合模型进行上链处理,并将所述第t+1训练阶段的样本数据和所述第t+1训练阶段的目标模型进行关联上链。
在本申请的一个实施例中,基于前述方案,所述训练模块,具体配置为:在第1训练阶段,根据第1训练阶段的样本数据对第1训练阶段的初始模型进行训练,得到第1训练阶段的目标模型,并将所述第1训练阶段的目标模型作为所述第1训练阶段的聚合模型。
在本申请的一个实施例中,基于前述方案,所述聚合模块,具体配置为:采用下述公式,根据所述第t+1训练阶段的目标模型和所述第t训练阶段的聚合模型进行聚合处理:
在本申请的一个实施例中,基于前述方案,每一轮训练阶段的样本数据包括样本特征数据和期望值数据;所述训练模块,包括:第一获取单元,配置为将所述样本特征数据输入到所述第t训练阶段的聚合模型中,获取所述第t训练阶段的聚合模型的输出结果;调整单元,配置为通过所述期望值数据与所述输出结果之间的损失值调整所述第t训练阶段的聚合模型的参数,以得到所述第t+1训练阶段的目标模型。
在本申请的一个实施例中,基于前述方案,所述训练模块,包括:第二获取单元,配置为从所述区块链***中获取所述第t训练阶段的目标模型;聚合单元,配置为根据所述第t训练阶段的目标模型与所述第t-1训练阶段的聚合模型进行聚合得到所述第t训练阶段的目标聚合模型;校验单元,配置为根据所述第t训练阶段的目标聚合模型对从所述区块链***中获取到的第t训练阶段的聚合模型进行校验,若校验通过,则根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练。
在本申请的一个实施例中,基于前述方案,所述获取模块,具体配置为:根据与所述第t训练阶段的聚合模型对应的公钥从所述区块链***中获取所述第t训练阶段的聚合模型;其中,不同训练阶段的聚合模型所对应的公钥不同。
在本申请的一个实施例中,基于前述方案,所述上链模块,包括:第一确定单元,配置为将所述第t+1训练阶段的聚合模型确定为第一待上链数据;第一生成与上链单元,配置为根据所述第一待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
在本申请的一个实施例中,基于前述方案,所述上链模块,包括:第一生成与分发单元,配置为生成所述区块对应的公钥,并将所述公钥分发至各个参与模型训练的设备;其中,所述公钥用于使所述参与模型训练的设备从区块中获取所述第t+1训练阶段的聚合模型。
在本申请的一个实施例中,基于前述方案,所述上链模块,包括:第二确定单元,配置为将所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型进行关联,并将关联结果确定为第二待上链数据;第二生成与上链单元,配置为根据所述第二待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
在本申请的一个实施例中,基于前述方案,所述上链模块,包括:第二生成与分发单元,配置为针对生成的所述区块,分别生成与各个参与模型训练的设备对应的私钥,并将生成的所述私钥分别分发给所述各个参与模型训练的设备;其中,所述私钥用于使对应的参与模型训练的设备从区块中获取所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型。
在本申请的一个实施例中,基于前述方案,所述上链模块,包括:第三确定单元,配置为将所述第t+1训练阶段的聚合模型确定为第三待上链数据,以及将所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型进行关联,并将关联结果确定为第四待上链数据;第三生成与上链单元,配置为根据所述第三待上链数据和所述第四待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
根据本申请实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的基于区块链***的模型处理方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的基于区块链***的模型处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现如上所述的基于区块链***的模型处理方法。
在本申请的实施例提供的技术方案中:
一方面,在第t+1训练阶段时,根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型,其中第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的;这样,在每轮训练阶段中均利用了在前训练阶段的聚合模型,从而能够反映历史样本数据对当前训练阶段模型的影响,即考虑到了数据跃迁对当前训练阶段模型的影响,提升了最终训练得到的模型的泛化性能和鲁棒性等。
另一方面,在第t+1训练阶段时,根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型,并根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型;这样,每轮训练阶段中直接利用在前训练阶段的聚合模型进行训练,不用再通过全量历史样本数据进行模型训练,提升了模型训练的效率,尤其是全量历史样本数据较多时,所提升的模型训练的效率更为明显,并且也节省了大量的计算资源。
再一方面,将第t+1训练阶段的聚合模型进行上链处理,并将第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行关联上链;这样,通过应用区块链技术,对模型训练过程中得到的聚合模型、样本数据以及通过样本数据训练得到的目标模型进行了安全备份,保证了模型训练过程中得到的聚合模型、样本数据以及通过样本数据训练得到的目标模型的安全性,并且在相关数据丢失、被篡改的情况下,可以通过进行回滚得到相关数据。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中模型训练预测的示意图。
图2是区块链***的结构示意图。
图3是区块链***中各区块的连接关系示意图。
图4是可以应用本申请实施例的技术方案的示例性***架构的示意图。
图5是本申请的一示例性实施例示出的基于区块链***的模型处理方法的流程图。
图6是图5所示实施例中的步骤S502在一示例性实施例中的流程图。
图7是图5所示实施例中的步骤S502在一示例性实施例中的流程图。
图8是图5所示实施例中的步骤S504在一示例性实施例中的流程图。
图9是图5所示实施例中的步骤S504在一示例性实施例中的流程图。
图10是图5所示实施例中的步骤S504在一示例性实施例中的流程图。
图11是本申请的一示例性实施例示出的基于区块链***的模型处理方法的流程图。
图12是本申请的一示例性实施例示出的基于区块链***的模型处理方法的流程图。
图13是本申请的一示例性实施例示出的初始区块的示意图。
图14是本申请的一示例性实施例示出的模型处理的示意图。
图15是本申请的一示例性实施例示出的模型处理的示意图。
图16是本申请的一示例性实施例示出的基于区块链***的模型处理装置的框图。
图17是适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相相同的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相同的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是,在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,相关技术中模型训练预测过程包括训练过程和预测过程;其中,训练过程包括数据获取阶段—>特征与标签提取阶段—>训练样本构建阶段—>模型训练阶段—>模型测试阶段—>模型预测阶段,预测过程包括数据获取阶段—>特征与标签提取阶段—>测试样本构建阶段—>模型预测阶段。其中,在相关技术的模型训练预测过程中,每次模型训练预测都是采用特定批次的样本数据,这样并不能体现历史样本数据对当前阶段训练得到的模型的影响,从而导致最终训练得到的模型的泛化性能较差。因而,如果要体现历史样本数据对当前阶段训练得到的模型的影响,可以采用全量历史样本数据进行模型训练,但是采用全量历史样本数据进行模型训练由于数据量较大,因此,在极大程度上降低模型训练的效率,并且也会导致计算资源的浪费。
基于此,本申请实施例提出了一种基于区块链***的模型处理方法,不仅提升了训练得到的模型的泛化性能,而且还提升了模型训练的效率,节省了计算资源,同时还应用了区块链技术,保证了模型训练过程中样本数据与训练得到的模型(目标模型和聚合模型)的安全性。
在介绍本申请实施例的技术方案之前,先介绍本申请实施例中用到的区块链技术。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
其中,区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如告警、监控网络情况、监控节点设备健康状态等。
其中,平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。
其中,应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
如上,区块链本质上是一个去中心化的数据库,而区块链是由区块链***中的节点共同维护的。例如请参阅图2,在图2所示的区块链***中,可以包括多个节点201,多个节点201可以是形成区块链***的各个客户端。每个节点201在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链***内的共享数据。为了保证区块链***内的信息互通,区块链***中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如当区块链***中的任意节点接收到输入信息时,区块链***中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储,使得区块链***中全部节点上存储的数据均一致。
对于区块链***中的每个节点,均具有与其对应的节点标识,而且区块链***中的每个节点均可以存储有其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至区块链***中的其它节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。
区块链***中的每个节点均存储一条相同的区块链。区块链由多个区块组成,请参阅图3,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值等,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值等,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
区块链***中各个节点可以是服务器,也可以是终端设备。其中服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算(Cloud Computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。其中终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。各个节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
前述的云计算是指IT基础设施的交付和使用模式,具体指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing )、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
基于前述介绍的区块链技术,以及相关技术中模型训练所存在的一系列问题,本申请的实施例提供的一种基于区块链***的模型处理方法。具体而言,在本申请的一个应用场景中,请参阅图4,主要包含了参与模型训练的设备401与区块链***402。其中,参与模型训练的设备401与区块链***402之间可以互相通信;参与模型训练的设备401从区块链***402中获取第t训练阶段的聚合模型,第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的,其中,t>1且t为整数;之后,参与模型训练的设备401根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型;之后,参与模型训练的设备401根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型;之后,参与模型训练的设备401将第t+1训练阶段的聚合模型进行上链处理,并将第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行关联上链。
在本申请的一些实施例中,参与模型训练的设备401可以是终端设备;例如终端设备可以是如手机、电脑、智能语音交互设备、智能家电、车载终端等终端设备。
在本申请的一些实施例中,参与模型训练的设备401可以是服务器;其中服务器可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。
在本申请的一些实施例中,参与模型训练的设备401的数量可以是一个也可以是多个,在实际应用中,可以根据具体应用场景进行灵活调整。
在本申请的一些实施例中,可以获取车联网相关数据,其中,车联网相关数包括但不限于车辆平均车数、两车之间的车距、车辆类型、车辆人数、车辆最高时速、车辆排量、路段路况情况、路段平均车速、车辆POI(Point of Interest,兴趣点)数据、车辆经纬度信息、车辆使用年限等;之后对获取到的车联网相关数据进行处理以进行特征及标签提取,并构建得到训练、测试样本数据,进而根据训练、测试样本数据进行模型训练预测。
在本申请的一些实施例中,可以获取社交网相关数据,其中,社交网相关数包括但不限于用户年龄、用户性别、用户工作性质、用户兴趣爱好、用户收入、用户家庭关系、用户习惯等;之后对获取到的社交网相关数据进行处理以进行特征及标签提取,并构建得到训练、测试样本数据,进而根据训练、测试样本数据进行模型训练预测。可以理解的是,在本申请的具体实施方式中,涉及到用户相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以下对本申请实施例的技术方案的各种实现细节进行详细阐述:
请参阅图5,图5是本申请的一个实施例示出的基于区块链***的模型处理方法的流程图,该基于区块链***的模型处理方法可以由图4中所示的参与模型训练的设备401来执行。如图5所示,基于区块链***的模型处理方法至少包括步骤S501至步骤S504,详细介绍如下:
步骤S501,从区块链***中获取第t训练阶段的聚合模型,第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的,其中,t>1且t为整数。
本申请实施例中涉及到模型的多次训练阶段,为了便于理解,本申请实施例中以一个训练阶段为示例进行说明。
本申请实施例中在第t+1训练阶段时,先从区块链***中获取第t训练阶段的聚合模型,其中,第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的(请参见后文所介绍的具体聚合过程)。
需要说明的是,本申请实施例中的t表征第几训练阶段,其中,t+1训练阶段可以用于表征模型的当前训练阶段,t训练阶段可以用于表征模型的前一训练阶段,t-1训练阶段可以用于表征模型的再前一训练阶段(即模型的前一训练阶段的前一训练阶段)。
需要说明的是,本申请实施例中t>1且t为整数,例如可以取值2、3、4、5、6……。其中,当t=2时,t-1训练阶段即表征为第1训练阶段,可以理解的是,在第1训练阶段,是根据第1训练阶段的样本数据对第1训练阶段的初始模型进行训练,得到第1训练阶段的目标模型,并将第1训练阶段的目标模型作为第1训练阶段的聚合模型。也即,由于是第1训练阶段,因而较为特殊,在第1训练阶段,第1训练阶段的目标模型同时作为第1训练阶段的聚合模型。
在本申请的一个实施例中,步骤S501中从区块链***中获取第t训练阶段的聚合模型的过程,可以包括以下步骤,详细介绍如下:
根据与第t训练阶段的聚合模型对应的公钥从区块链***中获取第t训练阶段的聚合模型;其中,不同训练阶段的聚合模型所对应的公钥不同。
也即,可选实施例中参与模型训练的设备是根据与第t训练阶段的聚合模型对应的公钥从区块链***中获取第t训练阶段的聚合模型。
这样,由于不同训练阶段的聚合模型所对应的公钥不同,因此,只有具有公钥的参与模型训练的设备才能获取到与公钥所对应的训练阶段的聚合模型,而不能获取到其他训练阶段的聚合模型,避免了可以任意获取任意训练阶段的聚合模型的现象,在一定程度上保证了聚合模型的安全性。
步骤S502,根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型。
本申请实施例中从区块链***中获取第t训练阶段的聚合模型之后,可以根据第t +1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,以得到第t+1训练阶段的目标模型。
在本申请的一个实施例中,每一轮训练阶段的样本数据包括样本特征数据和期望值数据;请参阅图6,步骤S502中根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型的过程,可以包括步骤S601至步骤S602,详细介绍如下:
步骤S601,将样本特征数据输入到第t训练阶段的聚合模型中,获取第t训练阶段的聚合模型的输出结果。
步骤S602,通过期望值数据与输出结果之间的损失值调整第t训练阶段的聚合模型的参数,以得到第t+1训练阶段的目标模型。
也即,可选实施例中是将样本特征数据输入到第t训练阶段的聚合模型中,以获取第t训练阶段的聚合模型的输出结果,之后,通过期望值数据与输出结果之间的损失值调整第t训练阶段的聚合模型的参数,以得到第t+1训练阶段的目标模型。
其中,可选实施例中样本特征数据指的是反映样本固有特征的数据。可以理解的是,不同的模型由于学习的能力或者用途不同,训练所需要的样本数据以及样本特征数据也不同;例如用于识别人脸图像的模型训练所需的样本为人脸图像,样本特征数据为人脸特征数据,或者用于识别声音的模型所需的样本数据为音频数据,样本特征数据为声学特征数据。
其中,可选实施例中期望值数据指的是期望样本所展现特征的数据。可以理解的是,当训练分类模型时,其对应的期望值数据为标签,当训练生成模型时,其对应的期望值数据为分布概率值。
其中,可选实施例中训练得到的第t+1训练阶段的目标模型包括但不限于分类模型、生成模型。可以理解的是,分类模型指的是学习得到条件概率分布P(y|x),即在特征x出现的情况下标记y出现的概率;生成模型指的是学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率分布,能够学习到数据生成的机制。简单理解,分类模型好比不去学习每一种语言,而只学习这些语言模型之间的差别,然后再分类即可;而生成模型好比学习每一种语言,即把每种语言都学会。
在本申请的一个实施例中,每一轮训练阶段的样本数据包括样本特征数据和期望值数据;请参阅图7,步骤S502中根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型的过程,可以包括步骤S701至步骤S703,详细介绍如下:
步骤S701,从区块链***中获取第t训练阶段的目标模型。
步骤S702,根据第t训练阶段的目标模型与第t-1训练阶段的聚合模型进行聚合得到第t训练阶段的目标聚合模型。
步骤S703,根据第t训练阶段的目标聚合模型对从区块链***中获取到的第t训练阶段的聚合模型进行校验,若校验通过,则根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练。
也即,可选实施例中还可以从区块链***中获取第t训练阶段的目标模型,之后,根据第t训练阶段的目标模型与第t-1训练阶段的聚合模型进行聚合得到第t训练阶段的目标聚合模型,之后,根据第t训练阶段的目标聚合模型对从区块链***中获取到的第t训练阶段的聚合模型进行校验;其中,如果校验通过,则此时可以根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,以得到第t+1训练阶段的目标模型,如果校验未通过,则此时不做处理。
其中,可选实施例中区块链***中同时存储有每轮训练阶段的聚合模型和目标模型;因此,可选实施例中可以先从区块链***中获取第t训练阶段的目标模型,以及从区块链***中获取第t-1训练阶段的聚合模型,然后根据获取到的第t训练阶段的目标模型与第t-1训练阶段的聚合模型进行聚合,以得到第t训练阶段的目标聚合模型。可以理解的是,该第t训练阶段的目标聚合模型是在第t+1训练阶段实时对第t训练阶段的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的。
其中,可选实施例中可以用在第t+1训练阶段实时对第t训练阶段的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的第t训练阶段的目标聚合模型,对从区块链***中获取到的第t训练阶段的聚合模型进行校验,从而来校验从区块链***中获取到的第t训练阶段的聚合模型是否被篡改。其中,如果校验通过,则表征从区块链***中获取到的第t训练阶段的聚合模型并未被篡改,即从区块链***中获取到的第t训练阶段的聚合模型的安全性是较高的,因此,此时可以根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,以得到第t+1训练阶段的目标模型;如果校验未通过,则表征从区块链***中获取到的第t训练阶段的聚合模型可能被篡改,即从区块链***中获取到的第t训练阶段的聚合模型的安全性是较低的,因此,此时可以不做处理。
在本申请的一个实施例中,如果校验未通过,也可以根据在第t+1训练阶段实时对第t训练阶段的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的第t训练阶段的目标聚合模型进行训练;即根据第t+1训练阶段的样本数据对第t训练阶段的目标聚合模型进行训练,以得到第t+1训练阶段的目标模型。
这样,先通过实时得到的第t训练阶段的目标聚合模型对从区块链***中获取到的第t训练阶段的聚合模型进行校验,在校验通过之后,才根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,避免由于从区块链***中获取到的第t训练阶段的聚合模型被篡改而导致的第t+1训练阶段的训练得到的目标模型的安全性低,以及浪费计算资源的现象,在极大程度上保证了第t+1训练阶段的训练得到的目标模型的安全性,节省了计算资源。
步骤S503,根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型。
本申请实施例中根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型之后,可以根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型。
在本申请的一个实施例中,可以采用下述公式,根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型:
在本申请的一个实施例中,在步骤S503中根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型的过程之前,还可以包括以下步骤,详细介绍如下:
根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行预测,以得到第t训练阶段的聚合模型对第t+1训练阶段的样本数据的预测结果。
也即,可选实施例中可以根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行预测,从而可以得到第t训练阶段的聚合模型对第t+1训练阶段的样本数据的预测结果;这样,可以便于根据预测结果进行相应分析处理。
步骤S504,将第t+1训练阶段的聚合模型进行上链处理,并将第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行关联上链。
本申请实施例中根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型之后,可以将第t+1训练阶段的聚合模型进行上链处理,并将第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行关联上链。
在本申请的一个实施例中,请参阅图8,步骤S504中将第t+1训练阶段的聚合模型进行上链处理的过程,可以包括步骤S801至步骤S802,详细介绍如下:
步骤S801,将第t+1训练阶段的聚合模型确定为第一待上链数据。
步骤S802,根据第一待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
也即,可选实施例中是将第t+1训练阶段的聚合模型确定为第一待上链数据,之后,根据第一待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
其中,可选实施例中第t+1训练阶段的聚合模型作为第一待上链数据,并根据该第一待上链数据生成的区块,可以称之为共享区块;其中,参与模型训练的设备可以从该共享区块中获取第t+1训练阶段的聚合模型。
可选实施例中,在步骤S802中根据第一待上链数据生成一个区块的过程之后,还可以包括以下步骤,详细介绍如下:
生成区块对应的公钥,并将公钥分发至各个参与模型训练的设备;其中,公钥用于使参与模型训练的设备从区块中获取第t+1训练阶段的聚合模型。
也即,可选实施例中根据第一待上链数据生成一个区块之后,可以生成该区块(即共享区块)对应的公钥,并将公钥分发至各个参与模型训练的设备,从而各个参与模型训练的设备就可以根据公钥从与公钥匹配的区块中获取第t+1训练阶段的聚合模型。
这样,由于一个共享区块内存储了一个训练阶段的聚合模型,根据共享区块所生成的公钥,也可以看作是根据聚合模型所生成的公钥,那么不同共享区块对应的公钥不同,也可以看作是不同训练阶段的聚合模型对应的公钥不同;因此,只有具有公钥的参与模型训练的设备才能获取到与公钥所对应的训练阶段的聚合模型,而不能获取到其他训练阶段的聚合模型,避免了参与模型训练的设备可以获取任意训练阶段的聚合模型的现象,在一定程度上保证了聚合模型的安全性。
在本申请的一个实施例中,请参阅图9,步骤S504中将第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行关联上链的过程,可以包括步骤S901至步骤S902,详细介绍如下:
步骤S901,将第t+1训练阶段的样本数据与第t+1训练阶段的目标模型进行关联,并将关联结果确定为第二待上链数据。
步骤S902,根据第二待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
也即,可选实施例中是将第t+1训练阶段的样本数据与第t+1训练阶段的目标模型进行关联,并将关联结果确定为第二待上链数据,之后,根据第二待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
其中,可选实施例中第t+1训练阶段的样本数据与第t+1训练阶段的目标模型进行关联的关联结果作为第二待上链数据,并根据该第二待上链数据生成的区块,可以称之为初始区块;其中,参与模型训练的设备可以从该初始区块中获取第t+1训练阶段的样本数据与第t+1训练阶段的目标模型。
可选实施例中,在步骤S902中根据第二待上链数据生成一个区块的过程之后,还可以包括以下步骤,详细介绍如下:
针对生成的区块,分别生成与各个参与模型训练的设备对应的私钥,并将生成的私钥分别分发给各个参与模型训练的设备;其中,私钥用于使对应的参与模型训练的设备从区块中获取第t+1训练阶段的样本数据与第t+1训练阶段的目标模型。
也即,可选实施例中根据第二待上链数据生成一个区块之后,可以分别生成与各个参与模型训练的设备对应的私钥,并将生成的私钥分别分发给各个参与模型训练的设备,从而参与模型训练的设备就可以根据私钥从区块中获取第t+1训练阶段的样本数据与第t+1训练阶段的目标模型。
这样,由于各个参与模型训练的设备都拥有自己的私钥,其只能根据自己所拥有的私钥从初始区块中获取到训练阶段的样本数据与训练阶段的目标模型,该私钥可以看作是对参与模型训练的设备进行身份认证的标识,避免了不同参与模型训练的设备可以获取任意设备方训练阶段的样本数据与目标模型的现象,在一定程度上保证了样本数据与目标模型的安全性。
需要说明的是,前述可选实施例中所提及的公钥与私钥的区别在于,公钥可以在各个参与模型训练的设备之间进行分发传播,而私钥则不可以,私钥只有参与模型训练的设备自己拥有。
可以理解的是,前述实施例中介绍的是将第t+1训练阶段的聚合模型、第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行分开上链;具体地,根据第t+1训练阶段的聚合模型生成一个共享区块进行上链,根据第t+1训练阶段的样本数据和第t+1训练阶段的目标模型生成一个初始区块进行上链。这样,分开上链可以分别进行获取,两者之间互不影响且可以看作互相备份,在共享区块中的聚合模型被篡改时,那么可以用初始区块中的样本数据和目标模型进行回滚,在初始区块中的样本数据和目标模型被篡改时,那么可以用共享区块中的聚合模型进行回滚。
在本申请的一个实施例中,请参阅图10,步骤S504中将第t+1训练阶段的聚合模型进行上链处理,并将第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行关联上链的过程,可以包括步骤S1001至步骤S1002,详细介绍如下:
步骤S1001,将第t+1训练阶段的聚合模型确定为第三待上链数据,以及将第t+1训练阶段的样本数据与第t+1训练阶段的目标模型进行关联,并将关联结果确定为第四待上链数据。
步骤S1002,根据第三待上链数据和第四待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
也即,可选实施例中是将第t+1训练阶段的聚合模型确定为第三待上链数据,以及将第t+1训练阶段的样本数据与第t+1训练阶段的目标模型进行关联,并将关联结果确定为第四待上链数据,之后,根据第三待上链数据和第四待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
其中,可选实施例中第t+1训练阶段的聚合模型作为第三待上链数据,第t+1训练阶段的样本数据与第t+1训练阶段的目标模型进行关联的关联结果作为第四待上链数据,并根据该第三待上链数据和第四待上链数据生成的区块,可以称之为综合区块;其中,参与模型训练的设备可以从该综合区块中获取第t+1训练阶段的聚合模型、第t+1训练阶段的样本数据与第t+1训练阶段的目标模型。
可以理解的是,这里可选实施例中是将第t+1训练阶段的聚合模型、第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行合并上链;具体地,根据第t+1训练阶段的聚合模型、第t+1训练阶段的样本数据和第t+1训练阶段的目标模型生成一个综合区块进行上链。这样,合并上链更为简便、快捷。
本申请实施例中的基于区块链***的模型处理方法,不仅提升了训练得到的模型的泛化性能,而且还提升了模型训练的效率,节省了计算资源,同时还应用了区块链技术,保证了模型训练过程中样本数据与训练得到的模型(目标模型和聚合模型)的安全性。
以下对本申请实施例的一个具体应用场景进行详细说明:
请参阅图11-图12,图11-图12是本申请的一个实施例示出的基于区块链***的模型处理方法的流程图。本申请实施例中以获取到车联网相关数据为样本数据进行模型处理,以及两轮训练阶段为例。
首先,介绍第1训练阶段(即时刻1训练阶段),如图11所示,基于区块链***的模型处理方法至少包括步骤S1101至步骤S1109,详细介绍如下:
其中,是将关联结果确定为第二待上链数据。可选地,步骤S1102的具体实施过程请参见前述实施例的技术方案。
步骤S1103,根据待上链数据生成一个初始区块,并将生成的初始区块上链存储至区块链***中。
步骤S1104,针对生成的初始区块,分别生成与各个参与模型训练的设备对应的私钥,并将生成的私钥分别分发给各个参与模型训练的设备。
可选地,步骤S1106的具体实施过程请参见前述实施例的技术方案。
步骤S1107,根据待上链数据生成一个共享区块,并将生成的共享区块上链存储至区块链***中。
可选地,步骤S1107的具体实施过程请参见前述实施例的技术方案。
步骤S1108,生成共享区块对应的公钥,并将公钥分发至各个参与模型训练的设备。
至此,完成第1训练阶段的模型训练与预测过程。
其次,介绍第2训练阶段(即时刻2训练阶段),如图12所示,基于区块链***的模型处理方法至少包括步骤S1201至步骤S1210,详细介绍如下:
其中,是将关联结果确定为第二待上链数据。可选地,步骤S1203的具体实施过程请参见前述实施例的技术方案。
步骤S1204,根据待上链数据生成一个初始区块,并将生成的初始区块上链存储至区块链***中。
步骤S1205,针对生成的初始区块,分别生成与各个参与模型训练的设备对应的私钥,并将生成的私钥分别分发给各个参与模型训练的设备。
其中,从第2训练阶段起,则是利用当前训练阶段的目标模型和前一训练阶段的聚合模型进行聚合处理,得到当前训练阶段的聚合模型。
可选地,可以采用下述公式进行聚合处理,得到当前训练阶段的聚合模型:
步骤S1208,根据待上链数据生成一个共享区块,并将生成的共享区块上链存储至区块链***中。
可选地,步骤S1208的具体实施过程请参见前述实施例的技术方案。
步骤S1209,生成共享区块对应的公钥,并将公钥分发至各个参与模型训练的设备。
至此,完成第2训练阶段的模型训练与预测过程,后续训练阶段的模型训练与预测过程类似于第2训练阶段的模型训练与预测过程,类推即可,这里不再赘述。
在本申请的一个实施例中,请参阅图14,为一种示例的模型处理示意图。采用区块链提供的去中心化的完全分布式域名解析(Domain name resolution,DNS)服务通过网络中各个节点之间的点对点数据传输服务进行节点数据的跨时区传输。如图14所示,在t时刻训练阶段,t时刻节点区块(即前述的初始区块)存储目标模型,t时刻节点共享模型块(即前述的共享区块)存储聚合模型,t时刻节点预测;在t+1时刻训练阶段,t+1时刻节点区块(即前述的初始区块)存储目标模型,t+1时刻节点共享模型块(即前述的共享区块)存储聚合模型,t+1时刻节点预测;其中,t时刻训练阶段的节点相关区块可以通过节点之间的点对点数据传输服务与t+1时刻训练阶段的节点相关区块之间进行数据交互。
这样,可以监控模型训练过程中样本数据与训练得到的模型(目标模型和聚合模型)的状态和完整性,使得所使用的样本数据与训练得到的模型(目标模型和聚合模型)没被经过篡改,保证了所使用的相关数据的安全性。
在本申请的一个实施例中,请参阅图15,为一种示例的模型处理示意图。如图15所示,初始样本数据获取阶段,进入第1训练阶段;其中:
在第1训练阶段中,将第1训练阶段的样本数据和第1训练阶段的目标模型进行关联上链,以生成第1初始区块,同时将第1训练阶段的目标模型作为第1训练阶段的聚合模型并对第1训练阶段的聚合模型进行上链处理,以生成第1共享区块,然后输入第2时刻样本数据进行预测,得到第1训练阶段的聚合模型对第2时刻样本数据的预测结果。
在第2训练阶段中,将第2训练阶段的样本数据和第2训练阶段的目标模型(根据第2训练阶段的样本数据对第1训练阶段的聚合模型进行训练得到)进行关联上链,以生成第2初始区块,同时根据第2训练阶段的目标模型和第1训练阶段的聚合模型进行聚合处理得到第2训练阶段的聚合模型,以生成第2共享区块,然后输入第3时刻样本数据进行预测,得到第2训练阶段的聚合模型对第3时刻样本数据的预测结果。
依次类推,在第t训练阶段中,将第t训练阶段的样本数据和第t训练阶段的目标模型(根据第t训练阶段的样本数据对第t-1训练阶段的聚合模型进行训练得到)进行关联上链,以生成第t初始区块,同时根据第t训练阶段的目标模型和第t-1训练阶段的聚合模型进行聚合处理得到第t训练阶段的聚合模型,以生成第t共享区块,然后输入第t+1时刻样本数据进行预测,得到第t训练阶段的聚合模型对第t+1时刻样本数据的预测结果。
本申请实施例中的基于区块链***的模型处理方法,不仅提升了训练得到的模型的泛化性能,而且还提升了模型训练的效率,节省了计算资源,同时还应用了区块链技术,保证了模型训练过程中样本数据与训练得到的模型(目标模型和聚合模型)的安全性。
图16是本申请的一个实施例示出的基于区块链***的模型处理装置的框图。如图16所示,该基于区块链***的模型处理装置包括:
获取模块1601,配置为从区块链***中获取第t训练阶段的聚合模型,第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的,其中,t>1且t为整数。
训练模块1602,配置为根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型。
聚合模块1603,配置为根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型。
上链模块1604,配置为将第t+1训练阶段的聚合模型进行上链处理,并将第t+1训练阶段的样本数据和第t+1训练阶段的目标模型进行关联上链。
在本申请的一个实施例中,训练模块1602,具体配置为:
在第1训练阶段,根据第1训练阶段的样本数据对第1训练阶段的初始模型进行训练,得到第1训练阶段的目标模型,并将第1训练阶段的目标模型作为第1训练阶段的聚合模型。
在本申请的一个实施例中,聚合模块1603,具体配置为:
采用下述公式,根据第t+1训练阶段的目标模型和第t训练阶段的聚合模型进行聚合处理:
在本申请的一个实施例中,每一轮训练阶段的样本数据包括样本特征数据和期望值数据;训练模块1602,包括:
第一获取单元,配置为将样本特征数据输入到第t训练阶段的聚合模型中,获取第t训练阶段的聚合模型的输出结果;
调整单元,配置为通过期望值数据与输出结果之间的损失值调整第t训练阶段的聚合模型的参数,以得到第t+1训练阶段的目标模型。
在本申请的一个实施例中,训练模块1602,包括:
第二获取单元,配置为从区块链***中获取第t训练阶段的目标模型;
聚合单元,配置为根据第t训练阶段的目标模型与第t-1训练阶段的聚合模型进行聚合得到第t训练阶段的目标聚合模型;
校验单元,配置为根据第t训练阶段的目标聚合模型对从区块链***中获取到的第t训练阶段的聚合模型进行校验,若校验通过,则根据第t+1训练阶段的样本数据对第t训练阶段的聚合模型进行训练。
在本申请的一个实施例中,获取模块1601,具体配置为:
根据与第t训练阶段的聚合模型对应的公钥从区块链***中获取第t训练阶段的聚合模型;其中,不同训练阶段的聚合模型所对应的公钥不同。
在本申请的一个实施例中,上链模块1604,包括:
第一确定单元,配置为将第t+1训练阶段的聚合模型确定为第一待上链数据;
第一生成与上链单元,配置为根据第一待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
在本申请的一个实施例中,上链模块1604,包括:
第一生成与分发单元,配置为生成区块对应的公钥,并将公钥分发至各个参与模型训练的设备;其中,公钥用于使参与模型训练的设备从区块中获取第t+1训练阶段的聚合模型。
在本申请的一个实施例中,上链模块1604,包括:
第二确定单元,配置为将第t+1训练阶段的样本数据与第t+1训练阶段的目标模型进行关联,并将关联结果确定为第二待上链数据;
第二生成与上链单元,配置为根据第二待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
在本申请的一个实施例中,上链模块1604,包括:
第二生成与分发单元,配置为针对生成的区块,分别生成与各个参与模型训练的设备对应的私钥,并将生成的私钥分别分发给各个参与模型训练的设备;其中,私钥用于使对应的参与模型训练的设备从区块中获取第t+1训练阶段的样本数据与第t+1训练阶段的目标模型。
在本申请的一个实施例中,上链模块1604,包括:
第三确定单元,配置为将第t+1训练阶段的聚合模型确定为第三待上链数据,以及将第t+1训练阶段的样本数据与第t+1训练阶段的目标模型进行关联,并将关联结果确定为第四待上链数据;
第三生成与上链单元,配置为根据第三待上链数据和第四待上链数据生成一个区块,并将生成的区块上链存储至区块链***中。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,这里不再赘述。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现如前的基于区块链***的模型处理方法。
图17示出了适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
需要说明的是,图17示出的电子设备的计算机***1700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图17所示,计算机***1700包括中央处理单元(Central Processing Unit,CPU)1701,其可以根据存储在只读存储器(Read-Only Memory,ROM)1702中的程序或者从储存部分1708加载到随机访问存储器(Random Access Memory,RAM)1703中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1703中,还存储有***操作所需的各种程序和数据。CPU 1701、ROM 1702以及RAM 1703通过总线1704彼此相连。输入/输出(Input /Output,I/O)接口1705也连接至总线1704。
以下部件连接至I/O接口1705:包括键盘、鼠标等的输入部分1706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1707;包括硬盘等的储存部分1708;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1709。通信部分1709经由诸如因特网的网络执行通信处理。驱动器1710也根据需要连接至I/O接口1705。可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入储存部分1708。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1709从网络上被下载和安装,和/或从可拆卸介质1711被安装。在该计算机程序被中央处理单元(CPU)1701执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不相同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的基于区块链***的模型处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的基于区块链***的模型处理方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (22)
1.一种基于区块链***的模型处理方法,其特征在于,所述方法包括:
根据与第t训练阶段的聚合模型对应的公钥从所述区块链***中获取所述第t训练阶段的聚合模型;其中,不同训练阶段的聚合模型所对应的公钥不同,所述第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的,t>1且t为整数;
根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型;
根据所述第t+1训练阶段的目标模型和所述第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型;
将所述第t+1训练阶段的聚合模型进行上链处理,并将所述第t+1训练阶段的样本数据和所述第t+1训练阶段的目标模型进行关联上链。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在第1训练阶段,根据第1训练阶段的样本数据对第1训练阶段的初始模型进行训练,得到第1训练阶段的目标模型,并将所述第1训练阶段的目标模型作为所述第1训练阶段的聚合模型。
4.如权利要求1所述的方法,其特征在于,每一轮训练阶段的样本数据包括样本特征数据和期望值数据;所述根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型,包括:
将所述样本特征数据输入到所述第t训练阶段的聚合模型中,获取所述第t训练阶段的聚合模型的输出结果;
通过所述期望值数据与所述输出结果之间的损失值调整所述第t训练阶段的聚合模型的参数,以得到所述第t+1训练阶段的目标模型。
5.如权利要求1所述的方法,其特征在于,所述根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练,包括:
从所述区块链***中获取所述第t训练阶段的目标模型;
根据所述第t训练阶段的目标模型与所述第t-1训练阶段的聚合模型进行聚合得到所述第t训练阶段的目标聚合模型;
根据所述第t训练阶段的目标聚合模型对从所述区块链***中获取到的第t训练阶段的聚合模型进行校验,若校验通过,则根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练。
6.如权利要求1至5中任一项所述的方法,其特征在于,所述将所述第t+1训练阶段的聚合模型进行上链处理,包括:
将所述第t+1训练阶段的聚合模型确定为第一待上链数据;
根据所述第一待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
7.如权利要求6所述的方法,其特征在于,在所述根据所述第一待上链数据生成一个区块之后,所述方法还包括:
生成所述区块对应的公钥,并将所述公钥分发至各个参与模型训练的设备;其中,所述公钥用于使所述参与模型训练的设备从区块中获取所述第t+1训练阶段的聚合模型。
8.如权利要求1至5中任一项所述的方法,其特征在于,所述将所述第t+1训练阶段的样本数据和所述第t+1训练阶段的目标模型进行关联上链,包括:
将所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型进行关联,并将关联结果确定为第二待上链数据;
根据所述第二待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
9.如权利要求8所述的方法,其特征在于,在所述根据所述第二待上链数据生成一个区块之后,所述方法还包括:
针对生成的所述区块,分别生成与各个参与模型训练的设备对应的私钥,并将生成的所述私钥分别分发给所述各个参与模型训练的设备;其中,所述私钥用于使对应的参与模型训练的设备从区块中获取所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型。
10.如权利要求1至5中任一项所述的方法,其特征在于,所述将所述第t+1训练阶段的聚合模型进行上链处理,并将所述第t+1训练阶段的样本数据和所述第t+1训练阶段的目标模型进行关联上链,包括:
将所述第t+1训练阶段的聚合模型确定为第三待上链数据,以及将所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型进行关联,并将关联结果确定为第四待上链数据;
根据所述第三待上链数据和所述第四待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
11.一种基于区块链***的模型处理装置,其特征在于,所述装置包括:
获取模块,配置为根据与第t训练阶段的聚合模型对应的公钥从所述区块链***中获取所述第t训练阶段的聚合模型;其中,不同训练阶段的聚合模型所对应的公钥不同,所述第t训练阶段的聚合模型是根据第t训练阶段的样本数据训练得到的目标模型与第t-1训练阶段的聚合模型进行聚合处理得到的,t>1且t为整数;
训练模块,配置为根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练,得到第t+1训练阶段的目标模型;
聚合模块,配置为根据所述第t+1训练阶段的目标模型和所述第t训练阶段的聚合模型进行聚合处理,得到第t+1训练阶段的聚合模型;
上链模块,配置为将所述第t+1训练阶段的聚合模型进行上链处理,并将所述第t+1训练阶段的样本数据和所述第t+1训练阶段的目标模型进行关联上链。
12.如权利要求11所述的装置,其特征在于,所述训练模块,具体配置为:
在第1训练阶段,根据第1训练阶段的样本数据对第1训练阶段的初始模型进行训练,得到第1训练阶段的目标模型,并将所述第1训练阶段的目标模型作为所述第1训练阶段的聚合模型。
14.如权利要求11所述的装置,其特征在于,每一轮训练阶段的样本数据包括样本特征数据和期望值数据;所述训练模块,包括:
第一获取单元,配置为将所述样本特征数据输入到所述第t训练阶段的聚合模型中,获取所述第t训练阶段的聚合模型的输出结果;
调整单元,配置为通过所述期望值数据与所述输出结果之间的损失值调整所述第t训练阶段的聚合模型的参数,以得到所述第t+1训练阶段的目标模型。
15.如权利要求11所述的装置,其特征在于,所述训练模块,包括:
第二获取单元,配置为从所述区块链***中获取所述第t训练阶段的目标模型;
聚合单元,配置为根据所述第t训练阶段的目标模型与所述第t-1训练阶段的聚合模型进行聚合得到所述第t训练阶段的目标聚合模型;
校验单元,配置为根据所述第t训练阶段的目标聚合模型对从所述区块链***中获取到的第t训练阶段的聚合模型进行校验,若校验通过,则根据第t+1训练阶段的样本数据对所述第t训练阶段的聚合模型进行训练。
16.如权利要求11至15中任一项所述的装置,其特征在于,所述上链模块,包括:
第一确定单元,配置为将所述第t+1训练阶段的聚合模型确定为第一待上链数据;
第一生成与上链单元,配置为根据所述第一待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
17.如权利要求16所述的装置,其特征在于,所述上链模块,包括:
第一生成与分发单元,配置为生成所述区块对应的公钥,并将所述公钥分发至各个参与模型训练的设备;其中,所述公钥用于使所述参与模型训练的设备从区块中获取所述第t +1训练阶段的聚合模型。
18.如权利要求11至15中任一项所述的装置,其特征在于,所述上链模块,包括:
第二确定单元,配置为将所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型进行关联,并将关联结果确定为第二待上链数据;
第二生成与上链单元,配置为根据所述第二待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
19.如权利要求11所述的装置,其特征在于,所述上链模块,包括:
第二生成与分发单元,配置为针对生成的所述区块,分别生成与各个参与模型训练的设备对应的私钥,并将生成的所述私钥分别分发给所述各个参与模型训练的设备;其中,所述私钥用于使对应的参与模型训练的设备从区块中获取所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型。
20.如权利要求11至15中任一项所述的装置,其特征在于,所述上链模块,包括:
第三确定单元,配置为将所述第t+1训练阶段的聚合模型确定为第三待上链数据,以及将所述第t+1训练阶段的样本数据与所述第t+1训练阶段的目标模型进行关联,并将关联结果确定为第四待上链数据;
第三生成与上链单元,配置为根据所述第三待上链数据和所述第四待上链数据生成一个区块,并将生成的区块上链存储至所述区块链***中。
21.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述电子设备执行时,使得所述电子设备实现如权利要求1至10中任一项所述的基于区块链***的模型处理方法。
22.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的基于区块链***的模型处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423078.0A CN113836566B (zh) | 2021-11-26 | 2021-11-26 | 基于区块链***的模型处理方法及装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423078.0A CN113836566B (zh) | 2021-11-26 | 2021-11-26 | 基于区块链***的模型处理方法及装置、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836566A CN113836566A (zh) | 2021-12-24 |
CN113836566B true CN113836566B (zh) | 2022-03-29 |
Family
ID=78971619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111423078.0A Active CN113836566B (zh) | 2021-11-26 | 2021-11-26 | 基于区块链***的模型处理方法及装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836566B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991905A (zh) * | 2019-12-05 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 风险模型训练方法以及装置 |
CN111539731A (zh) * | 2020-06-19 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 基于区块链的联邦学习方法及装置和电子设备 |
CN111931950A (zh) * | 2020-09-28 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法及*** |
CN112925926A (zh) * | 2021-01-28 | 2021-06-08 | 北京达佳互联信息技术有限公司 | 多媒体推荐模型的训练方法、装置、服务器以及存储介质 |
CN113268776A (zh) * | 2019-12-09 | 2021-08-17 | 支付宝(杭州)信息技术有限公司 | 基于区块链的模型联合训练方法及装置 |
CN113627611A (zh) * | 2021-08-06 | 2021-11-09 | 苏州科韵激光科技有限公司 | 一种模型训练方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784001B (zh) * | 2020-09-07 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、设备及计算机可读存储介质 |
-
2021
- 2021-11-26 CN CN202111423078.0A patent/CN113836566B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110991905A (zh) * | 2019-12-05 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 风险模型训练方法以及装置 |
CN113268776A (zh) * | 2019-12-09 | 2021-08-17 | 支付宝(杭州)信息技术有限公司 | 基于区块链的模型联合训练方法及装置 |
CN111539731A (zh) * | 2020-06-19 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 基于区块链的联邦学习方法及装置和电子设备 |
CN111931950A (zh) * | 2020-09-28 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习进行模型参数更新的方法及*** |
CN112925926A (zh) * | 2021-01-28 | 2021-06-08 | 北京达佳互联信息技术有限公司 | 多媒体推荐模型的训练方法、装置、服务器以及存储介质 |
CN113627611A (zh) * | 2021-08-06 | 2021-11-09 | 苏州科韵激光科技有限公司 | 一种模型训练方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113836566A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11694110B2 (en) | Aggregated machine learning verification for database | |
CN110046996B (zh) | 数据处理方法和装置 | |
US11562228B2 (en) | Efficient verification of machine learning applications | |
JP6034927B1 (ja) | 秘密計算システム、秘密計算装置、およびプログラム | |
WO2020146667A1 (en) | Systems and methods for secure data aggregation and computation | |
CN111295660A (zh) | 用于将区块链连接到数字孪生的计算机实现的***和方法 | |
CN112632629B (zh) | 基于区块链的投票管理方法、装置、介质及电子设备 | |
US11983608B2 (en) | Efficient verification of machine learning applications | |
US12034867B2 (en) | Blockchain with random committee selection | |
CN110598456B (zh) | 一种数据存储方法、装置、电子设备以及存储介质 | |
WO2019200810A1 (zh) | 用户数据真实性分析方法及装置、存储介质、电子设备 | |
US11924348B2 (en) | Honest behavior enforcement via blockchain | |
CN112799708A (zh) | 联合更新业务模型的方法及*** | |
AU2019302938A1 (en) | Decentralized automatic phone fraud risk management | |
US20230362010A1 (en) | Systems and methods for predicting communication account identities across decentralized applications | |
CN112308238A (zh) | 解析模型的训练方法、装置、电子设备及存储介质 | |
CN113301163A (zh) | 业务处理方法、***、电子设备及存储介质 | |
CN112003925A (zh) | 基于区块链的物联网数据存储方法和物联网*** | |
CN113836566B (zh) | 基于区块链***的模型处理方法及装置、设备、介质 | |
CN111311179A (zh) | 对象处理方法、装置、电子设备及计算机可读存储介质 | |
CN112926981B (zh) | 用于区块链的交易信息处理方法、装置、介质及电子设备 | |
Dong et al. | FPETD: Fault‐Tolerant and Privacy‐Preserving Electricity Theft Detection | |
CN110598043B (zh) | 一种视频处理方法、装置、计算机设备以及存储介质 | |
CN115222392A (zh) | 基于区块链的业务访问方法、装置、介质及电子设备 | |
CN114553684B (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 |