一种面向物联网设备异质性的联邦学习优化方法

文档序号:32611547发布日期:2022-12-20 20:07阅读:72来源:国知局
一种面向物联网设备异质性的联邦学习优化方法

1.本发明涉及一种联邦学习联合建模过程的优化方法,具体涉及一种面向物联网设备异质性的联邦学习优化方法。


背景技术:

2.物联网环境是一个复杂的异质计算环境,其中包含的异质性因素会对联邦学习模型训练的效率产生不良影响。例如,参与设备上的数据由所有者独立产生,数据特性不受外界控制,联邦学习中的数据在统计上可能是异构的,并且各参与设备的数据量大小也不是均衡的,这统称为参与设备的数据异质性。数据异质性因素会引发局部模型参数发散等问题,导致全局模型的收敛精度下降。此外,不同参与设备的计算、存储和通信能力也存在差异,这被称为参与设备的系统异质性。参与设备之间的异质性导致高计算能力节点向低计算能力节点“妥协”的情况,造成资源的浪费。现有的联邦学习系统为了平衡各参与设备之间的性能差异,选择让部分参与设备阻塞等待,给整体训练效率带来了损失。目前的研究在一定程度上解决了联邦学习参与设备异质性的问题,然而,大部分研究只考虑了某一方面的异质性,忽略了实际应用场景中多种异质性混合的复杂情况,还有提升空间。


技术实现要素:

