首页> 中国专利> 一种基于区块链的资源分配公平的联邦学习方法

一种基于区块链的资源分配公平的联邦学习方法

摘要

本发明公开了一种基于区块链的资源分配公平的联邦学习方法,以下步骤:在区块链中为参与者建立普通区块节点,为协作者建立超级区块节点,同时参与者与协作者之间通过区块链建立智能合约;智能合约建立后,在册参与者从区块链中获得模型并本地训练并保管,同时上传脱敏样本数据至区块链;依据在册参与者对脱敏样本数据的测试准确率对在册参与者进行团队划分,每个团队中竞选出一个亚协作者,亚协作者组织团队内在册参与者联邦学习,获得对应的联邦学习模型。该联邦学习方法通过引入区块链的技术解决联邦学习中各参与者的资源分配不均匀问题,同时,使得学习的模型能够实现对一些搭便车攻击具有很好的防御效果。

著录项

说明书

技术领域

本发明涉及区块链、联邦学习技术领域,具体涉及一种基于区块链的资源分配公平的联邦学习方法。

背景技术

随着分布式计算设备的不断发展,分布式网络中的大量设备都会产生大量的数据。这些分布式设备产生的私有数据的相互隔离则会造成数据孤岛问题,若直接对这些分布式设备中的数据进行集中存储、集中处理会带来数据隐私安全问题。与传统的基于数据汇聚共享、集中存储和集中处理的机器学习技术不同,2016年谷歌提出了一种隐私保护的联邦学习,分布式设备只需要通过本地与服务器交换训练的模型信息,在这一过程中隐私数据不出本地,这很大程度上保护用户的隐私安全。微众扩展了联邦学习的概念,其根据数据的特征分布差异分为水平联邦学习、垂直联邦学习以及联邦迁移学习。水平联邦学习中各方参与者的数据集具有高度重叠的特征维度,样本重叠较小。相较于垂直联邦学习,水平联邦学习中服务器每次为不同的用户端下发的模型信息都是一致的,这就导致了一个资源分配的公平性问题。即提供庞大且质量优异数据的参与者和提供内容小且质量较差的数据的参与者,最终获得相同性能的模型会影响参与者的参与积极性。在保护参与方数据隐私的现实环境下,训练参与者资源分配的公平性也需要得到保障。

解决联邦学习的公平性问题引入一种去中心化机制可以有效解决这一问题,其中去中心化通过区块链来加以实现。区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。区块链技术的核心就是去中心化的分布式账本,这项分布式账本具有防篡改、可追溯等特征。区块链可以分为公有链、联盟链、私有链三类。其中联盟链采用了一种混合的组网机制,对于网络内的节点具有部分的控制权。联盟链保留了公有链的部分透明、公开、防篡改等特征,并且具备权限管理、身份认证等特点,受到广泛青睐,主要侧重于区块链在数据安全、可信认证等方面的应用。

目前水平联邦学习中各参与方都获得相同的模型,目前区块链结合联邦学习主要采用整体同步训练的方式,这种方式依然没有解决现有联邦学习联合训练过程中资源分配不公平的问题。鉴于水平联邦学习在众多分布式计算设备上有广泛的实际应用,分布式设备参与联邦训练的数据资源和最终获得模型的性能很大程度上影响参与者训练的积极性,因此有必要对这样一种联邦学习的资源分配的公平性问题进行研究。

发明内容

鉴于上述,本发明的目的是提供了一种基于区块链的资源分配公平的联邦学习方法,通过引入区块链的技术解决联邦学习中各参与者的资源分配不均匀问题,同时,使得学习的模型能够实现对一些搭便车攻击具有很好的防御效果。

为实现上述发明目的,本发明提供以下技术方案:

一种基于区块链的资源分配公平的联邦学习方法,以下步骤:

在区块链中为参与者建立普通区块节点,为协作者建立超级区块节点,同时参与者与协作者之间通过区块链建立智能合约;

智能合约建立后,在册参与者从区块链中获得模型并本地训练并保管,同时上传脱敏样本数据至区块链;

依据在册参与者对脱敏样本数据的测试准确率对在册参与者进行团队划分,每个团队中竞选出一个亚协作者,亚协作者组织团队内在册参与者联邦学习,获得对应的联邦学习模型。

优选地,智能合约建立后,建立智能合约的在册协作者通过超级区块节点初始化模型并广播到区块链中,普通区块节点从区块链上获得模型后,在册参与者通过对应的普通区块节点下载模型并本地训练后保存在本地;

同时,在册参与者将本地样本数据脱敏得到的脱敏样本数据上传到对应的普通区块节点,并广播到区块链中。

优选地,团队划分时,每个在册参与者利用本地模型参数对其他在册参与者的脱敏样本数据进行测试并将测试结果上传至区块链;

