一种基于区块链的联邦学习系统及方法与流程

文档序号:20917589发布日期:2020-05-29 13:43阅读:1771来源:国知局
一种基于区块链的联邦学习系统及方法与流程

本发明涉及联邦学习技术领域,尤其涉及一种基于区块链的联邦学习系统及方法。



背景技术:

联邦学习使得各个参与机构能够在不直接交换原始数据的情况下,协同的训练机器学习模型。这对于那些数据量不足的的企业或者机构而言,能够让它们联合起来,获得更好模型的同时又不暴露原始数据,实现互利共赢。现有的工程技术中,各个机构的协同训练依赖于中心化的第三方协作节点实现控制,聚合和密钥管理。现有的中心化的方法有以下缺点:

1)协作节点会持续地获得其他所有机构上传的信息。而一个好奇的协作节点可以通过这些信息推断出与各个机构原始数据相关的重要信息,如类别标签分布情况,因此会导致数据隐私的泄露。对于参与训练的机构而言,它们并不想暴露这些隐私。

2)当协作节点出现故障,整个系统会发生崩溃从而无法继续运行。由于中心化的协作节点的单点故障,各个机构的联邦学习会被强行终止,无法继续协同训练。

现有技术中的联邦学习方法有隐私风险和单点故障的问题。



技术实现要素:

本发明为了解决现有的问题,提供一种基于区块链的联邦学习系统及方法。

为了解决上述问题,本发明采用的技术方案如下所述:

一种基于区块链的联邦学习系统,包括:模型训练模块,用于联邦学习过程的机器学习模型更新和所述机器学习模型变化值聚合;基于区块链技术的智能合约模块,用于在所述联邦学习的过程中提供去中心化的控制功能与密钥管理功能;基于ipfs协议的存储模块,用于为所述联邦学习过程中的中间信息提供去中心化的信息存储机制;每个参与联邦学习的节点上同时运行所述模型训练模块、所述基于区块链技术的智能合约模块、所述基于ipfs协议的存储模块。

优选地,所述基于区块链技术的智能合约模块包含了训练控制模块和密钥管理模块;所述训练控制模块用于在所述联邦学习过程中的每一轮学习前随机生成包含每个参与所述联邦学习的节点的拓扑结构,在所述联邦学习过程中与各所述节点通信,通知各所述节点已有的聚合信息,并收集各所述节点进一步聚合后的信息;所述密钥管理模块存储了每个参与联邦学习的节点上传的公钥信息。

优选地,所述公钥是用于同态加密的公钥;每个所述公钥与每个参与所述联邦学习的所述节点一一对应,在所述联邦学习开始前被密钥管理模块记录。

优选地,每个所述节点均承担聚合任务,所有所述节点的聚合合起来是基于区块链的联邦学习系统的聚合信息。

优选地,每个所述节点从前驱节点处获得加密信息,并将本地的加密信息与获得的所述加密信息相加,得到新的加密信息;所述新的加密信息传递给后继节点;累加后的所述加密信息被最后的节点解密,并用于全局训练模型的更新,得到最新的全局模型。

本发明提供一种基于区块链的联邦学习方法,包括如下步骤:s1:所有参与联邦学习的节点在基于区块链技术的智能合约模块的密钥管理模块登记公钥,并彼此协商训练模型的结构、初始参数信息和最大训练轮数;s2:所述节点利用本地数据对所述训练模型进行本地训练,并记录所述训练模型的变化值;所述节点从所述密钥管理模块获取本轮训练所使用的同态加密的公钥,并将所述训练模型的变化值进行加密;s3:所述节点根据拓扑缓存中的拓扑结构信息,确定所述节点在当前拓扑结构中的位置;s4:所述节点在训练控制模块的通知下,依次对加密的所述训练模型的变化值进行累加聚合;s5:所述节点的聚合结束后,所述拓扑结构上的最后一个节点对聚合信息进行解密,并对全局模型参数进行更新;s6:各个所述节点获取最新的全局模型参数,并更新所述训练模型;s7:所述节点循环训练至所述训练模型收敛或达到预先协商的最大训练轮数,此时停止训练。

优选地,所述本地训练的训练样本数由所述节点决定;所述拓扑缓存中的拓扑结构信息由所述训练控制模块在每一轮训练开始前生成,所述拓扑缓存中的拓扑结构信息标志了各个所述节点进行聚合的先后顺序。

优选地,所述节点在所述训练控制模块的通知下沿着先后顺序依次对加密信息进行累加;每个所述节点均承担聚合的任务,所有所述节点的聚合合起来是基于区块链的联邦学习系统的聚合信息。

优选地,在每一轮训练开始前,所述训练控制模块选择随机一个所述节点,将所述节点作为本轮随机生成的拓扑结构的最后一个节点,用于对所述聚合信息进行解密并更新全局模型;若选择的所述节点在本轮训练开始前出现故障,则所述训练控制模块重新选择一个所述节点;若选择的所述节点在本轮全局模型更新时出现故障,则所述训练控制模块通知所有节点将训练模型回滚至本轮训练开始前的状态,再重新随机选择一个所述节点。

