一种联邦学习的泛化调整方法及联邦学习系统
未命名
09-29
阅读:104
评论:0
1.本发明涉及机器学习技术领域,特别涉及一种联邦学习的泛化调整方法及联邦学习系统。
背景技术:
2.机器学习技术已被广泛应用于数据挖掘等技术领域,经过大量数据训练出来的机器学习模型可适用于各类场景。但是随着数字化、信息化的不断深入,诸如手机中的传感器数据、监控摄像头数据、医院诊疗数据等数据隐私保护和数据安全问题也越来越受到重视。传统的基于中心学习范式的深度学习技术往往将各种渠道收集到的数据汇总到一个中心节点统一进行模型训练,这就使得其无法保证数据隐私在收集过程中不被泄漏。为了解决这一问题,有研究提出了联邦学习框架,其核心思想在于,在多个数据源共同参与模型训练时,不需要进行原始数据流转,仅通过交互模型中间参数进行模型联合训练,原始数据可以不出本地。这种方式可以实现数据隐私保护和数据共享分析的平衡,即“数据可用不可见”的数据应用模式,进而确保拥有数据的终端在训练过程中的隐私安全。具体而言,联邦学习框架在结构上分为一个中心服务器和多个终端,数据存储在各个终端上,每个终端负责在自己的数据上完成本地训练,并将本地模型参数或梯度上传到中心服务器;而中心服务器只负责聚合终端传入的参数,将聚合后的参数下发给各个终端。本地训练、中心聚合两个阶段交替进行,最终中心服务器上的聚合模型在各个终端数据上训练收敛,得到一个收敛的全局模型。
3.由于不同终端之间的数据分布存在差异,因此各个终端本地训练的模型存在较大差异,最终的全局模型性能较差,可能出现联邦学习的数据异构问题。目前多采用如下两种路径来解决这种终端之间数据分布差异不一致的条件下,全局模型面向新数据分布的泛化问题:一是将中心学习范式中提升泛化性的技术手段加入到联邦学习的本地训练阶段,包括数据增强、特征正则化等方式;二是在本地训练过程中约束本地模型和全局模型之间的差异,通过限制本地模型的优化方向实现全局模型的收敛。这些方法在全局优化目标上没有考虑不同终端的数据分布不同,依然采用了传统的独立同分布数据假设,将所有参与训练的数据视为从一个相同分布采样得到的样本。在这种假设下设计出的算法,从原理上无法适应新的不同数据分布的终端,产生了不可消除的算法偏见,因此模型的泛化性较差。
技术实现要素:
4.针对现有技术中的部分或全部问题,本发明第一方面提供一种联邦学习的泛化调整方法,包括:
5.在本地终端计算泛化差异;
6.在本地终端进行第r轮训练,得到第r轮次的本地模型;
7.将所述第r轮次的本地模型及所述泛化差异上传至服务器端;以及
8.在服务器端进行全局模型参数聚合,得到第r+1轮次的全局模型。
9.进一步地,所述泛化差异为第r-1轮次的联邦训练得到的本地模型损失函数值与所述第r轮次的全局模型在本地数据上的损失函数值的差值。
10.进一步地,在本地终端采用基于梯度下降原理的神经网络训练方式进行第r轮训练。
11.进一步地,全局模型参数聚合包括:
12.根据所述泛化差异调整聚合权重;以及
13.基于所述聚合权重进行全局模型参数聚合。
14.进一步地,根据所述泛化差异调整聚合权重包括,根据如下公式计算第i个本地终端第r轮次的聚合权重:
[0015][0016]
其中,
[0017]
其中,为第i个本地终端第r-1轮次的聚合权重,为第i个本地终端第r轮次的泛化差异,μ为本地终端上传的泛化差异的均值,m为本地终端总数,以及dr为调整步长。
[0018]
进一步地,所述调整步长随训练轮次线性衰减。
[0019]
进一步地,所述第i个本地终端的聚合权重的初始值为1/m。
[0020]
本发明第二方面提供一种联邦学习系统,包括:
[0021]
本地终端,包括泛化误差计算模块,所述泛化误差计算模块用于计算每轮次的泛化误差;以及
[0022]
服务器端,包括权重调整模块,所述权重调整模块用于根据泛化差异调整聚合权重。
[0023]
本发明第三方面提供一种计算机可读存储介质,其上存储有机器可读指令,所述机器可读指令在被处理器执行时执行根据如前所述的泛化调整方法的步骤。
[0024]
本发明提供的一种联邦学习的泛化调整方法及联邦学习系统,其采用了泛化调整技术。即一方面在本地终端训练阶段额外引入一个泛化差异计算步骤,另一方面在全局模型参数聚合阶段根据每个本地终端上传的泛化差异对聚合权重进行调整。泛化调整技术最小化了联邦学习训练过程中各个本地终端的泛化差异方差,而方差最小化可以有效地降低全局模型在跨域时的泛化误差,使得在数据跨域分布的条件下最终的全局优化目标接近真实期望的优化目标,进而使得联邦学习训练出的参数模型可以适用于不同数据分布的新终端,改善联邦领域的泛化问题。
附图说明
[0025]
为进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似
的标记表示。
[0026]
图1示出本发明一个实施例的一种联邦学习的泛化调整方法的流程示意图;以及
[0027]
图2示出本发明一个实施例的联邦学习系统的结构示意图。
具体实施方式
[0028]
以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构或操作以免模糊本发明的发明点。类似地,为了解释的目的,阐述了特定数量和配置,以便提供对本发明的实施例的全面理解。然而,本发明并不限于这些特定细节。
[0029]
在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
[0030]
需要说明的是,本发明的实施例以特定顺序对方法步骤进行描述,然而这只是为了阐述该具体实施例,而不是限定各步骤的先后顺序。相反,在本发明的不同实施例中,可根据实际需求的调节来调整各步骤的先后顺序。
[0031]
在本发明中,根据本发明的系统的各模块可以使用软件、硬件、固件或其组合来实现。当模块使用软件来实现时,可以通过计算机程序流程来实现模块的功能,例如模块可以通过存储在存储设备(如硬盘、内存等)中的代码段(如c、c++等语言的代码段)来实现,其中当所述代码段被处理器执行时能够实现模块的相应功能。当模块使用硬件来实现时,可以通过设置相应硬件结构来实现模块的功能,例如通过对现场可编程逻辑门阵列(fpga)等可编程器件进行硬件编程来实现模块的功能,或者通过设计包括多个晶体管、电阻和电容等电子器件的专用集成电路(as i c)来实现模块的功能。当模块使用固件来实现时,可以将模块的功能以程序代码形式写入设备的诸如eprom或eeprom之类的只读存储器中,并且当所述程序代码被处理器执行时能够实现模块的相应功能。另外,模块的某些功能可能需要由单独的硬件来实现或者通过与所述硬件协作来实现,例如检测功能通过相应传感器(如接近传感器、加速度传感器、陀螺仪等)来实现,信号发射功能通过相应通信设备(如蓝牙设备、红外通信设备、基带通信设备、wi-fi通信设备等)来实现,输出功能通过相应输出设备(如显示器、扬声器等)来实现,以此类推。
[0032]
现有的联邦学习技术中在全局优化目标上没有考虑不同终端的数据分布不同,而采用了独立同分布数据假设,将所有参与训练的数据视为从一个相同分布采样得到的样本。在这种假设下设计出的算法,从原理上无法适应新的不同数据分布的终端,因此模型的泛化性较差。具体而言,将所有终端的数据集合记为实际参与训练的m个终端的对应数据集为每个数据集都由数据x和标注y构成,记为则现有的技术方案均是设计一个带有参数θ模型f(x;θ),设置分类损失函数且最终的优化目标如下:
[0033][0034]
这一优化目标中不同终端在全局优化目标的占比pi只和数据量大小有关,且通常为固定值,其完全没有考虑不同终端的分布差异、及训练难易程度。基于此优化目标的算法技术更重视数据量大的终端,从而忽视了其余小数据量的终端。但是,在实际应用中终端的重要性并不能够通过数据量来代表,相反的,往往数据量小的终端对于算法泛化性的要求更高,需要获得更多的关注。现有的技术方案忽略了对全局优化目标的深入研究,产生了不可消除的算法偏见,使得在数据跨域分布的条件下最终的全局优化目标和真实期望的优化目标之间有差异,这种差异导致联邦学习训练出的参数模型在不同数据分布的新终端上性能受限。针对联邦学习中领域泛化问题的特性,本发明提出一种联邦学习的泛化调整方法,通过对每个终端节点向服务器端贡献的参数进行的泛化性估计去改变全局模型聚合过程中各终端贡献的本地模型参数权重,以动态调整全局优化目标。所述泛化调整方法通过实时监督训练过程中各个本地终端的泛化性指标,针对性地向更泛化的角度调整全局优化目标。所述泛化调整方法可以与现有的技术手段形成良好互补,与大部分现有技术方案相结合,更好地解决联邦领域的泛化问题。
[0035]
在本发明的实施例中,所述泛化调整方法包含本地终端部分和服务器端部分,分别在本地终端的模型训练阶段及服务器端的全局聚合阶段交替进行跨域泛化性增强的改进。其中在本地终端训练阶段使用基于梯度下降原理的本地模型训练步骤及基于全局模型和本地模型差异的泛化性指标计算,以及在服务器端的犬咀嚼和阶段使用基于各终端泛化差异方差的权重动态调节技术,并使用泛化调整后的参数聚合新的全局模型。
[0036]
下面结合实施例附图,对本发明的技术方案作进一步描述。
[0037]
图1示出本发明一个实施例的一种联邦学习的泛化调整方法的流程示意图。如图1所示,一种联邦学习的泛化调整方法,包括:
[0038]
首先,在步骤101,计算泛化差异。在本地终端的每一轮次的训练前首先进行泛化差异计算,其中第一轮次的训练前可省略该步骤,同时第一轮次训练所需的全局模型参数由服务器端初始化,并下发至各个本地终端。在本发明的一个实施例中,所述泛化差异根据上一轮次(第r-1轮次)的联邦训练得到的本地模型损失函数值与对应的本地训练产生的全局模型在本地数据上的损失函数值计算得到:
[0039][0040]
其中,所述对应的本地训练产生的全局模型是指基于上一轮次(第r-1轮次)的本地模型参数聚合得到的第r轮次的全局模型;
[0041]
接下来,在步骤102,本地训练。在本地终端进行第r轮训练,得到第r轮次的本地模型。在本发明的实施例中,并不限制本地终端的训练算法,可以使用任意的联邦学习本地终端的训练算法。例如在本发明的一个实施例中,在本地终端采用基于梯度下降原理的神经网络训练方式进行第r轮训练,具体的训练方法及步骤与传统联邦学习技术方案基本一致,在此不再赘述;
[0042]
接下来,在步骤103,上传本地模型及泛化差异。将步骤101中计算得到的各个本地
终端的泛化差异,以及步骤102中训练得到的各个本地终端的本地模型一同上传至服务器端;以及
[0043]
最后,在步骤104,参数聚合。服务器端接收到本地模型及泛化差异后,进行全局模型参数聚合,进而得到第r+1轮次的全局模型。如前所述,为了更好地改善泛化问题,在本发明的一个实施例中,在服务器端的全局模型参数聚合阶段,首先需要根据每个本地终端上传的泛化差异对聚合权重进行调整,然后再基于调整后的聚合权重进行全局模型参数聚合。其中调整聚合权重的基础或目标在于最大程度地降低整个系统中所有本地终端泛化差异的方差。发明人通过研究发现,增大某本地终端在参数聚合时的权重可以有效地降低对应本地终端上的泛化误差,但是对于本身泛化误差较小的节点,适当减小对应权重引起的泛化误差变化不大,基于此,在本发明的一个实施例中,根据如下公式调整各本地终端的聚合权重:
[0044][0045]
其中,
[0046]
指第i个本地终端第r轮次的聚合权重,在本发明的一个实施例中,对于一个存在m个本地节点的联邦学习系统,所述聚合权重的初始化值可以例如设置为1/m;以及
[0047]
其中,为第i个本地终端第r-1轮次的聚合权重,为第i个本地终端第r轮次的泛化差异,μ为m个本地节点上传的泛化差异的均值,m为本地终端总数,以及dr为调整步长。
[0048]
按照如前所述的步骤,进行多个轮次的训练,直至满足预设条件,完成整体的联邦训练。其中所述预设条件例如可为预设的训练轮次数、预设的泛化误差等。
[0049]
为了促使整体训练收敛,在本发明的一个实施例中,需要随着训练的进行逐渐降低权重调整的幅度,基于此,所述调整步长采用了线性步长衰减策略,即所述调整步长随训练轮次线性衰减。但应当理解的是,在本发明的其他实施例中,还采用其他的动态调整策略的算法,比如定步长调整,非线性步长衰减等等。
[0050]
如前所述的泛化调整方法可以与现有的大部分联邦学习算法相结合,在引入极小计算量和通信量的条件下有效地提升联邦学习框架中全局模型针对未知数据分布的泛化性。为验证其技术效果,在联邦领域泛化方面的四个基准数据上进行了测试,测试表明所述泛化调整方法在多种联邦学习方式的基础上均取得了目前最为先进的性能,使用所述泛化调整技术可以显著降低泛化差异的均值和方差。此外,通过测试领域分布上的损失函数曲面可视化,观察到相比于现有的联邦学习方法,使用本发明实施例中的泛化权重调整方法可以让本地模型与全局模型的一致性更高,全局模型落入损失函数曲面的高泛化性区域,因此可以极大地提高联邦学习整体模型在分布漂移的数据异构条件下的泛化性。此外,本发明实施例中的以节点方差反应全局模型泛化性的思路还可以应用于其他具有跨域数据分布的算法设计上,以改善泛化问题。
[0051]
基于如前所述的泛化调整方法,图2示出本发明一个实施例的联邦学习系统的结
构示意图。如图2所示,一种联邦学习系统,其包括m个本地终端2011、2012、
…
201m以及一个服务器端202。其中,相较于传统的联邦学习系统而言,所述本地终端还包括泛化误差计算模块211,所述泛化误差计算模块211用于根据如前所述的方法计算各个本地终端每轮次的泛化误差,以及所述服务器端202还包括权重调整模块221,所述权重调整模块221用于根据如前所述的方法,基于泛化差异调整聚合权重。所述联邦学习系统的其他模块与传统的联邦学习系统基本一致,在此不再赘述。
[0052]
尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。
技术特征:
1.一种联邦学习的泛化调整方法,其特征在于,包括步骤:在本地终端计算泛化差异;在本地终端进行第r轮训练,以得到第r轮次的本地模型,其中r为自然数;将所述第r轮次的本地模型及所述泛化差异上传至服务器端;以及在服务器端进行全局模型参数聚合,以得到第r+1轮次的全局模型。2.如权利要求1所述的泛化调整方法,其特征在于,所述泛化差异根据第r-1轮次的联邦训练得到的本地模型损失函数值与所述第r轮次的全局模型在本地数据上的损失函数值计算得到:3.如权利要求1所述的泛化调整方法,其特征在于,在本地终端采用基于梯度下降原理的神经网络训练方式进行第r轮训练。4.如权利要求1所述的泛化调整方法,其特征在于,全局模型参数聚合包括步骤:根据所述泛化差异调整聚合权重;以及基于所述聚合权重进行全局模型参数聚合。5.如权利要求4所述的泛化调整方法,其特征在于,根据所述泛化差异调整聚合权重包括步骤:根据如下公式计算第i个本地终端第r轮次的聚合权重:其中,其中,为第i个本地终端第r-1轮次的聚合权重,为第i个本地终端第r轮次的泛化差异,μ为本地终端上传的泛化差异的均值,m为本地终端总数,以及d
r
为调整步长。6.如权利要求5所述的泛化调整方法,其特征在于,所述调整步长随训练轮次线性衰减。7.如权利要求5所述的泛化调整方法,其特征在于,所述第i个本地终端的聚合权重的初始值为1/m。8.一种联邦学习系统,其特征在于,包括:本地终端,包括泛化误差计算模块,所述泛化误差计算模块被配置为计算每轮次的泛化误差;以及服务器端,包括权重调整模块,所述权重调整模块被配置为根据泛化差异调整聚合权重。9.一种计算机可读存储介质,其上存储有机器可读指令,其特征在于,所述机器可读指令在被处理器执行时执行根据权利要求1至7之一所述的泛化调整方法的步骤。
技术总结
本发明公开一种联邦学习的泛化调整方法,其首先在本地终端计算泛化差异,然后在本地终端进行第r轮训练,得到第r轮次的本地模型,并将第r轮次的本地模型及泛化差异上传至服务器端,最后在服务器端进行全局模型参数聚合,得到第r+1轮次的全局模型。其可以最小化联邦学习训练过程中各个本地终端的泛化差异方差,进而有效地降低全局模型在跨域时的泛化误差,改善联邦领域的泛化问题。善联邦领域的泛化问题。善联邦领域的泛化问题。
技术研发人员:王延峰 张瑞鹏 徐勤伟 姚江超 张娅
受保护的技术使用者:上海交通大学
技术研发日:2023.04.20
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/