3.为了克服联邦学习环境中边缘设备在通信能力、计算能力上存在差异以及边缘设备本地存储的数据不服从独立同分布假设导致的模型训练效率和模型收敛精度下降问题,本发明综合考虑了联邦学习环境中的数据异质性和系统异质性因素,提供了一种面向物联网设备异质性的联邦学习优化方法。该方法根据设备数据质量以及计算能力对原始设备集合进行筛选,以减少参与者集合中存在的异质性因素,尽可能提高联邦学习的训练效率和收敛精度。
4.本发明的目的是通过以下技术方案实现的:
5.一种面向物联网设备异质性的联邦学习优化方法,包括如下步骤:
6.步骤一、联邦学习参与设备数据增强方法设计
7.步骤一一、随机初始化阈值的初始值,为了使尽可能多的设备参与到训练中,初始的阈值应尽可能小,可以令初始阈值为0.1,按照该初始阈值对本地数据进行数据增强;
8.步骤一二、使用步骤一一增强后的数据进行本地训练,将训练后的模型参数和动量参数上传到中介,中介根据收到的参数聚合一个全局模型和新的动量,其计算过程如下:
[0009][0010]
其中,d(t)是服务器聚合后的动量参数,客户端在进行新一轮的训练时,
是边缘设备i的动量参数;w(t)是全局模型参数;
[0011]
步骤一三、服务器根据聚合的全局模型的性能对阈值进行重新计算,将生成的全局模型、动量和计算出的新的阈值发送给客户端,阈值计算公式如下:
[0012][0013]
其中,θ是阈值,loss
t
代表在第t轮训练时损失函数的值,loss
t-loss
t+1
表示第t轮与下一轮损失函数的变化值,μ是一个超参数;
[0014]
步骤一四、重复步骤一三,直至到达终止机制的条件,即:当损失函数的值变化开始为0或者是负数时。
[0015]
步骤二、联邦学习参与者选择方法设计
[0016]
步骤二一、将边缘设备i的统计效用与系统效用相关联,制定出边缘设备i的用户效用为:
[0017][0018]
其中,边缘设备i的本地训练样本数据集合为di,loss(j)是样本数据j的训练损失;统计效用为用来表征在保护用户隐私的前提下能够有效捕获边缘设备的数据价值;代表系统效用,ti是联邦学习中参与者完成模型更新和上传的用时;权重分散度为权重分散度为是边缘设备i在第t轮时的模型参数,w0(t)是在第t轮使用公共数据集进行训练得到的模型参数,用来表示边缘设备i数据的不平衡程度;
[0019]
步骤二二、按照边缘设备的用户效用值从大到小的顺序对边缘设备进行排序,选取边缘设备集合中前((1-ε)
×
k)个参与者进行训练,其中ε∈[0,1]是探索因子,k是参与者集合大小,初始时设置ε为1,在后来的训练过程中ε会根据用户的效用值不断发生变化。
[0020]
步骤三、联邦学习参与设备异质性优化方法设计
[0021]
步骤三一、通过联邦学习参与设备数据增强方法对参与设备的本地数据进行增强;
[0022]
步骤三二、根据步骤三一增强后的数据计算每个参与者的用户效用,并根据效用值选择参与者参与训练;
[0023]
步骤三三、根据步骤三二的参与者计算全局模型并更新用户效用值;
[0024]
步骤三四、重复步骤三二和步骤三三,直至达到设置的训练轮次,训练结束。
[0025]
相比于现有技术,本发明具有如下优点:
[0026]
本发明在不侵犯用户隐私的前提下,收集部分用户数据以及用户模型训练相关信息。利用收集的信息,增强设备数据使其符合独立同分布,缓解数据异质性带来的影响。同时,这部分信息还被用于筛选每轮训练的参与者,加快了每轮训练的完成时间,有效缓解了数据异质性带来的影响。通过上述两种优化,提高了联邦学习联合建模的效率和精度。
附图说明
[0027]
图1为联邦学习设备异质性优化方法的框架;
[0028]
图2为联邦学习参与设备异质性优化方法的流程图。
具体实施方式
[0029]
下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的保护范围中。
[0030]
本发明提供了一种面向物联网设备异质性的联邦学习优化方法,如图1所示,边缘设备利用其本地数据训练机器学习模型,并接受联邦学习服务器的调度,同时无需将其私有本地数据上传到联邦学习服务器,有效保护了隐私数据的安全性。联邦学习的形式化定义如下:现有通过网络连接的n个边缘设备集合c={c1,c2,...,cn},||c||=n,它们分别存储数据di,i∈[1,n],总的数据集合d可以看作是所有边缘设备上数据的总和,即d={d1,d2,...,dn}。联邦学习系统中模型训练需要在边缘设备和联邦学习服务器之间进行多轮通信,通信过程中仅传输模型参数。各边缘设备在每次训练中使用本地数据di训练局部模型参数然后与联邦学习服务器交换模型参数,最终得到所有边缘设备协作训练后的全局模型参数w
fl
。具体步骤如下:
[0031]
(1)联邦学习参与设备数据增强方法设计
[0032]
非独立同分布下的边缘设备数据可能缺失某些标签类别的数据,例如用户由于个人喜好或使用习惯,总是偏向于产生某几类标签的数据而基本没有产生其他标签类别的数据。本地数据集只产生某一类别标签的数据会使得本地训练的模型更加偏向于判别该类别的数据而对其他类别标签的数据具有较低的识别率。通过增强边缘设备本地的数据,扩充设备所缺失的数据,可以使设备本地的数据类别变得均衡。
[0033]
本发明所提方案考虑了以下额外的假设:数量有限的边缘设备允许将他们的数据上传到联邦学习服务器。数据增强的程度在不同边缘设备之间是不同的,当某一类别的数据低于给定阈值时,就对该类数据进行增强。为了降低数据增强操作的复杂性,数据增强阈值只与边缘设备本地数据量最多的标签类别相关,令该阈值系数为β。系数β代表边缘设备本地的某一类标签类别的数据量与本地标签类别最多的数据量的比值,如果由某一类别的数据计算得到的系数β低于该阈值,则表明该类别的数据过少,边缘设备的数据分布发生了偏斜。由于阈值的取值会影响数据增强操作的加速效果,阈值过大会导致扩增过多的虚假数据,从而掩盖用户产生的真实数据;阈值过小会使得联邦学习算法依旧受到非独立同分布数据的影响,所以一个合适的阈值对本发明有着非常重要的作用。本发明采用自适应学习的方法来确定阈值的值,通过非线性函数的特点,结合损失函数的变化对阈值的值进行自适应调整,如式(1)和(2)所示:
[0034][0035]
其中,θ是阈值,loss
t
代表在第t轮训练时损失函数的值,loss
t-loss
t+1
表示第t轮与下一轮损失函数的变化值,μ是一个超参数。
[0036]
传统的梯度下降法每次更新都是基于当前位置,因此使用梯度下降法训练模型往往需要迭代很多次才可能收敛。为了在更快的时间内收敛,在本发明中用动量梯度下降算法代替传统的梯度下降算法。动量梯度下降法通过结合之前的历史梯度对当前的梯度进行修正,能够加快收敛速度。使用动量梯度下降法的更新公式如式(3)和(4)所示。
[0037][0038]
其中,是边缘设备i的动量参数。γ为动量系数,通常设为0.9。fi是参与设备i的损失函数。表示第i个参与设备在第t次训练时的模型参数,动量参数和模型参数的维度相同。η是学习率,在实验中初始学习率设为0.01。
[0039]
将数据增强阶段看作一次单独的学习训练过程,为了避免在训练过程中服务器与客户端之间的参数传递带来额外的通信代价,所以引入中介的概念,中介是一个虚拟的,它可以被放置在本地来模拟服务器的聚合。首先随机初始化阈值的初始值,为了使尽可能多的边缘设备参与到训练中,初始阈值应尽可能小,令初始阈值为0.1,按照这个阈值对本地数据进行数据增强,然后使用增强后的数据进行本地训练,将训练后的模型参数和动量参数上传到中介,中介根据收到的参数聚合一个全局模型和新的动量,其计算过程如公式(5)和(6)所示,并通过(1)对阈值进行重新计算,将生成的全局模型、动量和计算出的新的阈值发送给客户端,重复上述过程,直至到达终止机制的条件。
[0040][0041]
其中,d(t)是服务器聚合后的动量参数,客户端在进行新一轮的训练时,其中,d(t)是服务器聚合后的动量参数,客户端在进行新一轮的训练时,是边缘设备i的动量参数;w(t)是全局模型参数。
[0042]
由于tanh函数的值域是(-1,1),所以保证了θ在训练过程中不会因为损失函数的变化较大而产生较大的波动。在一开始训练时,损失函数之间的差距较大,tanh(loss
t-loss
t+1
)的值大于0,可以根据tanh函数对θ进行调节,θ会自适应增大。为了避免在训练过程
中θ出现0,影响后续训练结果,所以我们引入超参数μ,μ是一个很小的值,可以取0.001。当训练达到一个稳定的阶段之后,损失函数的变化很小,tanh的值趋向于0,所以我们增加一个终止机制,当损失函数的值变化开始为0或者是负数时,我们认为数据增强已经完成。将当下的阈值θ值认为是我们所需要的合适的阈值。
[0043]
本发明提出的数据增强操作分别对各标签类别的数据进行,单个标签类别的数据增强操作只需要将该类数据扩增到使其系数接近阈值θ所表示的数据量。数据增强过程中,边缘设备遍历本地所有的数据标签类别,并分别对需要扩增的数据类别进行数据增强。扩充的原始数据来源有两种,对于缺失类别数据的扩充来说,原始数据来自联邦学习服务器,对于数量不平衡类别数据的扩充来说,原始数据来自边缘设备本地数据集。在数据增强过程中,数据增强算法选择一个样本并根据该样本进行数据增强,包括随机移位、随机旋转、随机剪切和随机缩放。
[0044]
(2)联邦学习参与者选择方法设计
[0045]
存储在边缘设备的数据及其执行模型训练的速度决定了其在统计效率和系统效率方面的效用,现将这两种效率称为统计效用和系统效用,边缘设备本地数据的不平衡程度决定了其在训练过程中的对全局模型的贡献大小,将这种贡献通过权重分散度进行表示。本发明的方法利用两种效用值以及权重分散度来衡量边缘设备的用户效用。令设备被选中参与训练的概率与其效用值成正比,优先考虑将效用值高的用户加入训练。该方法能够加快每轮训练的完成时间,同时提高参与者数据的质量。
[0046]
将边缘设备i的统计效用与系统效用相关联,制定出边缘设备i的用户效用为其中,边缘设备i的本地训练样本数据集合为di,loss(j)是样本数据j的训练损失。统计效用为用来表征在保护用户隐私的前提下能够有效捕获边缘设备的数据价值;代表系统效用,ti是联邦学习中参与者完成模型更新和上传的用时;权重分散度为者完成模型更新和上传的用时;权重分散度为是客户端i在第t轮时的模型参数,w0(t)是在第t轮使用公共数据集进行训练得到的模型参数,用来表示客户端i数据的不平衡程度。通过这种计算方法,可以在系统效用、数据不平衡程度和统计效用之间进行权衡。
[0047]
完整的参与者选择算法流程如算法1所示。
[0048]
表1
[0049][0050]
(3)联邦学习参与设备异质性优化方法设计
[0051]
该方法是在联邦学习基础训练过程中加入联邦学习参与设备数据增强方法和联邦学习参与者选择方法。采用构建公共数据集的方式主动提升参与设备数据质量,缓解统计异质性。同时,计算用户效用衡量用户对训练任务的重要性,缓解系统异质性。该方法有效缓解了联邦学习异质环境下参与设备异质性对训练的影响,提高了联邦学习的效率。联邦学习参与设备异质性优化方法的完整流程如图2所示,首先通过参与设备数据增强方法对参与者的本地数据进行数据增强,解决本地数据的不平衡问题;然后通过参与者选择方法根据增强后的数据计算用户的效用值,选择部分用户参与训练;最后在不断的迭代中训练出目标模型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1