每个在册参与者回收对自己脱敏样本数据的测试结果,并依据本地标签对回收的测试结果的准确率进行排序,并将排序结果上传至区块链;

在册协作者对所有在册参数者上传的排序结果进行打分,依据打分值划分团队。

优选地,在册协作者对所有在册参数者上传的排序结果进行打分时,按照测试结果的准确率高低,依次赋予与准备率呈正相关的分值,即准确率越大分值越高;

在册协作者还为每个在册参数者的打分值求和得到总准确率得分,依并入账本保存该总准确率得分;

依据总准确率得分的分布状态将在册参与者划分为多个团队。

优选地,依据总准确率得分的分布状态将在册参与者划分为多个团队时,首先随机设置多个分值作为聚类中心,然后根据每个总准确率得分与聚类中心的距离将所述在册参与者划分为多个团队,并从每个团队内重新选择一个在册参与者更新为聚类中心,迭代此步骤,直到迭代结束为止,得到最终团队。

优选地,每个在册参与者对其他在册参与者的脱敏样本数据的测试结果上传至对应的普通区块节点,并广播到区块链中;

每个在册参与者从对应的普通区块节点中回收对自己脱敏样本数据的测试结果,同时将排序结果也上传到对应的普通区块节点,并广播到区块链中;

在册协作者通过对应的超级节点从区块链中下载所有排序结果并打分划分团队。

优选地,每个团队中的在册参与者根据自己算力,历史预测结果的准确率以及网络状况竞选亚协作者。

优选地,在册参与者上传的脱敏样本数据、测试结果数据以及排序结果数据均加密后再上传。

优选地,亚协作者作为团队内的临时服务端聚合团队内的所有在册参与者的模型参数获得聚合模型参数后,分发聚合模型参数至团队内在册参与者继续训练。

优选地,亚协作者聚合在册参与者的模型参数时,采用两种方式:

方式一:平均聚合方式,即对所有在册参与者的模型参数取平均值获得聚合模型参数;

方式二:加权聚合方式,即为每个在册参与者的模型参数赋予权重,然后加权求和所有在册参与者的模型参数获得聚合模型参数。

与现有技术相比,本发明具有的有益效果至少包括:

本发明提供的基于区块链的资源分配公平的联邦学习方法,通过在册参与者对其他在册参与者的脱敏样本数据进行测试,并依据测试结果计算在册参与者的准确率,依据准确率对在册参与者团队划分,每个团队单独联邦学习共享联邦学习模型,这样能够通过资源公平性分配的机制来有效权衡各参与者数据自身数据资源质量对整体模型贡献和获得最终模型性能,同时也能够顾保证很强的鲁棒性,具有一定的容错能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是本发明实施例提供的基于区块链的资源分配公平的联邦学习方法的流程图;

图2是本发明实施例提供的基于区块链的资源分配公平的联邦学习方法中确定的团队示意图;

图3是本发明实施例提供的基于区块链的资源分配公平的联邦学习方法中团队训练示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

为了解决联邦学习中各参与者的资源分配不均匀问题。实施例提供了一种基于区块链的资源分配公平的联邦学习方法,具体技术构思为:通过引入区块链的去中心化技术去除联邦学习中的中心服务器,去除中心服务器的模型框架可以有效进行团队训练,即数据质量不同的参与者进行分开联合训练,使得最终参与者根据自己数据质量不同获得不同性能的模型。

图1是本发明实施例提供的基于区块链的资源分配公平的联邦学习方法的流程图。如图1所示,实施例提供的基于区块链的资源分配公平的联邦学习方法包括以下步骤:

步骤1,在区块链中为参与者建立普通区块节点,为协作者建立超级区块节点,同时参与者与协作者之间通过区块链建立智能合约。

实施例中,区块链中设计两种类型节点,一种是属于参与者信息上传节点,命名为普通区块节点,简称节点,通常包含m个节点,m为参与者数量,即每个参与者对应一个节点,另一种属于协作者信息上传节点,该节点命名为超级节点,通常为1个,超级节点中主要包含一些模型结构和消息机制的信息。节点的参与者之间独立进行本地训练,本地训练结束上传模型信息以及下载。

在进行联邦学习任务之前,参与者与协作者之间需要通过区块链建立智能合约。具体智能合约构建过程为:

(1)参与者进行注册认证身份信息,并由协作者确立权限管理。参与者进行在线信息注册,协作者收集到注册信息,记录参与者的id信息,请求参与者进行身份认证。

