掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的异步联邦学习架构系统及方法

文献发布时间:2023-06-19 18:25:54


基于区块链的异步联邦学习架构系统及方法

技术领域

本发明涉及基于区块链的异步联邦学习架构系统及方法,属于异步联邦学习技术领域。

背景技术

随着大数据和人工智能等新一代信息技术的快速发展,机器学习已经得到广泛的应用。机器学习需要大量的数据来训练,然而传统的机器学习一般都要求将所有数据集中在一个中央服务器上进行训练。由于数据安全和隐私问题,各个机构或者个人不愿意共享数据,从而造成数据孤岛问题。联邦学习是一种新的机器学习范式,它可以在保证各个机构的数据不出本地的情况下,使得各个机构共同训练一个共享的全局模型,从而在保证隐私的前提下有效解决数据孤岛问题。

但是目前主流的联邦学习架构系统大多是中心式的,即有多个参与客户端和一个中央服务器。中央参数服务器用于收集并聚合所有客户端的模型或者更新。中央参数服务器对于传统的联邦学习非常重要,它拥有所有客户端的模型信息,还可以决定全局模型的更新方向,学习的迭代过程也需要依赖服务进行推进。但是,中心式联邦学习架构系统面临可信性的问题,因为中央参数服务器的所有操作,对于客户端来说是不可见、不透明的,客户端无法验证自己的本地模型是否被服务器正确接收。由于中央服务器容易出现单点故障或不中立(更倾向于某些设备),这可能会极大地影响设备参与联邦学习的意愿。同时,由于法律、安全、竞争等原因,可能无法选择出令每个客户端都满意的可信第三方作为中央参数服务器。因此,设计一个去中心化的联邦学习架构系统,提高联邦学习的可信性变得非常重要。

基于以上考虑,一些研究人员提出了去中心化的联邦学习架构系统。目前的去中心化的联邦学习架构系统分为两类,一类关注的是去中心化架构系统的时间开销问题,它们虽然摒弃了服务器,但是仍然无法保障可信性;另一类关注的是联邦的可信问题,部分研究者提出了基于P2P的区块链并采用同步联邦学习的设想。但是在基于P2P的区块链架构系统中,如果同时上传更新的设备太多会导致网络拥塞。此外,由于计算能力和电池时间有限,某些设备在同步之前将不再可用,很难在一次训练的结束时间同步所有选定的设备。必须确定一个超时阈值,才能删除掉队者。如果幸存设备的数量太少,可能不得不放弃这次训练,包括所有接收到的更新。整体通讯和计算开销过大。

此外,这些工作都没有公平的定价和激励机制,限制了联邦学习生态的可持续运行。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域普通技术人员所公知的现有技术。

发明内容

本发明的目的在于克服现有技术中的不足,提供基于区块链的异步联邦学习架构系统及方法,一方面通过区块链模块,去除了传统联邦学习架构系统的中央服务器,避免了中央服务器带来的可信问题;另一方面,采用异步联邦学习,使得整体的灵活性和可伸缩性大大提升,一定程度上减少了网络拥塞。

为达到上述目的,本发明是采用下述技术方案实现的:

第一方面,本发明公开了基于区块链的异步联邦学习架构系统,其特征是,包括区块链模块和多个参与异步联邦学习的参与方,所述区块链模块包括聚合合约单元、评分合约单元和激励合约单元;

所述参与方,用于读取区块链模块上的全局模型;对所述全局模型进行评分和梯度更新,得到相应的评分情况和本地梯度并上传至区块链模块;

所述聚合合约单元,用于根据本地梯度,基于异步联邦学习算法进行聚合,得到更新后的全局模型;

所述评分合约单元,用于统计多个参与方对于同一个全局模型的评分情况,得到同一个全局模型的评分列表;

所述激励合约单元,用于根据相邻两次更新的全局模型的评分列表,计算更新后的全局模型的泛化性提升率,并对相应的提供本地梯度的参与方进行奖惩措施。

进一步的,所述每一个参与方内设有算力单元和数据单元,

所述数据单元,用于存储本地数据和读取的全局模型;

所述算力单元,用于根据所述本地数据,对全局模型进行评分和梯度更新,得到相应的评分情况和本地梯度并上传至区块链模块。

进一步的,所述算力单元内设有自适应模型梯度选择机制的子单元;

所述自适应模型梯度选择机制的子单元,用于根据所述本地数据,对全局模型进行梯度更新,得到所有参数数据;基于自适应模型梯度选择机制筛选所述参数数据,得到相应的本地梯度。

进一步的,所述更新后的全局模型的表达式如下:

其中,W

进一步的,所述延迟超参数γ的表达式如下:

