一种联邦学习的分组算法及系统技术方案

技术编号:38725063 阅读:11 留言:0更新日期:2023-09-08 23:18
本发明专利技术提供一种联邦学习的分组算法及系统,涉及联邦学习技术领域。该联邦学习的分组算法,包括:对每个用户的网络进行梯度过滤得到每个用户的重要梯度索引矩阵,计算每一对用户重要梯度索引矩阵之间的欧式距离,所述重要梯度为在训练神经网络时,对神经元起促进或抑制作用大的梯度,即为在神经网络梯度矩阵中绝对值大的梯度;将每一对用户重要梯度索引矩阵之间的欧式距离进行归一化处理,通过归一化的欧式距离构建用户间的相似度矩阵;根据用户间的相似度矩阵中的值,将与其他用户的欧式距离均偏离大的用户判定为恶意客户端,并终止联邦学习进程;排除掉恶意客户端后,对于其余用户依次将其中欧式距离最小的用户对进行分组,并更新用户间的相似度矩阵对应的值,直至全部用户完成分组。户完成分组。户完成分组。

【技术实现步骤摘要】
一种联邦学习的分组算法及系统


[0001]本专利技术涉及联邦学习
,具体为一种联邦学习的分组算法及系统。

技术介绍

[0002]随着大数据的进一步发展,重视数据隐私和安全已经成为了世界性的趋势,每一次公众数据的泄露都会引起媒体和公众的极大关注。在人工智能领域,传统的数据处理模式往往是一方收集数据,再转移到另一方进行处理、清洗并建模,最后把模型卖给第三方。但随着法规完善和监控愈加严格,如果数据离开收集方或者用户不清楚模型的具体用途,运营者都可能会触犯法律。
[0003]针对上述困境,联合学习(FL)的概念在2016被Google提出并引起了极大的关注,Google公司提出在安卓手机用户中建立联邦学习,解决用户个人数据在终端隐私问题。实现联邦学习的一种典型方法是在2017年发布的《Communication

EfficientLearningofDeepNetworksfromDecentralizedData》中提出的联邦平均算法(FedAvg),它通过对从每个客户端上传的局部参数进行平均来生成全局模型。在此过程中,不会交换每个客户端中的敏感原始数据,从而保护用户隐私
[0004]目前在联邦学习中,分组算法大致分为用户端选择和计算最佳分组数目两类,大部分主流的用户分组算法侧重于纠正由异构数据引起的客户端漂移现象和异构客户端引起的长时间等待导致高计算成本和高通信成本的现象,并且这些算法通过仿真实现,很少有学者在硬件可信执行环境的条件下执行FL,更不要说在此条件下提出同构数据分组算法。现有大部分分组算法的隐私保护机制会认为在分组时参加分组的用户是完全可信的,不会设计审计机制针对用户方检测恶意攻击行为,因此很有可能被恶意客户端篡改梯度,从而影响全局聚合进程,破坏全局模型。

技术实现思路

