一种半异步联邦学习方法及系统

文档序号:31663334发布日期:2022-09-27 23:28阅读:213来源:国知局
一种半异步联邦学习方法及系统

1.本发明属于人工智能数据挖掘分类以及安全人工智能技术领域,尤其涉及一种半异步联邦学习方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.众包是一种流行且相对经济的计算范式,旨在利用人的智慧来解决计算机难以处理的问题,例如,实体对齐和文本情感分析。然而,现在大多数的众包平台需要利用工人的隐私信息来进行任务的分配和执行,这可能会导致工人隐私信息的严重泄露,进而阻碍众包项目的实施和普及。由于联邦学习在保护数据隐私安全上的有效性,提出了使用联邦学习技术来实现众包工人的隐私保护,并称之为联邦众包,在联邦众包中,众包工人将收集到的数据保留在本地并使用本地设备进行模型训练,然后众包服务器将训练好的客户端模型进行聚合得到共享的服务器模型,从而实现隐私保护并且保证众包项目高质量完成。
4.但是,由于工人所持的设备在计算能力、网络资源以及数据量上的差异性,所以各个工人的设备完成模型训练并上传的时间也大相径庭,并且各个客户端因为所处环境不同导致数据分布具有非独立同分布(non-i.i.d.)的特性,如何在这种客户端设备和数据方面多异构场景下实现高效、稳定且有效的模型协同训练是当前将联邦学习应用到众包中亟待解决的难点。
5.目前,针对客户端设备响应时间差距较大的问题的解决方法有:采用完全异步的通信模式,即客户端完成训练之后就立即对服务器模型进行更新而无需等待其他速度慢的客户端;在训练开始之前,根据响应时间对客户端进行分组,采取组间异步但组内同步的训练模式;设定落后轮次阈值,当速度慢的客户端落后轮次超过阈值后,放弃当前训练进度并直接更新为最新的服务器模型;当上传到服务器的客户端模型达到指定数目之后再对服务器模型进行更新等方法。完全异步的联邦学习方法存在着通信阻塞并且落后的客户端模型会降低模型的收敛速率,而其他半异步的协同模式会导致在非独立同分布数据的情况下出现模型偏置的问题,这将严重限制他们在实际联邦众包场景中的应用。


技术实现要素:

