一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于多任务联邦学习的通信成本和模型鲁棒性优化方法与流程

2022-03-22 22:38:34 来源:中国专利 TAG:


1.本发明涉及联邦学习的技术领域,尤其是指一种基于多任务联邦学习的通信成本和模型鲁棒性优化方法。


背景技术:

2.联邦学习(federated learning,fl)是一种新兴的防止私人信息泄露的技术。它允许将训练数据分布保留在客户机的设备上,通过与服务器交互使得服务器能够获得一个良好的模型。每个客户机从服务器下载当前模型,并通过本地数据集训练模型,然后将模型上传回服务器的方式更新模型,而不是直接向服务器发送数据。通过避免共享本地私有数据,可以有效地保护用户的隐私。但与传统的集中式学习相比,联邦学习fl需要进行多次更新模型,所以需要大量的通信资源。因此,如何减少通信开销来提高通信效率也是当前联邦学习的研究热点。
3.目前大多数联邦学习的研究都并未考虑单个客户机需要训练多个相关的用户型任务的场景,而该类场景在实际中有广泛应用,例如向某个用户基于他听过的音乐训练推荐电影和书籍的模型,其中推荐电影可以看作是一个用户型任务,而推荐书籍可以看作是另一个用户型任务,并且都是基于听过的音乐进行推荐,所以这两个用户型任务存在相关性。随着移动设备在实际生活中的使用范围广大,在联邦学习的场景下训练多个相关的用户型任务是具有前景的。传统的方法解决fl下的通信效率,如压缩通信模型和减少通信次数并不能有效解决单个客户机训练多个任务的场景,因为传统的方法仍然需要针对每个任务训练单独的模型,而每个模型都需要在联邦学习中执行多次通信,耗费大量资源。并且随着任务数量的增加,通信的成本也会随之增加。
4.因此,考虑到在联邦学习场景中,考虑到客户机之间的数据集是非独立同分布并且数据集存在不平衡,传统优化通信效率和提高模型鲁棒性的方法在单个客户机需要训练多个相关的用户型任务的场景中不适用了,所以需要设计出新的联邦学习方法来解决这种情况。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提出了一种基于多任务联邦学习的通信成本和模型鲁棒性优化方法,可同时最小化总体的通信成本和提高模型的鲁棒性。
6.为实现上述目的,本发明所提供的技术方案为:基于多任务联邦学习的通信成本和模型鲁棒性优化方法,该方法是在联邦学习的场景下单个客户机训练多个用户型任务,目标为最小化整体的通信成本和平均客户机的模型损失值,将联邦学习与多任务学习相结合,每个客户机的模型由一个共享层和多个任务特定层组成,客户机与服务器进行交互,其包括以下步骤:
7.1)服务器从客户机列表中挑选部分或所有的客户机邀请参与本轮通信和模型聚合;
8.2)受邀请的客户机中部分客户机回复接受并发送包含本地数据集大小的相关信息给服务器;
9.3)在客户机进行本地训练前,服务器会向所有的客户机都发送共享层;
10.4)若是首次进行通信,每个客户机将会根据收到的共享层和需要训练的用户型任务的数量和内容生成模型;若不是首次通信那么客户机会将收到的共享层进行反量化,与上一轮保留在本地的任务特定层组合成模型用于本地训练;
11.5)客户机使用本地的数据集使用svrg优化算法进行模型训练;
12.6)本地训练结束后,参与本轮通信的客户机将训练后的共享层进行量化压缩,并将量化压缩后的共享层和量化压缩过程的缩放比例传递给服务器,所有客户机同步等待服务器返回聚合结果;
13.7)服务器收到参与本轮通信的客户机的共享层和缩放比例后,根据客户机的本地训练数据集的数量大小按照权重将共享层和缩放比例进行聚合,并将聚合后的结果返回给所有客户机;
14.8)重复步骤1)-7),直至达到预设通信次数或客户机的平均模型损失值小于设定值。
15.优选的,联邦学习的场景下单个客户机训练多个用户型任务,并需要同时优化通信成本和模型鲁棒性;考虑在联邦学习的场景下有m个客户机进行模型训练,其中第m个客户机一共训练tm个用户型任务,θm为第m个客户机训练的模型且其中θ1′
为第1个用户型任务的模型,θ2′
为第2个用户型任务的模型,为第tm个用户型任务的模型;每个客户机训练优化模型鲁棒性的目标为最小化平均用户型任务的损失值l(θm)如下:
[0016][0017]
式中,tm为第m个客户机训练的用户型任务的数量,nm为第m个客户机本地的样本数量,为第m个客户机的第j个样本的特征,θ
t

