一种基于显著分数的联邦学习客户端贡献评估方法

文档序号:33737359发布日期:2023-04-06 08:27阅读:23来源:国知局
一种基于显著分数的联邦学习客户端贡献评估方法

本发明属于联邦学习,具体涉及一种基于显著分数的联邦学习客户端贡献评估方法。


背景技术:

1、近年来,人工智能技术高速发展,机器学习也逐步改变着人们的生产生活方式,在各大领域都取得了巨大的成功。然而,大数据时代的到来,数据隐私保护和数据安全保障越来越受到人们的关注,再加上行业之间的竞争,很难将各方的数据整合共享,这也就导致了“数据孤岛”的现象。面对数据孤岛、数据隐私和安全问题,联邦学习作为一种新型的分布式机器学习技术应运而生,它可以在不暴露其原始数据的情况下让众多用户进行大规模的机器学习。它不仅可以使客户端保留隐私信息,而且可以实现很高的学习性能。然而,联邦学习系统特别依赖于客户端本地模型更新的质量,要是没有足够多的好处,客户可能不愿意分享他们更新的模型,再加上有些用户在联邦学习过程中可能有恶意行为损害联邦学习系统。这样的话,联邦学习很难继续进行下去。因此,就需要评估各参与方提供的数据对模型训练的贡献度,根据其贡献值对本地模型进行加权更新。目前的联邦学习各客户端的贡献评估方法普遍存在计算复杂,消耗过多时间成本、设备成本等问题,且目前的贡献评估方法大多注重于模型训练的结果,而忽略了其训练过程,基于此,本发明提出了一种基于显著分数的联邦学习客户端贡献评估方法,在模型训练过程中,每一轮训练结束都进行一次贡献评估,增添了贡献评估的实时性,可靠性。


技术实现思路

1、为了解决现有联邦学习客户端贡献度评价存在计算繁琐,时效性差,客观程度低等问题,本发明提供一种基于显著分数的联邦学习客户端贡献评估方法。在模型训练过程中,利用损失函数对每个客户端的特征样本求偏导得到一个能够体现其在模型训练过程中的重要性的向量,再求其范数以此量化重要性,表示参与客户端的贡献度。

2、本发明通过损失函数对客户端样本数据求偏导来获取贡献度,因此适用于绝大多数联邦模型和不同的数据集,本发明以基于分裂神经网络的纵向联邦学习模型、两个客户端a和b为例,展开叙述。

3、为实现上述发明目的,本发明提供以下技术方案:

4、一种基于显著分数的联邦学习客户端贡献评估方法,所述方法包括以下步骤:

5、(1)数据集预处理。

6、首先进行加密实体对齐,在纵向联邦学习中,由于企业a与企业b的用户群体不同,因此使用一种加密的用户id对齐技术来确保a和b双方不需要暴露各自的原始数据便可对齐共同用户。

7、接下来要对数据集进行初始化,包括数据清洗(填补空值、合并同类等)、特征因子化、数据标准化等。本发明采用了one-hot编码进行特征因子化。one-hot编码又称为一位有效编码,主要是采用n位状态寄存器对n个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候只有一位有效。例如,性别男或者女就可以用“[1,0],[0,1]”来表示,其中男性对应[1,0],女性对应[0,1]。对特征进行one-hot编码解决了分类器不好处理离散数据的问题,在一定程度上也起到了扩充特征的作用。数据标准化处理就是将数据按比例缩放,落到一个小的特定区间,这有利于处理数据集的各个特征取值范围差异较大和取值单位差异较大的情况,便于不同单位或者量级的指标可以进行比较和加权。最后根据初始化后数据的特征属性数目对数据集进行纵向划分,每个客户端拥有完整数据的一部分。

8、(2)训练基于分裂神经网络的联邦学习模型。

9、(2.1)训练联邦学习模型。

10、构建基于分裂神经网络的纵向联邦学习框架,本发明以两个参与方a和b为例。参与方本地模型和服务器模型都是全连接神经网络,激活函数选用了relu函数和logsoftmax函数(最后结果经过logsoftmax函数输出)。relu函数的表达式如下:

11、f(x)=max(0,x)                    (1)

12、全连接神经网络中设置dropout层以防出现过拟合现象,最后经过softmax函数输出预测概率,其表达式如下:

13、

14、其中,zi为第i个节点地输出值,c为输出概率的个数。完成前向传播获得预测值后,再根据损失函数计算预测值与目标标签的差值,在反向传播过程中,损失函数对模型参数求导获得梯度值,再根据优化器以及学习率更新模型参数。模型优化器采用带动量的随机梯度下降法,其表达式为:

15、

16、其中,α表示动量参数,η为学习率,为损失函数对参数θ求偏导所得的梯度值,a,b,s分别表示两个参与方以及第三方服务器,和分别表示更新前后的模型参数,λi表示两个参与方以及第三方服务器的权值,其中,λs等于1,其余两个权重通过步骤(3)贡献评估来确定。

17、(2.2)损失函数。

18、使用交叉熵(categorical_crossentropy)作为分类模型优化的损失函数,其表达式如下:

19、

20、其中,m表示类别的数量,yic是符号函数(0或者1),如果样本i的真是类别等于c则取1,否则取0,pic表示观测样本i属于类别c的概率。

21、(3)计算每个客户端的贡献度。

22、训练联邦学习模型的正向传播过程就是服务器模型接收两个本地模型的输出,最终输出一个预测结果y。反向传播过程中,损失函数对模型参数求导获得梯度值,再根据优化器以及学习率更新模型参数,然后仿照反向传播过程,计算显著分数,首先计算y和ytarget的损失值loss,然后损失值对输入样本(以参与方a为例)求偏导的表达式如下:

23、

24、由于损失函数对样本特征的直接求导结果是一个高维向量,因此就需要引入范数。范数是具有“长度”概念的函数,在线性代数、泛函分析即相关领域,范数是一个函数,是矢量空间内所有的矢量赋予非零的正长度或大小,用来度量某个向量空间或矩阵中每个向量的长度或大小。其中,l-2范数是机器学习中最常见最常用的范数,其表达式如下:

25、

26、因此,参与方贡献的计算公式为:

27、

28、其中,loss就是损失函数,i表示各个参与方,i表示一个参与方拥有的样本数量,通过这个计算公式,就能量化每个参与方的贡献值,这就是基于显著分数的用户贡献评估方法。

29、本发明的技术构思为:基于显著分数的联邦学习客户端贡献评估方法,即在模型训练过程中,仿照反向传播过程,利用损失函数对各参与方的训练数据特征样本求偏导,得到一个向量,再求其范数值量化向量大小,得到一个显著分数,即贡献度。首先获取任务数据集进行数据预处理并将数据集分成两部分,分别属于参与方a和参与方b,再划分为训练集和测试集;然后基于分裂神经网络,参与方a和参与方b在本地训练模型,各自将本地的数据输入本地模型中得到中间结果,接着将得到的中间结果上传到中间服务器,由安全可靠的第三方服务器汇集各参与方的中间结果,再将汇总的结果作为输入,经服务器模型得到输出;最后计算输出值与真实值之间的损失函数,仿照反向传播过程,利用损失函数对各参与方的本地样本数据求偏导,再求其范数值得到各参与方的贡献值。

30、本发明的有益效果主要表现在:仿照反向传播过程,从损失函数以及本地输入数据入手,在训练过程中完成对各参与方贡献值的评价,计算简便,实时性强且适合绝大多数联邦学习场景。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1