横向联邦学习系统优化方法、设备及可读存储介质转让专利

申请号 : CN202010064745.X

文献号 : CN111275188B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程勇梁新乐刘洋陈天健

申请人 : 深圳前海微众银行股份有限公司

摘要 :

本发明公开了一种横向联邦学习系统优化方法、设备及可读存储介质,所述方法包括:随机确定待训练的神经网络模型的神经元启闭模式;将神经元启闭模式发送给各参与设备,以供各参与设备按照神经元启闭模式对各自本地的神经网络模型中的神经元进行启闭处理,并对处理后的神经网络模型进行本地训练得到本地模型参数更新;对各本地模型参数更新进行融合,将融合得到的全局模型参数更新发送给各参与设备,以供各参与设备根据全局模型参数更新对各自本地的所述神经网络模型进行模型更新。本发明中所采用的随机选择神经元关闭的策略,相对于现有的避免过拟合现象的方案,能够很好地与联邦学习结合,不会带来过多额外的时间成本和计算资源消耗。

权利要求 :

1.一种横向联邦学习系统优化方法,其特征在于,应用于参与横向联邦学习的协调设备,协调设备与参与横向联邦学习的各参与设备通信连接,所述方法包括:随机确定待训练的神经网络模型的神经元启闭模式,其中,在所述神经元启闭模式下所述神经网络模型的部分神经元处于关闭状态,所述神经元启闭模式是表示所述神经网络模型中各个神经元是开启状态还是关闭状态的一种组合模式;

将所述神经元启闭模式发送给各参与设备,以供各参与设备按照所述神经元启闭模式对各自本地的所述神经网络模型中的神经元进行启闭处理,并对处理后的神经网络模型进行本地训练,得到本地模型参数更新并返回;

对从各参与设备接收到的本地模型参数更新进行融合,将融合得到的全局模型参数更新发送给各参与设备,以供各参与设备根据所述全局模型参数更新对各自本地的所述神经网络模型进行模型更新。

2.如权利要求1所述的横向联邦学习系统优化方法,其特征在于,所述随机确定待训练的神经网络模型的神经元启闭模式的步骤包括:随机确定各次全局模型更新中各期遍历下采用各小批训练数据对待训练的神经网络模型进行训练时的神经元启闭模式,其中,各参与设备各自本地的训练数据被划分为相同批数的多个小批训练数据,参与设备遍历一次本地的训练数据为一期,各参与设备本地训练的期数相同。

3.如权利要求2所述的横向联邦学习系统优化方法,其特征在于,所述将所述神经元启闭模式发送给各参与设备的步骤包括:将所述神经元启闭模式采用K*M*N维矩阵的形式分发给各参与设备,其中,K是各参与设备本地训练的期数,M是各参与设备中小批训练数据的批数,N是所述神经网络模型中神经元的个数,所述矩阵中各个元素的值用于指示对应神经元的启闭状态。

4.如权利要求2和3中任一项所述的横向联邦学习系统优化方法,其特征在于,所述随机确定各次全局模型更新中各期遍历下采用各小批训练数据对待训练的神经网络模型进行训练时的神经元启闭模式的步骤之前,还包括:获取各参与设备本地的小批训练数据的数据量;

根据所述数据量设置各参与设备本地模型更新的学习率,以供各参与设备按照所述学习率进行本地模型更新,其中,所述学习率与所述数据量呈正比。

5.如权利要求4所述的横向联邦学习系统优化方法,其特征在于,所述对从各参与设备接收到的本地模型参数更新进行融合的步骤包括:对从各参与设备接收到的本地模型参数更新进行加权平均,得到所述全局模型参数更新,其中,加权平均操作中所采用的各参与设备的权重是根据各参与设备对应的所述学习率计算得到。

6.一种横向联邦学习系统优化方法,其特征在于,应用于参与横向联邦学习的参与设备,参与设备与参与横向联邦学习的协调设备通信连接,所述方法包括:将生成器参数输入随机数生成器,根据所述随机数生成器的输出结果确定待训练的神经网络模型的神经元启闭模式,其中,在所述神经元启闭模式下所述神经网络模型的部分神经元处于关闭状态,所述神经元启闭模式是表示所述神经网络模型中各个神经元是开启状态还是关闭状态的一种组合模式,各参与设备在对所述神经网络模型的各次本地训练中,对应采用相同的所述生成器参数输入相同的所述随机数生成器;

按照所述神经元启闭模式对本地的所述神经网络模型中的神经元进行启闭处理,并对处理后的神经网络模型进行本地训练,得到本地模型参数更新并发送给协调设备;

采用从协调设备接收到的全局模型参数更新对本地的所述神经网络模型进行模型更新,其中,协调设备对从各参与设备接收到的本地模型参数更新进行融合得到的所述全局模型参数更新。

7.如权利要求6所述的横向联邦学习系统优化方法,其特征在于,所述生成器参数包括全局模型更新的迭代索引、本地训练的期索引、小批训练数据的批索引和所述神经网络模型的神经元索引,其中,各参与设备各自本地的训练数据被划分为相同批数的多个小批训练数据,参与设备遍历一次本地的训练数据为一期,各参与设备本地训练的期数相同。

8.如权利要求6和7中任一项所述的横向联邦学习系统优化方法,其特征在于,所述按照所述神经元启闭模式对本地的所述神经网络模型中的神经元进行启闭处理的步骤包括:根据所述神经元启闭模式确定本地的所述神经网络模型中的待关闭神经元;

将所述待关闭神经元的输出设置为零以关闭所述待关闭神经元。

9.一种横向联邦学习系统优化设备,其特征在于,所述横向联邦学习系统优化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的横向联邦学习系统优化程序,所述横向联邦学习系统优化程序被所述处理器执行时实现如权利要求1至8中任一项所述的横向联邦学习系统优化方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有横向联邦学习系统优化程序,所述横向联邦学习系统优化程序被处理器执行时实现如权利要求1至8中任一项所述的横向联邦学习系统优化方法的步骤。

说明书 :

横向联邦学习系统优化方法、设备及可读存储介质

技术领域

[0001] 本发明涉及机器学习技术领域,尤其涉及一种横向联邦学习系统优化方法、设备及可读存储介质。

背景技术

