[发明专利]基于top-k的通信高效联邦学习的异构软件缺陷预测算法在审
申请号: | 202310188453.0 | 申请日: | 2023-03-01 |
公开(公告)号: | CN116303002A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 王爱丽;赵英卉;吴海滨;冯彦翔;杨林林 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06N3/04;G06N3/098;G06N3/048;G06N3/047;G06F21/60;G06F17/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150080 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 top 通信 高效 联邦 学习 软件 缺陷 预测 算法 | ||
1.基于top-k的通信高效联邦学习的异构软件缺陷预测算法,其特征在于,包括以下步骤:
步骤a、所有参与方将全局参数进行解码,利用解码后的全局模型梯度参数与缺陷数据基于胶囊神经网络进行本地训练,更新本地模型;
步骤b、各参与方利用高斯差分隐私对本地模型梯度参数进行加密;
步骤c、各参与方将加密后的梯度参数进行稀疏二值压缩形成稀疏梯度;
步骤d、计算稀疏梯度非零元素之间的相对距离进行Golomb编码并发送到服务器端进行聚合;
步骤e、服务器端将接收到的数据进行解码,并对其进行聚合,对聚合后参数进行稀疏二值压缩和Golomb编码并发送回每个参与方;
步骤f、当通信次数到达最大通信轮次或本地胶囊神经网络模型已经收敛,输出预测结果。
2.根据权利要求1所述的基于top-k的通信高效联邦学习的异构软件缺陷预测算法,其特征在于,步骤a中所述参与方将全局参数进行解码,利用解码后的全局模型梯度参数与缺陷数据基于胶囊神经网络进行本地训练,更新本地模型,具体为:
在本具体实施方式中,本地训练采用胶囊神经网络,胶囊神经网络第一层采用普通的卷积层,ReLU激活。该层用于提取特征,然后将其用作主胶囊的输入。第二层为主胶囊层,squash函数激活。第三层是路由胶囊,动态路由算法工作在这一层。
将数据输入进卷积层进行特征提取,ReLU激活后输入进胶囊层。假设每个胶囊输入为(s1,s2,...,sn),si表示第i个胶囊的总体输入,v=(v1,v2,...,vm)为胶囊输出,vi是第i个胶囊输出,通过非线性squash激活函数得到其网络输出为:
3.根据权利要求1所述的基于top-k的通信高效联邦学习的异构软件缺陷预测算法,其特征在于,在步骤b中所述各参与方利用高斯差分隐私对本地模型梯度参数进行加密,具体为:
对于本地模型梯度参数D,和一个任意域的函数f,和一个随机化机制实现本地模型参数的高斯差分隐私:
越小的ε表示更强的隐私保护水平,表示破坏差分隐私的概率。通过添加随机噪声来模糊f(·):
其中,IM是单位矩阵,N(ε,σ2IM)是均值ε和方差σ2的多元高斯噪声,所需的噪声方差为:
4.根据权利要求1所述的基于top-k的通信高效联邦学习的异构软件缺陷预测算法,其特征在于,在步骤c各参与方将加密后的梯度参数进行稀疏二值压缩形成稀疏梯度,具体为:
对于各参与方加密后的梯度参数Δωi,首先将除了稀疏率p最大和最小的权重更新参数之外的所有值设置为零。然后在本地计算剩余正权重更新参数和负权重更新参数的平均值:
μ+=mean(topp%(Δωi))
μ-=mean(topp%(-Δωi))
如果正平均值μ+大于负平均值μ-的绝对值,就所有负值设置为零,将所有正值设置为正均值,反之亦然。在每一轮通信完成后,剩余值积累为:
ωt为权重更新原始值,为稀疏二值后的权重更新。
5.根据权利要求1所述的基于top-k的通信高效联邦学习的异构软件缺陷预测算法,其特征在于,步骤d计算稀疏梯度非零元素之间的相对距离进行Golomb编码并发送到服务器端进行聚合,具体为:
首先计算非零元素之间的相对距离d,之后计算:
编码结果为:
最后将Golomb编码发送到服务器端。
6.根据权利要求1所述的基于top-k的通信高效联邦学习的异构软件缺陷预测算法,其特征在于,步骤e服务器端将接收到的数据进行解码,并对其进行聚合,对聚合后参数进行稀疏二值压缩和Golomb编码并发送回每个参与方,具体为:
首先,参与方上传参数Δωi。服务器方对参数进行解码:
Δωi=decode(Δωi)
之后计算模型聚合权重:
通过稀疏二值压缩算法也需要拓展到服务器端向参与方端发送聚合模型参数。
根据sparse binary compression(SBC)算法,首先定义SBCk:Rn→Rn,Δω→Δω,将(展平化)权重更新Δω映射到稀疏化和二元化权重更新Δω的压缩运算符。对于本地权重更新SBC更新规则可以写成:
所有客户端从一个空的剩余值开始。在最坏的情况下,当从客户端发送到服务器的参数总是稀疏的,服务器发送到客户端的参数Δω(t+1)中的非零元素数量随着参与的客户端数量增加呈线性增长。如果参与率超过了逆稀疏率1/p,更新参数Δω(t+1)就会变得密集。
为了避免这种问题,我们采用如下公式进行压缩:
客户端剩余值更新分别为:
最后将参数进行Golomb编码,并发送给参与方。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310188453.0/1.html,转载请声明来源钻瓜专利网。