其中,a为线性参数且a>0;τ-t为时刻。

进一步的,所述泛化性提升率的表达式如下:

其中,R

进一步的,所述奖惩措施包括:

响应于所述泛化性提升率为正,则对相应的提供本地梯度的参与方进行奖励;

响应于所述泛化性提升率为负,则对相应的提供本地梯度的参与方不进行奖励。

进一步的,所述奖惩措施还包括:

响应于某个参与方提供本地梯度得到的更新后的全局模型的泛化性提升率为负的次数大于预设的阈值,则不再接受该参与方提供的本地梯度。

第二方面,本发明公开了基于区块链的异步联邦学习方法,应用于区块链模块,包括:

根据参与方上传的本地梯度,基于异步联邦学习算法进行聚合,得到更新后的全局模型;

统计多个参与方对于同一个全局模型的评分情况,得到同一个全局模型的评分列表;

根据相邻两次更新的全局模型的评分列表,计算更新后的全局模型的泛化性提升率,并对相应的提供本地梯度的参与方进行奖惩措施。

第三方面,本发明公开了基于区块链的异步联邦学习方法,应用于参与方,包括:

读取区块链模块上的全局模型;对所述全局模型进行评分和梯度更新,得到相应的评分情况和本地梯度并上传至区块链模块。

与现有技术相比,本发明所达到的有益效果:

本发明的基于区块链的异步联邦学习架构系统,一方面通过区块链模块,去除了传统联邦学习架构系统的中央服务器,避免了中央服务器带来的可信问题;另一方面,采用异步联邦学习,使得参与方可以随时读取全局模型,或上传相应的评分情况和本地梯度,使得整体的灵活性和可伸缩性大大提升,一定程度上减少了网络拥塞。

本发明的参与方内还设有自适应模型梯度选择机制的子单元,提高了响应速度的同时,降低了区块链模块的存储负担。

本发明的区块链模块内还设有评分合约单元和激励合约单元,一方面可以防止恶意参与方的攻击,另一方面,保障了联邦学习的生态健康与持续发展。

附图说明

图1是基于区块链的异步联邦学习架构系统的示意图。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例1

本实施例1公开了基于区块链的异步联邦学习架构系统,包括区块链模块和多个异步参与联邦学习的参与方,区块链模块包括聚合合约单元、评分合约单元和激励合约单元;

参与方,用于读取区块链模块上的全局模型;对全局模型进行评分和梯度更新,得到相应的评分情况和本地梯度并上传至区块链模块;

聚合合约单元,用于根据本地梯度,基于异步联邦学习算法进行聚合,得到更新后的全局模型;

评分合约单元,用于统计多个参与方对于同一个全局模型的评分情况,得到同一个全局模型的评分列表;

激励合约单元,用于根据相邻两次更新的全局模型的评分列表,计算更新后的全局模型的泛化性提升率,并对相应的提供本地梯度的参与方进行奖惩措施。

本发明的技术构思为:一方面通过区块链模块,去除了传统联邦学习架构系统的中央服务器,避免了中央服务器带来的可信问题;另一方面,采用异步联邦学习,使得参与方可以随时获取全局模型,或上传相应的评分情况和本地梯度,使得整体的灵活性和可伸缩性大大提升,一定程度上减少了网络拥塞。

具体的每一个参与方内设有算力单元和数据单元,

数据单元,用于存储本地数据和读取的全局模型;

算力单元,用于根据本地数据,对全局模型进行评分和梯度更新,得到相应的评分情况和本地梯度并上传至区块链模块。

因为区块链上的信息都是公开透明的,用于参与全局模型进行评分和梯度更新的本地数据中不可避免的涉及到一些敏感数据,所以本发明读取全局模型并存储在数据单元中,后续的涉及本地数据的计算过程都是参与方内部或者说链下进行。而在区块链上只记录所有全局模型更新的信息,每一个全局模型的评分列表,以及相应的激励奖金,在后续的步骤中会有具体的阐述。

算力单元内设有自适应模型梯度选择机制的子单元,用于根据本地数据,对全局模型进行梯度更新,得到所有参数数据;基于自适应模型梯度选择机制筛选参数数据,得到相应的本地梯度。

如图1所示,基于区块链的异步联邦学习架构系统的学习方法流程具体如下:

1、读取全局模型

以一个参与方i为例,参与方i从区块链模块读取全局模型W

2、评分

参与方i根据其本地数据对全局模型W

需要说明的是,如果参与方对读取的全局模型不满意,可以继续等待读取新的全局模型。

3、训练

参与方i根据其本地数据对全局模型W