[0002] 随着人工智能的发展,人们为解决数据孤岛的问题,提出了“联邦学习”的概念,使得联邦双方在不用给出己方数据的情况下,也可进行模型训练得到模型参数,并且可以避
免数据隐私泄露的问题。横向联邦学习,也称为特征对齐的联邦学习(feature‑aligned 
federated learning),是在各个参与者的数据特征重叠较多(即数据特征是对齐的),而用
户重叠较少的情况下,取出参与者数据特征相同而用户不完全相同的那部分数据进行联合
机器学习。
[0003] 实际应用时,在横向联邦学习的模型训练过程中,如果模型的参数太多,而训练样本又少,训练出来的模型很容易产生过拟合的现象,过拟合具体的表现是训练得到的模型
在训练数据上损失函数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准
确率较低,即模型的泛化能力非常差。
[0004] 为解决这一问题,现有方案通过调整模型超参(hyper‑parameter)来避免模型过拟合,或者是训练多个模型进行组合,从而避免过拟合。但是调超参和训练多个模型都需要
花费较长时间,应用于联邦学习中,将导致训练的时间成本过高,也会消耗过多的计算资
源。

发明内容

[0005] 本发明的主要目的在于提供一种横向联邦学习系统优化方法、设备及可读存储介质,旨在解决现有避免过拟合现象的方案应用于联邦学习场景,模型训练的时间成本高、计
算资源消耗较多的问题。
[0006] 为实现上述目的,本发明提供一种横向联邦学习系统优化方法,应用于参与横向联邦学习的协调设备,协调设备与参与横向联邦学习的各参与设备通信连接,所述方法包
括:
[0007] 随机确定待训练的神经网络模型的神经元启闭模式,其中,在所述神经元启闭模式下所述神经网络模型的部分神经元处于关闭状态;
[0008] 将所述神经元启闭模式发送给各参与设备,以供各参与设备按照所述神经元启闭模式对各自本地的所述神经网络模型中的神经元进行启闭处理,并对处理后的神经网络模
型进行本地训练,得到本地模型参数更新并返回;
[0009] 对从各参与设备接收到的本地模型参数更新进行融合,将融合得到的全局模型参数更新发送给各参与设备,以供各参与设备根据所述全局模型参数更新对各自本地的所述
神经网络模型进行模型更新。
[0010] 可选地,所述随机确定待训练的神经网络模型的神经元启闭模式的步骤包括:
[0011] 随机确定各次全局模型更新中各期遍历下采用各小批训练数据对待训练的神经网络模型进行训练时的神经元启闭模式,其中,各参与设备各自本地的训练数据被划分为
相同批数的多个小批训练数据,参与设备遍历一次本地的训练数据为一期,各参与设备本
地训练的期数相同。
[0012] 可选地,所述将所述神经元启闭模式发送给各参与设备的步骤包括:
[0013] 将所述神经元启闭模式采用K*M*N维矩阵的形式分发给各参与设备,其中,K是各参与设备本地训练的期数,M是各参与设备中小批训练数据的批数,N是所述神经网络模型
中神经元的个数,所述矩阵中各个元素的值用于指示对应神经元的启闭状态。
[0014] 可选地,所述随机确定各次全局模型更新中各期遍历下采用各小批训练数据对待训练的神经网络模型进行训练时的神经元启闭模式的步骤之前,还包括:
[0015] 获取各参与设备本地的小批训练数据的数据量;
[0016] 根据所述数据量设置各参与设备本地模型更新的学习率,以供各参与设备按照所述学习率进行本地模型更新,其中,所述学习率与所述数据量呈正比。
[0017] 可选地,所述对从各参与设备接收到的本地模型参数更新进行融合的步骤包括:
[0018] 对从各参与设备接收到的本地模型参数更新进行加权平均,得到所述全局模型参数更新,其中,加权平均操作中所采用的各参与设备的权重是根据各参与设备对应的所述
学习率计算得到。
[0019] 为实现上述目的,本发明还提供一种横向联邦学习系统优化方法,应用于参与横向联邦学习的参与设备,所述参与设备与参与横向联邦学习的协调设备通信连接,所述方
法包括:
[0020] 将生成器参数输入随机数生成器,根据所述随机数生成器的输出结果确定待训练的神经网络模型的神经元启闭模式,其中,在所述神经元启闭模式下所述神经网络模型的
部分神经元处于关闭状态,各参与设备在对所述神经网络模型的各次本地训练中,对应采
用相同的所述生成器参数输入相同的所述随机数生成器;
[0021] 按照所述神经元启闭模式对本地的所述神经网络模型中的神经元进行启闭处理,并对处理后的神经网络模型进行本地训练,得到本地模型参数更新并发送给协调设备;
[0022] 采用从协调设备接收到的全局模型参数更新对本地的所述神经网络模型进行模型更新,其中,协调设备对从各参与设备接收到的本地模型参数更新进行融合得到的所述
全局模型参数更新。
[0023] 可选地,所述生成器参数包括全局模型更新的迭代索引、本地训练的期索引、小批训练数据的批索引和所述神经网络模型的神经元索引,其中,各参与设备各自本地的训练
数据被划分为相同批数的多个小批训练数据,参与设备遍历一次本地的训练数据为一期,
各参与设备本地训练的期数相同。
[0024] 可选地,所述按照所述神经元启闭模式对本地的所述神经网络模型中的神经元进行启闭处理的步骤包括:
[0025] 根据所述神经元启闭模式确定本地的所述神经网络模型中的待关闭神经元;
[0026] 将所述待关闭神经元的输出设置为零以关闭所述待关闭神经元。
[0027] 为实现上述目的,本发明还提供一种横向联邦学习系统优化设备,所述横向联邦学习系统优化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行
的横向联邦学习系统优化程序,所述横向联邦学习系统优化程序被所述处理器执行时实现
如上所述的横向联邦学习系统优化方法的步骤。
[0028] 此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有横向联邦学习系统优化程序,所述横向联邦学习系统优化程序被处理器
执行时实现如上所述的横向联邦学习系统优化方法的步骤。
[0029] 本发明中,通过协调设备随机确定神经网络模型的神经元启闭模式,并发送给各个参与设备,供各个参与设备根据神经元启闭模式对神经网络模型中的神经元进行启闭处
理,再对处理后的神经网络模型进行本地训练,使得在联邦学习的各次全局模型更新中,神
经网络模型中的各个神经元随机关闭,减少了神经元节点之间的相互作用,使得训练得到
的神经网络模型不会太依赖某些局部的特征,提高模型泛化能力。并且,由于是由协调设备
随机确定神经元启闭模式,并统一发送给各个参与设备,使得各个参与设备本地训练时对
神经元的关闭处理是对齐的,从而避免了各个参与设备的随机选择结果不统一而造成随机
选择神经元关闭的策略失去统计意义。并且,本发明实施例中所采用的随机选择神经元关
闭的策略,相对于现有的避免过拟合现象的方案,能够很好地与联邦学习结合,不会带来过
多额外的时间成本和计算资源消耗。

附图说明

[0030] 图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
[0031] 图2为本发明横向联邦学习系统优化方法第一实施例的流程示意图;
[0032] 图3为本发明实施例涉及的一种对神经网络模型进行随机选择神经元关闭的结果示意图;
[0033] 图4为本发明实施例涉及的一种参与设备A和B随机数选择神经元关闭的结果对齐的示意图。
[0034] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0035] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0036] 如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
[0037] 需要说明的是,本发明实施例横向联邦学习系统优化设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。
[0038] 如图1所示,该横向联邦学习系统优化设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组
件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘
(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选
的可以包括标准的有线接口、无线接口(如WI‑FI接口)。存储器1005可以是高速RAM存储器,
也可以是稳定的存储器(non‑volatile memory),例如磁盘存储器。存储器1005可选的还可
以是独立于前述处理器1001的存储装置。
[0039] 本领域技术人员可以理解,图1中示出的设备结构并不构成对横向联邦学习系统优化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件
布置。
[0040] 如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及横向联邦学习系统优化程序。
[0041] 当图1中所示的设备是参与横向联邦学习的协调设备时,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与参与横向联邦学习的各个参与设备建立
通信连接;而处理器1001可以用于调用存储器1005中存储的横向联邦学习系统优化程序,
并执行以下操作:
[0042] 随机确定待训练的神经网络模型的神经元启闭模式,其中,在所述神经元启闭模式下所述神经网络模型的部分神经元处于关闭状态;
[0043] 将所述神经元启闭模式发送给各参与设备,以供各参与设备按照所述神经元启闭模式对各自本地的所述神经网络模型中的神经元进行启闭处理,并对处理后的神经网络模
型进行本地训练,得到本地模型参数更新并返回;
[0044] 对从各参与设备接收到的本地模型参数更新进行融合,将融合得到的全局模型参数更新发送给各参与设备,以供各参与设备根据所述全局模型参数更新对各自本地的所述
神经网络模型进行模型更新。
[0045] 进一步地,所述随机确定待训练的神经网络模型的神经元启闭模式的步骤包括:
[0046] 随机确定各次全局模型更新中各期遍历下采用各小批训练数据对待训练的神经网络模型进行训练时的神经元启闭模式,其中,各参与设备各自本地的训练数据被划分为
相同批数的多个小批训练数据,参与设备遍历一次本地的训练数据为一期,各参与设备本
地训练的期数相同。
[0047] 进一步地,所述将所述神经元启闭模式发送给各参与设备的步骤包括:
[0048] 将所述神经元启闭模式采用K*M*N维矩阵的形式分发给各参与设备,其中,K是各参与设备本地训练的期数,M是各参与设备中小批训练数据的批数,N是所述神经网络模型
中神经元的个数,所述矩阵中各个元素的值用于指示对应神经元的启闭状态。
[0049] 进一步地,所述随机确定各次全局模型更新中各期遍历下采用各小批训练数据对待训练的神经网络模型进行训练时的神经元启闭模式的步骤之前,还包括:
[0050] 获取各参与设备本地的小批训练数据的数据量;
[0051] 根据所述数据量设置各参与设备本地模型更新的学习率,以供各参与设备按照所述学习率进行本地模型更新,其中,所述学习率与所述数据量呈正比。
[0052] 进一步地,所述对从各参与设备接收到的本地模型参数更新进行融合的步骤包括:
[0053] 对从各参与设备接收到的本地模型参数更新进行加权平均,得到所述全局模型参数更新,其中,加权平均操作中所采用的各参与设备的权重是根据各参与设备对应的所述
学习率计算得到。
[0054] 当图1中所示的设备是参与横向联邦学习的参与设备时,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与参与横向联邦学习的协调设备建立通信
连接;而处理器1001可以用于调用存储器1005中存储的横向联邦学习系统优化程序,并执
行以下操作:
[0055] 将生成器参数输入随机数生成器,根据所述随机数生成器的输出结果确定待训练的神经网络模型的神经元启闭模式,其中,在所述神经元启闭模式下所述神经网络模型的
部分神经元处于关闭状态,各参与设备在对所述神经网络模型的各次本地训练中,对应采
用相同的所述生成器参数输入相同的所述随机数生成器;
[0056] 按照所述神经元启闭模式对本地的所述神经网络模型中的神经元进行启闭处理,并对处理后的神经网络模型进行本地训练,得到本地模型参数更新并发送给协调设备;
[0057] 采用从协调设备接收到的全局模型参数更新对本地的所述神经网络模型进行模型更新,其中,协调设备对从各参与设备接收到的本地模型参数更新进行融合得到的所述
全局模型参数更新。
[0058] 进一步地,所述生成器参数包括全局模型更新的迭代索引、本地训练的期索引、小批训练数据的批索引和所述神经网络模型的神经元索引,其中,各参与设备各自本地的训
练数据被划分为相同批数的多个小批训练数据,参与设备遍历一次本地的训练数据为一
期,各参与设备本地训练的期数相同。
[0059] 进一步地,所述按照所述神经元启闭模式对本地的所述神经网络模型中的神经元进行启闭处理的步骤包括:
[0060] 根据所述神经元启闭模式确定本地的所述神经网络模型中的待关闭神经元;
[0061] 将所述待关闭神经元的输出设置为零以关闭所述待关闭神经元。
[0062] 基于上述的结构,提出横向联邦学习系统优化方法的各个实施例。
[0063] 参照图2,图2为本发明横向联邦学习系统优化方法第一实施例的流程示意图。
[0064] 本发明实施例提供了横向联邦学习系统优化方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或
描述的步骤。
[0065] 本发明横向联邦学习系统优化方法第一实施例应用于参与横向联邦学习的协调设备,协调设备与参与横向联邦学习的多个参与设备通信连接,本发明实施例涉及的协调
设备和参与设备可以是智能手机、个人计算机和服务器等设备。在本实施例中,所述横向联
邦学习系统优化方法包括:
[0066] 步骤S10,随机确定待训练的神经网络模型的神经元启闭模式,其中,在所述神经元启闭模式下所述神经网络模型的部分神经元处于关闭状态;
[0067] 在本实施例中,协调设备与各参与设备可通过询问握手认证、身份认证预先建立通信连接,并确定本次联邦学习待训练的神经网络模型。可以是各个参与设备本地都构建
相同或相似结构的该神经网络模型,也可以是由协调设备构建神经网络模型后发送给各个
参与设备。各个参与设备本地拥有用于训练神经网络模型的训练数据。
[0068] 在横向联邦学习中,协调设备与参与设备通过相互配合,对待训练的该神经网络模型进行多次全局模型更新,模型更新是指更新神经网络模型的模型参数,如神经元之间
的连接权重值,最后得到符合质量要求的神经网络模型。一次全局模型更新中,各个参与设
备采用各自本地的训练数据对本地的神经网络模型进行本地训练,得到本地模型参数更
新,本地模型参数更新可以是用于更新模型参数的梯度信息,也可以是本地更新后的模型
参数;各个参与设备将各自的本地模型参数更新发送给协调设备;协调设备对各个本地模
型参数更新进行融合,如进行加权平均,得到全局模型参数更新,并发送给各个参与设备;
各个参与设备采用全局模型参数更新来更新本地的神经网络模型的模型参数,即对本地的
神经网络模型进行模型更新,即完成了一次全局模型更新。每一次全局模型更新后,各个参
与设备本地的神经网络模型的模型参数是同步的。
[0069] 在本实施例中,为避免联邦学习训练得到的神经网络模型出现过拟合现象,由协调设备随机确定参与设备在本地训练时本地神经网络模型的神经元启闭模式。其中,神经
网络模型中有多个神经元,神经元启闭模式是表示神经网络模型中各个神经元是开启状态
还是关闭状态的一种组合模式,在神经元启闭模式下神经网络模型的部分神经元是处于关
闭状态的;神经元处于关闭状态可以是该神经元的输出被置为0,或者是该神经元不输出到
下一个神经元,或者是该神经元与下游神经元断开连接。若一个神经元处于关闭状态,那么
该神经元在神经网络模型中将不发挥作用。也即,由协调设备随机确定各个参与设备在本
地训练时神经网络模型中哪个神经元应该关闭,哪个神经元应该开启。
[0070] 如图3所示,为一种对神经网络模型进行随机选择神经元关闭的结果示意图。通过随机选择神经网络模型中部分神经元关闭,可以减少特征检测器(隐藏层神经元节点)间的
相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用,从而使得训练
得到的神经网络模型不会太依赖某些局部的特征,提高模型泛化能力,避免了过拟合现象。
需要说明的是,不管神经网络模型的输出层(也称为最后一层)的神经元的个数是1个或者
多个,对输出层都不做随机选择,也即上述神经元启闭模式中不包括输出层神经元;而对于
神经网络模型的输入层(也称为第一层)的神经元是可以进行随机选择的,即随机选择哪些
特征作为输入。
[0071] 协调设备可以在一次全局模型更新开始之前,随机确定本次全局模型更新中神经网络模型的神经元启闭模式;也可以是在联邦学习开始之前,随机确定后面多次全局模型
更新中神经网络模型的神经元启闭模式。需要说明的是,每一次都是随机确定的,因此各次
全局模型更新中神经网络模型的神经元启闭模式不一定相同。
[0072] 随机确定的方式有多种,例如为了确定一次全局模型更新中各参与设备本地训练时神经网络模型中的第一个神经元的启闭状态,可以采用随机数生成器生成一个随机数,
将该随机数与一个预设值进行比较,若大于该预设值,就确定关闭该神经元,若不大于该预
设值,则确定不关闭该神经元。
[0073] 步骤S20,将所述神经元启闭模式发送给各参与设备,以供各参与设备按照所述神经元启闭模式对各自本地的所述神经网络模型中的神经元进行启闭处理,并对处理后的神
经网络模型进行本地训练,得到本地模型参数更新并返回;
[0074] 协调设备在确定了神经元启闭模式后,将神经元启闭模式发送给各个参与设备。神经元启闭模式的形式不限,例如,可以是协调设备和参与设备预先规定了神经网络模型
中各个神经元的编号,协调设备向参与设备发送需要关闭的神经元的编号。各个参与设备
在接收到神经元启闭模式后,在对各自本地的神经网络模型进行本地训练之前,先按照神
经元启闭模式对神经网络模型中的各个神经元进行启闭处理。具体地,神经元启闭模式中
指示关闭的神经元,就进行关闭处理,未指示关闭的神经元或指示开启的神经元,就不进行
关闭处理。启闭处理后,参与设备再对处理后的神经网络模型进行本地训练,得到本地模型
参数更新。具体地,参与设备可以是将本地的训练数据输入当前的神经网络模型,得到模型
输出;根据模型输出和参与设备本地的数据标签计算损失函数,再计算损失函数对模型参
数的梯度信息,将梯度信息作为本地模型参数更新发送给协调设备。也可以是参与设备将
本地的训练数据输入当前的神经网络模型,得到模型输出;根据模型输出和参与设备本地
的数据标签来计算损失函数,再计算损失函数对模型参数的梯度,再采用梯度来更新模型
参数,将更新后的模型参数作为本地模型参数更新发送给协调设备。
[0075] 参与设备对神经元进行关闭处理可以是将这个神经元断开与下游神经元的连接,也可以是将该神经元的输出不传递给下一神经元,也可以是将这个神经元的激活函数的输
出设置为0。在一次本地模型参数更新过程中,那些被选择断开的连接对应的连接权重也被
置为0(即对应的模型参数也被置为0),与断开的连接对应的梯度也被置为0。如果参与设备
是向协调设备发送梯度信息,则被置为0的梯度信息可以不用传输给协调设备。
[0076] 需要说明的是,协调设备将一次本地训练中要使用的神经元启闭模式发送给各个参与设备,各个参与设备在该次本地训练中所使用的神经元启闭模式就是相同的,处理后
的神经网络模型中神经元的启闭状态也是对齐的。如图4所示,参与设备A(图中参与者A)和
参与设备B(图中参与者B),处理后的神经网络模型中神经元的启闭状态是对齐的。从而保
证了同一次全局模型更新中各个参与设备都采用相同的随机选择的结果,避免各个参与设
备的随机选择结果不统一而造成随机选择神经元关闭的策略失去统计意义。
[0077] 还需要说明的是,各个参与设备对神经网络模型进行启闭处理,进行一次或多次本地模型更新后,需要对神经网络模型中关闭的神经元进行恢复,在下一次本地模型更新
时,再对神经网络模型进行启闭处理,也即多次启闭处理不是叠加的。
[0078] 步骤S30,对从各参与设备接收到的本地模型参数更新进行融合,将融合得到的全局模型参数更新发送给各参与设备,以供各参与设备根据所述全局模型参数更新对各自本
地的所述神经网络模型进行模型更新。
[0079] 协调设备接收各个参与设备发送的本地模型参数更新,并对各本地模型参数更新进行融合,得到全局模型参数更新。具体地,协调设备可以对各个本地模型参数更新进行加
权平均,权重值可以根据各个参与设备的具体情况来设置,如可以是根据各个参与设备本
地训练数据的数据量的比例来设置。协调设备将全局模型参数更新发送给各个参与设备。
各个参与设备根据全局模型参数更新对各自本地的神经网络模型进行模型更新。具体地,
若接收到的全局模型参数更新是梯度信息,则参与设备采用梯度信息和本地的神经网络模
型当前的模型参数计算更新后的模型参数,将更新后的模型参数作为最新的模型参数,即
完成了一次全局模型更新。若接收到的全局模型参数更新是模型参数,则参与设备采用该
模型参数作为最新的模型参数,即完成了一次全局模型更新。
[0080] 循环进行多次全局模型更新,当协调设备检测到满足预设停止条件时,可停止训练,得到最终训练完成的神经网络模型。预设停止条件可以是预先根据需要设置的条件,满
足条件时即停止训练,例如可以是损失函数收敛、迭代次数大于一个设定的次数或训练时
间大于一个设定的时间等。
[0081] 在本实施例中,通过协调设备随机确定神经网络模型的神经元启闭模式,并发送给各个参与设备,供各个参与设备根据神经元启闭模式对神经网络模型中的神经元进行启
闭处理,再对处理后的神经网络模型进行本地训练,使得在联邦学习的各次全局模型更新
中,神经网络模型中的各个神经元随机关闭,减少了神经元节点之间的相互作用,使得训练
得到的神经网络模型不会太依赖某些局部的特征,提高模型泛化能力。并且,由于是由协调
设备随机确定神经元启闭模式,并统一发送给各个参与设备,使得各个参与设备本地训练
时对神经元的关闭处理是对齐的,从而避免了各个参与设备的随机选择结果不统一而造成
随机选择神经元关闭的策略失去统计意义。并且,本发明实施例中所采用的随机选择神经
元关闭的策略,相对于现有的避免过拟合现象的方案,能够很好地与联邦学习结合,不会带
来过多额外的时间成本和计算资源消耗。
[0082] 进一步地,待训练的神经网络模型可以是用于预测银行的信贷风险,神经网络模型的输入可以是用户的特征数据,输出可以是对用户的风险评分,参与设备可以是多家银
行的设备,各自在本地拥有多个用户的样本数据,协调设备是独立于多家银行的第三方服
务器。协调设备与各个参与设备按照上述实施例中联邦学习的过程进行神经网络模型的训
练,得到最终用于信贷风险预测的神经网络模型。各家银行可采用训练得到的神经网络模
型来对用户的信贷风险进行预测,将用户的特征数据输入训练好的模型中,得到该用户的
风险评分。由于协调设备在训练过程中随机确定神经网络模型的神经元启闭模式发送给各
个参与设备,各个参与设备按照神经元启闭模式对本地的神经网络进行神经元启闭处理后
再进行本地训练,进而完成模型训练,使得训练得到的神经网络模型泛化能力提高,对训练
数据以外的新用户数据也具备较好的信贷风险预测能力。并且,联邦学习的过程也不会为
各家银行带来较多的时间成本,也节省了各家银行设备的计算资源。
[0083] 需要说明的是,待训练的神经网络模型还可以是用于除信贷风险预估以外其他的应用场景,如还可以应用于绩效等级预测,论文价值评价等,本发明实施例在此不做限定。
[0084] 进一步地,基于上述第一实施例,提出本发明向联邦学习系统优化方法第二实施例,在本实施例中,所述步骤S10包括:
[0085] 步骤S101,随机确定各次全局模型更新中各期遍历下采用各小批训练数据对待训练的神经网络模型进行训练时的神经元启闭模式,其中,各参与设备各自本地的训练数据
被划分为相同批数的多个小批训练数据,参与设备遍历一次本地的训练数据为一期,各参
与设备本地训练的期数相同。
[0086] 在本实施例中,各个参与设备本地的训练数据可以划分为多个小批训练数据,每个参与设备所划分的小批训练数据的批数保证相同。各个参与设备在本地训练时,可以进
行多期本地训练,参与设备遍历完一次本地的训练数据为一期,各个参与设备在同一次全
局模型更新中进行本地训练的期数相同。遍历的过程中,参与设备每次采用一批小批训练
数据对本地的神经网络模型进行一次本地模型更新,那么在一次全局模型更新中,一个参
与设备要进行的本地模型更新的次数是本地小批训练数据的批数乘以本地训练的期数。各
个参与设备可以协商确定小批训练数据的批数以及本地训练的期数;也可以是由协调设备
根据各个参与设备本地的训练数据的数据量统一确定批数和期数,再发送给各个参与设
备。
[0087] 通过将参与设备本地的训练数据划分为多个小批数据,可以使得参与设备每一次本地模型更新时要处理的数据量不会太大,从而降低设备的计算压力,避免数据过多而造
成处理器崩溃或计算时间过长。参与设备进行多期的本地训练可以使得参与设备本地的训
练数据得到充分利用,从而减少全局模型参数更新的次数,进而减少协调设备和参与设备
的通信消耗。
[0088] 基于此,协调设备可以随机确定各次全局模型更新中各期遍历下采用各小批训练数据对待训练的神经网络模型进行训练时的神经元启闭模式,然后将各个神经元启闭模式
发送给各个参与设备。
[0089] 协调设备可以是一次发送一个神经元启闭模式,发送时机是需要各个参与设备采用该神经元启闭模式进行某次本地模型更新之前。也可以将下一次全局模型更新中要用到
的神经元启闭模式一并发送给各个参与设备,此时发送的是下一次全局模型更新中每一期
遍历下采用每一批小批训练数据进行本地模型更新时需要的神经元启闭模式。需要说明的
是,协调设备可以是在发送神经元启闭模式时,携带指示信息,用于指示各个参与设备该神
经元启闭模式是用于哪一次的本地模型更新。采用各小批训练数据进行本地模型更新时,
可以采用相同的神经元启闭模式,也可以采用不相同的神经元启闭模式,也即,协调设备可
以确定每一期遍历中的两个或者多个小批训练数据对应的一个神经元启闭模式,而不一定
要为每一期遍历下每一小批训练数据都分别确定一个神经元启闭模式。
[0090] 参与设备在接收到神经元启闭模式后,采用该神经元启闭模式对本地的神经网络模型中的神经元进行启闭处理,并采用与该神经元启闭模型对应的小批训练数据对处理后
的神经网络模型进行本地模型更新。若参与设备接收到的是一次全局模型更新中所需要的
所有神经元启闭模式,则参与设备一次使用各神经元启闭模式进行各次本地模型更新。
[0091] 在本实施例中,通过将各个参与设备本地的训练数据划分为相同批数的小批训练数据,各个参与设备进行相同期数的本地训练,使得协调设备能够方便地统一各个参与设
备在各次本地模型更新时的神经元启闭模式,从而避免各个参与设备的神经元随机选择结
果不统一而使得神经元随机关闭的策略失去统计意义,保证了训练得到的神经网络模型的
泛化能力。
[0092] 进一步地,所述步骤S20包括:
[0093] 将所述神经元启闭模式采用K*M*N维矩阵的形式分发给各参与设备,其中,K是各参与设备本地训练的期数,M是各参与设备中小批训练数据的批数,N是所述神经网络模型
中神经元的个数,所述矩阵中各个元素的值用于指示对应神经元的启闭状态。
[0094] 进一步地,协调设备可以将神经元启闭模式采用K*M*N维矩阵的形式分发给各参与设备。其中,K是各个参与设备本地训练的期数,M是各参与设备中小批训练数据的批数,N
是神经网络模型中神经元的个数,该矩阵中各个元素的值用于指示对应神经元的启闭状
态。协调设备和参与设备可以预先协商确定矩阵中各个元素的取值,并规定不同的取值所
代表的含义,例如,该矩阵中各个元素的取值可以是0和1,0表示对应的神经元关闭,1表示
对应的神经元开启。
[0095] 该矩阵第三维的一列可以看作是一个长度为N的位图(bitmap),位图用于指示神经网络模型中N个神经元的启闭状态。该矩阵的第二维有M列,分别对应采用M个小批训练数
据进行的本地模型更新。矩阵的第一维有K行,分别对应K个期的本地训练。
[0096] 参与设备在接收到该矩阵后,可以根据矩阵中的各个元素的值,对应确定一次全局模型更新中各期遍历下采用各小批训练数据进行本地训练时,各个神经元的启闭状态,
进而对神经网络模型的神经元进行启闭处理,以完成各次本地训练。例如,在一次全局模型
更新中,在进行第一期遍历,采用第一小批训练数据进行本地训练,更新模型参数时,参与
设备获取矩阵中第(1,1,1)个元素到第(1,1,N)个元素的值,也就是获取了N个元素的值,分
别根据这N个元素的值,对应确定N个神经元的启闭状态。
[0097] 进一步地,协调设备可以是在一次全局模型更新开始之前,以一定概率P随机生成该矩阵,例如,对于第(k,m,n)个元素,协调设备可以生成一个0到1之间的随机数,如果生成
的该随机数大于该概率P,则协调设备将该矩阵的第(k,m,n)个元素设置为1;否则,协调设
备将该矩阵的第(k,m,n)个元素设置为0。其中,k=1,2,…,K;m=1,2,…,M;n=1,2,…,N。
[0098] 在本实施例中,协调设备采用矩阵的形式将神经元启闭模式发送给各个参与设备,由于矩阵的形式简单,数据量小,使得协调设备不需额外增加过多的通信开销来传递神
经元启闭模式,但保证了各个参与设备神经元启闭模式的对齐。
[0099] 进一步地,协调设备也可以是生成K*M个N维的位图,或者是,分别生成K个M*N的位图矩阵,并将生成的位图发送给各个参与设备,用于指示各个参与设备对神经网络模型进
行神经元启闭操作。
[0100] 进一步地,基于上述第一和第二实施例,提出本发明向联邦学习系统优化方法第三实施例,在本实施例中,所述步骤S101之前,还包括:
[0101] 步骤S40,获取各参与设备本地的小批训练数据的数据量;
[0102] 由于各个参与设备本地的训练数据的数据量不一定相同,而本地划分的小批训练数据的批数相同,所以各个参与设备本地的小批训练数据的数据量不一定相同,在这种情
况下,协调设备可以为各个参与设备设置不同的学习率,以使得各个参与设备本地训练的
进度能够保持同步。
[0103] 具体地,协调设备获取各个参与设备本地的小批训练数据的数据量。可以是各参与设备将本地的小批训练数据的数据量发送给协调设备。
[0104] 步骤S50,根据所述数据量设置各参与设备本地模型更新的学习率,以供各参与设备按照所述学习率进行本地模型更新,其中,所述学习率与所述数据量呈正比。
[0105] 协调设备根据获取到的各个数据量设置各个参与设备本地模型更新的学习率,可以是协调设备将确定好的学习率对应发送给各个参与设备。具体地,学习率可以与数据量
呈正比,例如,协调设备可以为其中一个参与设备设置一个学习率,如0.01,再计算其他参
与设备对应的数据量与该参与设备的数据量的比例,将计算得到的比例乘该学习率,就得
到了其他参与设备的学习率。例如,参与设备1中小批训练数据的数据量是1000,参与设备2
中小批训练数据的数据量是2000,若设置参与设备1的学习率为0.01,则计算得到参与设备
2的学习率为0.02。参与设备按照协调设备设置的学习率进行本地模型更新。
[0106] 进一步地,所述步骤S30中对从各参与设备接收到的本地模型参数更新进行融合的步骤包括:
[0107] 步骤S301,对从各参与设备接收到的本地模型参数更新进行加权平均,得到所述全局模型参数更新,其中,加权平均操作中所采用的各参与设备的权重是根据各参与设备
对应的所述学习率计算得到。
[0108] 协调设备在为参与设备分别设置了学习率后,协调设备在对各参与设备发送的本地模型参数更新进行加权平均时,也可以在权重中加入学习率的影响,也即,加权平均操作
中所采用的各个参与设备的权重可以是根据各个参与设备对应的学习率计算得到的。
[0109] 具体地,协调设备可以是预先根据其他的权重设置因素设置好各个参与设备的权重值后,将各个参与设备的权重值乘以对应的学习率,再进行归一化处理,得到各个参与设
备与学习率关联的权重,采用与学习率关联的权重对本地模型参数更新进行加权平均,得
到全局模型参数更新。
[0110] 在本实施例中,通过在对各个本地模型参数更新进行加权平均时,在权重中加入各个参与设备不同的学习率的影响,使得融合得到的全局模型参数更新更能够体现各个参
与设备本地训练数据对联邦学习的贡献,从而在整体上提高训练得到的神经网络模型的质
量。
[0111] 进一步地,基于上述第一、第二和第三实施例,提出本发明横向联邦学习系统优化方法第四实施例,在本实施例中,所述横向联邦学习系统优化方法应用于参与横向联邦学
习的参与设备,参与设备与参与横向联邦学习的协调设备通信连接,本发明实施例协调设
备和参与设备可以是智能手机、个人计算机和服务器等设备。在本实施例中,横向联邦学习
系统优化方法包括以下步骤:
[0112] 步骤A10,将生成器参数输入随机数生成器,根据所述随机数生成器的输出结果确定待训练的神经网络模型的神经元启闭模式,其中,在所述神经元启闭模式下所述神经网
络模型的部分神经元处于关闭状态,各参与设备在对所述神经网络模型的各次本地训练
中,对应采用相同的所述生成器参数输入相同的所述随机数生成器;
[0113] 在本实施例中,协调设备与各参与设备可通过询问握手认证、身份认证预先建立通信连接,并确定本次联邦学习待训练的神经网络模型。可以是各个参与设备本地都构建
相同或相似结构的该神经网络模型,也可以是由协调设备构建该神经网络模型后发送给各
个参与设备。各个参与设备本地拥有用于训练该神经网络模型的训练数据。
[0114] 在横向联邦学习中,协调设备与参与设备通过相互配合,对待训练的该神经网络模型进行多次全局模型更新,模型更新是指更新神经网络模型的模型参数,如神经元之间
的连接权重值,最后得到符合质量要求的神经网络模型。一次全局模型更新中,各个参与设
备采用各自本地的训练数据对本地的神经网络模型进行本地训练,得到本地模型参数更
新,本地模型参数更新可以是用于更新模型参数的梯度信息,也可以是本地更新后的模型
参数;各个参与设备将各自的本地模型参数更新发送给协调设备;协调设备对各个本地模
型参数更新进行融合,如进行加权平均,得到全局模型参数更新,并发送给各个参与设备;
各个参与设备采用全局模型参数更新来更新本地的神经网络模型的模型参数,即对本地的
神经网络模型进行模型更新,即完成了一次全局模型更新。每一次全局模型更新后,各个参
与设备本地的神经网络模型的模型参数是同步的。
[0115] 在本实施例中,为避免联邦学习训练得到的神经网络模型出现过拟合现象,可以由各个参与设备在各次本地训练时,随机选择待训练的神经网络模型中的部分神经元关
闭。神经元处于关闭状态可以是该神经元的输出被置为0,或者是该神经元不输出到下一个
神经元,或者是该神经元与下游神经元断开连接。
[0116] 通过随机数选择神经元关闭的策略,可以减少特征检测器(隐藏层神经元节点)间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用,从而使得训
练得到的神经网络模型不会太依赖某些局部的特征,提高模型泛化能力,避免了过拟合现
象。
[0117] 具体地,可以由各个参与设备本地可以设置相同的随机数发生器。可以通过各个参与设备互相协商一个随机数发生器,也可以是由协调设备将一个随机数发生器发生给各
个参与设备,以保证各个参与设备中的随机数发生器相同。
[0118] 各个参与设备将生成器参数输入随机数生成器,由随机数生成器生成一个或多个随机数。其中,生成器参数是随机数生成器的输入参数,随机数生成器根据该生成器参数,
产生一个随机数。需要说明的是,两个相同的随机数生成器,若分别输入相同的生成器参
数,所产生的随机数是相同的。
[0119] 参与设备根据随机数生成器生成的随机数确定待训练的神经网络模型的神经元启闭模式。神经网络模型中有多个神经元,神经元启闭模式是神经网络模型中各个神经元
是开启状态还是关闭状态的一种组合模式,在神经元启闭模式下神经网络模型的部分神经
元是处于关闭状态的。若一个神经元处于关闭状态,那么该神经元在神经网络模型中将不
发挥作用。
[0120] 需要说明的是,各个参与设备在联邦学习的过程中,每一次全局模型更新都会对本地的神经网络模型进行本地训练,各个参与设备在对神经网络模型的各次本地训练中,
对应采用相同的生成器参数输入各自本地的随机数生成器,以保证在一次全局模型更新
中,各个参与设备对本地的神经网络模型进行本地训练时所采用的神经元启闭模式是相同
的,即保证了同一次全局模型更新中各个参与设备都采用相同的随机选择的结果,避免各
个参与设备的随机选择结果不统一而造成随机选择神经元关闭的策略失去统计意义。
[0121] 各个参与设备根据随机数生成器生成的随机数确定神经元启闭模式的方式也可以是多种,例如,各个参与设备在进行本地训练之前,采用随机数生成器生成N个随机数,分
别对应N个神经元,将这个N个随机数与一个预设的值进行比较,若大于该预设的值,就确定
关闭对应的神经元,若不大于,则确定不关闭对应的神经元。
[0122] 步骤A20,按照所述神经元启闭模式对本地的所述神经网络模型中的神经元进行启闭处理,并对处理后的神经网络模型进行本地训练,得到本地模型参数更新并发送给协
调设备;
[0123] 参与设备在确定了神经元启闭模式后,在对各自本地的神经网络模型进行本地训练之前,先按照神经元启闭模式对神经网络模型中的各个神经元进行启闭处理。具体地,神
经元启闭模式中指示关闭的神经元,就进行关闭处理,未指示关闭的神经元或指示开启的
神经元,就不进行关闭处理。启闭处理后,参与设备再对处理后的神经网络模型进行本地训
练,得到本地模型参数更新。具体地,参与设备可以是将本地的训练数据输入当前的神经网
络模型,得到模型输出;根据模型输出和参与设备本地的数据标签计算损失函数,再计算损
失函数对模型参数的梯度信息,将梯度信息作为本地模型参数更新发送给协调设备。也可
以是参与设备将本地的训练数据输入当前的神经网络模型,得到模型输出;根据模型输出
和参与设备本地的数据标签来计算损失函数,再计算损失函数对模型参数的梯度,再采用
梯度来更新模型参数,将更新后的模型参数作为本地模型参数更新发送给协调设备。
[0124] 协调设备接收各个参与设备发送的本地模型参数更新,并对各本地模型参数更新进行融合,得到全局模型参数更新。具体地,协调设备可以对各个本地模型参数更新进行加
权平均,权重值可以根据各个参与设备的具体情况来设置,如可以是根据各个参与设备本
地训练数据的数据量的比例来设置。协调设备将全局模型参数更新发送给各个参与设备。
[0125] 进一步地,步骤A20中按照所述神经元启闭模式对本地的所述神经网络模型中的神经元进行启闭处理的步骤包括:
[0126] 步骤A201,根据所述神经元启闭模式确定本地的所述神经网络模型中的待关闭神经元;
[0127] 步骤A202,将所述待关闭神经元的输出设置为零以关闭所述待关闭神经元。
[0128] 参与设备可根据神经元启闭模式确定本地的神经网络模型中待关闭的神经元,即确定哪些神经元要关闭。将待关闭的神经元的输出设置为零,从而达到关闭该神经元的目
的。
[0129] 此外,参与设备对神经元进行关闭处理也可以是将这个神经元断开与下游神经元的连接,也可以是将该神经元的输出不传递给下一神经元。
[0130] 步骤A30,采用从协调设备接收到的全局模型参数更新对本地的所述神经网络模型进行模型更新,其中,协调设备对从各参与设备接收到的本地模型参数更新进行融合得
到的所述全局模型参数更新。
[0131] 参与设备接收协调设备发送的全局模型参数更新,根据全局模型参数更新对各自本地的神经网络模型进行模型更新。具体地,若接收到的全局模型参数更新是梯度信息,则
参与设备采用梯度信息和本地的神经网络模型当前的模型参数,计算更新后的模型参数,
将更新后的模型参数作为最新的模型参数,即完成了一次全局模型更新。若接收到的全局
模型参数更新是模型参数,则参与设备采用该模型参数作为最新的模型参数,即完成了一
次全局模型更新。
[0132] 循环进行多次全局模型更新,当协调设备或其中一个参与设备检测到满足预设停止条件时,可停止训练,得到最终训练完成的神经网络模型。预设停止条件可以是预先根据
需要设置的条件,满足条件时即停止训练,例如可以是损失函数收敛、迭代次数大于一个设
定的次数或训练时间大于一个设定的时间等。
[0133] 在本实施例中,通过各个参与设备将相同的生成器参数输入相同的随机数生成器,根据随机数生成器的输出结果来确定神经元启闭模式,并按照神经元启闭模式来进行
对神经网络模型中的神经元进行启闭处理,再对处理后的神经网络模型进行本地训练,使
得在联邦学习的各次全局模型更新中,神经网络模型中的各个神经元随机关闭,减少了神
经元节点之间的相互作用,使得训练得到的神经网络模型不会太依赖某些局部的特征,提
高模型泛化能力。并且,由于是各个参与设备在各次本地训练中,对应采用相同生成器参数
输入相同的随机数生成器,根据输出结果来确定神经元启闭模式,使得各个参与设备本地
训练时对神经元的关闭处理是对齐的,从而避免了各个参与设备的随机选择结果不统一而
造成随机选择神经元关闭的策略失去统计意义。并且,本发明实施例中中所采用的随机选
择神经元关闭的策略,相对于现有的避免过拟合现象的方案,能够很好地与联邦学习结合,
不会带来过多额外的时间成本和计算资源消耗。
[0134] 进一步地,各个参与设备本地的训练数据可以划分为多个小批训练数据,每个参与设备所划分的小批训练数据的批数保证相同。各个参与设备在本地训练时,可以进行多
期本地训练,参与设备遍历完一次本地的训练数据为一期,各个参与设备在同一次全局模
型更新中进行本地训练的期数相同。遍历的过程中,参与设备每次采用一批小批训练数据
对本地的神经网络模型进行一次本地模型更新,那么在一次全局模型更新中,一个参与设
备要进行的本地模型更新的次数是本地小批训练数据的批数乘以本地训练的期数。各个参
与设备可以协商确定小批训练数据的批数以及本地训练的期数;也可以是由协调设备根据
各个参与设备本地的训练数据的数据量统一确定批数和期数,再发送给各个参与设备。
[0135] 通过将参与设备本地的训练数据划分为多个小批,可以使得参与设备每一次本地模型更新时要处理的数据量不会太大,从而降低设备的计算压力,避免数据过多而造成处
理器崩溃或计算时间过长。参与设备进行多期的本地训练可以使得参与设备本地的训练数
据得到充分利用,从而减少全局模型参数更新的次数,进而减少协调设备和参与设备的通
信消耗。
[0136] 基于此,参与设备输入随机数生成器的生成器参数可包括全局模型更新的迭代索引、本地训练的期索引、小批训练数据的批索引和所述神经网络模型的神经元索引。即,参
与设备将全局模型更新的迭代索引、本地训练的期索引、小批训练数据的批索引和所述神
经网络模型的神经元索引输入随机数生成器,获得一个随机数,参与设备根据该随机数来
确定各个索引对应的神经元的启闭状态。
[0137] 例如,一个参与设备在第t次全局参数更新中第k期遍历下采用第m小批训练数据进行本地训练时,为确定第n个神经元的启闭状态,可以将t、k、m和n作为一个参数组,输入
随机数生成器,随机数生成器生成一个0到1之间的随机数ρ,如果ρ大于一个设定的值P,如
0.5,则参与设备确定关闭第n个神经元,若ρ不大于P,则参与设备确定不关闭第n个神经元。
[0138] 在本实施例中,通过将各个参与设备本地的训练数据划分为相同批数的小批训练数据,各个参与设备进行相同期数的本地训练,使得各个参与设备能够根据相同的随机数
生成器和生成器参数,方便地统一各个参与设备在各次本地模型更新时的神经元启闭模
式,从而避免各个参与设备的神经元随机选择结果不统一而使得神经元随机关闭的策略失
去统计意义,保证了训练得到的神经网络模型的泛化能力。
[0139] 此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有横向联邦学习系统优化程序,所述横向联邦学习系统优化程序被处理器执行时实现如下所述
的横向联邦学习系统优化方法的步骤。
[0140] 本发明横向联邦学习系统优化设备和计算机可读存储介质的各实施例,均可参照本发明横向联邦学习系统优化方法各个实施例,此处不再赘述。
[0141] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而
且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有
的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该
要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0142] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0143] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质
(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服
务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0144] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本发明的专利保护范围内。