CN115099421A - 面向群组的联邦学习系统 - Google Patents
面向群组的联邦学习系统 Download PDFInfo
- Publication number
- CN115099421A CN115099421A CN202210360419.2A CN202210360419A CN115099421A CN 115099421 A CN115099421 A CN 115099421A CN 202210360419 A CN202210360419 A CN 202210360419A CN 115099421 A CN115099421 A CN 115099421A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- super
- common
- active
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种面向群组的联邦学习系统。该系统包括:N个活跃超级节点、M个备用超级节点以及P个普通节点,所述N、M、P为自然数;其中,所述N个活跃超级节点中存在一个种子节点,所述种子节点用于建立联邦学习群组网络,所述联邦学习群组网络包括所述N个活跃超级节点;所述普通节点通过所述种子节点加入所述联邦学习群组网络,所述P个普通节点中的至少部分普通节点通过所述联邦学习群组网络进行联邦训练;在所述N个活跃超级节点中的节点的节点积分不满足预设条件时,将所述M个备用超级节点中节点积分满足所述预设条件的节点确定为活跃超级节点。本申请的系统,提高了联邦学习的可靠性和安全性。
Description
技术领域
本申请涉及机器学习领域,尤其涉及一种面向群组的联邦学习系统。
背景技术
联邦学习是一种带有隐私保护和安全加密技术的分布式机器学习,旨在让分散的各参与方在不向其他参与者披露隐私数据的前提下,实现数据联合训练,建立共享的机器学习模型。
联邦学习涉及多方面的技术,目前,常见的联邦学习架构为中心化架构和对等系统架构两种。联邦学习中心化架构的各参与方通过点到点的方式连接到中央节点上,由该中央节点向目的节点传送信息,同时也作为公信方。中央节点执行集中式通信控制策略,网络中的任何两个节点进行通信都必须经过中央节点进行中央控制。而联邦学习对等系统架构的各个参与方都处于对等地位,各参与方既可作为业务方发起业务场景的联邦建模与联邦推理,也可以作为特征方为其他业务方提供数据特征参与联邦建模与联邦推理。
由于联邦学习中心化架构和对等系统架构各自的工作机制特点,参与方在使用现有联邦学习架构创建联邦学习项目时可靠性和安全性较低。
发明内容
本申请提供一种面向群组的联邦学习系统,用以解决参与方在使用现有联邦学习架构创建联邦学习项目时可靠性和安全性较低的问题。
一方面,本申请提供一种面向群组的联邦学习系统,包括:
N个活跃超级节点、M个备用超级节点以及P个普通节点,N、M、P为自然数;
其中,所述N个活跃超级节点中存在一个种子节点,所述种子节点用于建立联邦学习群组网络,所述联邦学习群组网络包括所述N个活跃超级节点;
所述普通节点通过所述种子节点加入所述联邦学习群组网络,所述P个普通节点中的至少部分普通节点通过所述联邦学习群组网络进行联邦训练;
在所述N个活跃超级节点中的节点积分不满足预设条件时,将所述M个备用超级节点中节点积分满足所述预设条件的节点确定为活跃超级节点。
可选的,所述种子节点具体用于:
获取候选超级节点,所述候选超级节点通过所述种子节点加入所述联邦学习群组网络;
根据预设的活跃超级节点数和备用超级节点数,在所述候选超级节点中选举所述活跃超级节点和所述备用超级节点。
其中,若所述选举为首次选举,则所述种子节点在所述候选超级节点中随机选择前N个节点为所述活跃超级节点,后M个节点为所述备用超级节点;
若所述选举非首次选举,则所述种子节点根据各所述候选超级节点的节点积分排名,选择排名靠前的前N个节点为所述活跃超级节点,排名靠后的M个节点为所述备用超级节点。
可选的,所述种子节点具体还用于:接收参与节点发送的性能信息,所述种子节点根据所述性能信息,从所述参与节点中筛选出所述候选超级节点。
可选的,普通节点具体用于:向所述联邦学习群组网络广播邀请信息,所述邀请信息用于邀请其它普通节点进行联邦训练,所述邀请信息中包括所述普通节点的IP地址和端口号;
所述联邦学习群组网络中的活跃超级节点用于向所述联邦学习群组网络内的其它普通节点转发所述邀请信息;
所述普通节点还用于接收所述其它普通节点发送的响应信息,所述响应信息用于指示所述其它普通节点加入或拒绝联邦训练。
可选的,所述P个普通节点中的至少部分节点中的第一普通节点和第二普通节点,通过所述联邦学习群组网络的数据转发进行联邦训练,得到联邦模型;其中
所述第一普通节点向所述第一普通节点的超级节点列表中的第一活跃超级节点发送第一训练数据,所述第一活跃超级节点向所述第二普通节点转发所述第一训练数据;
所述第二普通节点向所述第二普通节点的超级节点列表中的第二活跃超级节点发送第二训练数据,所述第二活跃超级节点向所述第一普通节点转发所述第二训练数据;
所述第一普通节点和所述第二普通节点根据所述第一训练数据和所述第二训练数据,得到联邦模型。
可选的,所述P个普通节点中的至少部分节点,通过所述联邦学习群组网络的数据处理和数据转发进行联邦训练,得到联邦模型;其中
所述至少部分节点中的每个普通节点,向各自节点的超级节点列表中的第三活跃超级节点发送训练数据;
所述第三活跃超级节点根据所述训练数据进行聚合处理,并将聚合处理后的数据转发至所述至少部分普通节点;
所述至少部分普通节点根据所述聚合处理后的数据,得到联邦模型。
可选的,所述P个普通节点中的至少部分普通节点中的每个普通节点,通过心跳机制向各自节点的超级节点列表中的第四活跃超级节点发送关键备份数据;
在所述普通节点网络故障恢复后,从所述联邦学习群组网络获取所述关键备份数据;
所述普通节点根据本地存储数据和所述关键备份数据,恢复上次模型训练的位置。
可选的,所述普通节点具体还用于:
根据各所述活跃超级节点的节点标识和所述普通节点的节点标识,计算所述普通节点与所述活跃超级节点的异或距离;
根据所述异或距离,选择距离最近的前K个活跃超级节点生成超级节点列表,所述K为自然数。
可选的,每个活跃超级节点具体用于:生成用于签名的签名数据,并向其它活跃超级节点发送签名数据;
接收其它活跃超级节点发送的签名背书,并根据所述签名背书生成统计信息,所述统计信息为收到的签名背书的个数;
若所述统计信息超过预设阈值,则所述活跃超级节点确定共识处理完成
可选的,所述种子节点具体还用于:计算每个其它活跃超级节点的节点标识与所述种子节点的节点标识的异或距离,并根据所述异或距离从小到大的顺序对所述其它活跃超级节点进行排序;
各所述活跃超级节点根据所述排序轮流向所述其它活跃超级节点发送所述签名数据。
本申请提供的一种面向群组的联邦学习系统,包括N个活跃超级节点、M个备用超级节点以及P个普通节点,N、M、P为自然数;其中,N个活跃超级节点中存在一个种子节点,种子节点用于建立联邦学习群组网络,联邦学习群组网络包括N个活跃超级节点;普通节点通过种子节点加入联邦学习群组网络,P个普通节点中的至少部分普通节点通过联邦学习群组网络进行联邦训练。通过在活跃超级节点和备用超级节点之间建立高速转发层,由于存在N个活跃超级节点对普通节点的数据进行处理和/或转发,相当于拥有了多条路径,可以避免恶意网络的攻击,提高了联邦学习的可靠性和安全性。在N个活跃超级节点中的节点积分不满足预设条件时,将M个备用超级节点中节点积分满足预设条件的节点确定为活跃超级节点,活跃超级节点和备用超级节点之间可以通过各自的节点节点积分进行不断变化,不仅灵活性高,同时也是对各活跃超级节点和备用超级节点的考验与激励,能够充分调动各个参与节点的积极性,更好的为各普通节点服务。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的面向群组的联邦学习系统架构示意图;
图2为本申请实施例提供的初始化联邦学习网络节点的流程示意图;
图3为本申请实施例提供的联邦学习群组网络的共识处理信令流程图;
图4为本申请实施例提供的联邦学习群组网络的共识处理流程产生的网络拓扑图;
图5为本申请实施例提供的普通节点加入联邦学习系统的流程示意图;
图6为本申请实施例提供的一联邦学习系统的联邦训练信令流程示意图;
图7为本申请实施例提供的另一联邦学习系统的联邦训练信令流程示意图;
图8为本申请实施例提供的联邦学习系统的恢复机制示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
联邦学习是一种带有隐私保护和安全加密技术的分布式机器学习,它的目标是保障大数据交换时的信息安全,保护终端数据,在多参与方或多计算结点之间开展高效率的机器学习。分布式机器学习框架通过集中收集数据,再将数据进行分布式存储,将任务分散到多个CPU/GPU机器上进行处理,从而提高计算效率。联邦学习与之不同,联邦学习强调将数据从开始就保存在参与方本地,建模过程中各参与方的数据库依然独立存在,在联合训练时进行的参数交互也是经过加密的,各参与方通信时采用严格的加密算法,因而难以泄露原始数据的相关信息,保证了数据的安全与隐私。
在大数据与人工智能快速发展的当下,联邦学习能解决人工智能模型训练中各方数据不可用、隐私泄露等问题,因而应用前景十分广阔。现有的联邦学习架构分为两种:一种是中心化架构,一种是对等系统架构。
中心化架构适合用于针对联合多方用户的联邦学习场景,该场景中的可信第三方企业作为中央服务器,起着协调控制全局的作用。网络中的任何两个参与方进行通信都必须经过协调者进行中央控制。中心化架构虽然拥有控制简单、方便服务的优点,但是中央服务器成为了明确的可被恶意攻击对象,并且中央服务器的瘫痪将导致整个联邦学习的崩馈,协调者的存在也容易引起共享资源在版权问题上的纠纷。因此,联邦学习中心化架构的可靠性和安全性均存在较大隐患。
而针对联合多家面临数据孤岛困境的企业进行模型训练的场景,因为难以从多个参与方中选出进行协调的中央服务器方,一般采用对等系统架构。联邦学习对等系统架构易于扩展,而且由于各个参与方资源和算力不会有太大差别,资源利用率相对较高。但是,对等系统架构由于不存在中央服务器,所有交互都是参与方之间直接进行交互。所以,参与方间的每次交互均需加密解密操作,并且参与方可能需要同时承担guest(数据使用方)与host(数据提供方)两方面的角色,在进行高频联邦学习时,不仅影响用户计算机的性能,对网络的性能也会有较大的影响。此外,对各个参与方的可信程度和状态的确认也是一个难题,无法保证所有的参与方都可以保护好各自的资源,可靠性和安全性仍存在较大隐患。
因此,考虑到上述问题,本申请提出一种面向群组的联邦学习系统,同时适用于针对联合多方用户的联邦学习场景,以及针对联合多家面临数据孤岛困境的企业进行模型训练的场景。本申请面向群组的联邦学习系统增加了多个活跃超级节点和备用超级节点,并在它们之间构成高速转发层,完成对普通节点数据的处理和/或转发。由于本申请的系统存在多个活跃超级节点和备用超级节点,从而拥有多个路径,可以避免恶意网络攻击,提高联邦学习的可靠性和安全性。而且,节点积分满足预设条件的备用超级节点可以变成活跃超级节点,不仅灵活性高,也能调动各个参与方的积极性。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请实施例提供的面向群组的联邦学习系统架构示意图,如图1所示,本申请面向群组的联邦学习系统包括:N个活跃超级节点、M个备用超级节点以及P个普通节点,N、M、P为自然数。N个活跃超级节点中存在一个种子节点,种子节点用于建立联邦学习群组网络,联邦学习群组网络包括N个活跃超级节点;普通节点通过种子节点加入联邦学习群组网络,P个普通节点中的至少部分普通节点通过联邦学习群组网络进行联邦训练;在N个活跃超级节点中的节点的节点积分不满足预设条件时,将M个备用超级节点中节点积分满足预设条件的节点确定为活跃超级节点。如图1中,N=5,M=5,P=12。
其中,候选超级节点具体是指符合候选超级节点的性能信息的参与方节点,可被选举为活跃超级节点和备用超级节点。活跃超级节点是从候选超级节点中筛选出的满足活跃超级节点条件的节点。备用超级节点是从候选超级节点中筛选出的满足备用超级节点条件的节点。普通节点是指满足普通节点条件的参与方节点,同时也是进行联邦训练的节点。
具体地,各参与方通过种子节点的审核成为候选超级节点,再通过预设的活跃超级节点数和备用超级节点数,在候选超级节点中选举活跃超级节点和备用超级节点,普通节点通过种子节点加入联邦学习系统。普通节点通过活跃超级节点创建联邦学习项目,而活跃超级节点和备用超级节点之间存在高速转发层,可以完成对普通节点数据的处理和/或转发。在联邦学习项目创建完成后,普通节点之间直接进行数据交互并各自完成聚合处理,然后再由活跃超级节点进行转发得到联邦模型,或者普通节点各自将数据发送给活跃超级节点后,由活跃超级节点完成聚合处理后再进行转发得到联邦模型。
同时,该联邦学习群组网络还在不断的更新,可以按照预设时间规则进行更新。具体地可以获取活跃超级节点和备用超级节点的节点积分。
具体可以对活跃超级节点和备用超级节点的节点积分进行排名,取排名靠前的为活跃超级节点,即在N个活跃超级节点中的节点的节点积分不满足预设条件时,将M个备用超级节点中节点积分满足预设条件的节点确定为活跃超级节点,即对活跃超级节点进行了更新。
本申请实施例通过包括N个活跃超级节点、M个备用超级节点以及P个普通节点,N、M、P为自然数。N个活跃超级节点中存在一个种子节点,种子节点用于建立联邦学习群组网络,联邦学习群组网络包括N个活跃超级节点;普通节点通过种子节点加入联邦学习群组网络,P个普通节点中的至少部分普通节点通过联邦学习群组网络进行联邦训练。由于存在N个活跃超级节点对普通节点的数据进行处理和/或转发,相当于拥有了多条路径,可以避免恶意网络的攻击,提高了联邦学习的可靠性和安全性。在N个活跃超级节点中的节点积分不满足预设条件时,将M个备用超级节点中节点积分满足预设条件的节点确定为活跃超级节点,活跃超级节点和备用超级节点之间可以通过各自的节点节点积分进行不断变化,不仅灵活性高,同时也是对各活跃超级节点和备用超级节点的考验与激励,能够充分调动各个参与节点的积极性,更好的为各普通节点服务。
下面将结合附图,从初始化联邦学习网络节点、联邦学习群组网络的共识处理、普通节点加入联邦学习网络三个部分,对创建面向群组的联邦学习系统的过程进行详细说明。下面依次进行详细说明。
首先,对初始化联邦学习网络节点进行详细说明。图2为本申请实施例提供的初始化联邦学习网络节点的流程示意图。
如图2所示,初始化联邦学习网络节点执行主体为种子节点,该初始化流程包括:
S201、种子节点接收参与节点发送的性能信息,所述种子节点根据所述性能信息,从所述参与节点中筛选出所述候选超级节点,所述候选超级节点通过所述种子节点加入所述联邦学习群组网络。
种子节点用于获取候选超级节点。示例性的,种子节点从参与节点中筛选候选超级节点。候选超级节点需要同时能够保证数据交换时的信息安全,并且能够完成对普通节点数据的处理和/或转发,所以,参与候选超级节点选拔的节点的可信度必须足够高,硬件配置也必须达到要求。
可选的,参与节点可以为企业或个人的具有处理能力的计算设备,例如服务器,计算机等。该性能信息包括软实力和硬件。软实力例如可以为参与节点的规模、信用积分、价值观、营收状况、大众评价等中的一个或多个,具体形式和占比本申请不做限制,可以根据实际情况设置。硬件例如可以为服务器、交换机、存储器、网卡、操作系统、带宽等,只要能够完成大量数据的处理和/或转发。硬件的具体形式本申请不做限制,可以根据实际情况设置。
可选的,种子节点可由治理委员会来控制。参与节点将性能信息提交给种子节点,治理委员会通过该种子节点来获取性能信息,由治理委员会检查参与节点是否具备成为候选超级节点的资格,若检查通过,则参与节点作为候选超级节点加入联邦学习群组网络;若检查不通过,则直接拒绝。
这样,每一个成为候选超级节点的参与节点都经过了严格的筛选,可以保证所有的参与节点都可以保护好各自的资源,提高了联邦学习的可靠性和安全性。
可选的,在S201获取候选超级节点之前还可以包括:
S200、设置联邦学习网络的难度系数。
具体的,参与节点初始化节点身份信息,并经过循环运算,直到身份信息的哈希值的先导0个数大于等于设置的联邦学习网络的难度系数为止,本实施例对该过程的实现方式不做特别限制。
通过设置联邦学习网络的难度系数,参与节点需要先达到难度系数的要求,才有资格参与候选超级节点的选拔,进一步提高了候选超级节点的入选门槛,可以提高联邦学习的可靠性和安全性。
S202、种子节点根据预设的活跃超级节点数和备用超级节点数,在所述候选超级节点中选举所述活跃超级节点和所述备用超级节点。
可选的,活跃超级节点数和备用超级节点数可以根据实际需要灵活设置,在选举时,根据预设的活跃超级节点数和备用超级节点数,优先选举活跃超级节点。
可选的,当活跃超级节点数大于候选超级节点数时,所有候选超级节点均被设为活跃超级节点。当活跃超级节点数小于候选超级节点数,且预设备用超级节点数时,优先选举活跃超级节点,满足活跃超级节点数后再选举备用超级节点。
可选的,可以通过同时设置活跃超级节点个数、备用超级节点个数、活跃超级节点的配置、备用超级节点的配置进行选举。
活跃超级节点的配置和备用超级节点的配置可以包括参与节点的规模、信用积分、价值观、营收状况、大众评价、服务器、交换机、存储器、网卡、操作系统、带宽等中的一个或多个,具体的形式和占比本申请不做限制,可以根据实际情况进行设置。
S203、若所述选举为首次选举,则所述种子节点在所述候选超级节点中随机选择前N个节点为所述活跃超级节点,后M个节点为所述备用超级节点。
具体的,当选举为首次选举时,为了体现公平和公正原则,由种子节点根据预设的活跃超级节点数和备用超级节点数,随机选取前N个节点为活跃超级节点,后M个节点为备用超级节点。
S204、若所述选举非首次选举,则所述种子节点根据各所述候选超级节点的节点积分排名,选择排名靠前的前N个节点为所述活跃超级节点,排名靠后的M个节点为所述备用超级节点。
具体的,当选举为非首次选举时,已经存在部分节点参与了联邦训练,通过随机选取活跃超级节点,则会对已有活跃超级节点的正常运行造成影响,所以仅仅排除部分活跃超级节点,从备用超级节点中选取部分节点来作为活跃超级节点,此时的候选超级节点即包括了前期选举出的活跃超级节点和备用超级节点,则根据节点积分对所有候选超级节点进行排序,排名靠前的前N个节点为活跃超级节点,后M个节点为备用超级节点。
可选的,节点积分可以根据各个活跃超级节点和备用超级节点各自的性能参数和参与度确定,例如,性能参数越好,即上述的软实力和硬件越好,则节点积分越高,具体可以建立各性能参数中每个单项参数与积分的对应关系,然后确定性能参数对应的总积分。再例如,参与度越高,则节点积分越高,参与度可以为该节点向种子节点的申请次数,再或者从其他节点购买或获取其他节点转让的积分。根据性能参数和参与度各自对应的积分,进行求和处理,得到节点积分。对于其他节点积分的实现方式,本实施例不做特别限制。
本申请该实施例通过种子节点根据参与节点的性能信息选拔候选参与节点,再根据节点积分确定活跃超级节点和备用超级节点。对每一个成为候选超级节点的参与节点都经过了严格的筛选,可以保证所有的参与节点都可以保护好各自的资源,提高了联邦学习的可靠性和安全性。此外,通过节点积分确定活跃超级节点和备用超级节点,不仅充分体现了选拔的公平性,也充分调动了各个参与节点的积极性。
现在,对联邦学习群组网络的共识过程进行详细说明,图3为本申请实施例提供的联邦学习群组网络的共识处理信令流程图。如图3所示,该共识过程包括:
S301、候选超级节点通过种子节点加入联邦学习群组网络。
S302、种子节点根据预设的活跃超级节点数和备用超级节点数,在所述候选超级节点中选举所述活跃超级节点和所述备用超级节点。
其中,S301和S302的实现过程,可参见上述图2所示实施例,本实施例此处不再赘述。
S303、种子节点计算每个其它活跃超级节点的节点标识与所述种子节点的节点标识的异或距离,并根据异或距离从小到大的顺序对其它活跃超级节点进行排序;各所述活跃超级节点根据所述排序轮流向所述其它活跃超级节点发送所述签名数据。
具体的,种子节点根据节点标识计算每个其它活跃超级节点与种子节点的异或距离,并根据异或距离从小到大的顺序对其它活跃超级节点进行排序,形成一个活跃超级节点间的先后顺序。然后,各活跃超级节点根据排列顺序轮流生成签名数据,并向其它活跃超级节点发送签名数据。示例性的,种子节点可将该先后顺序发送给每个活跃超级节点,每个活跃超级节点存储该先后顺序,并根据该先后顺序进行共识处理。
S304、每个所述活跃超级节点生成用于签名的签名数据,并根据所述排序轮流向所述其它活跃超级节点发送所述签名数据。
具体的,每个活跃超级节点在排列顺序轮到本机时,即在接收到前一排序的活跃超级节点发送的签名数据后,再生成本机的用于签名的签名数据,然后将签名数据高速转发给其它活跃超级节点,等待其它活跃超级节点的签名背书。
S305、每个所述活跃超级节点接收其它活跃超级节点发送的签名背书,并根据所述签名背书生成统计信息,所述统计信息为收到的签名背书的个数;若所述统计信息超过预设阈值,则所述活跃超级节点确定共识处理完成。
具体的,发送签名数据的活跃超级节点接收其它活跃超级节点发送的签名背书,并根据签名背书生成统计信息,统计信息为收到的签名背书的个数。若签名背书的个数超过预设阈值,则该活跃超级节点确定共识处理完成;若签名背书的个数未达到预设阈值,则该活跃超级节点确定共识处理失败。
可选的,签名背书可以为弱签名,也可以为强签名。弱签名是指对消息的部分内容进行签名,比如节点的IP地址、端口号和时间戳。时间戳指定签名的有效时间,该有效时间可以预防动态IP的接力攻击问题。弱签名可以用于查找节点和PING(Packet InternetGroper)命令这些消息完整性要求不高的场景。强签名是指对节点之间的消息进行签名。强签名可以保证消息整体上的有效性,可以有效抵御中间人的攻击,并且通过在消息中添加随机数,可以抵御接力攻击。签名背书的具体形式,本申请不做限制,可根据实际情况灵活设置。
可选的,预设阈值可以为2/3N的向上或向下取整,其中,N为活跃超级节点数,且N为奇数,所述预设阈值也可以为任何其它小于等于N的数值,本申请不作限制,能够保证签名背书的数量至少超过一半即可,即依据少数服从多数原则。若签名背书的个数超过2/3N,则该活跃超级节点确定共识处理完成。
通过上述流程产生的网络拓扑如图4所示。
如图4所示,N1、N2、N3、N4、N...为活跃超级节点,其中,种子节点可以为N1,也可以为其它活跃超级节点中的任意一个;M1、M2、M3、M4、M...为备用超级节点。活跃超级节点和备用超级节点通过互联网通信。
通过上述步骤S301-S305,候选超级节点通过种子节点加入联邦学习群组网络;种子节点再根据预设的活跃超级节点数和备用超级节点数,选举活跃超级节点和备用超级节点,并计算每个其它活跃超级节点的节点标识与种子节点的节点标识的异或距离,并根据异或距离从小到大的顺序对其它活跃超级节点进行排序;然后每个活跃超级节点根据排序轮流生成用于签名的签名数据,并向其它活跃超级节点发送签名数据;再接收其它活跃超级节点发送的签名背书,并根据签名背书生成统计信息;若所述统计信息超过预设阈值,则所述活跃超级节点确定共识处理完成。
这样,每一个成为活跃超级节点的参与方都经过层层选举,活跃超级节点的软实力和硬件都能达到要求,保障了联邦学习的安全性和正常运行。另外,每个活跃超级节点根据排序轮流生成并发送用于签名的签名数据,而且由于活跃超级节点和备用超级节点根据节点积分不断变换。因此,活跃超级节点间的先后顺序不是固定不变的,故而生成签名数据的顺序也不确定,不容易被恶意攻击者准确攻击。进一步提高了联邦学习的安全性。
最后,对普通节点加入联邦学习系统的过程进行详细说明。图5为本申请实施例提供的普通节点加入联邦学习系统的流程示意图。如图5所示,该流程包括:
S501、普通节点通过种子节点加入联邦学习系统。
具体的,普通节点加入联邦学习系统的具体形式与候选超级节点加入联邦学习群组网络类似。首先,种子节点接收参与节点发送的性能信息,然后,种子节点根据所述性能信息,确定参与节点是否符合普通节点的要求;最后,参与节点确认是否加入联邦学习系统成为普通节点。所述性能信息可以与候选超级节点的性能信息相同,也可以不同,具体内容可根据实际情况设置,本申请不作限制。
可选的,普通节点可以作为联邦学习的训练节点,也可以根据需要灵活设置,本申请不作限制。其它类似内容在此处不再赘述。
S502、普通节点根据各活跃超级节点的节点标识和普通节点的节点标识,计算普通节点与活跃超级节点的异或距离。
可选的,种子节点向普通节点发送各活跃超级节点的节点标识,或者普通节点与各活跃超级节点进行信息交互,得到各活跃超级节点的节点标识。
该普通节点根据得到的节点标识计算该普通节点与活跃超级节点的异或距离。
S503、普通节点根据异或距离,选择距离最近的前K个活跃超级节点生成超级节点列表,K为自然数。
具体的,普通节点根据上述步骤S502计算的异或距离,选择距离最近的前K个活跃超级节点生成超级节点列表,并将该前K个活跃超级节点的信息存储在超级节点列表中,其中,K为自然数。
可选的,活跃超级节点的信息可以为活跃超级节点的IP地址、端口号、身份信息等,以便于普通节点和活跃超级节点进行通信。
通过上述S501-S503流程产生的网络拓扑如图1所示。
如图1所示,N1、N2、N3、N4、N...为活跃超级节点,其中,种子节点可以为N1,也可以为其它活跃超级节点中的任意一个;M1、M2、M3、M4、M...为备用超级节点;P1、P2、P3、P...为普通节点。
普通节点、活跃超级节点、备用超级节点之间通过互联网通信。
通过上述步骤S501-S503,参与节点通过种子节点的审核成为普通节点,通常,普通节点作为联邦学习的训练节点,保证了每个参与训练的普通节点都经过了严格审核,进一步提高了联邦学习的可靠性和安全性。另外,每个普通节点都存贮有距离该普通节点最近的前K个活跃超级节点的信息,可与K个活跃超级节点直接进行通信,避免了单线通信可能造成发通信失败,以及不能及时传输信息的可能。
下面,对上述创建的联邦学习系统的联邦训练过程进行详细说明。
在本实施例中,给出图6和图7两个详细的示例进行说明,其它基于该联邦学习系统进行联邦训练的过程,本实施例此处不再赘述。
图6为本申请实施例提供的一联邦学习系统的联邦训练信令流程示意图。如图6所示,该过程包括:
S601、普通节点向联邦学习群组网络广播邀请信息,其中,所述邀请信息用于邀请其它普通节点进行联邦训练,所述邀请信息中包括普通节点的IP地址和端口号。
具体的,该普通节点作为数据使用方,向该普通节点的超级节点列表中的活跃超级节点发送邀请信息,邀请其它普通节点加入联邦训练。
其中,邀请信息中包括该普通节点的IP地址和端口号,其它普通节点可以根据该IP地址和端口号直接与该普通节点通信。
S602、活跃超级节点向其它普通节点转发邀请信息。
具体的,所述活跃超级节点为该普通节点的超级节点列表中的所有活跃超级节点,这些活跃超级节点接收到该普通节点发送的邀请信息后,先在所有活跃超级节点和备用超级节点构成的高速转发层之间高速转发邀请信息,再向其它所有普通节点转发邀请信息。
可选的,所有活跃超级节点和备用超级节点均存储有所有普通节点的IP地址和端口号,以致所有活跃超级节点和备用超级节点均可以与所有普通节点通信。再或者,所有活跃超级节点和备用超级节点可以向普通节点广播该邀请信息。
可选的,活跃超级节点可以根据与普通节点异或距离的远近各自向距离较近的普通节点发送邀请信息,也可以根据其他分配原则各自发送,本申请不作限制。
S603、普通节点接收其它普通节点发送的响应信息,响应信息用于指示其它普通节点加入联邦训练。
S604、普通节点接收其它普通节点发送的响应信息,响应信息用于指示其它普通节点拒绝加入联邦训练。
其中,S603和S604没有严格的时序关系,根据两类普通节点各自的情况,例如,网络情况,收到邀请信息的先后顺序,回复响应信息的快慢,以及是否回应相应信息等情况,顺序有先后。
由于普通节点发送的邀请信息中包括了该普通节点的IP地址和端口号,其它普通节点可以直接与该普通节点通信,避免了各普通节点间通信需要经过第三方转发造成的通信延迟问题。
进一步,P个普通节点中的至少部分节点中的第一普通节点和第二普通节点,通过联邦学习群组网络的数据转发进行联邦训练,得到联邦模型。
S605、第一普通节点向第一普通节点的超级节点列表中的第一活跃超级节点发送第一训练数据。
其中,第一活跃超级节点为第一普通节点的超级节点列表中的活跃超级节点。
S606、第一活跃超级节点向第二普通节点转发第一训练数据。
具体的,第一活跃超级节点可以向其它活跃超级节点转发第一训练数据,然后所有的超级节点向第二普通节点转发该第一训练数据。第二普通节点为同意第一普通节点的邀请加入进行联邦训练的普通节点,该第二普通节点的数量可以为一个,也可以为多个。
S607、第二普通节点向第二普通节点的超级节点列表中的第二活跃超级节点发送第二训练数据。
其中,第二活跃超级节点为第二普通节点的超级节点列表中的活跃超级节点。
S608、第二活跃超级节点向第一普通节点转发第二训练数据。
第二活跃超级节点可以向其它活跃超级节点转发第二训练数据,然后所有的超级节点向第一普通节点转发该第二训练数据。
S609、第一普通节点和第二普通节点根据第一训练数据和第二训练数据,得到联邦模型。
经过多次S605-S609的处理过程,最终,第一普通节点和第二普通节点根据第一训练数据和第二训练数据,各自对训练数据进行聚合处理得到联邦模型。
本实施例中,活跃超级节点仅对训练数据转发,不对数据进行聚合处理。一方面可以缓解活跃超级节点的工作压力;另一方面,也可以解决普通节点间由于硬件配置不够强大造成的数据传输缓慢甚至传输失败问题,使数据传输速度更快更准确;同时多条转发路线,避免了线路攻击等问题,进一步提高了联邦学习的可靠性和安全性。
图7为本申请实施例提供的另一联邦学习系统的联邦训练信令流程示意图。如图7所示,该过程包括:
S701、普通节点向联邦学习群组网络广播邀请信息。
其中,所述邀请信息用于邀请其它普通节点进行联邦训练,所述邀请信息中包括普通节点的IP地址和端口号。
S702、活跃超级节点向其它普通节点转发邀请信息。
S703、普通节点接收其它普通节点发送的响应信息,响应信息用于指示其它普通节点加入联邦训练。
S704、普通节点接收其它普通节点发送的响应信息,响应信息用于指示其它普通节点拒绝加入联邦训练。
其中,S701-S704的实现过程,可参见上述图6所示实施例,本实施例此处不再赘述。
P个普通节点中的至少部分节点,通过联邦学习群组网络的数据处理和数据转发进行联邦训练,得到联邦模型;其中
S705、至少部分节点中的每个普通节点,向各自节点的超级节点列表中的第三活跃超级节点发送训练数据。
其中,所述至少部分节点中的每个普通节点为同意加入联邦训练的所有普通节点。第三活跃超级节点为所述至少部分节点中的每个普通节点各自的超级节点列表中的节点。
S706、第三活跃超级节点根据训练数据进行聚合处理。
其中,第三活跃超级节点接收到普通节点发送的训练数据后,在所有活跃超级节点和备用超级节点间进行高速转发。
可选的,聚合处理可以为第三活跃超级节点根据训练数据进行聚合处理得到聚合处理后的数据,然后将聚合后的数据高速转发给其它活跃超级节点和备用超级节点。
可选的,聚合处理也可以为,所有活跃超级节点和备用超级节点均根据训练数据进行聚合处理得到聚合处理后的数据。
S707、第三活跃超级节点将聚合处理后的数据转发至至少部分普通节点,至少部分普通节点根据聚合处理后的数据,得到联邦模型。
其中,多个第三活跃超级节点会向聚合处理后的数据转发至普通节点,普通节点在接收到聚合处理后的数据后,如若接收到相同的数据,则直接舍弃,或者在同一时间段不再接收其它相同数据。
本实施例中,活跃超级节点先对训练数据进行聚合处理,再将聚合处理后的数据转发给参与联邦训练的普通节点,可以避免普通节点硬件设置无法进行聚合处理的情况,减轻对普通节点的硬件设置要求,同时,聚合处理由可信赖的活跃超级节点进行,不仅数据处理和传输速度更快更准确,也进一步提高了联邦学习的可靠性和安全性。
在上述联邦训练过程中,本申请实施例还提供了恢复机制,以解决多方机构联合建模时无法预见和避免网络之间不稳定情形造成的断点训练问题。
图8为本申请实施例提供的联邦学习系统的恢复机制示意图。如图8所示:
所述P个普通节点中的至少部分普通节点中的每个普通节点,通过心跳机制向各自节点的超级节点列表中的第四活跃超级节点发送关键备份数据;在所述普通节点网络故障恢复后,从所述联邦学习群组网络获取所述关键备份数据;所述普通节点根据本地存储数据和所述关键备份数据,恢复上次模型训练的位置。
恢复机制的原理如下:
首先,普通节点将本地的关键备份数据保存到本地目录;
然后,通过心跳机制将普通节点的关键备份数据同步到所有活跃超级节点和备用超级节点;
再次,当网络出现故障时,普通节点向活跃超级节点发送查询请求,活跃超级节点进行结果查询,确定故障点;
最后,当网络故障恢复后,通过活跃超级节点的关键备份数据和本地的保存的信息恢复上次模型训练的位置。
其中,所述第四活跃超级节点为与该普通节点的超级节点列表中的节点。
所述关键备份数据可以为普通节点的元数据。
心跳机制是指:定时发送一个自定义的结构体(心跳包),让对方知道自己还活着,以确保连接的有效性的机制。
由于心跳机制不仅会自动触发对超时机制的回调,而且可以将各自节点联邦学习训练的当前参数和状态保持一份完整的快照,这份训练过程中的快照数据可以作为下一次训练的初始状态,通过预加载,从而实现建模的断点训练。
本实施例以逻辑回归算法举例,快照包含的内容有:普通节点的权重(weight)、当前样本的批次(batch)、当前洗牌(shuffle)、梯度(gradient)等过程参数。根据不同的算法,快照包含的内容不同,具体可根据实际情况设置,本申请不作限制。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种面向群组的联邦学习系统,其特征在于,所述系统包括:N个活跃超级节点、M个备用超级节点以及P个普通节点,所述N、M、P为自然数;其中
所述N个活跃超级节点中存在一个种子节点,所述种子节点用于建立联邦学习群组网络,所述联邦学习群组网络包括所述N个活跃超级节点;
所述普通节点通过所述种子节点加入所述联邦学习群组网络,所述P个普通节点中的至少部分普通节点通过所述联邦学习群组网络进行联邦训练;
在所述N个活跃超级节点中的节点积分不满足预设条件时,将所述M个备用超级节点中节点积分满足所述预设条件的节点确定为活跃超级节点。
2.根据权利要求1所述的系统,其特征在于,所述种子节点具体用于:
获取候选超级节点,所述候选超级节点通过所述种子节点加入所述联邦学习群组网络;
根据预设的活跃超级节点数和备用超级节点数,在所述候选超级节点中选举所述活跃超级节点和所述备用超级节点。
3.根据权利要求2所述的系统,其特征在于,
其中,若所述选举为首次选举,则所述种子节点在所述候选超级节点中随机选择前N个节点为所述活跃超级节点,后M个节点为所述备用超级节点;
若所述选举非首次选举,则所述种子节点根据各所述候选超级节点的节点积分排名,选择排名靠前的前N个节点为所述活跃超级节点,排名靠后的M个节点为所述备用超级节点。
4.根据权利要求2所述的系统,其特征在于,所述种子节点具体用于:接收参与节点发送的性能信息,所述种子节点根据所述性能信息,从所述参与节点中筛选出所述候选超级节点。
5.根据权利要求1所述的系统,其特征在于,所述普通节点具体用于:向所述联邦学习群组网络广播邀请信息,所述邀请信息用于邀请其它普通节点进行联邦训练,所述邀请信息中包括所述普通节点的IP地址和端口号;
所述联邦学习群组网络中的活跃超级节点用于向所述联邦学习群组网络内的其它普通节点转发所述邀请信息;
所述普通节点还用于接收所述其它普通节点发送的响应信息,所述响应信息用于指示所述其它普通节点加入或拒绝联邦训练。
6.根据权利要求1所述的系统,其特征在于,所述P个普通节点中的至少部分节点中的第一普通节点和第二普通节点,通过所述联邦学习群组网络的数据转发进行联邦训练,得到联邦模型;其中
所述第一普通节点向所述第一普通节点的超级节点列表中的第一活跃超级节点发送第一训练数据,所述第一活跃超级节点向所述第二普通节点转发所述第一训练数据;
所述第二普通节点向所述第二普通节点的超级节点列表中的第二活跃超级节点发送第二训练数据,所述第二活跃超级节点向所述第一普通节点转发所述第二训练数据;
所述第一普通节点和所述第二普通节点根据所述第一训练数据和所述第二训练数据,得到联邦模型。
7.根据权利要求1所述的系统,其特征在于,所述P个普通节点中的至少部分节点,通过所述联邦学习群组网络的数据处理和数据转发进行联邦训练,得到联邦模型;其中
所述至少部分节点中的每个普通节点,向各自节点的超级节点列表中的第三活跃超级节点发送训练数据;
所述第三活跃超级节点根据所述训练数据进行聚合处理,并将聚合处理后的数据转发至所述至少部分普通节点;
所述至少部分普通节点根据所述聚合处理后的数据,得到联邦模型。
8.根据权利要求1所述的系统,其特征在于,所述P个普通节点中的至少部分普通节点中的每个普通节点,通过心跳机制向各自节点的超级节点列表中的第四活跃超级节点发送关键备份数据;
在所述普通节点网络故障恢复后,从所述联邦学习群组网络获取所述关键备份数据;
所述普通节点根据本地存储数据和所述关键备份数据,恢复上次模型训练的位置。
9.根据权利要求6-8任一项所述的系统,其特征在于,所述普通节点具体用于:
根据各所述活跃超级节点的节点标识和所述普通节点的节点标识,计算所述普通节点与所述活跃超级节点的异或距离;
根据所述异或距离,选择距离最近的前K个活跃超级节点生成超级节点列表,所述K为自然数。
10.根据权利要求1所述的系统,其特征在于,每个所述活跃超级节点具体用于:生成用于签名的签名数据,并向所述其它活跃超级节点发送所述签名数据;
接收其它活跃超级节点发送的签名背书,并根据所述签名背书生成统计信息,所述统计信息为收到的签名背书的个数;
若所述统计信息超过预设阈值,则所述活跃超级节点确定共识处理完成。
11.根据权利要求10所述的系统,其特征在于,所述种子节点具体用于:计算每个其它活跃超级节点的节点标识与所述种子节点的节点标识的异或距离,并根据所述异或距离从小到大的顺序对所述其它活跃超级节点进行排序;
各所述活跃超级节点根据所述排序轮流向所述其它活跃超级节点发送所述签名数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210360419.2A CN115099421A (zh) | 2022-04-07 | 2022-04-07 | 面向群组的联邦学习系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210360419.2A CN115099421A (zh) | 2022-04-07 | 2022-04-07 | 面向群组的联邦学习系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115099421A true CN115099421A (zh) | 2022-09-23 |
Family
ID=83287783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210360419.2A Pending CN115099421A (zh) | 2022-04-07 | 2022-04-07 | 面向群组的联邦学习系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115099421A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592584A (zh) * | 2023-12-11 | 2024-02-23 | 滇西应用技术大学 | 一种基于联邦学习的随机多模型隐私保护方法 |
-
2022
- 2022-04-07 CN CN202210360419.2A patent/CN115099421A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592584A (zh) * | 2023-12-11 | 2024-02-23 | 滇西应用技术大学 | 一种基于联邦学习的随机多模型隐私保护方法 |
CN117592584B (zh) * | 2023-12-11 | 2024-06-14 | 滇西应用技术大学 | 一种基于联邦学习的随机多模型隐私保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11411721B2 (en) | Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system | |
Popov et al. | The coordicide | |
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
US7584182B2 (en) | Determining cardinality of a parameter using hash values | |
US11641286B2 (en) | Sybil-resistant identity generation | |
CN113642019A (zh) | 一种双层分组拜占庭容错共识方法及系统 | |
Anceaume et al. | Peercube: A hypercube-based p2p overlay robust against collusion and churn | |
CN114745140B (zh) | 基于聚合加密的城市规划领域区块链共识验证方法及系统 | |
Scheideler et al. | A distributed and oblivious heap | |
CN115759289A (zh) | 基于用户分组协同的联邦学习方法、系统及装置 | |
CN115099421A (zh) | 面向群组的联邦学习系统 | |
Zhang et al. | An efficient and robust committee structure for sharding blockchain | |
Kwak et al. | The design of hierarchical consensus mechanism based on service-zone sharding | |
WO2020042929A1 (zh) | 一种区块链系统 | |
Behera et al. | Federated learning using peer-to-peer network for decentralized orchestration of model weights | |
Pradhan et al. | Blockchain based security framework for P2P filesharing system | |
CN112491935A (zh) | 一种用于区块链的水波式广播方法及系统 | |
US11159611B2 (en) | System and method for leader election for distributed systems | |
Saad et al. | Self-healing computation | |
Naranjo et al. | Asynchronous privacy-preserving iterative computation on peer-to-peer networks | |
Rosas et al. | CORPS: building a community of reputable PeerS in distributed hash tables | |
Zhang et al. | Scalable and fault-tolerant selection method of verification and accounting nodes for permissionless blockchain | |
CN112527898A (zh) | 安全计算方法、装置、节点及存储介质 | |
CN117640248B (zh) | 基于区块链的电力数据共享方法及装置 | |
Nikolaou et al. | Moving participants turtle consensus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |