一种去中心化的联邦学习模型训练方法

文档序号:33633950发布日期:2023-03-28 23:54阅读:154来源:国知局
一种去中心化的联邦学习模型训练方法

1.本发明涉及联邦学习技术领域,具体涉及一种去中心化的联邦学习模型训练方法。


背景技术:

2.当今世界每天都有大量数据产生,这些数据由于各种问题(使用权,收集权,隐私)无法被统一收集,创建分析来指导工作。另一方面,深度神经网络由于其超强的拟合能力在近年大放光彩,大量研究者也为了探索神经网络的底线,创造出超大规模的模型(上百亿参数量)。但这些模型往往需要大量训练数据,对数据量提出要求。于是,在种种制约下,当今世界的数据就像一座座孤岛分布在世界的各个角落,孤岛之间无法联通,使得大量数据驱动的任务变得举步维艰。
3.联邦学习的诞生是为了解决这样的问题:在一个存在不同数据孤岛的定义域里,如何在不收集任何一个数据孤岛的情况下用他们的数据联合训练一个模型。
4.然而,随着联邦学习的逐渐发展,渐渐一些最开始没有想到的问题出现了:
5.1.中心服务器不能被直接信任:在传统的联邦学习算法中,中心服务器其实是掌握着极大的权限:它可以指定远程节点进行训练,它可以提供远程节点训练的参数和环境设置,它还可以得到远程节点的训练完成后返回的模型信息。有研究表示这些信息完全可以还原出训练原始数据的一部分(甚至全部)特征;
6.2.大量节点数会导致通讯过载:当传统联邦学习被扩展到亿级时,每一次迭代数据的传输量将轻易达到pb级别,几乎可以一瞬间拖垮任何交换机。为了支持这么大规模的计算,联邦学习的提供方需要大量的成本进行服务器的调试,而且一旦联邦学习的训练完成,若训练结果不能带来成果,则前期投入的大量成本直接付水东流。这会导致大规模的联邦学习训练有极高的门槛的极低的容错率。google在gboard上进行训练时为了降低这个问题带来的影响,使用的解决方案是每一次模型迭代只随机选取一部分远程节点进行联邦学习;但这样的选取过程会带来一定的偏差,最终的模型可能会有性能损失。


技术实现要素:

7.本发明的目的在于提供一种去中心化的联邦学习模型训练方法,以能够降低恶意节点攻击的几率、确保联邦学习网络的可靠性、实用性以及模型的有效收敛。
8.本发明解决上述技术问题的技术方案如下:
9.本发明提供一种去中心化的联邦学习模型训练方法,所述去中心化的联邦学习模型训练方法包括:
10.s1:构建联邦学习网络,其中,所述联邦学习网络包括多个节点,多个所述节点间通信连接;
11.s2:动态确定一节点为目标节点,与所述目标节点通信连接的为从属节点,所述目标节点将下载指令下发至各所述从属节点;
12.s3:控制各所述从属节点接收所述下载指令、根据所述下载指令下载最新的模型权重并将所述最新的模型权重上传至所述目标节点;
13.s4:控制所述目标节点将部分从属节点上传的所述最新的模型权重依照模型聚合公式聚合为一个模型,并使用所述模型替换本地模型,得到替换后的本地模型;
14.s5:控制所述目标节点根据替换前后的模型性能对各所述从属节点的信任度进行打分,得到打分结果;
15.s6:控制所述目标节点根据所述打分结果,利用梯度下降方法,在本地数据集上优化所述替换后的本地模型;
16.s7:更换目标节点并重复步骤s2-s6,直到完成预设条件。
17.可选择地,各所述节点包括联邦学习聚合模块、信任模块和异步模块,所述联邦学习聚合模块用于将部分从属节点上传的所述最新的模型权重依照模型聚合公式聚合为一个模型;
18.所述信任模块用于根据替换前后的模型性能对各所述从属节点的信任度进行打分,得到打分结果;
19.所述异步模块使得所述联邦学习网络中各节点间的工作无需同步。
20.可选择地,所述步骤s4中,所述模型聚合公式为:
[0021][0022]
其中,w
t+1
代表第t+1次迭代的模型权重,w代表模型权重,pi代表第i个节点聚合时的权重且di代表节点i的出度,di代表第i个节点的数据集大小,n代表节点总数,dj代表节点j的出度,dj代表第个节点的数据集大小,代表第i个节点第t+1次迭代的权重模型。
[0023]
可选择地,所述步骤s5包括:
[0024]
s51:给定所述目标节点初次连接当前从属节点时,所述当前从属节点的分数为0;
[0025]
s52:判断替换前后的模型的准确率是否提高,若是,控制所述目标节点提高参与本次聚合的部分从属节点的分数,否则,控制所述目标节点降低参与本次聚合的部分从属节点的分数。
[0026]
可选择地,所述最新的模型权重是通过模型权重生成公式得到的,所述模型权重生成公式为:
[0027][0028]
其中,θi→j代表第i个节点对第j个节点的采样概率,ci→j代表节点j在节点i的分数。
[0029]
本发明具有以下有益效果:
[0030]
1、通过本发明联邦学习网络中的信任模块的存在,能够有效排除得分较低的节点
(即恶意节点),从而能够降低恶意节点攻击的几率;
[0031]
2、本发明充分考虑了在实际操作中各节点无法同步的情况,通过异步模块的存在,能够使得各节点独立运行,从而确保了联邦学习网络的可靠性和实用性;
[0032]
3、本发明所提供的聚合公式,考虑了节点的出度,使得模型能够有效收敛。
附图说明
[0033]
图1为本发明去中心化的联邦学习模型训练方法的流程图;
[0034]
图2为中心化的联邦学习网络的结构示意图;
[0035]
图3为本发明去中心化的联邦学习网络的结构示意图。
具体实施方式
[0036]
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0037]
本发明提供一种去中心化的联邦学习模型训练方法,所述去中心化的联邦学习模型训练方法包括:
[0038]
s1:构建联邦学习网络,其中,所述联邦学习网络包括多个节点,多个所述节点间通信连接;
[0039]
s2:动态确定一节点为目标节点,与所述目标节点通信连接的为从属节点,所述目标节点将下载指令下发至各所述从属节点;
[0040]
在去中心化联邦网络中,由于节点之间是相互平等的,从某一个节点的角度来看,没有有效的方式可以验证和他相连的节点是诚实的。例如节点a和节点b相连,但是节点b给节点a传输的全部是垃圾数据,此时节点a是没有办法可以分清节点b传输的数据是不是垃圾数据的。如果节点a对节点b的垃圾数据全盘接受,则会导致节点a得模型性能降级(degraded),甚至使得节点a的模型训练失败。所以,在设计去中心化联邦学习网络时,必须同时考虑信任模块,以降低恶意节点的攻击性。
[0041]
除此之外,由于在去中心化联邦网络中,任意节点仅可观测到其自己本身以及与其直接相连的节点,所以去中心化联邦网络中所有节点天然无法同步。于是,考虑异步是至关重要的。
[0042]
基于此,本发明的各所述节点包括联邦学习聚合模块、信任模块和异步模块,所述联邦学习聚合模块用于将部分从属节点上传的所述最新的模型权重依照模型聚合公式聚合为一个模型;
[0043]
所述信任模块用于根据替换前后的模型性能对各所述从属节点的信任度进行打分,得到打分结果;
[0044]
所述异步模块使得所述联邦学习网络中各节点间的工作无需同步。
[0045]
除此之外,本发明所提供的异步模块包括半异步模块和全异步模块,在半异步模块中,目标节点只与自己所相连的从属节点同步。如节点a与节点b和节点c相连,则节点a会实时收集节点b和c的运行状态,并将自己的运行状态同步。半异步系统本质上将去中心化联邦网络分割成了无数个重叠的中心化子网络,每一个中心化子网络保持同步,但不同的中心化子网络不需要保持同步。然而,半异步模块在实验室可以更好地用于分析问题,但在
真实环境下行不通,因此,本发明还提供一种全异步模块,在全异步模块中,上述半异步模块中的同步限制也被移除,所有节点之间都不再考虑任何其他节点的运行状态。半异步模块虽然相较于全异步系统较慢,但是全局的收敛速度较快,其可以在真实环境中应用。
[0046]
这样,由于每一个节点都内置了一套信任模块,这套信任模块会为每一个该节点所连接的其他节点打分。如果某一节点的分极低,则该节点会断开与其的连接。通过该模块,若恶意节点所连接的每一个正常节点都与该恶意节点断开连接,则等价于该恶意节点被隔离,从而达到降低恶意节点攻击性的目的。除此之外,该信任模块还带有恢复机制。当模型聚合后发生损坏(即无法继续训练),则该恢复机制会迅速将模型恢复到最近的可训练模型,并惩罚参与聚合的节点分数。当模型聚合后没有发生损坏,该恢复机制则会备份当前模型。
[0047]
s3:控制各所述从属节点接收所述下载指令、根据所述下载指令下载最新的模型权重并将所述最新的模型权重上传至所述目标节点;
[0048]
s4:控制所述目标节点将部分从属节点上传的所述最新的模型权重依照模型聚合公式聚合为一个模型,并使用所述模型替换本地模型,得到替换后的本地模型;
[0049]
在中心化联邦网络中,会有一个中心服务器与所有节点相连,用于进行全局层面的规划(如图2)。而在去中心化联邦网络中,节点之间是点到点(p2p)的连接方式(如图3)。由于每一个节点都没有全局视角(即各节点无法知道网络中不与自己相连接的节点的信息),所以直接使用中心化联邦学习的模型聚合公式将使得模型无法收敛。
[0050]
因此,本发明考虑了节点的出度作为聚合公式的变量之一,所述模型聚合公式为:
[0051][0052]
其中,w
t+1
代表第t+1次迭代的模型权重,w代表模型权重,pi代表第i个节点聚合时的权重且di代表节点i的出度,di代表第i个节点的数据集大小,n代表节点总数,dj代表节点j的出度,dj代表第个节点的数据集大小,代表第i个节点第t+1次迭代的权重模型。
[0053]
s5:控制所述目标节点根据替换前后的模型性能对各所述从属节点的信任度进行打分,得到打分结果;
[0054]
可选择地,所述步骤s5包括:
[0055]
s51:给定所述目标节点初次连接当前从属节点时,所述当前从属节点的分数为0;
[0056]
s52:判断替换前后的模型的准确率是否提高,若是,控制所述目标节点提高参与本次聚合的部分从属节点的分数,否则,控制所述目标节点降低参与本次聚合的部分从属节点的分数。
[0057]
可选择地,所述最新的模型权重是通过模型权重生成公式得到的,所述模型权重生成公式为:
[0058]
[0059]
其中,θi→j代表第i个节点对第j个节点的采样概率,ci→j代表节点j在节点i的分数。
[0060]
这里,信任模块中,每个节点对相连的其他节点会有一个信任分数ci→j,然后θi→j是通过ci→j变换得到的,因为ci→j是一个实数,优质节点分数高,劣质节点分数低,但不能直接用ci→j来对优质节点做奖励,对劣质节点做惩罚,因为实数没有这个意义。所以这里是把实数ci→j转换成一个概率θi→j,这个概率决定了某一个节点被采样到的概率。所以优质节点会被经常采样到,而劣质节点会不太容易被采样到,甚至永远不被采样到。通过利用这样的办法以对不同节点做奖励和惩罚。
[0061]
s6:控制所述目标节点根据所述打分结果,利用梯度下降方法,在本地数据集上优化所述替换后的本地模型;
[0062]
s7:更换目标节点并重复步骤s2-s6,直到完成预设条件。
[0063]
这里,预设条件可以是训练次数,也可以是数据量,当然,本发明并不限于预设条件的内容,本领域技术人员可以结合本发明和实际情况进行具体设置。
[0064]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1