一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于自适应调整权重的数据隐私保护方法及系统

2022-12-20 20:39:18 来源:中国专利 TAG:


1.本发明涉及联邦学习和数据安全技术领域,基于客户端选择性知识蒸馏的联邦学习方法及系统。


背景技术:

2.传统的机器学习技术已经被成功应用到了计算机视觉、自然语言处理、推荐系统和自动控制等领域。随着人工智能在各行各业的应用落地,人们对于用户隐私和数据安全的关注度也在不断提高。各国也都在不断加强对数据安全和隐私的保护,例如欧盟2018年正式出台了《通用数据保护条例》(general dataprotection regulation,gdpr),我国2021年通过了《中华人民共和国个人信息保护法》。由于这些法律法规的隐私保护限制,使得医疗、企业、军事等领域的数据呈现孤岛分布。近年兴起的联邦学习(federated learning,fl)通过传输模型参数而非原始数据,实现了多方数据的安全共享。一方面,数据不出本地可以很好地保护用户隐私和数据安全;另一方面,联合训练能够充分感知各个客户端的本地私有数据,解决数据孤岛问题。
3.不同用户、设备和机构等参与客户端所在的环境是天然异质的,导致联邦学习中的数据是非独立同分布(non-independent and identicallydistributed,non-iid)的。non-iid一直是联邦学习领域中亟待解决的前沿热点问题,其中标签分布偏移在联邦学习的实际应用场景中尤为显著。客户端的数据异构性会导致其本地训练的时候严重偏移全局目标,造成更新过程的分歧(weight divergence)。因此联邦学习数据non-iid的研究挑战之一在于约束各个客户端本地训练过程中的模型更新方向,从本地私有数据中学习知识的同时保留全局模型的知识。现有技术通过在本地损失函数中添加修正项,使得本地更新过程不过分偏离全局模型。其中修正项使用本地模型减去上一轮的全局模型的l2距离进行计算。在一个完整的数据集上训练的全局模型比在一个倾斜的子集上训练的本地模型能够学习到更好的表示。基于此,在本地损失函数中添加一个对比学习损失项,以达到减小本地模型学习到的表示与全局模型学习到的表示之间的距离,增大本地模型学习到的表示与前一个本地模型学习到的表示之间的距离的目的。还可以采用可塑权重巩固(elastic weightconsolidation,ewc)方法消除联邦学习中的灾难性遗忘问题,通过在本地损失函数中添加一个惩罚项,阻碍本地模型在全局任务上的模型重要参数的变化。
4.上述研究方法都是利用全局模型约束客户端本地模型的更新方向,防止更新后的本地模型和全局模型差异太大。但是这些工作都存在以下两个方面的缺陷:一方面,这些工作不能自适应的调整本地目标函数中的修正项和任务损失项之间的权重。若修正项的权重过大会导致该轮联邦无法学习到新知识,而过小又会导致优化方向偏移全局目标,因此需要非常仔细的调整该权重才能朝着理想的最优模型优化,尝试权重的过程会耗费大量时间和精力。另一方面,这些工作没有考虑到性能较差的全局模型会误导本地模型的更新方向朝着错误的方向优化,尤其针对没有参与上一轮联邦的客户端。因为每一轮参与联邦的客户端是动态变化的,并且客户端的数据是非独立同分布的,导致聚合得到的全局模型在不
同类别上的表征能力不同。在联邦学习的开始阶段,全局模型还没有学习到一个很好的表示,此时本地模型训练时应该更注重从本地私有数据中学习知识而非保留全局知识。而在联邦通信中后期,全局模型在特定类别上的表现优于本地模型,本地模型应从类别层面和样本层面选择性的保留全局知识。
5.现有大多数联邦学习算法都是基于经典的联邦平均(federated averaging, fedavg),其使用传统的客户-服务器(client-server,c-s)架构,将分布式训练过程拆分为多轮迭代的客户端本地训练过程和服务器端参数聚合过程。如图 1所示,在客户端本地训练过程中,每个客户端从服务器下载模型,然后在本地私有数据集上进行多轮训练;在服务器端参数聚合过程中,服务器接收来自客户端更新后的模型参数,使用客户端总样本量作为权重的参数平均方式进行聚合。假设一共有n个客户端,每个客户端的本地私有数据集为d= {d1,d2,

,dn}。全局模型w的目标函数l是各客户端本地模型目标函数li的加权平均:其中qi表示客户端i的聚合时的权重,|di|表示客户端i本地私有数据集的总样本量。
6.在联邦学习的实际应用场景中,各客户端的本地数据分布通常是非独立同分布non-iid的,尤其是数据的标签分布p(y)可能不同。一方面,各客户端在本地倾斜数据集上进行本地训练时,模型拟合样本的更新方向不一致,导致各个本地模型偏移全局目标,产生对全局知识的“灾难性遗忘”,进而造成聚合更新的全局模型和理想的模型偏差过大。同时全局模型提取不同类的特征的能力不同,对于当前挑选的客户端本地私有数据中的多数类的特征提取能力很强,因此全局模型的输出logit(神经网络在输出预测值的softmax激活函数的输入变量)在这些多数类通道上的可信度比少数类通道上的高。另一方面,全局模型的输出logit还与具体的训练样本有关。当训练样本属于上述的少数类时,或者是多数类样本中特征比较独特的,全局模型无法有效提取该样本的特征,因此此时输出logit在各个类通道上的可信度都很低。
7.综上所述,如何在本地训练过程中选择性的保留全局知识并自适应调整本地更新方向,提升模型的泛化性和收敛速度,成为了我们研究关注的重点。


