一种模型聚合处理方法及装置
文献发布时间:2023-06-19 12:18:04
技术领域
本发明涉及数据处理领域,具体而言,涉及一种模型聚合处理方法及装置。
背景技术
传统的联邦学习方法需要通过可信的第三方聚合各用户的本地模型以进行全局模型的更新,这种方法由于需要可信的第三方参与,从而使得联邦学习方案在实施过程中系统的稳定受第三方的影响较大且易受攻击,同时增加了该方案的部署成本和实施的难度。针对这些问题,相关技术中提出了BlockFL方法即使用区块链网络代替可信的第三方,区块链网络允许各用户交换本地模型,同时提供相应的激励和验证机制,鼓励用户积极的参与联邦过程。
BlockFL方法主要包括矿工和用户设备,用户设备从一组矿工中随机选择矿工与其关联,并将本地模型上传至矿工的候选块上。并且为了调动用户参与联邦学习的积极性BlockFL设计了相应的激励机制,即区块链网络为设备的数据样本和矿工的验证过程提供奖励,分别称为数据奖励和采矿奖励。其设备的数据奖励是从与其关联的矿机获得的,并且其数量与其数据样本大小成正比。其挖矿奖励和传统的区块链结构相似,即矿工生成新的区块时就可以从区块链网络中获得奖励。
BlockFL方法的每一轮的训练过程可以分为以下几个步骤:(1)本地训练模型,用户设备使用本地的数据集训练本地模型。(2)上传模型,用户设备将使用本地数据集训练得到的本地模型上传至相关联的矿工,并从关联矿工处获得数据奖励。(3)交叉验证,矿工广播传递本地模型并进行交叉验证,当验证通过后,将本地模型记录到矿工的候选块中,直至达到候块大小,或者达到最大等待时间。(4)生成块,矿工执行工作量验证PoW机制,生成新的区块或找到一个不可重复的随机数(nonce),代表区块的唯一性。(5)块传播,首次找到随机数的矿工将其对应的候选块作为新的区块传播给其余矿工,该矿工从区块链网络中获得挖矿奖励。(6)下载全局模型,用户设备从相关联的矿工处下载新的区块。(7)计算更新全局模型,用户设备在本地计算全局模型并更新。
上述中的BlockFL等方法虽然缓解了传统联邦学习的局限性,BlockFL方法采用PoW机制由于时延较大导致可扩展性较低,且PoW依然存在中心化情况、安全隐患等问题。
针对相关技术中BlockFL方法采用PoW机制,由于时延较大导致可扩展性较低,且PoW存在中心化情况、安全隐患的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种模型聚合处理方法及装置,以至少解决相关技术中BlockFL方法采用PoW机制,由于时延较大导致可扩展性较低,且PoW存在中心化情况、安全隐患的问题。
根据本发明的一个实施例,提供了一种模型聚合处理方法,包括:
基于随机验证函数VRF从区块链的多个参与节点中确定管理节点;
通过所述管理节点融合所述多个参与节点的本地模型,得到全局模型;
通过所述管理节点将所述全局模型的星际文件系统(InterPlanetary FileSystem,简称为IPFS)地址存储到所述区块链上,以使所述多个参与节点更新所述本地模型。
可选地,基于随机验证函数(Verifiable Random Function,简称为VRF)从区块链的多个参与节点中确定管理节点包括:
基于所述VRF,根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点的优先级;
根据所述多个参与节点的优先级确定所述管理节点。
可选地,根据所述多个参与节点的优先级确定所述管理节点包括:
根据所述多个参与节点的优先级确定预定数量的候选参与节点;
从所述候选参与节点中选取优先级最高的参与节点为所述管理节点。
可选地,在从所述候选参与节点中选取优先级最高的参与节点为所述管理节点之后,所述方法还包括:
通过所述候选参与节点对所述管理节点进行身份校验;
在校验通过之后,通过所述候选参与节点执行拜占庭协议建立新的目标区块;
通过所述候选参与节点执行Gossip协议,将所述目标区块广播给相邻区块。
可选地,基于所述VRF,根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点的优先级包括:
基于所述VRF,分别根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点被选中的次数;
根据所述多个参与节点被选中的次数确定所述多个参与节点的优先级。
可选地,基于所述VRF,分别根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点被选中的次数包括:
通过VRF函数产生哈希,并获取所述哈希的长度;
根据所述VRF函数产生的哈希与所述哈希的长度确定hash/2
分别将所述多个参与节点的hash 2
可选地,在基于随机验证函数VRF从区块链的多个参与节点中确定管理节点之前,上述方法还包括:
所述多个参与节点通过GetAsset获取对应的初始模型,使用本地数据集训练得到所述本地模型,分别通过本地IPFS存储所述本地模型,并将所述本地IPFS的IPFS地址的哈希值发送到所述区块链中,所述IPFS地址的哈希值用于访问所述本地模型。
根据本发明的另一个实施例,还提供了一种模型聚合处理装置,包括:
确定模块,用于基于随机验证函数VRF从区块链的多个参与节点中确定管理节点;
融合模块,用于通过所述管理节点融合所述多个参与节点的本地模型,得到全局模型;
存储模块,用于通过所述管理节点将所述全局模型的星际文件系统IPFS地址存储到所述区块链上,以使所述多个参与节点更新所述本地模型。
可选地,所述确定模块包括:
第一确定子模块,用于基于所述VRF,根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点的优先级;
第二确定子模块,用于根据所述多个参与节点的优先级确定所述管理节点。
可选地,所述第二确定子模块包括:
第一确定单元,用于根据所述多个参与节点的优先级确定预定数量的候选参与节点;
选取单元,用于从所述候选参与节点中选取优先级最高的参与节点为所述管理节点。
可选地,所述装置还包括:
身份校验子模块,用于通过所述候选参与节点对所述管理节点进行身份校验;
建立子模块,用于在校验通过之后,通过所述候选参与节点执行拜占庭协议建立新的目标区块;
广播子模块,用于通过所述候选参与节点执行Gossip协议,将所述目标区块广播给相邻区块。
可选地,所述第一确定子模块包括:
第二确定单元,用于基于所述VRF,分别根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点被选中的次数;
第三确定单元,用于根据所述多个参与节点被选中的次数确定所述多个参与节点的优先级。
可选地,所述第二确定单元,还用于
通过VRF函数产生哈希,并获取所述哈希的长度;
根据所述VRF函数产生的哈希与所述哈希的长度确定hash/2
分别将所述多个参与节点的hash/2
可选地,所述装置还包括:
获取模块,应用于所述多个参与节点,用于通过GetAsset获取对应的初始模型,使用本地数据集训练得到所述本地模型,分别通过本地IPFS存储所述本地模型,并将所述本地IPFS的IPFS地址的哈希值发送到所述区块链中,所述IPFS地址的哈希值用于访问所述本地模型。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,基于随机验证函数VRF从区块链的多个参与节点中确定管理节点;通过所述管理节点融合所述多个参与节点的本地模型,得到全局模型;通过所述管理节点将所述全局模型的星际文件系统IPFS地址存储到所述区块链上,以使所述多个参与节点更新所述本地模型,可以解决相关技术中BlockFL方法采用PoW机制,由于时延较大导致可扩展性较低,且PoW存在中心化情况、安全隐患的问题,从多个参与方节点中选择担任领导者的管理节点,管理节点负责聚合参与方的本地模型产生全局模型,并将全局模型的星际文件系统IPFS地址上传至区块链上,参与方通过IPFS地址下载全局模型并完成更新。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的模型聚合处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的模型聚合处理方法的流程图;
图3是根据本发明实施例的模型聚合处理装置的框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的模型聚合处理方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的模型聚合处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端或网络架构的模型聚合处理方法,图2是根据本发明实施例的模型聚合处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,基于随机验证函数VRF从区块链的多个参与节点中确定管理节点;
步骤S204,通过所述管理节点融合所述多个参与节点的本地模型,得到全局模型;
步骤S206,通过所述管理节点将所述全局模型的星际文件系统IPFS地址存储到所述区块链上,以使所述多个参与节点更新所述本地模型。
通过上述步骤S202至S206,基于随机验证函数VRF从区块链的多个参与节点中确定管理节点;通过所述管理节点融合所述多个参与节点的本地模型,得到全局模型;通过所述管理节点将所述全局模型的星际文件系统IPFS地址存储到所述区块链上,以使所述多个参与节点更新所述本地模型,可以解决相关技术中BlockFL方法采用PoW机制,由于时延较大导致可扩展性较低,且PoW存在中心化情况、安全隐患的问题,从多个参与方节点中选择担任领导者的管理节点,管理节点负责聚合参与方的本地模型产生全局模型,并将全局模型的星际文件系统IPFS地址上传至区块链上,参与方通过IPFS地址下载全局模型并完成更新。
本发明实施例中,上述步骤S202具体可以包括:
S2021,基于所述VRF,根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点的优先级;
在一可选的实施例中,上述步骤S2021具体可以根据所述多个参与节点的优先级确定预定数量的候选参与节点;从所述候选参与节点中选取优先级最高的参与节点为所述管理节点。
在另一可选的实施例中,上述步骤S2021具体可以包括:基于所述VRF,分别根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点被选中的次数;具体的,可以通过以下方式确定所述多个参与节点被选中的次数:通过VRF函数产生哈希,并获取所述哈希的长度;根据所述VRF函数产生的哈希与所述哈希的长度确定hash/2
S2022,根据所述多个参与节点的优先级确定所述管理节点。
在一实施例中,在从所述候选参与节点中选取优先级最高的参与节点为所述管理节点之后,通过所述候选参与节点对所述管理节点进行身份校验;在校验通过之后,通过所述候选参与节点执行拜占庭协议建立新的目标区块;通过所述候选参与节点执行Gossip协议,将所述目标区块广播给相邻区块,其中,Gossip协议利用一种随机、带有传染性的方式,将信息传播到整个网络中,并在一定时间内,使得系统内的所有节点数据一致。
在另一实施例中,在基于随机验证函数VRF从区块链的多个参与节点中确定管理节点之前,所述多个参与节点通过GetAsset获取对应的初始模型,使用本地数据集训练得到所述本地模型,分别通过本地IPFS存储所述本地模型,并将所述本地IPFS的IPFS地址的哈希值发送到所述区块链中,所述IPFS地址的哈希值用于访问所述本地模型。
本发明实施例采用基于区块链共识协议Algorand的模型融合,即基于与权益证明(PoS)和拜占庭容错,从矿工(对应上述多个参与方节点)中竞选得到委员会用以验证参与方模型的可靠性,并通过随机验证函数VRF从矿工中选择区块担任领导者的角色,领导者(管理节点)负责聚合参与方的本地模型产生全局模型,并将全局模型的IPFS地址上传至区块链上,参与方通过IPFS地址下载全局模型并完成更新。具体包括以下步骤:
步骤1,矿工竞选领导者。矿工所持有的权益(如代币)与所有代币的比率代表了矿工成功竞选领导的概率。随后,通过计算节点身份标识和随机函数输出的哈希值,得到区块的建议顺序,所以拥有更多股份的矿工(参与节点)将有更大的机会成为领导者(管理节点)
步骤2,委员会成员(候选参与节点)验证所选领导者产生的区块。对其进行验证并达成一致通过执行拜占庭协议来建立新区块。
步骤3,委员会成员执行Gossip协议,将新区块广播给相邻区块,以便在所有参与者中达成共识。
本实施例的模型聚合需要在区块链网络中已存储着初始模型。参与方通过GetAsset获取对应的初始模型,然后使用本地数据集完成模型的本地训练,并通过UploadAsset上传训练得到的本地模型。由于块大小的限制,所以这里使用IPFS作为链下存储。参与方将本地模型上传至IPFS,并将存储本地模型的IPFS地址的哈希值发送到区块链。参与方可以通过IPFS地址的哈希值访问已上传的本地模型。随后矿工领导者和矿工同时确认交易并融合各参与方上传的本地模型,从而能产生全局模型。矿工参与计算的目的主要是验证矿工领导者计算结果的正确性。然后由矿工领导者将全局模型上传到区块链。该方法主要包括验证上传模型的有效性和竞选领导者并计算全局模型。
首先参与方将本地训练好的模型地址的哈希值上传至区块链上,矿工验证所上传模型的有效性。如果上传的模型是有效的,则将交易放入交易池中,否则放弃本轮交易。然后由选定的矿工委员会验证交易池中所有交易的有效性,只接受合法的本地模型。在验证上传模型的有效性之后,由选定的矿工领导者生成一个包含全局模型地址的新块,并将新产生的区块加入到区块链网络中。
从矿工中选择一个领导者以完成全局模型的更新,并且矿工可以通过竞选领导者以获得相应的奖励。这里采用Algorand方法中的“领导选择”和“验证”的方法。Algorand使用可验证随机函数(VRF)以本地且非交互的方式选择部分用户作为领导者候选人并确定候选人的优先级,此外委员会由这些领导者候选人组成。具有最高优先级的领导者候选人将成为领导者,以更新模型参数。由于每个用户都按其代币加权,因此可以将一个单位的代币视为一个子用户,具有m个代币的用户相当于拥有m个子用户。假设τ为系统期望选择的子用户的数量,M为所有用户的总代币数量,则任何代币被选择的概率p为τ/M。
对于具有m个币单位的用户U,其首先使用其密钥通过VRF生成哈希和证明。然后该算法将[0,1)的集合分割成形式为
验证用户U是否被选择了j次。每个用户被选择的次数越多,其成为领导者的优先级越高,最终选择最高优先级的矿工成为领导者,并负责聚合参与方的本地模型,得到最终的全局模型并将全局模型的地址上传至区块链上供参与方下载更新。
实施例2
根据本发明的另一个实施例,还提供了一种模型聚合处理装置,图3是根据本发明实施例的模型聚合处理装置的框图,如图3所示,包括:
确定模块32,用于基于随机验证函数VRF从区块链的多个参与节点中确定管理节点;
融合模块34,用于通过所述管理节点融合所述多个参与节点的本地模型,得到全局模型;
存储模块36,用于通过所述管理节点将所述全局模型的星际文件系统IPFS地址存储到所述区块链上,以使所述多个参与节点更新所述本地模型。
可选地,所述确定模块32包括:
第一确定子模块,用于基于所述VRF,根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点的优先级;
第二确定子模块,用于根据所述多个参与节点的优先级确定所述管理节点。
可选地,所述第二确定子模块包括:
第一确定单元,用于根据所述多个参与节点的优先级确定预定数量的候选参与节点;
选取单元,用于从所述候选参与节点中选取优先级最高的参与节点为所述管理节点。
可选地,所述装置还包括:
身份校验子模块,用于通过所述候选参与节点对所述管理节点进行身份校验;
建立子模块,用于在校验通过之后,通过所述候选参与节点执行拜占庭协议建立新的目标区块;
广播子模块,用于通过所述候选参与节点执行Gossip协议,将所述目标区块广播给相邻区块。
可选地,所述第一确定子模块包括:
第二确定单元,用于基于所述VRF,分别根据所述多个参与节点对应的数据资产的资产价值确定所述多个参与节点被选中的次数;
第三确定单元,用于根据所述多个参与节点被选中的次数确定所述多个参与节点的优先级。
可选地,所述第二确定单元,还用于
通过VRF函数产生哈希,并获取所述哈希的长度;
根据所述VRF函数产生的哈希与所述哈希的长度确定hash/2
分别将所述多个参与节点的hash/2
可选地,所述装置还包括:
获取模块,应用于所述多个参与节点,用于通过GetAsset获取对应的初始模型,使用本地数据集训练得到所述本地模型,分别通过本地IPFS存储所述本地模型,并将所述本地IPFS的IPFS地址的哈希值发送到所述区块链中,所述IPFS地址的哈希值用于访问所述本地模型。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,基于随机验证函数VRF从区块链的多个参与节点中确定管理节点;
S2,通过所述管理节点融合所述多个参与节点的本地模型,得到全局模型;
S3,通过所述管理节点将所述全局模型的星际文件系统IPFS地址存储到所述区块链上,以使所述多个参与节点更新所述本地模型。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,基于随机验证函数VRF从区块链的多个参与节点中确定管理节点;
S2,通过所述管理节点融合所述多个参与节点的本地模型,得到全局模型;
S3,通过所述管理节点将所述全局模型的星际文件系统IPFS地址存储到所述区块链上,以使所述多个参与节点更新所述本地模型。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种模型聚合处理方法及装置
- 一种倾斜摄影模型优化的模型处理方法及装置