是第t个用户型任务的模型,为第m个客户机的第j个样本中第t个用户型任务的标签,f(
·
)是根据模型参数进行预测的函数,l(
·
)是计算模型损失值的函数,λ为正则化惩罚系数,||θm||2为模型的参数平方和;
[0018]
单个客户机与服务器之间的通信成本bm由上传模型的次数和单次上传的模型大小共同决定,上传通信成本bm如下:
[0019]bm
=r
×
|θm|
×
h(θm)
[0020]
式中,r为通信上传模型的次数,|θm|为第m个客户机的通信过程中模型的大小,h(θm)为第m个客户机通信过程中上传模型的熵;
[0021]
综合考虑多个客户机与服务器,将联邦学习场景下训练多个用户型任务的目标函数设计如下:
[0022][0023]
目标为同时优化平均客户机的模型损失值和整体的通信成本。
[0024]
优选的,将联邦学习与多任务学习相结合,每个客户机的模型由一个共享层和多个任务特定层组成;θm为第m个客户机训练的模型,传统的单个客户机训练多个用户型任务模型为将转变成单个客户机训练单个模型,且模型由一个共享层和多个任务特定层组成,即其中θ
sh
是共享层,是任务特定层,且任务特定层能够拆分为其中θ
1*
为第1个用户型任务的任务特定层,θ
2*
为第2个用户型任务的任务特定层,为第tm个用户型任务的任务特定层。
[0025]
优选的,在步骤5)中,使用svrg优化算法进行模型训练,svrg优化算法能够加快本地训练的收敛速度,在达到相同的精度的前提下,使用svrg优化算法能够减少通信的次数;在客户机进行本地训练的过程中,该svrg优化算法与多任务学习结合起来;客户机的单轮本地训练由外层循环和内层循环构成,并且在循环的过程中有两个模型,分别为模型θ和模型映像对于第t个用户型任务,外层循环计算模型映像的共享层和第t个任务特定层的全局平均梯度,分别为和其中为模型映像在共享层的全局平均梯度,为模型映像在第t个用户型任务的任务特定层的全局平均梯度;在内层循环中,随机挑选一批样本计算该样本在模型和模型映像中的梯度,并对模型进行更新,具体的更新公式如下:
[0026][0027][0028]
式中,是第j批样本在模型θ的共享层的梯度,是第j批样本在模型映像的共享层的梯度,是第j批样本在第t个用户型任务中模型θ的任务特定层的梯度,是第j批样本在第t个用户型任务中模型映像的任务特定层的梯度,η是本地模型训练参数更新的学习率,并且在进行下一轮训练时将模型映像的参数更新为模型θ的参数。
[0029]
优选的,在步骤6)中,客户机与服务器进行通信时只上传共享层,多个任务特定层会保留在本地,并且在上传前会对共享层进行量化压缩,将量化压缩后的共享层和量化压缩过程的缩放比例传递给服务器;量化压缩在损失极少的模型精度的前提下,能够压缩通信消息的大小提高通信效率;在每次客户机与服务器进行通信前,将要上传的共享层从32比特浮点型小数转换成8比特整数,上传的共享层所占空间能够减少4倍;具体的量化过程
如下:
[0030][0031]
式中,p为浮点型小数,q为整数,s为缩放比例,z为零点值,round(
·
)函数为向下取整;
[0032]
由于模型需要在服务器中进行聚合,聚合后返回给所有客户机进行反量化时原模型的缩放比例不再适用,因此在聚合模型的同时会将缩放比例也进行聚合。
[0033]
本发明与现有技术相比,具有如下优点与有益效果:
[0034]
本发明方法能够在联邦学习中考虑单个客户机训练多个用户型任务的场景,能够将联邦学习与多任务学习相结合,将传统的单个客户机训练多个用户型任务模型,变更为单个客户机训练单个模型,模型由共享层和任务特定层组成,该方法有效降低通信成本和提高模型的鲁棒性。
[0035]
本发明方法能够通过使用svrg优化算法进行模型训练,加快模型的收敛速度,从而降低通信成本。
[0036]
本发明方法能够在客户机与服务器通信过程中,在客户机上传前对共享层进行量化压缩,减少上传的共享层大小,有效降低通信成本。
附图说明
[0037]
图1为本发明方法的逻辑流程示意图。
具体实施方式
[0038]
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0039]
如图1所示,本实施例所提供的基于多任务联邦学习的通信成本和模型鲁棒性优化方法,使用了多任务学习、svrg优化算法和量化压缩,该方法是在联邦学习的场景下单个客户机训练多个用户型任务,目标为最小化整体的通信成本和平均客户机的模型损失值,将联邦学习与多任务学习相结合,每个客户机的模型由一个共享层和多个任务特定层组成,客户机与服务器进行交互;其包括以下步骤:
[0040]
1)服务器从客户机列表中挑选部分或所有的客户机邀请参与本轮通信和模型聚合。
[0041]
2)受邀请的客户机中部分客户机回复接受并发送包含本地数据集大小的相关信息给服务器。
[0042]
3)在客户机进行本地训练前,服务器会向所有的客户机都发送共享层。将联邦学习与多任务学习相结合,每个客户机的模型由一个共享层和多个任务特定层组成,即其中θ
sh
是共享层,是任务特定层,且任务特定层可以拆分为其中θ
1*
为第1个用户型任务的任务特定层,θ
2*
为第2个用户型任务的任务特定层,为第tm个用户型任务的任务特定层。考虑到每个客户机的用户型任务
的数量的具体任务内容都可能不同,因此服务器在聚合的过程中只会对共享层θ
sh
进行聚合,并且初始化时分发共享层至所有客户机
[0043]
4)若是首次进行通信,每个客户机将会根据收到的共享层和需要训练的用户型任务的数量和内容生成模型。若不是首次通信那么客户机会将收到的共享层进行反量化,与上一轮保留在本地的任务特定层组合成模型用于本地训练。反量化指的是从8比特整数转换成32比特浮点型小数,具体过程如下:
[0044][0045]
式中,p为浮点型小数,q为整数,s为缩放比例,z为零点值,round(
·
)函数为向下取整。
[0046]
5)客户机使用本地的数据集使用svrg优化算法进行模型训练。其中每个客户机训练优化模型鲁棒性的目标为最小化平均用户型任务的损失值l(θm)如下:
[0047][0048]
式中,tm为第m个客户机训练的用户型任务的数量,nm为第m个客户机的样本数量,为第m个客户机的第j个样本的特征,θ
t