6.为了解决上述背景技术中存在的技术问题,本发明提供一种半异步联邦学习方法及系统,每隔固定的时间对接收到的客户端模型进行聚合,有效地解决了现有异步联邦学习算法存在的通信瓶颈的问题;并使得众包工人收集到的数据保留在本地,而无需上传到服务器,从而实现众包工人的隐私保护。
7.为了实现上述目的,本发明采用如下技术方案:
8.本发明的第一个方面提供一种半异步联邦学习方法,其包括:
9.在某一轮次开始时,选择若干个客户端参与当前轮次的训练,为每个客户端分配
学习率,并将当前轮次的服务器模型和时间戳发送给选择的客户端,以使选择的客户端采用本地数据集对服务器模型进行优化,得到客户端模型并返回;
10.周期性地对某一轮次客户端返回的客户端模型进行分组后,依次进行组内聚合和组间聚合,对服务器模型进行更新,得到下一轮次的服务器模型。
11.进一步地,根据每个客户端的平均训练时间,为每个客户端分配学习率。
12.进一步地,所述客户端对服务器模型进行优化时,通过添加正则约束项的损失函数以及分配的学习率,使用梯度下降算法进行优化。
13.进一步地,将在同一轮次接收到服务器模型的客户端分为一组。
14.进一步地,所述组内聚合表示为:
[0015][0016]
其中,是第i组中的客户端c返回的客户端模型,为第t轮次第i组的组模型,表示客户端c的本地数据集中的样本数目,表示在第i轮次接收到服务器模型并在第t轮次中将客户端模型返回的客户端集合。
[0017]
进一步地,所述组间聚合表示为:
[0018][0019]
其中,α是超参数,表示客户端c的本地数据集中的样本数目,表示在第i轮次接收到服务器模型并在第t轮次中将客户端模型返回的客户端集合,为第t轮次中第i组的组模型,θ
t
表示第t轮次的聚合模型。
[0020]
进一步地,在某一轮次对服务器模型进行更新时,下一轮次的服务器模型为所述组间聚合后得到的聚合模型与当前轮次的服务器模型的加权和。
[0021]
本发明的第二个方面提供一种半异步联邦学习系统,其包括:
[0022]
客户端选择模块,其被配置为:在某一轮次开始时,选择若干个客户端参与当前轮次的训练,为每个客户端分配学习率,并将当前轮次的服务器模型和时间戳发送给选择的客户端,以使选择的客户端采用本地数据集对服务器模型进行优化,得到客户端模型并返回;
[0023]
模型更新模块,其被配置为:周期性地对某一轮次客户端返回的客户端模型进行分组后,依次进行组内聚合和组间聚合,对服务器模型进行更新,得到下一轮次的服务器模型。
[0024]
本发明的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种半异步联邦学习方法中的步骤。
[0025]
本发明的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种半异步联邦学习方法中的步骤。
[0026]
与现有技术相比,本发明的有益效果是:
[0027]
本发明提供了一种半异步联邦学习方法,其针对工人所持设备的响应时间差距较
大的问题,使用周期性聚合的半异步联邦学习机制,即每隔固定的时间对接收到的客户端模型进行聚合,可以有效地解决现有异步联邦学习算法存在的通信瓶颈的问题。
[0028]
本发明提供了一种半异步联邦学习方法,其使得众包工人收集到的数据保留在本地,而无需上传到服务器从而实现工人的隐私保护。
[0029]
本发明提供了一种半异步联邦学习方法,其为解决在异步通信模式下,不同速度的客户端参与模型更新的频率不同导致服务器模型的偏置问题,特别是在客户端数据呈非独立同分布的情况下尤为突出,依据响应时间对客户端模型进行分组,并为速度慢的组别分配较大的聚合权重,从而有效缓解了模型偏置的问题。
[0030]
本发明提供了一种半异步联邦学习方法,其使服务器根据客户端的训练速度慢的客户端分配较大的学习率,从而进一步缩小不同速度客户端之间模型训练速度的差异,平衡服务器模型的更新过程,加快模型的收敛速率。
附图说明
[0031]
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0032]
图1是本发明实施例一的一种半异步联邦学习方法的整体流程图;
[0033]
图2是本发明实施例一的一种半异步联邦学习方法的详细流程图。
具体实施方式
[0034]
下面结合附图与实施例对本发明作进一步说明。
[0035]
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0036]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0037]
实施例一
[0038]
本实施例提供了一种半异步联邦学习方法,在某一轮次开始时,选择若干个客户端参与当前轮次的训练,根据各个客户端的训练速度,为每个客户端分配学习率,并将当前轮次的服务器模型和时间戳发送给选择的客户端,以使选择的客户端采用本地数据集对服务器模型进行优化,得到客户端模型并返回;周期性地对某一轮次客户端返回的客户端模型进行分组后,依次进行组内聚合和组间聚合,对服务器模型进行更新。如图1和图2所示,包括如下步骤:
[0039]
s101、发布联邦众包任务。即,任务发布者在服务器上发布待训练的初始模型和训练数据的要求。
[0040]
即,服务器接收任务发布者端发布的初始模型(初始的服务器模型或初始的深度模型)和训练数据的要求,并将训练数据的要求发送至客户端。
[0041]
s102、工人收集数据。即,客户端接收到训练数据的要求后,众包工人根据训练数
据的要求收集到相应合适的数据,并上传至客户端。
[0042]
s103、选择客户端训练,包括:选择部分客户端,发送模型和轮次,以及分配自适应学习率。服务器选择一定比例的客户端参与当前轮次的训练过程,若全部的客户端都参与训练,则可能会造成通信阻塞,然后服务器将当前最新的服务器模型以及当前轮次发送给选定的客户端,同时服务器根据客户端训练速度为其分配相应的学习率,从而提高模型收敛速率和减小模型偏置。
[0043]
在每一轮次开始时,服务器首先随机选择固定比例c的客户端集合参与训练(若客户端设备正在训练模型则忽略),并将当前最新的服务器模型以及当前轮次(时间戳)发送给准备就绪的客户端(即选定的客户端),设当前轮次为第t轮,选择的客户端子集为s
t
,发送的模型和时间戳为则记为同时服务器将根据各个客户端的训练速度来分配相应的学习率,对于速度较慢的客户端分配较大的学习率来加速训练过程,而速度较快的客户端分配较大的学习率来抑制模型的偏置,具体而言,本发明将依据客户端的平均训练时间来分配学习率,对于客户端c,其在过去τ次参与训练所用的平均时间定义如下:
[0044][0045]
其中,代表在第i次参与训练时所花费的轮次数目,即从接收全局模型开始训练,到成功将模型发送给服务器端所经历的时间,根据平均训练时间客户端c的自适应学习率可定义为如下形式:
[0046][0047]
其中,η表示全局平均学习率,即:
[0048][0049]
其中,n表示与服务器连接的客户端的总数。公式(2)中表明,客户端的学习率与平均完成模型训练所需要的时间成正比,这样,速度慢的客户端要比速度快的客户端分配更大的学习率,从而加快模型收敛速度和减小模型的偏置。
[0050]
s104、客户端训练模型,并返回模型。即,众包工人利用本地设备(客户端)、收集到的数据以及分配的自适应学习率对服务器发送的当前最新的服务器模型进行训练和优化,并将训练完成的模型发回给服务器端。
[0051]
客户端利用收集到的数据以及分配的自适应学习率对发布的模型进行训练和优化,并将训练完成后的模型发回给服务器端,具体包括:首先计算模型在本地数据集上的损失,进而计算在正则化约束下的损失,然后利用计算得到的损失和服务器分配的自适应学习率,对模型采用梯度下降的方式进行模型的优化,最后在将优化后的模型发回给服务器端。
[0052]
步骤104的具体实现方式如下:
[0053]
s1041、每个客户端c(c=1,2,

,n)计算从服务器接收到的模型在本地数据集上的损失,定义如下:
[0054]
[0055]
其中,是客户端c对第t轮接收到的模型进行训练优化过程中得到的深度模型,为客户端c上的第i个样本,是模型预测样本的类别为真值标签的概率,nc是客户端c上的样本数量。
[0056]
由于客户端的数据呈non-i.i.d.分布,所以在损失函数中添加一个约束正则项来限制客户端模型的优化更接近于全局模型,从而减少了各个客户端优化后的模型的分歧,添加正则约束项的损失函数定义如下:
[0057][0058]
其中,λ代表正则化约束的参数。
[0059]
s1042、通过公式(2)计算得到的损失以及分配的自适应学习率,使用梯度下降算法对深度模型进行优化,定义如下:
[0060][0061]
其中,表示客户端c对模型优化结束后的深度模型(即,客户端c最终得到的客户端模型),ηc表示自适应学习率。
[0062]
s1043、模型通过公式(6)完成本地更新后,客户端会将优化得到的模型发送给服务器端。
[0063]
s105、模型分组:根据训练时间分组。服务器周期性地对某一轮次t接收到客户端模型根据训练时间进行分组(即,将在同一轮次接收到服务器模型的客户端分为一组),而无需等待所有客户端全部训练完毕。
[0064]
步骤105的具体实现方式如下:
[0065]
在第t轮,服务器将最新的服务器模型以及当前轮次t发送给随机选择的客户端子集s
t
,在经过固定的时间周期td后,服务器将客户端模型(客户端上传的优化后的深度模型)进行分组之后再进行聚合,分组方式如下:
[0066]
设代表在第t轮将训练完成的模型发送到服务器端的客户端集合,其中每一个客户端均是在之前的轮次i(1≤i≤t)中接收到全局模型,用符号来表示在第i轮接收到全局模型(服务器模型)并在第t轮中成功地将更新后的模型发送到服务器端的客户端集合,这样可以将划分为t组,具体表示为如下形式:
[0067][0068]
s106、模型聚合,包括:组内聚合、组间聚合和更新模型。服务器对模型分组完成之后,在每个组内根据客户端样本数目进行模型聚合得到各个组的模型;由于服务器和训练速度快的客户端通信更加频繁,服务器模型将不可避免地会偏向速度快的客户端的模型,尤其是在数据呈非独立同分布的情况下,据此,在根据训练时间对客户端进行分组的基础上,为速度慢的客户端组别分配更大的聚合权重以此来平衡训练更新过程,即,根据每个组的训练时间和总的样本数目对各个组模型进行聚合得到这一个周期的模型,再依据此模型对服务器模型进行更新。
[0069]
步骤106的具体实现方式如下:
[0070]
s1061、对于每个组,根据组内每个客户端的样本数目对各个模型进行聚合得到这
一组的组模型,组内聚合方式如下:
[0071][0072]
其中,是来自第i组中的客户端c返回的客户端模型,它是基于第i轮的服务器模型训练更新得到的模型,组模型代表着第t轮中第i组客户端模型的最新视图,即第t轮中第i组的组模型,表示客户端c的本地数据集中的样本数目。
[0073]
s1062、由于较快的组比慢的组更频繁地上传客户端模型(返回的优化后的深度模型),这导致服务器模型会偏置地适应速度快的组的本地数据,造成较大的模型偏差,为了得到平衡且无偏差的服务器模型,本发明较大的权重分配给速度慢的组,即与服务器通信频率较低的组。对于这t组的组模型,即使用基于训练时间和样本数目的组间聚合策略来得到第t轮次的聚合模型θ
t
,聚合方式如下:
[0074][0075]
其中,α是调整训练时间所占比重的超参数,表示客户端c的样本数目,组模型的聚合权重为归一化的系数,与更新频率呈负相关,与相应组的数据样本总数成正相关。因此,样本越多、更新频率越少的组将被分配更大的聚合权重。
[0076]
s1063、聚合得到这一轮次的模型θ
t
后,本发明将对服务器模型进行更新。若直接采用同步联邦学习算法中用轮次模型θ
t
对服务器模型进行替换的策略,则服务器模型会有较大的风险陷入局部最优点,因为在异步更新的模式下,某一轮上传的客户端模型可能较少,会导致聚合得到的模型是偏置或者局部最优的,若直接用聚合得到的模型对服务器模型进行替换,将使其陷入局部最优点且会严重影响收敛速率,因此,通过混合系数β对服务器模型进行更新,更新方式如下:
[0077][0078]
即,在某一轮次对服务器模型进行更新时,下一轮次的服务器模型为组间聚合后得到的聚合模型与当前轮次的服务器模型的加权和。
[0079]
当混合系数β=0时,此更新方式等同于直接用轮次模型对服务器模型进行替换,随着更新过程的进行,混合系数将逐渐增大,在迭代过程的早期,较小的混合系数可以加速模型的收敛速度,而在后期,较大的混合系数可以保持模型的稳步增长。当第t轮结束时,服务器将进入到第t+1轮,并将选择新的客户端集合s
t+1
参与训练,并将最新的服务器模型和时间戳发送到这些客户端的设备。
[0080]
本实施例的半异步联邦学习方法可以使得众包工人收集到的数据保留在本地,而无需上传到服务器从而实现工人的隐私保护。针对工人所持设备的响应时间差距较大的问题,本实施例使用周期性聚合的半异步联邦学习机制,即每隔固定的时间对上传的客户端模型进行聚合,可以有效地解决现有异步联邦学习算法存在的通信瓶颈的问题。同时,为解决在异步通信模式下,不同速度的客户端参与模型更新的频率不同导致服务器模型的偏置问题,特别是在客户端数据呈非独立同分布的情况下尤为突出,本实施例依据响应时间对客户端模型进行分组,并为速度慢的组别分配较大的聚合权重,从而有效缓解了模型偏置
的问题,同时,服务器根据客户端的训练速度慢的客户端分配较大的学习率,从而进一步缩小不同速度客户端之间模型训练速度的差异,平衡服务器模型的更新过程,加快模型的收敛速率。
[0081]
实施例二
[0082]
本实施例提供了一种半异步联邦学习系统,其具体包括如下模块:
[0083]
客户端选择模块,其被配置为:在某一轮次开始时,选择若干个客户端参与当前轮次的训练,为每个客户端分配学习率,并将当前轮次的服务器模型和时间戳发送给选择的客户端,以使选择的客户端采用本地数据集对服务器模型进行优化,得到客户端模型并返回;
[0084]
模型更新模块,其被配置为:周期性地对某一轮次客户端返回的客户端模型进行分组后,依次进行组内聚合和组间聚合,对服务器模型进行更新,得到下一轮次的服务器模型。
[0085]
此处需要说明的是,本实施例中的各个模块与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0086]
实施例三
[0087]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的一种半异步联邦学习方法中的步骤。
[0088]
实施例四
[0089]
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的一种半异步联邦学习方法中的步骤。
[0090]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0091]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0092]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0093]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0094]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
[0095]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1