首页 / 鲁棒性联邦深度学习方法、装置、计算机设备及存储介质

鲁棒性联邦深度学习方法、装置、计算机设备及存储介质实质审查 发明

技术领域

[0001] 本发明涉及深度学习,更具体地说是指鲁棒性联邦深度学习方法、装置、计算机设备及存储介质。

相关背景技术

[0002] 2016年谷歌提出了联邦学习,用于解决安全的信息共享问题。联邦学习旨在建立一个基于分布数据集的协同训练模型,在保护数据隐私的前提下实现由多个参与方通过本地数据协同训练出统一的机器学习模型。在联邦学习中,各参与方在持有的私有数据集上进行训练后上传模型参数,参数服务器负责接收并聚合各参与方的模型更新参数,然后再将安全聚合后的模型参数下发给各参与方,从而实现“数据不动模型动”的联合训练。
[0003] 作为分布式机器学习的一种,联邦学习的模型性能往往远优于单个数据持有方本地“孤岛式”训练的模型,其优化效果离不开各参与方本地持有的大量高质量的数据。然而在实际应用中,由于数据采集、治理能力有限,部分参与方持有数据质量不高,进而影响联邦学习模型的快速收敛等性能;甚之,有部分恶意参与方通过改变训练或推理阶段,实现针对联邦学习模型性能的对抗性攻击。广义的对抗性攻击指能够恶化模型性能的攻击,主要分为数据中毒、模型更新中毒和模型规避攻击。
[0004] 为了尽量降低攻击者对模型性能的影响,联邦学习防御方面的研究也层出不穷,对抗鲁棒性已成为衡量防御方法有效性和联邦学习系统稳定性的重要指标。鲁棒性亦称健壮性,表征在外部干扰下容错、快速恢复、维持现状的能力,但是现有的联邦学习方式存在全局模型难以收敛问题。
[0005] 因此,有必要设计一种新的方法,实现解决全局模型难以收敛的问题。

具体实施方式

