一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链监管的联邦学习方法与流程

2022-03-16 03:04:11 来源:中国专利 TAG:


1.本发明涉及机器学习技术领域,尤其涉及一种基于区块链监管的联邦学习方法。


背景技术:

2.区块链在本质上是一种分布式数据库,它按照时间顺序将数据生成区块,并以顺序相连的方式组合成一种链式数据结构,利用密码学技术保证数据不可篡改和不可伪造。广义的区块链还指代基于区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链技术利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据。其中,共识算法是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。按照参与者的不同,可以将区块链分为3类:公有链(public chain)、联盟链(consortium chain)和私有链(private chain)。公有链是向公众开放的区块链,任何接入公网的节点都可以加入和读取数据,如比特币和以太坊等;联盟链是具有准入机制的区块链,只有经过授权的用户才能访问链上数据;私有链是则只对某一个机构或实体开放。
3.联邦学习旨在建立一个分布式机器学习模型,每一个拥有数据的组织训练一个本地模型,之后每个组织将训练的模型上传到聚合服务器得到全局模型,聚合服务器再将全局模型的参数发送给每个组织以更新本地模型,直到全局模型稳定为止。整个过程中数据不出数据拥有方本地,从而保证数据的隐私安全。联邦学习通过解决数据产权问题,使得更多数据持有者愿意分享数据,从而增加模型训练的数据量,提高模型的准确性。联邦学习根据数据的特征空间和样本空间可以分为横向联邦学习、纵向联邦学习和迁移联邦学习,其中横向联邦学习的架构又可以分为客户-服务器架构和对等网络架构。横向联邦学习的客户服务器架构一般由数据拥有方和数据聚合方(聚合服务器)组成。
4.虽然联邦学习过程中,数据始终保留在本地,数据产权不发生迁移,但仍然无法对联邦学习提供方对数据的使用行为进行有效的监管。区块链具有去中心化、开放、防篡改、可溯源等关键特性,与联邦学习技术结合,可以有效地解决上述问题。蜂群学习(swarm learning)是一种结合区块链和联邦学习的方法,旨在通过区块链将模型聚合过程去中心化,由协调机制在诸多节点中选择进行模型聚合。此方法并不能对联邦学习过程进行监管。本发明提出一种基于区块链监管的联邦学习方法,将区块链节点和联邦学习节点解耦,通过区块链记录模型训练过程,对联邦学习过程进行监管溯源。


技术实现要素:

