一种基于联邦学习的通信梯度自适应压缩方法

文档序号:29851597发布日期:2022-04-30 08:01阅读:337来源:国知局
一种基于联邦学习的通信梯度自适应压缩方法

1.本发明属于移动通信领域,涉及一种基于联邦学习的通信梯度自适应压缩方法。


背景技术:

2.随着5g网络的快速发展,工业物联网(iiot)中边缘设备的广泛部署催生了各种边缘计算的新兴应用。但传统的集中模型训练方法需要从工业物联网设备(如工业网关)收集大量原始数据,许多用户并不愿意共享信息来构建一个共有模型,并且上传大量的原始数据也进一步造成了数据隐私泄露的风险。联邦学习(federated learning,fl)作为一种新兴的分布式学习范式,可以有效地解决上述问题。
3.然而,传统的两层fl架构,即云-端架构,由于参数传输过多,数据量集中上传至云端,并且大部分移动设备本身电量与计算资源有限,因此较大的通信开销加剧了通信瓶颈,导致了骨干网通信开销过高。针对联邦学习过程中通信开销过大的问题,主要的解决思路通常以降低梯度交换通信频率以及降低单轮通信上传总比特数入手,使用降低通信频率的模型优化算法的确可以有效降低联邦学习的通信开销,但同时大大增加了系统算法复杂度,并且由于边缘设备自身计算资源与电量受限,因此这种优化方式局限性较大,不能广泛地应用。
4.现有的主要优化方案均集中于通信频率的优化,但实际上并不能在工业环境中广泛应用,因此亟需一类能够降低通信数据总量的方法来解决联邦学习中通信开销过大的方法。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种基于联邦学习的通信梯度自适应压缩方法,减少设备端与中心服务器之间的冗余通信,有效降低联邦学习通信开销。
6.为达到上述目的,本发明提供如下技术方案:
7.一种基于联邦学习的通信梯度自适应压缩方法,具体包括以下步骤:
8.s1:中心服务器初始化全局参数,并下发至各设备端节点,联邦学习设备端使用本地数据集进行任务训练,并计算该节点的梯度参数;
9.s2:设计一种梯度自检方式:将本轮所有节点的梯度参数汇总至累计梯度池中,并根据累计梯度池与历史参数信息计算当前轮次阈值;
10.s3:执行节点梯度自检:所有节点执行梯度自检公式,满足条件的节点则参与本轮联邦迭代,不满足则继续执行本地梯度累计;
11.s4:将步骤s3中满足自检条件的节点梯度上传至中心服务器完成聚合,执行下一轮迭代更新。
12.进一步,该方法面向三层联邦学习通信过程,设备节点自动适应模型训练过程中每轮梯度的变化,计算出合适的阈值来对梯度通信进行压缩。只有符合条件的设备节点才能获取对应轮次的与服务器通信的资格,否则在本地累计梯度信息,进行下一轮学习迭代,
最终梯度会累计足够的信息量上传到服务器。
13.进一步,步骤s1中,中心服务器初始化的全局参数为设备端执行任务的深度学习模型参数;各设备端节点采用随机梯度下降算法执行本地模型任务训练,训练所用数据集为事先划分的数据集。
14.进一步,步骤s2中,所述梯度自检方式为一种梯度阈值自适应选择机制;其中,所述梯度阈值为根据所有参与节点本地梯度汇总至累计梯度池,根据设定计算得到;所述累计梯度池包含使用同一初始参数不同本地数据集训练的所有节点的梯度参数。
15.进一步,步骤s3中,执行节点梯度自检,该公式设定了所有节点的划分,满足梯度参数自检的节点定义为“勤奋(hard)”节点,不满足自检公式的节点定义为“懒惰(lazy)”节点;并在自检程序中引入一个比例系数来衡量“懒惰”节点与总节点数的比例,该比例系数能反应梯度自检公式对梯度压缩的程度;
16.梯度自检公式为:
[0017][0018]
其中,表示第m个设备端节点计算的本地梯度参数,θk为节点第k轮迭代后的参数,η为任务模型学习率,m表示边缘服务器下所有设备端节点集合,α为比例系数,εd和d均为设定常数系数。
[0019]
进一步,步骤s3中,节点梯度自检公式在每个节点一轮学习结束之后执行。
[0020]
本发明的有益效果在于:本发明可以在保障物联网海量设备场景下,高精度完成分布式机器学习任务,并且避免了因分布式机器学习带来的设备之间数据隐私泄露的风险。此外,本发明设计的自适应阈值梯度压缩算法在完成设备端与中心服务器端的节点筛选后,可以减少大量的冗余梯度交互通信,进一步为检测机制降低传输能耗。
[0021]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0022]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0023]
图1为基于联邦学习的通信梯度自适应压缩方法的流程示意图;
[0024]
图2为节点压缩机制示意图。
具体实施方式
[0025]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相
互组合。
[0026]
请参阅图1~图2,图1为本发明提供的一种联邦学习中通信梯度自适应压缩方法的流程示意图。该方法中,中心服务器初始化全局模型参数后,下发至各设备节点。各设备端使用本地数据集并采用初始化模型参数对任务进行训练,并使用随机梯度下降算法计算梯度参数完成更新。具体为:
[0027]
假设模型中单个边缘服务器与第m个设备端节点进行梯度更新,m代表该边缘服务器下所有节点集合。在第k轮本地迭代中,中心服务器首先将当前全局模型ω(k-1)下发至下属所有设备节点。随后每个设备节点计算本地梯度参数并上传至中心服务器端,在该服务器端可以通过加权求和得到梯度总和具体步骤如下:
[0028]
步骤1)初始化全局参数,设备端节点m当前所处迭代k,总迭代次数k,初始化全局梯度将初始化完成的参数下发至设备端节点。
[0029]
步骤2)节点独立地在本地对隐私数据进行学习,每轮学习后能获取当前梯度。将本轮梯度汇总至累计梯度中。
[0030]
其中,本地梯度更新采用随机梯度下降算法,参数下降差值趋于平滑,本方法近似该差值为常数。
[0031]
步骤3)根据累计梯度与历史参数信息计算当前轮次的阈值并根据阈值对累计梯度进行梯度检查。执行梯度自检公式,该公式设定了所有节点的划分,满足梯度参数自检的节点定义为“勤奋(hard)”节点,不满足自检公式的节点定义为“懒惰(lazy)”节点。并在自检程序中引入一个比例系数来衡量“懒惰”节点与总节点数的比例,该比例系数可以反应梯度自检公式对梯度压缩的程度。
[0032]
其中,节点自检公式在每个节点一轮学习结束之后执行。“懒惰”节点事先无法获知,采用比例系数来判断自适应阈值的设定。阈值的设定考虑模型的准确率以及节点选择的压缩率,采用一个综合系数来评定压缩与准确率的权值占比。
[0033]
梯度自检公式及阈值计算过程如下:
[0034]
在梯度交换通信中,忽略一类“懒惰(lazy)”设备节点,只与“勤奋(hard)”设备节点通信。算法的核心为判断某个设备节点是否为“lazy”节点。本发明用m
l
表示“lazy”节点,mh表示“hard”节点。因此,设备端节点集合m=m
l
+mh,梯度总和可以表示为:
[0035]
对于“懒惰”节点,定义为每轮学习计算所得的梯度包含的信息大部分为冗余的,无法进一步优化学习任务的节点:
[0036][0037]
可以得到设备节点上更新后的参数θk,代入“懒惰”节点定义可得:
[0038][0039]
其中,η为任务模型学习率,θk为节点第k次更新后的参数。当设备节点是“懒惰”节点,即m∈m
l
时,一定满足下式:
[0040][0041]
为简化分析,引出一个比例系数α来衡量设备节点中“懒惰”节点与总节点的占比,即:
[0042]ml
=αm
[0043]
整理可得:
[0044][0045]
此外,在参数更新过程中,无法轻易获取θ
k-θ
k-1
,但该参数在模型训练过程中趋向平滑,因此可将其近似为:
[0046][0047]
其中,εd和d均为设定常数系数。为了简化计算,本发明方法选择εd=1/d,d=1。可以得出节点梯度自检公式,即:
[0048][0049]
步骤4)将满足梯度自检程序的节点梯度参数上传至中心服务器,完成本轮联邦学习梯度聚合,全局执行更新新一轮梯度参数;不满足自检条件的节点跳过本轮通信,继续累计该部分节点参数至梯度池中作为历史参数信息。
[0050]
如图2所示,梯度阈值自适应选择机制具体步骤如下:
[0051]
步骤1)中心服务器下发初始化模型参数至各节点,设备节点执行本地任务训练,并通过随机梯度下降算法更新参数,将梯度参数汇总至累计梯度池中。
[0052]
步骤2)执行梯度自检公式,该公式设定了所有节点的划分,满足梯度参数自检的节点定义为“勤奋(hard)”节点,不满足自检公式的节点定义为“懒惰(lazy)”节点。并在自检程序中引入一个比例系数来衡量“懒惰”节点与总节点数的比例,该比例系数可以反应梯度自检公式对梯度压缩的程度。
[0053]
其中,根据梯度自检公式可以对设备终端节点进行自适应判断,当节点满足该式时,则跳过本轮通信,本地梯度累计,继续执行下一轮训练。若节点不满足该式时,即判断为“勤奋”节点,则该节点参与本轮与边缘服务器通信。
[0054]
步骤3)梯度自检程序通过累计梯度池中本轮所有节点的梯度参数,自适应计算出本轮阈值,并对所有节点进行选择判断。符合本轮阈值规定的节点方可参与联邦学习中心服务器端全局聚合,否则继续进行本地迭代。注意的是,未参与本轮联邦学习聚合的节点下一轮进行本地训练时,使用的为最新一轮经过全局聚合更新后的参数。
[0055]
本发明中,自适应是指阈值能自动适应每轮梯度的变化,计算出合适的梯度压缩阈值,有效地将冗余梯度与有效梯度区分开,合理地减少梯度通信次数。
[0056]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1