技术实现要素:

8.本发明的目的在于克服现有联邦学习方法在面向非独立同分布数据时,不能自适应调整本地模型的更新方向,没有考虑全局模型的性能变化、在类间的性能差异和样本间的性能差异等不足,提出了一种基于自适应调整权重的数据隐私保护方法,其中包括:
9.步骤1、将已标注类别标签的辅助数据集输入全局模型,得到该全局模型在每类数据上的分类精度,作为类别可信度矩阵;
10.步骤2、至少一个客户端从云端获取该全局模型,该客户端初始化其本地模型,该客户端本地具有本地私有数据集,该本地私有数据集中样本对应有类别标签;将该本地私有数据集,输入该本地模型,得到本地模型的输出,以及分类损失;并将该本地私有数据集输入位于该客户端本地的该全局模型,得到该全局模型的输出,以及该本地私有数据中每个样本的分类精度,作为样本可信度矩阵;根据该样本可信度矩阵和该类别可信度矩阵,得到蒸馏损失;根据由该分类损失和该蒸馏损失构成的总损失,训练该本地模型;将训练完成
的该本地模型的模型参数上传到该云端;
11.步骤3、该云端通过对收到的模型参数进行加权聚合,得到新模型。
12.所述的基于自适应调整权重的数据隐私保护方法,其中该步骤3包括:以该新模型替换该全局模型,循环执行该步骤1到3,直到该总损失收敛或达到预设迭代次数,全局模型训练更新结束,保存当前的全局模型作为最终模型,并对指定数据进行分类或预测。
13.所述的基于自适应调整权重的数据隐私保护方法,其中该蒸馏损失其中是类别的权重向量,

表示元素相乘;zg为全局模型的输出,z为本地模型的输出;
14.权重向量m中k1位置的值为:
15.m(x)[k1]=m
max
·
[m
class
[k1]m
sample
(x)-0.1]


[0016][0017]msample
(x)=1-(1-pg(x)[k2])
0.5