[0005](一)解决的技术问题
[0006]针对现有技术的不足,本专利技术提供了一种联邦学习的分组算法及系统,该算法可以减少通信量,提升收敛速度;此外如果存在恶意用户想要恶意篡改梯度信息,干扰之后的全局聚合进程,该算法可以实现对恶意客户端的检测并及时做出调整。
[0007](二)技术方案
[0008]为实现以上目的,本专利技术通过以下技术方案予以实现:
[0009]一种联邦学习的分组算法,包括:
[0010]对每个用户的网络进行梯度过滤得到每个用户的重要梯度索引矩阵,计算每一对用户重要梯度索引矩阵之间的欧式距离,所述重要梯度为在训练神经网络时,对神经元起促进或抑制作用大的梯度,即为在神经网络梯度矩阵中绝对值大的梯度;
[0011]将每一对用户重要梯度索引矩阵之间的欧式距离进行归一化处理,通过归一化的欧式距离构建用户间的相似度矩阵;
[0012]根据用户间的相似度矩阵中的值,将与其他用户的欧式距离均偏离大的用户判定为恶意客户端,并终止联邦学习进程;
[0013]对除去恶意客户端以外的用户依次将其中欧式距离最小的用户对进行分组,并更新用户间的相似度矩阵对应的值,直至全部用户完成分组。
[0014]优选的,所述对每个用户的网络进行梯度过滤得到每个用户的重要梯度索引矩阵,计算每一对用户重要梯度索引矩阵之间的欧式距离,具体包括:
[0015]将给定网络权重矩阵所有位置上的梯度按绝对值由大到小排序,选出前α的梯度并将这些梯度所在位置置为1,其他位置上的梯度置为0,得到重要梯度索引矩阵;
[0016]每一对用户重要梯度索引矩阵之间的欧式距离的计算:
[0017][0018]其中,layer
k
代表用户神经网络的第k层,im
q
代表第q个用户的重要梯度索引矩阵,代表计算的是用户p和用户q的神经网络结构第k层的重要梯度索引矩阵的欧氏距离;
[0019]||
·
||1代表矩阵的一范数,其计算方法为矩阵内各个元素的绝对值之和:
[0020][0021]优选的,所述将每一对用户重要梯度索引矩阵之间的欧式距离进行归一化处理,公式如下:
[0022][0023]其中,size(layer
k
)表示第k层神经网络权重矩阵的元素个数。
[0024]优选的,所述通过归一化的欧式距离构建用户间的相似度矩阵,公式如下:
[0025][0026]其中,表示用户p和用户q的平均欧氏距离,layer_num表示神经网络的层数。
[0027]优选的,所述对除去恶意客户端以外的用户依次将其中欧式距离最小的用户对进行分组,具体包括:
[0028]遍历相似度矩阵,寻找欧氏距离最小的用户对;
[0029]检索已有的分组池中每个分好的组之中是否有欧氏距离最小的用户对中的某一个用户:
[0030]若有,则说明该用户与该组之中所有用户的重要梯度索引矩阵欧氏距离较小,即说明该用户与该组别内的用户网络结构相似,那么将该用户放入该组之中;
[0031]若没有,则将该用户对放到新的组中,此时该分组内只有该用户对。
[0032]优选的,所述更新用户间的相似度矩阵对应的值,具体为:
[0033]将分组池中已有用户之间的欧氏距离更新为无穷,避免重复分组;分别计算分组池中每一组别Q包含的所有用户Q
i
与其他未分组用户p的重要梯度索引矩阵欧氏距离,并加
和取算数平均值,将此平均值更新到相似度矩阵的(Q
i
,p)对应的位置上,计算公式如下:
[0034][0035]其中,N为Q组别内包含的用户数目,Q
i
表示组别Q中所有用户。
[0036]一种联邦学习的分组系统,所述系统包括:
[0037]筛选与计算模块,用于对每个用户的网络进行梯度过滤得到每个用户的重要梯度索引矩阵,计算每一对用户重要梯度索引矩阵之间的欧式距离,所述重要梯度为在训练神经网络时,对神经元起促进或抑制作用大的梯度,即为在神经网络梯度矩阵中绝对值大的梯度;
[0038]处理模块,用于将每一对用户重要梯度索引矩阵之间的欧式距离进行归一化处理,通过归一化的欧式距离构建用户间的相似度矩阵;
[0039]判定模块,用于根据用户间的相似度矩阵中的值,将与其他用户的欧式距离均偏离大的用户判定为恶意客户端,并终止联邦学习进程;
[0040]分组模块,用于对除去恶意客户端以外的用户依次将其中欧式距离最小的用户对进行分组,并更新用户间的相似度矩阵对应的值,直至全部用户完成分组。
[0041]优选的,所述分组模块包括:
[0042]选取模块,用于遍历相似度矩阵,寻找欧氏距离最小的用户对;
[0043]检索模块:用于检索已有的分组池中每个分好的组之中是否有欧氏距离最小的用户对中的一个:
[0044]若有,则说明该用户与该组之中所有用户的重要梯度索引矩阵欧氏距离较小,即说明该用户与该组别内的用户网络结构相似,那么将该用户放入该组之中;
[0045]若没有,则将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种联邦学习的分组算法,其特征在于,包括:对每个用户的网络进行梯度过滤得到每个用户的重要梯度索引矩阵,计算每一对用户重要梯度索引矩阵之间的欧式距离,所述重要梯度为在训练神经网络时,对神经元起促进或抑制作用大的梯度,即为在神经网络梯度矩阵中绝对值大的梯度;将每一对用户重要梯度索引矩阵之间的欧式距离进行归一化处理,通过归一化的欧式距离构建用户间的相似度矩阵;根据用户间的相似度矩阵中的值,将与其他用户的欧式距离均偏离大的用户判定为恶意客户端,并终止联邦学习进程;对于除去恶意客户端以外的用户依次将其中欧式距离最小的用户对进行分组,并更新用户间的相似度矩阵对应的值,直至全部用户完成分组。2.根据权利要求1所述的一种联邦学习的分组算法,其特征在于:所述对每个用户的网络进行梯度过滤得到每个用户的重要梯度索引矩阵,计算每一对用户重要梯度索引矩阵之间的欧式距离,具体包括:将给定网络权重矩阵所有位置上的梯度按绝对值由大到小排序,选出前α的梯度并将这些梯度所在位置置为1,其他位置上的梯度置为0,得到重要梯度索引矩阵;每一对用户重要梯度索引矩阵之间的欧式距离的计算:其中,layer
k
代表用户神经网络的第k层,im
q
代表第q个用户的重要梯度索引矩阵,代表计算的是用户p和用户q的神经网络结构第k层的重要梯度索引矩阵的欧氏距离;||
·
||1代表矩阵的一范数,其计算方法为矩阵内各个元素的绝对值之和:3.根据权利要求2所述的一种联邦学习的分组算法,其特征在于:所述将每一对用户重要梯度索引矩阵之间的欧式距离进行归一化处理,公式如下:其中,size(layer
k
)表示第k层神经网络权重矩阵的元素个数。4.根据权利要求3所述的一种联邦学习的分组算法,其特征在于:所述通过归一化的欧式距离构建用户间的相似度矩阵,相似度矩阵p行q列元素即为用户p和用户q的归一化欧氏距离,其公式如下:其中,表示用户p和用户q的平均欧氏距离,layer_num表示神经网络的层数。5.根据权利要求4所述的一种联邦学习的分组算法,其特征在于:所述对除去恶意客户
端以外的用户依次将其中欧式距离最小的用户对进行分组,具体步骤如下:遍历相似度矩阵,寻找欧氏距离最小的用户对;检索已有的分组池中每个分好的组之中是否有欧氏距离最小的用户对中的某一个用户:若有,则说明该用户与该组之中所有用户的重要梯度索引矩阵欧氏距离较小,即说明该用户与该组别中的用户网...

【专利技术属性】
技术研发人员:朱孔林张宇飞薛博伟周萌萌黑俊杰
申请(专利权)人:北京微芯区块链与边缘计算研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1