[0066] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0068] 还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0069] 还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0070] 请参阅图1和图2,图1为本发明实施例提供的鲁棒性联邦深度学习方法的应用场景示意图。图2为本发明实施例提供的鲁棒性联邦深度学习方法的示意性流程图。该鲁棒性联邦深度学习方法应用于第一服务器中。该第一服务器与至少一个第二服务器进行数据交互,其中,参与方属于第二服务器,设置损失阈值,对部分参与方上传参数时乘以惩罚矩阵,以降低攻击方投毒攻击对全局模型的影响;根据对图像分类的贡献程度对两个平行网络提取的特征进行加权融合。实验证明,该方法在Cifar10,Fashion数据集上均取得了相对较高的准确率,数据投毒场景下鲁棒性较高,恶意参与方比例达到20%时,准确度能够保持在96%以上。
[0071] 图2是本发明实施例提供的鲁棒性联邦深度学习方法的流程示意图。如图2所示,该方法包括以下步骤S110至S150。
[0072] S110、接收参与方传递过来的参数。
[0073] 在本实施例中,所述参数包括参与方上传的参数、参与方上传的参数乘以惩罚矩阵后形成的新参数中至少一个。
[0074] 具体地,所述参与方上传的参数乘以惩罚矩阵后形成的新参数是根据若干个参与方的损失值的均值降序排序后确定需要乘以惩罚矩阵的参数,将需要乘以惩罚矩阵的参数乘以惩罚矩阵形成的,其中,惩罚矩阵是不同参与方的损失对全局模型损失的贡献度。
[0075] 在本实施例中,对每一个参与方均设置损失池,收集若干个批次样本的损失并计算均值,然后对均值进行降序排序,参与方在上传梯度时,对topn的参与方梯度乘以惩罚矩阵β,以减少恶意参与方对全局训练的影响。
[0076] 整个学习方法包括:本地神经网络即参与方,本地神经网络个数不限,数据集不交叉,训练过程中本地神经网络加密共享网络的参数,将加密后的参数上传到全局参数共享列表SL,其容量为N;全局神经网络即第一服务器。全局神经网络将SL内的参数进行安全聚合以更新自己的参数。全局神经网络的参数更新之后,使用HE(同态加密算法,Homomorphic Encryption)将更新后的参数下发至各参与方。采用基于Socket的通信机制,各参与方与参数服务器之间共享参数的传递方式如图4所示,中央服务器即第一服务器在第三方的秘钥管理进程中查询当前参与方的标识,检查是否拥有对其的解密秘钥,如果有解密秘钥,那么就对其上传的参数进行解密,反之不做处理。第三方秘钥管理进程实现对秘钥的管理,独立于各参与方,在完全公平的前提下能保证数据隐私。参数服务器和各参与方加密密钥均为私有,第一服务器持有所有参与方的解密密钥,各参与方仅持有本地的解密密钥和服务器的解密密钥。
[0077] S120、将所述参数存储到全局共享参数列表;
[0078] S130、当全局共享参数管理列表收集到的参数数目达到容器上限,将参数安全聚合,更新共享参数;
[0079] S140、清空全局共享参数列表;
[0080] S150、下发更新后的共享参数至参与方。
[0081] 具体地,下发更新后的共享参数至参与方,以使参与方更新自身参数,且当参与方的本地训练的损失值小于损失阈值时进行训练。
[0082] 在本实施例中,为了减小恶意参与方对全局模型的影响,直接上传性能较好的参与方上传的参数,并选取部分性能较差的参与方,将其上传的参数乘以惩罚矩阵,最后参数服务器再对这两类参数进行参数聚合。基于此原理,本文提出基于损失阈值的鲁棒性机制,以平均损失作为判别参与方性能的标准,具体操作如下:
[0083] 每个参与方均有自己的Loss池,计算损失值后排序,计算损失值的方式为:其中,Lossi是第i个参与方本地训练的损失池的
损失累积和,M为联邦学习中参与方的总数量,Losslocal是所有参与方的损失采取降序排序之后的结果,epochs是参与方与中央服务器之间的通信次数。
[0084] 对排序后的损失选取前n个参与方的损失进行安全传递,传递至中央服务器进行安全聚合,β是不同参与方的损失对全局模型损失的贡献度,也称为惩罚因子,中央服务器即第一服务器的损失函数为:
[0085] 采用Paillier半同态加密算法实现横向联邦以保证DFTM算法的安全性:Lossen是使用同态加密后的损失,第一服务器经过若干个训练周期后将网络参数分发给各参与方,各参与方将第一服务器下发的参数按照解密后更新自身参数,其中,t为损失阈值,当参与方本地训练的损失阈值小于t时才进行训练,反之不训练。ni和gi分别是第i个参与方的加密秘钥。
[0086] 上述的鲁棒性联邦深度学习方法,通过设置损失阈值,对部分参与方上传参数时乘以惩罚矩阵,将上传的内容存储到全局共享参数列表内,全局共享参数管理列表收集到的参数数目达到容器上限,将参数安全聚合,更新共享参数,并将更新后的参数下发至参与方,以降低攻击方投毒攻击对全局模型的影响,实现解决全局模型难以收敛的问题。
[0087] 图5是本发明另一实施例提供的一种鲁棒性联邦深度学习方法的流程示意图。如图5所示,本实施例的鲁棒性联邦深度学习方法包括步骤S210‑S260。其中步骤S210‑S250与上述实施例中的步骤S110‑S150类似,在此不再赘述。下面详细说明本实施例中所增加的步骤S260。
[0088] S260、将各参与方的神经网络所提取的图像特征进行加权融合,以得到提取结果。
[0089] 在本实施例中,提取结果是指将多个参与方的神经网络所提取的图像特征进行加权融合后形成的特征内容。
[0090] 使用多模型融合的方式分别提取图像特征,设置贡献度矩阵与多模型提取的特征进行内积运算,在线学习各算法所提特征对识别准确率的贡献。通过多模型特征加权融合,进一步提高鲁棒性,解决单模型特征提取鲁棒性不强的缺陷。
[0091] 在一实施例中,请参阅图6,上述的步骤S260可包括步骤S261~S263。
[0092] S261、获取更新自身参数后的参与方所提取图像特征,以得到初始图像特征。
[0093] 在本实施例中,初始图像特征是指更新自身参数后的参与方所提取图像特征。
[0094] 如图8所示,Image表示原始输入,Multi‑Stacked是将1个批次的样本进行叠加。B表示批次大小,L是图像宽度,D是图像高度,C是图像的颜色通道。基于多模型特征融合的神经网络主要使用两个平行网络实现对原始图像进行特征抽取,首先使用残差网络ResNet对原始输入进行特征提取,残差网络的卷积核大小是2×2,卷积方式是“SAME”,即残差网络的输入与输出大小相同,然后对残差网络的输出进行1次卷积运算,使用Relu6激活(将输入限定在0~6之间)得到B×L×W矩阵,其中W是特征图的宽度。
[0095] 同时使用1个简单卷积对原始输入进行卷积运算,然后将卷积输出作为多层BILSTM进行特征提取的输入,其输出大小为B×L×2N,其中,N表示BILSTM网络隐藏层节点数目,2N表示将正向和反向LSTM的最后一个时序输出进行拼接得到融合特征。Multi‑BILSTM的每个BILSTM的输入为 其中,Ik表示第k个级联BILSTM的输入,In表示I‑DFTM算法的输入矩阵,Hk为Ik+1层输入矩阵的样本切分长度。
[0096] S262、将所述初始图像特征进行特征融合,以得到融合结果。
[0097] 在本实施例中,融合结果是指采用加权特征融合得到图像的综合特征。
[0098] 在一实施例中,请参阅图7,上述的步骤S262可包括步骤S2621~S2622。
[0099] S2621、设置共享度矩阵;
[0100] S2622、将所述共享度矩阵与所述初始图像特征进行内积运算,以得到融合结果。
[0101] 具体地,请参阅图9,对于ResNet以及Multi_BILSTM这两个子网络,ResNet的卷积Block对输入矩阵进行卷积,将卷积之后的特征再进行若干层卷积得到特征,特征融合为其中,α和γ分别表示基于残差网络提取的特征和基于多层BILSTM提取特征对图像分类的贡献程度。“+”表示将所有网络得到的特征在最后一个维度上进行叠加。加权之后的特征维度是B×L×(2N+W),即在最后一个维度进行融合。
[0102] S263、将所述融合结果进行全连接,并使用瓶颈层网络提取特征,以得到提取结果。
[0103] 基于融合的特征进行全连接之后使用瓶颈层网络(Bottle SubNet)提取其特征,其中,Bt1和Bt2为瓶颈层,f表示该层参数的初始化函数,θ是形式化参数。
[0104] I‑DFTM算法可在CPU快速部署运行,与其它算法在CPU上进行对比实验,实验配置如表1所示。I‑DFTM算法与对比算法在Cifar10数据集和Fashion数据集上进行对比实验,将Fashion数据集转化为3通道图像,实验数据集如表2所示。
[0105] 表1.实验设置
[0106]
[0107] 表2.实验数据集
[0108]
[0109] 使用2种对比算法:卷积神经网络和基于双向长短时记忆网络以及全连接层,简称CNN+BILSTM+FC;胶囊网络和长短时记忆网络以及全连接层,简称CapsNet+LSTM+FC。这2种算法训练效果较好且较为经典,常用于对比。评估指标分别是:Accuracy、Precision、Recall‑Score、F1‑Score,这4个评估指标的计算公式本文不再赘述,直接调用Sklearn.metrics封装好的计算公式计算。
[0110] 为了验证本方法对数据投毒的鲁棒性,实验分为2个部分:首先在无污染的数据集上进行实验,模拟理想的联邦学习系统;而后在有污染的数据上进行实验,模拟存在部分恶意参与方(数据投毒攻击)的联邦学习系统。按照3种数据集划分设置如表3所示,进行实验,以进行横纵对比:一是横向对比:参与方数据状态相同(数据集无污染/有污染)时本算法与两种对比算法的准确度等性能指标对比;二是纵向对比:同一算法(I‑DFTM、CapsNet+LSTM+FC、CNN+BILSTM+FC)受数据投毒的影响,即随着投毒程度加剧,算法性能下降程度。
[0111] 表3.数据集划分设置
[0112]
[0113]
[0114] 联邦设置参数如下,参与方数量设置为10,各参与方持有的数据随机划分,为了便于讨论,本文假设所有参与方均参与训练,模型均同构。惩罚因子及贡献矩阵初始化均设置为1,后期随着网络训练进行同步更新。根据经验值,topn设置为80%,即选取损失值最大的前80%个(本实验中为8个)参与方上传的梯度乘以惩罚矩阵β。
[0115] 无污染数据集实验分为两组,实验一按照数据集设置在Cifar10数据集上进行实验。其对比实验结果如图13至图16所示。实验二按照数据集设置①在Fashion数据集上进行实验。其对比实验结果如图17至图20所示。
[0116] 实验一表明,仅需经过全局迭代训练通信15次,I‑DFTM算法精度和准确度就一直稳定高于另外两种算法,在通信轮次达到50次时,I‑DFTM算法各项性能指标近乎收敛。从收敛速度来看,若要求全局模型达到90%精确度,I‑DFTM只需要全局通信50次,CapsNet+LSTM+FC需要全局通信近160次,CNN+BILSTM+FC需要通信轮次更多。
[0117] 实验二表明,仅需经过全局迭代训练60次后,I‑DFTM算法的各项指标均优于另外两种对比算法。为达到90%的精确度和准确度,I‑DFTM算法仅需要近150个通信轮次,CapsNet+LSTM+FC和CNN+BILSTM+FC则需要近175个通信轮次。经过175轮通信后,3种算法的性能差距相较实验1中更不明显。此外,3种算法在实验2中的收敛速度均慢于实验1,全局训练175次后的最终精确度、准确度、F1值以及召回率也低于实验1,这可能与实验2的数据集是由灰度图像转化而来有关。
[0118] 当联邦学习系统中不存在恶意参与方时,经过近180次全局通信,3种算法准确度和精确性均达到了90%左右。不论是在Cifar10数据集,还是在Fashion数据集上,I‑DFTM算法收敛最快,CapsNet+LSTM+FC次之,CNN+BILSTM+FC最慢。
[0119] 为了进一步观察各算法的对抗鲁棒性,通过改变数据集中投毒程度进行对照。通过随机打乱数据集标签的非目标攻击方式实现部分参与方私有数据的污染,即恶意攻击方在联邦学习训练开始之前将自己本地的部分数据样本的标签随机翻转为其他标签,再进行本地迭代训练,随后上传迭代更新的模型参数。有污染数据集实验首先设置被污染参与方占总参与方比例,而后设置参与方本地数据集被污染的比例,以实现参与方数据投毒。有污染数据集实验分为两组。
[0120] 实验三按照数据集设置在Cifar10数据集上进行实验。其对比实验结果如图21至图24所示。
[0121] 实验四按照数据集设置在Cifar10数据集上进行实验。其对比实验结果如图25至图28所示。
[0122] 为了便于比较,表4汇总了实验一、二、三、四的结果。从图21至图24来看,尽管联邦学习中有10%的攻击者存在,I‑DFTM算法精确度、准确度、F1值和召回率提升依旧很快,另外两种算法的曲线趋于一致,通信次数较小时,CNN+BILSTM+FC的准确度和精度高于CapsNet+LSTM+FC,通信次数达到150次后,CapsNet+LSTM+FC表现更好。
[0123] 表4.实验结果汇总(单位:%)
[0124]
[0125]
[0126] 从图25至图28来看,当联邦学习系统中攻击者占比达到20%时,从4种性能指标对比来看,I‑DFTM始终远优于CapsNet+LSTM+FC,而CapsNet+LSTM+FC稍优于CNN+BILSTM+FC。经过100轮次全局通信后,I‑DFTM最终准确度能够达到90%以上,另外两种算法即使经过
200轮全局通信,精确度依旧低于85%。
[0127] 随着全局迭代训练次数的增加,三种算法在Cifar10和Fashion两种数据集上的各项性能指标趋势一致,均稳定上升,在无污染数据集上,本文算法及对比算法均能较快收敛,且能达到较高准确率,这说明了联邦协同学习对模型训练的积极效果。随着投毒参与方比例的增加,各算法各项性能均随之下降,联邦学习的训练效果逐渐恶化。
[0128] 图29呈现了投毒攻击对各算法准确率的影响。经过数次全局通信后,不论联邦学习中有无投毒参与方,I‑DFTM算法的4类性能指标始终优于其他2种算法,达到收敛所需的通信轮次也更少。此外,在10%和20%参与方进行投毒攻击时,相比无投毒攻击时,CapsNet+LSTM+FC准确率分别下降了3.21%和9.12%,CNN+BILSTM+FC准确率分别下降了4.20%和4.10%,而本文所提算法准确率仅分别下降了1.02%和2.05%。从图10不难看出,尽管数据投毒攻击会严重影响联邦学习训练的准确率,但本实施例所提算法准确率下降较慢,鲁棒性较强,抗干扰能力远强于对比算法,这说明对参与方的识别机制和上传梯度处理策略以及多模型特征加权融合起到了关键作用。
[0129] 图10是本发明实施例提供的一种鲁棒性联邦深度学习装置300的示意性框图。如图10所示,对应于以上鲁棒性联邦深度学习方法,本发明还提供一种鲁棒性联邦深度学习装置300。该鲁棒性联邦深度学习装置300包括用于执行上述鲁棒性联邦深度学习方法的单元,该装置可以被配置于服务器中。具体地,请参阅图10,该鲁棒性联邦深度学习装置300包括接收单元301、存储单元302、聚合单元303、清空单元304以及下发单元305。
[0130] 接收单元301,用于接收参与方传递过来的参数;存储单元302,用于将所述参数存储到全局共享参数列表;聚合单元303,用于当全局共享参数管理列表收集到的参数数目达到容器上限,将参数安全聚合,更新共享参数;清空单元304,用于清空全局共享参数列表;下发单元305,用于下发更新后的共享参数至参与方。
[0131] 在一实施例中,所述下发单元305,用于发更新后的共享参数至参与方,以使参与方更新自身参数,且当参与方的本地训练的损失值小于损失阈值时进行训练。
[0132] 图11是本发明另一实施例提供的一种鲁棒性联邦深度学习装置300的示意性框图。如图11所示,本实施例的鲁棒性联邦深度学习装置300是上述实施例的基础上增加了提取单元306。
[0133] 提取单元306,用于将各参与方的神经网络所提取的图像特征进行加权融合,以得到提取结果。
[0134] 在一实施例中,所述提取单元306包括特征获取子单元、融合子单元以及特征提取子单元。
[0135] 特征获取子单元,用于获取更新自身参数后的参与方所提取图像特征,以得到初始图像特征;融合子单元,用于将所述初始图像特征进行特征融合,以得到融合结果;特征提取子单元,用于将所述融合结果进行全连接,并使用瓶颈层网络提取特征,以得到提取结果。
[0136] 在一实施例中,所述融合子单元包括矩阵设置模块以及运算模块。
[0137] 矩阵设置模块,用于设置共享度矩阵;运算模块,用于将所述共享度矩阵与所述初始图像特征进行内积运算,以得到融合结果。
[0138] 需要说明的是,所属领域的技术人员可以清楚地了解到,上述鲁棒性联邦深度学习装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
[0139] 上述鲁棒性联邦深度学习装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图12所示的计算机设备上运行。
[0140] 请参阅图12,图12是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
[0141] 参阅图12,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
[0142] 该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种鲁棒性联邦深度学习方法。
[0143] 该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
[0144] 该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种鲁棒性联邦深度学习方法。
[0145] 该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0146] 其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
[0147] 接收参与方传递过来的参数;将所述参数存储到全局共享参数列表;当全局共享参数管理列表收集到的参数数目达到容器上限,将参数安全聚合,更新共享参数;清空全局共享参数列表;下发更新后的共享参数至参与方。
[0148] 其中,所述参数包括参与方上传的参数、参与方上传的参数乘以惩罚矩阵后形成的新参数中至少一个。
[0149] 所述参与方上传的参数乘以惩罚矩阵后形成的新参数是根据若干个参与方的损失值的均值降序排序后确定需要乘以惩罚矩阵的参数,将需要乘以惩罚矩阵的参数乘以惩罚矩阵形成的,其中,惩罚矩阵是不同参与方的损失对全局模型损失的贡献度。
[0150] 在一实施例中,处理器502在实现所述下发更新后的共享参数至参与方步骤之后,还实现如下步骤:
[0151] 将各参与方的神经网络所提取的图像特征进行加权融合,以得到提取结果。
[0152] 在一实施例中,处理器502在实现所述下发更新后的共享参数至参与方步骤时,具体实现如下步骤:
[0153] 下发更新后的共享参数至参与方,以使参与方更新自身参数,且当参与方的本地训练的损失值小于损失阈值时进行训练。
[0154] 在一实施例中,处理器502在实现所述将各参与方的神经网络所提取的图像特征进行加权融合,以得到提取结果步骤时,具体实现如下步骤:
[0155] 获取更新自身参数后的参与方所提取图像特征,以得到初始图像特征;将所述初始图像特征进行特征融合,以得到融合结果;将所述融合结果进行全连接,并使用瓶颈层网络提取特征,以得到提取结果。
[0156] 在一实施例中,处理器502在实现所述将所述初始图像特征进行特征融合,以得到融合结果步骤时,具体实现如下步骤:
[0157] 设置共享度矩阵;将所述共享度矩阵与所述初始图像特征进行内积运算,以得到融合结果。
[0158] 应当理解,在本申请实施例中,处理器502可以是中央处理单元(Central Processing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0159] 本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
[0160] 因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
[0161] 接收参与方传递过来的参数;将所述参数存储到全局共享参数列表;当全局共享参数管理列表收集到的参数数目达到容器上限,将参数安全聚合,更新共享参数;清空全局共享参数列表;下发更新后的共享参数至参与方。
[0162] 其中,所述参数包括参与方上传的参数、参与方上传的参数乘以惩罚矩阵后形成的新参数中至少一个。
[0163] 所述参与方上传的参数乘以惩罚矩阵后形成的新参数是根据若干个参与方的损失值的均值降序排序后确定需要乘以惩罚矩阵的参数,将需要乘以惩罚矩阵的参数乘以惩罚矩阵形成的,其中,惩罚矩阵是不同参与方的损失对全局模型损失的贡献度。
[0164] 在一实施例中,所述处理器在执行所述计算机程序而实现所述下发更新后的共享参数至参与方步骤之后,还实现如下步骤:
[0165] 将各参与方的神经网络所提取的图像特征进行加权融合,以得到提取结果。
[0166] 在一实施例中,所述处理器在执行所述计算机程序而实现所述下发更新后的共享参数至参与方步骤时,具体实现如下步骤:
[0167] 下发更新后的共享参数至参与方,以使参与方更新自身参数,且当参与方的本地训练的损失值小于损失阈值时进行训练。
[0168] 在一实施例中,所述处理器在执行所述计算机程序而实现所述将各参与方的神经网络所提取的图像特征进行加权融合,以得到提取结果步骤时,具体实现如下步骤:
[0169] 获取更新自身参数后的参与方所提取图像特征,以得到初始图像特征;将所述初始图像特征进行特征融合,以得到融合结果;将所述融合结果进行全连接,并使用瓶颈层网络提取特征,以得到提取结果。
[0170] 在一实施例中,所述处理器在执行所述计算机程序而实现所述将所述初始图像特征进行特征融合,以得到融合结果步骤时,具体实现如下步骤:
[0171] 设置共享度矩阵;将所述共享度矩阵与所述初始图像特征进行内积运算,以得到融合结果。
[0172] 所述存储介质可以是U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
[0173] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0174] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0175] 本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
[0176] 该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0177] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页 第1页 第2页 第3页