[0018]
其中样本x属于类别k2,a
k1,k1
是类别k1的召回率,a
k,k1
表示类别k误预测为类别k2的概率;pg(x)[k2]表示该全局模型正确预测样本 x的类别为k2的概率,m
max
为蒸馏损失项的上限值。
[0019]
所述的基于自适应调整权重的数据隐私保护方法,其中该客户端为医疗机构数据中心或金融机构数据中心,该新模型用于对输入图像进行分类或对交易数据进行风险预测。
[0020]
本发明还提出了一种基于自适应调整权重的数据隐私保护系统,其中包括:
[0021]
云端,用于将已标注类别标签的辅助数据集输入全局模型,得到该全局模型在每类数据上的分类精度,作为类别可信度矩阵;通过对收到的模型参数进行加权聚合,得到新模型;
[0022]
至少一个客户端,从该云端获取该全局模型,该客户端初始化其本地模型,该客户端本地具有本地私有数据集,该本地私有数据集中样本对应有类别标签;将该本地私有数据集,输入该本地模型,得到本地模型的输出,以及分类损失;并将该本地私有数据集输入位于该客户端本地的该全局模型,得到该全局模型的输出,以及该本地私有数据中每个样本的分类精度,作为样本可信度矩阵;根据该样本可信度矩阵和该类别可信度矩阵,得到蒸馏损失;根据由该分类损失和该蒸馏损失构成的总损失,训练该本地模型;将训练完成的该本地模型的模型参数上传到该云端。
[0023]
所述的基于自适应调整权重的数据隐私保护系统,其中该云端用于:以该新模型替换该全局模型,保存当前的全局模型作为最终模型,并对指定数据进行分类或预测。
[0024]
所述的基于自适应调整权重的数据隐私保护系统,其中该蒸馏损失其中是类别的权重向量,

表示元素相乘;zg为全局模型的输出,z为本地模型的输出;
[0025]
权重向量m中k1位置的值为:
[0026]
m(x)[k1]=m
max
·
[m
class
[k1]m
sample
(x)-0.1]


[0027][0028]msample
(x)=1-(1-pg(x)[k2])
0.5