(2)参与者和协作者建立数据公约。参与者之间通过问话机制来相互确定要训练的数据类型,准备自方参与训练的样本数据{x

(3)协作者发布消息回收公约。协作者发布消息密码本,其中包括协作者已接受数据状态信息inf

(4)协作者信息加密阶段。首先协作者通过数字摘要技术把模型数据信息压缩为固定尺寸的字符串,然后通过非对称加密技术对摘要信息进行加密,协作者获得数字签名。签名完成后协作者将完整的加密数据信息和数字签名一起广播给矿工,矿工用协作者的公钥进行验证,如果验证成功说明该笔交互信息确实是转出人本人发起的且信息未被篡改,否则验证失败,以防止协作者数据信息被篡改。

步骤2,智能合约建立后,在册参与者从区块链中获得模型并本地训练后,上传模型参数至区块链,同时上传脱敏样本数据至区块链。

智能合约建立后,智能合约内的参与者为在册参与者,智能合约内的协作者为在册协作者。协作者进行初始化准备阶段,协作者初始化模型,在可信执行环境下进行运行,通过使用哈希加密机制(Hash)对模型结构信息M

具体地,在册协作者向在册参与者发布模型结构,模型结构一般采用多层感知机(MLP)或卷积神经网络(CNN),在册参与者从超级节点node

在册参与者本地训练后,同时上传脱敏样本数据。实施例中,在册参与者对节点上链脱敏数据特征,完成数据上链后发送完成信息。在册参与者使用K-Anonymity算法对样本数据进行数据脱敏,脱敏后得脱敏样本数据d

步骤3,依据在册参与者对脱敏样本数据的测试准确率对在册参与者进行团队划分。

当在册协作者统计到所有在册参与者的脱敏样本数据准备就绪后,发布测试命令。所有注册成员收到消息后从链节点处下载脱敏数据,使用训练完成的本地模型进行测试,并将测试结果再一次进行上链操作。

实施例中,在册参与者使用训练好的本地模型来测试脱敏样本数据,测试完成记录预测信息pre

测试结果上链之后,在册参与者回收测试结果,使用本地标签对其他成员上传的测试结果进行正确率排序,并广播公布排序结果。

协作者实时监控测试数据回收消息,待全部收集完成在册参与者的测试结果后,向在册参与者发送测试数据校验命令。在册参与者从对应节点处下载其他在册参与者对自己的脱敏样本数据的测试结果,通过使用本地对应的标签来验证测试准确率,通过对准确率信息进行排名,将排序结果以身份-准确率向量(id

待协作者接收到所有在册参与者公布排序结果后,开始进行统计处理。协作者对每个参与者发布的身份-准确率向量(id

在获得准确率得分总和之后,即划分团队。协作者针对打分后的向量进行密度划分,通过扩大得分差异较大的成员来随即进行划分,其中设定k为协作方设定的训练团体数量。

随机选取k个团队训练中心{a

定义的的得分向量每个分量与中心点之间的距离,

在重新选择团队中心:

a

迭代此过程,直至类间距较大停止迭代。

步骤4,每个团队中竞选出一个亚协作者,亚协作者组织团队内在册参与者联邦学习,获得对应的联邦学习模型。

实施例中,每个训练团队中选举出一个亚协作者c

在团队联邦学习时,每个亚协作者向团队训练成员公布所在团队密钥。具体地,亚协作者随机产生一组加密的私钥数据分发给训练团队内的每个id成员。每个成员接收到私钥数据后,反馈秘密信息校验成功。

在团队联邦学习时,团队成员上传加密模型参数θ,协作者聚合模型参数并下发更新的模型信息,继续下一轮模型训练,如此迭代直至模型误差达到标准误差范围之内停止迭代。

团队中的每个参与者每次将自己的模型信息进行哈希加密并附加私钥进行资产上链,待完成本次数据上链后,向亚协作者发送上链成功消息。待亚协作者监听到团队所有参与方的上链信息后,进行数据解密操作。将解密后的模型信息进行聚合操作,聚合策略通常选用联邦平均聚合策略或联邦安全聚合策略。聚合完成后,协作方将聚合后的模型信息加密并上传到区块链节点上,并发送训练加载请求,团队中的参与方监听到请求后下载模型进行本地训练,依次迭代整个过程,如此迭代直至模型误差达到标准误差范围之内停止迭代。

其中联邦平均聚合操作的方式主要有两种:

其中n为团体中参与者的个数,M

安全聚合的方式采用如下方式:

M

s.t.∑w

上述基于区块链的资源分配公平的联邦学习方法中,(1)在对脱敏样本数据测试阶段,在册参与者对样本数据质量和好坏进行评价,可以有效防止一些联邦学习中的搭便车攻击。(2)通过引入去中心化技术,使得联邦学习的中心服务器被去除,初始阶段衡量各方参与方数据资源质量,将数据资源质量相似的参与者进行聚类,划分出不同数据质量等级的训练团体。训练阶段每个训练团体选举出一个协调者来处理数据训练过程,使得针对一些诚实且好奇的服务器具有很好的防御效果,避免联邦学习过程中数据被服务器泄露或恶意篡改。(3)数据发布的过程中通过协作者进行审计提供安全可靠的交易环境,实现总体的一个安全共享框架。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号