是第t个用户型任务的模型,为第m个客户机的第j个样本中第t个用户型任务的标签,f(
·
)是根据模型进行预测的函数,l(
·
)是计算模型损失值的函数,λ为正则化惩罚系数,||θm||2为模型的参数平方和。
[0049]
进行本地训练的过程中,使用svrg优化算法进行模型训练。svrg优化算法能够加快本地训练的收敛速度,在达到相同的精度的前提下,使用svrg优化算法能够减少通信的次数。在客户机进行本地训练的过程中,该优化算法与多任务学习结合起来。客户机的单轮本地训练由外层循环和内层循环构成,并且在循环的过程中有两个模型,分别为模型θ和模型映像对于第t个用户型任务,外层循环计算模型映像的共享层和第t个任务特定层的全局平均梯度,分别为和其中为模型映像在共享层的全局平均梯度,为模型映像在第t个用户型任务的任务特定层的全局平均梯度。在内层循环中,随机挑选一批样本j计算该样本在模型和模型映像中的梯度,并对模型进行更新,具体的更新公式如下:
[0050][0051][0052]
式中,是第j批样本在模型θ的共享层的梯度,是第j批样本在模型映像的共享层的梯度,是第j批样本在第t个用户型任务中模型θ的任务特定层的梯度,是第j批样本在第t个用户型任务中模型映像的任务特定层的梯度,η是本地模型训练参数更新的学习率。并且在进行下一轮训练时将模型映像的参数更新为模
型θ的参数。
[0053]
6)本地训练结束后,参与本轮通信的客户机将训练后的共享层进行量化压缩,并将量化压缩后的共享层和量化压缩过程的缩放比例传递给服务器。所有客户机同步等待服务器返回聚合结果。客户机与服务器进行通信时只上传共享层,多个任务特定层会保留在本地,并且在上传前会对共享层进行量化压缩,将量化压缩后的共享层和量化压缩过程的缩放比例传递给服务器。量化压缩在损失极少的模型精度的前提下,能够压缩通信消息的大小提高通信效率。在每次客户机与服务器进行通信前,将要上传的共享层从32比特浮点型小数转换成8比特整数,上传的共享层所占空间能够减少4倍。具体的量化过程如下:
[0054][0055]
式中,p为浮点型小数,q为整数,s为缩放比例,z为零点值,round(
·
)函数为向下取整。
[0056]
由于模型需要在服务器中进行聚合,聚合后返回给所有客户机进行反量化时原模型的缩放比例不再适用,因此在上传共享层的同时会将缩放比例也进行上传用于下一步的聚合。
[0057]
7)服务器收到参与本轮通信的客户机的共享层和缩放比例后,根据客户机的本地训练数据集的数量大小按照权重将共享层和缩放比例进行聚合,并将聚合后的结果返回给所有客户机。
[0058]
8)重复步骤1)-7),直至达到一定通信次数或客户机的平均模型损失值小于设定值。
[0059]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献