[0029]
其中样本x属于类别k2,a
k1,k1
是类别k1的召回率,a
k,k1
表示类别k误预测为类别k2的概率;pg(x)[k2]表示该全局模型正确预测样本 x的类别为k2的概率,m
max
为蒸馏损失项的上限值。
[0030]
所述的基于自适应调整权重的数据隐私保护系统,其中该客户端为医疗机构数据中心或金融机构数据中心,该新模型用于对输入图像进行分类或对交易数据进行风险预测。
[0031]
本发明还提出了一种存储介质,用于存储执行所述任意一种基于自适应调整权重的数据隐私保护方法的程序。
[0032]
本发明还提出了一种客户端,用于任意一种基于自适应调整权重的数据隐私保护系统。
[0033]
由以上方案可知,本发明的优点在于:
[0034]
本发明通过在联邦学习的本地训练过程中引入客户端选择性知识蒸馏的策略,从类别层面和样本层面评估全局模型的可信度,根据该可信度选择性蒸馏全局知识到本地模型中,让各个客户端的本地模型从本地私有数据的学习知识的同时不过分偏离全局模型,进而减少联邦通信轮次,提升模型的性能和加快模型的收敛。
附图说明
[0035]
图1为现有技术联邦学习流程图;
[0036]
图2为本发明联邦学习流程图;
[0037]
图3为各客户端的数据分布示意图;
[0038]
图4为基准数据集上的对比结果图;
[0039]
图5为全局模型在测试集上的混淆矩阵图。
具体实施方式
[0040]
在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
[0041]
客户端,是指为客户提供服务的节点。客户端可以是大量的移动或物联网设备,也可以是不同的组织机构(例如政府部门、医疗机构、金融机构、地理分布的数据中心等),本地私有数据都存储在客户端中。本发明实施例中的客户端不局限于任何应用场景。
[0042]
服务器端(云端),是指为客户端提供服务的节点。中心服务端与各个客户端建立连接,在不泄露原始数据的前提下,协调多个客户端联合建模。
[0043]
深度学习模型,是由多个处理单元连接而形成的深度神经网络。其中,在服务器端更新的模型称为全局模型,在客户端更新的模型称为本地模型。
[0044]
辅助数据集,是用于辅助联邦训练的公开数据集。可由训练任务相关的公开数据集构成,或者由各个客户端公开少许本地数据构成。
[0045]
鉴于已有方法存在的局限性和挑战,本发明提出了一种基于客户端选择性知识蒸
馏的联邦学习方法。本发明的一个重点是选择性蒸馏全局模型的知识到本地模型中,根据全局模型在类别层面和样本层面的可信度,自适应的调整本地训练过程中的蒸馏损失的权重,从而提升模型性能,加快模型收敛。因为每一轮联邦都需要重新计算m_class和m_sample,同时蒸馏损失的权重m是由这两者决定的,因此称为自适应调整权重。
[0046]
本发明包括以下关键技术点:
[0047]
关键点1,针对本地训练过程中的灾难性遗忘问题,引入了基于客户端知识蒸馏的联邦学习方法。技术效果为本地更新过程中可以保留全局模型的知识;
[0048]
关键点2,针对全局模型在类别间性能差异和样本间性能差异问题,引入了客户端选择性知识蒸馏策略。分别在服务器端用辅助数据集评估全局模型类别层面的可信度和在本地用其私有数据的每个样本评估全局模型样本层面的可信度,进行知识蒸馏时利用类别可信度和样本可信度进行加权。通过该“择其善者而从之,其不善者而改之”的策略动态地指导本地模型的训练过程。技术效果为可以自适应调整本地更新过程。
[0049]
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
[0050]
针对上述问题,本发明提出一种基于客户端选择性自蒸馏联邦学习方法 (selective self-distillation in federated learning,fedssd),将全局模型作为“老师”,本地模型作为“学生”,选择性的从全局模型中学习全局表达,从而自适应的修正模型参数的本地更新过程,保证其不遗忘全局知识的同时从本地私有数据中学到新知识。
[0051]
根据本发明的一个实施例,从各个客户端共享少部分数据到服务器端,或者使用公开数据集作为构建辅助数据集dv。比如乳腺癌组织学图像分类任务,可以采用少许公开数据集camelyon17作为辅助数据集。在第t轮联邦通信轮次时,首先在服务器端辅助数据集dv评估全局模型类别层面的可信度(以混淆矩阵表示)其中函数表示全局模型w
t
在辅助数据集dv上的精度,k表示类别数量,a
k1,k2
表示全局模型把类别k1预测为类别k2 的概率。然后,将可信度矩阵a
t
和全局模型w
t
下发到参与该轮联邦的客户端中。客户端可以为移动手机端、或者机构如医院、研究院、公司等。
[0052]
根据本发明的一个实施例,客户端i收到了服务器端下发的可信度矩阵a
t
和全局模型w
t
。首先用全局模型w
t
初始化其本地模型然后通过随机梯度下降(stochastic gradient descent,sgd)算法在本地私有数据di上优化其本地目标函数li。为了防止本地训练产生对全局模型的灾难性遗忘,需要同时优化分类损失和蒸馏损失:li=l
ce,i
l
ssd,i

[0053]
根据本发明的一个实施例,对于每一个输入样本x,我们定义全局模型的输出logit为本地模型的输出logit为经过softmax层之后的预测概率为分类损失l
ce,i
通常为交叉熵损失,
[0054]
蒸馏损失由全局模型输出logit:zg(经过softmax后为pg),本地模型输出logit:z,
权重m是由m
sample
、m
class
组成。全局模型在本地数据上的输出 logit代表了全局知识,logit可以看作是该样本属于各个类的绝对预测估计,经过softmax层之后,logit被转换为该样本属于各个类的相对预测估计。为了解耦全局模型在各个类别上的预测能力,我们采用加权的均方误差(meansquare error,mse)去对齐本地模型和全局模型输出的logit向量,而不是kl 散度(kullback-leibler divergence)去对齐全局模型和本地模型的预测分布。因此,选择性蒸馏损失定义为其中是与类别相关的权重向量,e代表的含义是期望,