优选地,在每一轮训练过程中,若所述节点发生故障,所述训练控制模块会跳过故障节点,由所述故障节点的直接后继节点继续进行聚合。

本发明的有益效果为:提供一种基于区块链的联邦学习系统及方法,通过将联邦学习中的每一个模块都实现去中心化,进而实现整个系统的完全去中心化。因此每个参与节点的地位都是完全平等的,且不存在中心化的第三方协作节点。任何节点的故障和退出都不会影响其他节点继续进行联邦学习,相比于现有方法,具有更强的鲁棒性。

设计了去中心化的加密聚合方法,使得没有节点可以获得其他节点的梯度或模型等信息,避免了数据隐私泄露的风险。

由于区块链的公开透明性,整个联邦学习过程的控制逻辑也是公开透明的;控制逻辑由基于区块链的智能合约实现,任何节点都可以对其进行检验,保证了整个控制逻辑是安全可靠的;同时,由于区块链的去中心化特性,控制逻辑的执行也是去中心化的;实现控制逻辑的基于区块链的智能合约会在参与联邦学习的所有节点上执行,任何单一节点无法影响它的运行。

由于区块链的不可篡改性,整个联邦学习过程所记录的历史信息都被记录在区块链中且不能被修改,这有助于对联邦学习过程中的各个节点的行为进行审计。

附图说明

图1是本发明实施例中基于区块链的联邦学习系统的结构示意图。

图2是本发明实施例中基于区块链的联邦学习系统的模型示意图。

图3是本发明实施例中现有技术的联邦学习系统的模型示意图。

图4是本发明实施例中基于区块链的联邦学习方法的示意图。

图5是本发明实施例中基于区块链的联邦学习系统和方法的训练的示意图。

具体实施方式

为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接既可以是用于固定作用也可以是用于电路连通作用。

需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

如图1所示,本发明提供一种基于区块链的联邦学习系统,包括:

模型训练模块,用于联邦学习过程的机器学习模型更新和所述机器学习模型变化值聚合;

基于区块链技术的智能合约模块,用于在所述联邦学习的过程中提供去中心化的控制功能与密钥管理功能;

基于ipfs协议的存储模块,用于为所述联邦学习过程中的中间信息提供去中心化的信息存储机制;

每个参与联邦学习的节点上同时运行所述模型训练模块、所述基于区块链技术的智能合约模块、所述基于ipfs协议的存储模块。

如图2和图3所示,本发明为参与训练的机构提供去中心化的隐私保护的联邦学习系统,这个系统使得参与机构能够不交换本地原始数据,不泄漏数据隐私,且不依赖其他第三方的中心化节点。参与机构彼此协同地进行训练,从而获得比它们单独训练效果更好的机器学习模型。

进一步的,在确保联邦学习所得模型的准确率的同时,保护参与机构的数据隐私。与现有最先进的联邦学习方法相比,可以达到同样高的模型准确率。同时,设计了新的训练方法,改进了训练过程中的信息传递,从而有效的保护参与机构的数据隐私,避免了现有方法存在的数据隐私泄露的风险。

更进一步的,保证整个系统的鲁棒性。因为系统的训练控制模块是基于区块链技术设计实现的,系统的存储模块所基于的ipfs协议也是去中心化的分布式的协议,所以系统的正常运行由所有机构共同维护,不会因为任何机构的退出或故障,影响其他机构继续进行联邦学习。系统内的每个参与机构都是完全平等的,它们都可以被视为节点。整个系统的架构是完全去中心化的,仅包含各个参与机构对应的节点,而没有任何第三方的中心化节点。相比于现有技术,本发明的基于区块链的联邦学习系统具有更强的鲁棒性。

在本发明的一种实施例中,基于区块链技术的智能合约模块包含了训练控制模块和密钥管理模块;训练控制模块用于在联邦学习过程中的每一轮学习前随机生成包含每个参与联邦学习的节点的拓扑结构,在联邦学习过程中与各节点通信,通知各节点已有的聚合信息,并收集各节点进一步聚合后的信息;密钥管理模块存储了每个参与联邦学习的节点上传的公钥信息。所述公钥是用于同态加密的公钥;每个所述公钥与每个参与所述联邦学习的所述节点一一对应,在所述联邦学习开始前被密钥管理模块记录。每个节点均承担聚合任务,所有节点的聚合合起来是基于区块链的联邦学习系统的聚合信息。每个节点从前驱节点处获得加密信息,并将本地的加密信息与获得的所述加密信息相加,得到新的加密信息;所述新的加密信息传递给后继节点;累加后的加密信息被最后的节点解密,并用于全局训练模型的更新,得到最新的全局模型。