5.有鉴于此,本发明的目的在于提出一种基于区块链监管的联邦学习方法,本发明能够针对性的解决现有的问题。
6.基于上述目的,本发明提出了一种基于区块链监管的联邦学习方法,包括:
7.模型需求方在获得数据使用权限之后,向聚合服务器发送模型训练请求,并组装请求信息成第一交易发送至区块链网络,交易验证通过之后,由区块链共识算法选举出有
记账权的节点,把交易记录在区块链上;
8.开始第一次迭代,聚合服务器接收模型训练请求,评估各个参与方的网络和服务器配置,筛选出符合要求的参与方节点,并向其发送初始模型参数,开始模型训练;之后每一次迭代,聚合服务器接收各个参与方的加密梯度信息,对其进行解密后通过聚合所述梯度信息,获得全局梯度信息,加密后发送给各个参与方;每一次迭代时,聚合服务器把所述加密全局梯度信息和各参与方的信息组装成第二交易发送至区块链网络,交易验证通过之后,由区块链共识算法选举出有记账权的节点,把交易记录在区块链上;
9.各参与方接受模型训练请求,开始模型训练,从聚合服务器获取所述初始模型参数,并把第三交易发送至区块链,交易验证通过之后,由区块链共识算法选举出有记账权的节点,把交易记录在区块链上;
10.各参与方利用本地数据进行模型训练,多次迭代后得到新的梯度,加密新梯度;
11.各参与方将加密后的梯度发送给聚合服务器,并把第四交易发送至区块链,交易验证通过之后,由区块链共识算法选举出有记账权的节点,把交易记录在区块链上;
12.达到迭代终止条件之后,聚合服务器将最终模型发送给模型需求方。
13.进一步地,所述模型需求方向聚合服务器发送的模型训练请求信息包括需求方信息、初始模型参数和允许参与本次训练的参与方的唯一标识信息。
14.进一步地,所述第一交易的信息以明文的形式组装。
15.进一步地,所述全局梯度信息进行加密处理之后发给各个参与方,在达到迭代终止条件之后不再向参与方发送所述全局梯度信息。
16.进一步地,所述第三交易包括接收到的梯度、接收时间、聚合服务器标识信息、和参与方标识信息。
17.进一步地,所述第四交易包括新的加密梯度、参与方标识、和聚合服务器标识。
18.进一步地,所述参与方把数据字典变量发布在所述聚合服务器上,模型需求方根据自己的数据需求检索字典变量,然后向参与方发送数据使用请求,在获得数据使用权限之后开始进行模型训练。
19.进一步地,所述参与方在接收到聚合服务器的模型训练指示之后,从所述聚合服务器下载初始模型参数,使用本地数据进行模型训练,之后上传参数至聚合服务器,获取服务器全局参数更新本地模型,在满足迭代终止条件之后结束训练。
20.进一步地,所述模型需求方在所述聚合服务器上检索需要的字典变量,并向参与方发送申请,获取数据使用权限;在获得足够数量的数据后,向所述聚合服务器发送模型训练请求,由所述聚合服务器上启动训练过程,等待模型训练结束之后,获得最终的模型。
21.进一步地,所述聚合服务器在接收到模型训练请求时,将该请求及请求信息加密处理,放到区块链上,然后根据网络条件选择合适的参与方,开始本次模型训练。
22.总的来说,本发明的优势及给用户带来的体验在于:
23.(1)本发明提出将联邦学习过程上链,每个参与方及聚合方对其数据所做的更新,都会被实时记录到区块链上,以便对这些模型进行审计。除此之外,模型训练过程产生的参数将被加密并发送至区块链,以此保证模型训练过程透明及操作参数保密。
24.(2)便于部署:联邦学习的聚合服务器为平台本身,因此对参与方节点的部署要求相对较低。
25.(3)减少通信开销:模型训练过程中大量的参数传递不经过区块链,而是聚合方与参与方直接通信,减少等待时间。
26.(4)模型训练过程透明化,但操作参数保密。模型训练过程被记录到区块链上,并对参数进行加密,保证模型训练过程对整个联盟链透明,但训练结果只对参加训练的节点透明。
27.(5)对模型训练过程中传递的参数进行加密,有效防止模型被攻击。
附图说明
28.在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
29.图1示出本发明的系统架构原理示意图。
30.图2为参与方模型训练流程图。
31.图3为需求方模型训练流程图。
32.图4为聚合方模型训练流程图。
具体实施方式
33.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
34.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
35.虽然联邦学习过程中,数据始终是保留在参与方本地,在一定程度上可以保护数据产权不发生迁移,但是无法避免模型训练过程中某些参与节点恶意操作导致的数据泄露。为解决该问题,目前提出了结合区块链,将模型训练过程中待存证的信息上链,但是存储在区块链上交易信息是公开的,这样会导致联盟链全部成员都可以获得训练结果,而不是仅仅参与训练的节点。如果将联邦学习节点部署为区块链节点,聚合服务器由参与方协调产生,会加大联邦学习部署困难,且增加参与方与聚合方的通信成本。因此,本发明将区块链节点和联邦学习节点独立部署。联邦学习系统负责模型训练,直接把本次发明预期实现的平台作为聚合中央服务器,降低部署成本;另外,参与方与聚合方的通信不再经过区块链,可以减少通信开销;除此之外,引入加密方法,对模型训练过程中参与方和聚合方之间传递的参数进行加密处理,预防模型提取攻击。区块链负责记录待存证的信息,为避免未参与模型训练的节点获取参数信息,将上链的模型参数加密处理。
36.本发明将区块链和联邦学习的各自的功能独立开来,模型训练由联邦学习负责,负责聚合的服务器是平台本身,区块链负责记录模型训练过程。因区块链具有不可篡改特性,只要把联邦学习全程每个节点的操作记录在区块链上,保证数据操作的可溯源性,参与方之间就可以彼此信任。
37.本发明中,数据拥有方(也即参与方)把数据字典变量发布在平台上,模型需求方根据自己的数据需求去检索字典变量,然后向数据拥有方发送数据使用请求,在获得数据
使用权限之后才可以开始进行模型训练。模型需求方在获取各参与方的数据使用权限之后,开始联邦学习过程,其中参与方在本地数据集上的模型训练过程是在可信环境中执行的。模型训练过程及对该过程操作记录的上链处理如图1所示,包括以下步骤:
38.步骤1:模型需求方在获得足够数量的数据使用权限之后,向聚合服务器发送模型训练请求,并组装请求信息成交易发送至区块链网络。此时模型需求方有两种角色,一是平台用户,其向聚合服务器发送的模型训练请求信息包括需求方信息、初始模型参数和允许参与本次训练的参与方的唯一标识信息;二是联盟链成员,将前面提到的交易信息以明文的形式组装成交易,发送至区块链。交易验证通过之后,由区块链共识算法选举出有记账权的节点,把交易记录在区块链上。
39.步骤2:第一次迭代,聚合服务器接收模型训练请求,评估各个参与方的网络和服务器配置,筛选出符合要求的参与方节点,并向其发送初始模型参数,开始模型训练。之后每一次迭代,聚合服务器接收各个参与方的加密梯度信息,对其进行解密后通过聚合所述梯度信息,获得全局梯度信息,加密后发送给各个参与方。值得注意的是,为防止模型训练过程可能存在的攻击,本发明将对要传递的参数做加密处理。达到迭代终止条件之后就不再向参与方发送梯度信息。
40.除此之外,每一步模型迭代,聚合服务器还需要把全局梯度信息和各参与方的信息等组装成交易发送至区块链网络,交易验证通过之后,由区块链共识算法选举出有记账权的节点,把交易记录在区块链上。
41.步骤3:各参与方接受模型训练请求,开始模型训练。从聚合服务器获取全局模型参数(第一次迭代获取的是初始模型参数)。并把交易(接收到的梯度,接收时间,聚合服务器标识信息,参与方标识信息)发送至区块链,交易验证通过之后,由区块链共识算法选举出有记账权的节点,把交易记录在区块链上。
42.步骤4:各参与方利用本地数据进行模型训练,多次迭代后得到新的梯度,加密新梯度。
43.步骤5:各参与方将加密后的梯度发送给聚合服务器,并把交易(新的加密梯度,参与方标识,聚合服务器标识等)发送至区块链。交易验证通过之后,由区块链共识算法选举出有记账权的节点,把交易记录在区块链上。
44.步骤6:达到迭代终止条件之后,聚合服务器将最终模型发送给模型需求方。
45.本发明实现的平台包括以下3种角色的用户,参与方(数据拥有方)、模型需求方和聚合方(聚合服务器,也是我们平台所在的服务器),其中每种角色参加模型训练的流程如下:
46.图2为参与方模型训练流程图。注册使用该平台的用户都属于参与方,参与方首先会上传本地数据的字典变量至平台。在接收到数据使用请求之后,内部决策同意或拒绝数据使用申请。在接收到聚合服务器的模型训练指示之后,从聚合方下载初始模型参数,使用本地数据进行模型训练,之后上传参数至聚合服务器,获取服务器全局参数更新本地模型,在满足迭代终止条件之后结束训练。
47.图3为需求方模型训练流程图。模型需求方在平台检索需要的字典变量,并向数据拥有方发送申请,获取数据使用权限。在获得足够数量的数据后,向平台(模型聚合方)发送模型训练请求(请求包括需求方信息,初始模型参数和允许参与本次训练的参与方信息),
由平台启动训练过程。等待模型训练结束之后,获得最终的模型。
48.图4为聚合方模型训练流程图。聚合方在接收到模型训练请求时,会将该请求及请求信息加密处理,放到区块链上。然后根据网络等条件选择合适的参与方,开始本次模型训练。训练过程中,聚合服务器负责两件事情,一是接收参与方上传的参数,聚合获得全局参数,并发送给参与方;二是广播参与方和聚合方的操作记录至区块链网络。满足迭代终止条件之后,发送结果至模型需求方。
49.需要说明的是:
50.在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备有固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
51.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
52.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
53.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
54.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
55.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器来实现根据本发明实施例的虚拟机的创建系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者系统程序(例如,计算机程序和计算机程序产品)。这样的实现本发
明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
56.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
57.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献