表示元素相乘。假设样本 x属于类别k2,m向量中k1位置的值为:m(x)[k1]=m
max
· [m
class
[k1]m
sample
(x)-0.1]

, m
sample
(x)=1-(1-pg(x)[k2])
0.5
。其中保证m中的每个元素都大于等于0。a
k1,k1
是类别k1的召回率,a
k,k1
表示类别k错误预测为类别k2 的概率。pg(x)[k2]表示全局模型正确预测样本x的类别为k2的概率。m
max
决定了蒸馏损失项的上限值。
[0055]
整个方法的框架如图2所示。流程可总结为:
[0056]
1、服务器端初始化一个全局模型w0,并在辅助数据集上计算该模型类别层面的可信度;
[0057]
2、服务器端随机挑选c
×
n个客户端s
t
参与本轮联邦训练,并将全局模型参数w
t
和可信度矩阵a
t
下发到这些客户端中;
[0058]
3、客户端在本地私有数据集di上计算全局模型w
t
样本层面的可信度,训练更新本地模型其中li=l
ce,i
l
ssd,i
[0059]
4、各个客户端将更新后的模型参数上传到服务器端;
[0060]
5、服务器端对收到的模型参数进行加权聚合并在辅助数据集上计算更新后的全局模型w
t 1
的可信度矩阵a
t 1