随后,全局模型信息被分发给参与本次训练的全部节点,开始下一轮的迭代。在训练中,最终节点解密的信息是所有节点加密信息的累加,无法从中抽取出任何单一节点的信息。因此,这样的训练方法不会泄漏任何节点的梯度或模型信息,避免了现有中心化方法中的隐私泄露的风险。

全局的训练模型是利用聚合信息进行更新的,然后各个节点会获得这个全局的最新训练模型,进而用全局训练模型来更新节点的本地的训练模型,即把全局训练模型参数赋值给本地训练模型参数。

本发明的基于区块链的联邦学习系统继承了区块链技术和ipfs协议的去中心化特性,这使得系统的正常运行由所有节点共同维护,而不需要依赖于中心化的节点,且任何单一节点的故障和退出都不会影响其他节点继续进行联邦学习。相比于现有方法,本系统具有极高的鲁棒性。

如图4所示,本发明还提供一种基于区块链的联邦学习方法,包括如下步骤:

s1:所有参与联邦学习的节点在基于区块链技术的智能合约模块的密钥管理模块登记公钥,并彼此协商训练模型的结构、初始参数信息和最大训练轮数;

在本发明的一种实施例中,本地训练的训练样本数由参与节点决定。

s2:所述节点利用本地数据对所述训练模型进行本地训练,并记录所述训练模型的变化值;所述节点从所述密钥管理模块获取本轮训练所使用的同态加密的公钥,并将所述训练模型的变化值进行加密;

在本发明的一种实施例中,在每一轮训练开始前,所述训练控制模块选择随机一个所述节点,以该所述节点对应的同态加密公钥作为本轮加密使用的公钥;并将所述节点作为本轮随机生成的拓扑结构的最后一个节点,用于之后对聚合信息进行解密并更新全局模型;若选择的节点在本轮训练开始前出现故障,则训练控制模块重新选择一个节点;若选择的节点在本轮全局模型更新时出现故障,则训练控制模块通知所有节点将训练模型回滚至本轮训练开始前的状态,再重新随机选择一个所述节点。s3:所述节点根据拓扑缓存中的拓扑结构信息,确定所述节点在当前拓扑结构中的位置;

在本发明的一种实施例中,拓扑缓存中的拓扑结构信息由所述基于区块链技术的智能合约模块的训练控制模块在每一轮训练开始前生成,所述拓扑缓存中的拓扑结构信息标志了各个所述节点的模型训练模块进行聚合的先后顺序;本轮使用的同态加密公钥所对应的节点,必须作为本轮拓扑结构的最后一个节点。

s4:所述节点在训练控制模块的通知下,依次对加密的所述训练模型的变化值进行累加聚合;

在本发明的一种实施例中,所述模型训练模块在所述训练控制模块的通知下沿着所述先后顺序依次对加密信息进行累加;每个所述节点的模型训练模块均承担了聚合的任务,所有节点的聚合合起来是基于区块链的联邦学习系统的聚合信息。

s5:所述节点的聚合结束后,所述拓扑结构上的最后一个节点对聚合信息进行解密,并对全局模型参数进行更新;

在本发明的一种实施例中,所述聚合信息加密所使用的同态加密公钥,就是本轮拓扑结构上最后一个节点所上传的公钥,因此只有所述节点可以利用本地持用的私钥对聚合信息进行解密。

s6:各个所述节点获取最新的全局模型参数,并更新所述训练模型;

在本发明的一种实施例中,所述全局模型信息被存入基于ipfs协议的存储模块中,对应的索引被上传至所述训练控制模块;所述训练控制模块将该索引通知全部参与本次训练的节点;所述节点根据该索引从基于ipfs协议的存储模块中获取最新的模型参数,并用于更新本地模型参数。

s7:所述节点循环训练至所述训练模型收敛或达到预先协商的最大训练轮数,此时停止训练。

对于很多小企业和机构而言,它们所拥有的用户数据往往很少,难以单独训练出好的模型。而现有的一些数据保护条例,限制了机构之间直接交换数据的行为;同时,由于商业利益和隐私等原因,机构也不希望泄漏与本地数据相关的信息。

如图5所示,各个机构首先利用本地数据对本地模型进行迭代,在迭代了一定数量的样本后,从密钥管理模块获取本轮同态加密的公钥,并将模型的变化值进行加密。然后,在训练控制模块的通知下,各个机构沿着在拓扑结构中的位置依次将加密信息进行累加。最后由训练控制模块选出的机构对累加后的信息进行解密,再对全局模型进行更新。新的全局模型被分发给所有机构,继续进行下一轮的迭代。训练过程中的信息被系统保存,由于系统继承了区块链技术的不可篡改性,所以这些信息一旦被保存后就无法被更改。这可以用于对训练过程中各个机构的行为进行审计,因此不必担心机构在训练过程中做出恶意行为。通过我们的系统,各个机构可以协同起来,在不依赖第三方协作者以及不泄漏数据隐私的情况下,共同训练出具有更好效果的模型。各个机构在保护数据隐私的同时,实现了互利共赢。

以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1