为了提高架构系统的响应速度、降低区块链的存储负担,本发明采用了自适应模型梯度选择机制,从梯度更新中得到的所有参数数据进行筛选,筛选出一些包含信息最多的参数作为本地梯度上传至区块链模块。包含信息最多的参数即是具有较大值的参数,因为它们是远离局部最优值的参数。

4、聚合合约

本发明中采用异步联邦学习算法,故区块链模块只要接受到参与方的本地梯度更新就开始更新其全局模型。但是由于通信延迟等外部因素,当参与方i写入其本地梯度

假使目前最新的全局模型为W

其中,W

具体的,t+τ是区块链模块接收到本地梯度

延迟超参数γ表示参与方的本地梯度本应用于的时间和实际所用于的时间的距离,在本实施例中,延迟超参数γ的取值可以用函数s(τ-t)来表示。我们列举了四种常见的衰减函数,可以根据实际情况进行选择。其中,a和b为超参数,是常量,且a>0,b≥0,它们的取值可以根据实际情况进行调整。

线性:

多项式:

s

指数:

s

Hinge函数:

更新完成后,新的全局模型会记录更新列表,包含了其聚合的本地梯度信息以及权重信息,权重信息指的是延迟超参数所决定的权重,即记录了本地梯度信息贡献了多大比例的信息给全局模型,以便之后对参与提供本地梯度的进行激励。

5、评分合约

统计多个参与方对于同一个全局模型的评分情况,得到同一个全局模型的评分列表,同时定期调用激励合约。

6、激励合约

根据相邻两次更新的全局模型的评分列表,计算更新后的全局模型的泛化性提升率,并对相应的提供本地梯度的参与方进行奖惩措施。

具体的,根据区块链模块上相邻两次更新的全局模型的评分列表,判断某个参与方提供本地梯度得到的更新后的全局模型,在所有提供评分情况的参与方上的模型准确度的提升率。

由于我们采用的是异步联邦学习流程,参与方打分可能会延迟,因此我们需要设置一个阈值迭代次数,在超过规定的迭代次数之后,我们才去计算参与方的贡献,这里的贡献指的是参与方提供的本地梯度对全局模型的贡献,迭代次数指的是全局模型更新的次数。但是,仍然可能有某些全局模型可能没有任何评分。针对这种情况,我们会将此模型广播给所有的参与者,鼓励参与方参与验证评分,给予参与验证评分的参与方一定的奖励。需要说明的是,这里的评分是一个附加的流程,只针对没有评分的全局模型进行附加的评分流程。正常情况下,参与方获取的是最新的全局模型进行验证。这个附加的流程也不影响正常的评分流程。

更新列表里包含参与了贡献的客户端信息,即客户端的ID号和账号,奖励可以按照模型泛化性的提升率对参与贡献的客户端进行奖励。假设我们选择的两个全局模型分别是W

其中,R

响应于泛化性提升率为正,则对相应的提供本地梯度的参与方进行奖励;根据正的泛化性提升率的数值的大小,用来决定奖励金额的数值。

响应于泛化性提升率为负,则对相应的提供本地梯度的参与方不进行奖励。

同时,本实施例中还可以追溯,响应于某个参与方提供本地梯度得到的更新后的全局模型的泛化性提升率为负的次数大于预设的阈值,则不再接受该参与方提供的本地梯度。

综上所述,本发明将联邦学习与区块链相结合,利用智能合约部署模型聚合合约,基于底层区块链的共识算法达到分布式共识,实现联邦学习聚合算法的透明可信。

此外,区块链记录了各个参与方的历史模型更新,利用区块链防篡改、可追溯的特性,针对联邦学习架构系统所面临的分布式环境不确定、过程监管缺失等问题,区块链架构系统可对联邦架构系统训练过程进行有效的监控和及时的干预,保障训练过程不受恶意节点的影响。

同时将联邦的激励机制与区块链的奖励机制相结合,可以提升联邦学习参与方的积极性。

实施例2

本实施例2公开了基于区块链的异步联邦学习方法,应用于区块链模块,包括:

根据参与方上传的本地梯度,基于异步联邦学习算法进行聚合,得到更新后的全局模型;

统计多个参与方对于同一个全局模型的评分情况,得到同一个全局模型的评分列表;

根据相邻两次更新的全局模型的评分列表,计算更新后的全局模型的泛化性提升率,并对相应的提供本地梯度的参与方进行奖惩措施。

实施例3

本实施例3公开了基于区块链的异步联邦学习方法,应用于参与方,包括:

读取区块链模块上的全局模型;对全局模型进行评分和梯度更新,得到相应的评分情况和本地梯度并上传至区块链模块。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 一种基于区块链的异步联邦学习方法、系统、设备及介质
  • 一种基于区块链的异步联邦学习方法及系统
技术分类

06120115566339