[0061]
重复以上步骤2-5直至模型收敛。
[0062]
根据本发明的一个实施例,在实际的应用场景中,最终目的是获得一个泛化性强的全局模型,各个客户端可从服务器端下载该模型进行本地推理。例如在政务开放应用场景中,利用本发明的方法可以打破政府部门数据孤岛,实现跨部门、与社会数据等安全共享;在生物医疗应用场景中,利用本发明的方法可以有效联合多家医院,以实现疾病预测、医学影像识别、药物发现和基因测序等任务;在金融应用场景中,利用本发明的方法可以在保护用户信息不泄露的前提下训练联合信贷风格模型,实现更精细、更精准的金融风险控制。
[0063]
根据本发明的一个实施例,采用狄利克雷分布(dirichlet distribution, pk~dir(δ))构造non-iid数据分布场景,p
k,i
表示客户端i拥有类别为k样本数量比例。δ是控制客户端间的异构程度的超参,其值越小说明客户端数据分布越不均匀,异构程度越大。本发明在三个公开数据集cifar10、cifar100和tinyimagenet上验证方法有效性。设置δ=0.5为默认值,各个客户端的数据分布例子如图3所示,横坐标代表客户端的id(默认设置10个客
户端),纵坐标为类别id(3个数据集分别有10,100,200个类),矩形框表示该客户端拥有该类的样本数量,颜色越深代表拥有的样本量越多。另外,还采用了 fedavg算法中的数据划分方式,随机分配k个类到各客户端,这里用#k=k 表示。对于cifar10,我们采用和fedavg一致的模型,一个简单的cnn网络(两层卷积,两层全连接);对于cifar100和tinyimagenet的模型采用 resnet50。
[0064]
这里与5种相关工作进行对比,其中包括基准方法fedavg和四种在本地目标函数中添加正则化项的类似方法fedprox(li等人提出的“federatedoptimization in heterogeneous networks”),fedcurv(shoham等人提出的“overcoming forgetting in federated learning on non-iid data”),moon(li 等人提出的“model-contrastive federated learning”)和scaffold (karimireddy等人提出的“scaffold:stochastic controlled averaging forfederated learning”)。在基准数据集上的对比结果如图4所示,第一行表示全局模型在测试集上的准确率变化图,第二行表示各客户端的本地模型在同一个测试集上的平均准确率变化图。可以看出本发明提出的方法fedssd在 cifar10和tinyimagenet数据集上优于其他方法,在cifar100上的全局测试准确率相比于moon略差,但是平均本地准确率更高。另一方面,我们观察到在联邦通信的前几轮,fedssd和基准方法的平均本地准确率差不多,因为全局模型还没有学习到好的特征表达。之后,fedssd的平均本地准确率相比于其他方法在三个数据集上均有较大提升,说明fedssd能够有效保留全局知识并且从本地私有数据中学习到了知识。除开上述的对比实验之外,我们还分析了数据异构程度对fedssd的影响,全局测试准确率如表一所示。可以看到fedssd在不同异构程度的数据分布中均表现良好。
[0065]
表一
[0066][0067][0068]
为了进一步说明本发明的有效性,可视化某一轮下发的全局模型在测试集 上的混淆矩阵如图5(b)所示,并随机挑选了一个客户端,数据分布如图5 (a)所示。在本地私有数据上使用基准方法fedavg和本发明提出的fedssd 方法进行训练后的模型在测试集上的混淆矩阵如图4(c)所示。经过fedavg 本地更新后的模型在类别2,6和7上面的性能很差,说明本地更新过程中遗 忘了全局模型关于这些类别的知识,而fedssd有效的保留了这部分知识同时 从本地私有数据中进一步学习到了有关类别3,4,5,8的知识。
[0069]
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
[0070]
本发明还提出了一种基于自适应调整权重的数据隐私保护系统,其中包括:
[0071]
云端,用于将已标注类别标签的辅助数据集输入全局模型,得到该全局模型在每类数据上的分类精度,作为类别可信度矩阵;通过对收到的模型参数进行加权聚合,得到新模型;
[0072]
至少一个客户端,从该云端获取该全局模型,该客户端初始化其本地模型,该客户端本地具有本地私有数据集,该本地私有数据集中样本对应有类别标签;将该本地私有数据集,输入该本地模型,得到本地模型的输出,以及分类损失;并将该本地私有数据集输入位于该客户端本地的该全局模型,得到该全局模型的输出,以及该本地私有数据中每个样本的分类精度,作为样本可信度矩阵;根据该样本可信度矩阵和该类别可信度矩阵,得到蒸馏损失;根据由该分类损失和该蒸馏损失构成的总损失,训练该本地模型;将训练完成的该本地模型的模型参数上传到该云端。
[0073]
所述的基于自适应调整权重的数据隐私保护系统,其中该云端用于:以该新模型替换该全局模型,保存当前的全局模型作为最终模型,并对指定数据进行分类或预测。
[0074]
所述的基于自适应调整权重的数据隐私保护系统,其中该蒸馏损失其中是类别的权重向量,

表示元素相乘;zg为全局模型的输出,z为本地模型的输出;
[0075]
权重向量m中k1位置的值为:
[0076]
m(x)[k1]=m
max
·
[m
class
[k1]m
sample
(x)-0.1]


[0077][0078]msample
(x)=1-(1-pg(x)[k2])
0.5

[0079]
其中样本x属于类别k2,a
k1,k1
是类别k1的召回率,a
k,k1
表示类别k误预测为类别k2的概率;pg(x)[k2]表示该全局模型正确预测样本 x的类别为k2的概率,m
max
为蒸馏损失项的上限值。
[0080]
所述的基于自适应调整权重的数据隐私保护系统,其中该客户端为医疗机构数据中心或金融机构数据中心,该新模型用于对输入图像进行分类或对交易数据进行风险预测。
[0081]
本发明还提出了一种存储介质,用于存储执行所述任意一种基于自适应调整权重的数据隐私保护方法的程序。
[0082]
本发明还提出了一种客户端,用于任意一种基于自适应调整权重的数据隐私保护系统。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献