本发明涉及联邦学习技术,特别涉及异构纵向联邦学习技术。
背景技术:
1、工业4.0时代,云计算、物联网(iot)和人工智能等不同现代技术的出现促进了工业革命,提高了工业生产力。如今,不同的组织和企业管理着大量的数据,并且这些数据正在迅速增加。如果能有效利用和整合如此庞大的大数据,可以提高生产率、降低生产成本和促进制造业升级。然而,隐私法规的强化,如通用数据保护条例(gdpr),以及激烈的商业竞争,导致数据管理者被禁止共享敏感数据。这种限制引起了被称为数据孤岛的重大挑战,这严重阻碍了有效的数据协作。
2、为了应对这些挑战,联邦学习(fl)已成为一种很有前途的分布式学习方法,在打破数据孤岛带来的障碍的同时确保隐私保护。fl在各种工业4.0场景中得到了广泛的应用,如新能源汽车、数据管理和智能信息物理系统(icps)。联邦学习fl中,大量客户通过聚合梯度而不是上传原始数据来协作训练模型。在实际的工业场景中,训练样本分散在多个区域,且同一区域内不同客户端所拥有的本地训练样本特征各异。此外,各区域间的数据集与模型表现出显著的异构性,表现为标签分布不均、模型架构差异等特性,这给模型构建与训练带来了困难。处于不同的目的,不同的组织拥有的数据集通常具有不同的特征空间,但是这些组织可能共享一个大的用户群体,纵向联邦学习vfl一般是适用于数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习场景。
3、当前的异构纵向联邦学习方法并没有充分探索多层级的数据分布,据申请人所知,现有方案可以通过修改模型架构扩展到两级数据分布,但它们不能有效地解决不同区域间数据异质性的挑战。特别地,有一种方案提出了一种基于分裂学习(sl)的纵向联邦学习方法。该方法通过为每个区域配置拆分模型,本地客户端可以使用服务器串行执行拆分学习过程,最终得到多个底层模型和全局顶级模型。但是,每个底层模型仅对相应区域拥有的类有效,无法解决数据异构分布的问题。另一项工作提出了一种名为splitfed的方法,该方法将fl和sl用于协作学习任务。splitfed考虑了两个服务器,一个是维护顶层模型的主要服务器,另一个是从每个客户端聚合底层模型的联邦服务器。通过根据局部数据分布纵向分割每个区域的底层模型,splitfed可以解决两级数据分布。然而,这种方法类似于典型的基于梯度聚合的fl,同样无法解决数据异构分布的问题。此外,现有方法未使用隐私保护手段,安全性不足。
技术实现思路
1、本发明所要解决的技术问题是,为解决异构区域间的两级数据分布和模型异质性的挑战,提供一种在保护隐私的前提下,实现多层级异构数据的纵向联邦学习方法。
2、本发明为解决上述技术问题所采用的技术方案是,一种隐私保护的多层级异构纵向联邦学习方法,包括步骤:
3、1)纵向联邦学习模型构建步骤:各客户端在不同的区域拥有各自的训练数据集;在每个区域i中,各客户端拥有数据集di(cl),i={m},cl表示客户端编号,m为区域总数;各客户端在每个的区域有一个对应的底层模型,每个区域在云服务器中有一个对应的顶层模型,顶层模型由表征层和决策层组成,每个区域的全部的底层模型与顶层模型组成纵向联邦学习模型
4、2)初始化步骤:云服务器首先初始化全局原型集合类别序号j={n};n为顶层模型能够输出的分类结果的总类别数,设置训练轮数t;之后,进入训练步骤开始对每个区域i的云服务器的顶层模型和客户端的底层模型的并行训练并更新全局原型:
5、3)训练步骤:
6、3-1前向传播:
7、各客户端cl在其本地底层模型输入di(cl)获得客户端cl粉碎数据si(cl)并上传到云服务器;
8、云服务器根据接收到的区域i内所有客户端的粉碎数据si={si(cl)},利用si计算顶层模型中表征层hi的输出ai=hi(si);
9、云服务器计算区域i的第j个类原型其中di,j是来自数据集di的样本与属于第j类的样本的交集,||表示取集合中的元素数量;x表示纵向联邦学习模型的输入,y表示真实分类结果;
10、云服务器计算顶层模型中决策层oi输出前向传播完成;
11、3-2反向传播:
12、云服务器使用和计算损失是任何监督任务的损失,为纵向联邦学习模型输出的分类结果,d表示求和的距离,λ表示正则化项的超参数,是区域i中的全局原型;
13、云服务器根据损失计算并更新纵向联邦学习模型下顶层模型的梯度,将该梯度发送给客户端a;客户端a使用接收到的梯度更新本地底层模型,完成本地反向传播。
14、云服务器使用新的更新全局原型
15、
16、其中表示类别j的区域集,表示属于所有区域中类别j的样本数量。
17、3-3判断训练轮次是否达到t,如是,纵向联邦学习模型训练完成,否则,返回步骤3-1。
18、进一步的,各客户端cl得到粉碎数据后,对利用轻量级差分隐私dp中的噪声机制将测量噪声添加到粉碎数据,再将添加了测量噪声的粉碎数据上传到云服务器。
19、基于工业4.0应用中细粒度数据分布的真实场景,本发明提供一种跨异构区域的vfl框架,用于两级数据分布,将基于分裂学习和基于原型的聚合的vfl方法来处理异构设置中的细粒度数据分布。本发明对于数据在地域上分散且各区域内部不同的实体各自拥有本地样本集合的不同特征,本发明允许在这样的环境中进行有效的模型训练。对于区域之间因标签分布和模型架构不同而导致的数据集异构性,本发明通过特定机制进行协同训练。在每个区域中,本地纵向客户端与服务器合作以保持拆分学习模型,专门为解决两级数据分布带来的挑战量身定制。本发明利用基于原型的聚合方法解决不同区域间的异构性问题。每个区域的类原型可以从区域的分裂学习模型生成。然后服务器可以将每个区域的类原型聚合为全局原型,而不需要同构数据和模型。每个类的原型是从类样本生成的嵌入的平均值,它代表了该类最显着的特征。每个拆分学习模型的优化目标是最小化分类错误的概率,同时使其局部原型接近全局原型。
20、进一步的,为了提高安全性并确保用户数据隐私,本发明使用了基于差分隐私(differential privacy,dp)来强化隐私保护。
21、本发明的有益效果是:有效且高效的实现了比基准纵向联邦学习vfl方法更高的分类精度。
1.一种隐私保护的多层级异构纵向联邦学习方法,其特征在于,包括:
2.如权利要求1所述方法,其特征在于,纵向联邦学习模型的总模型参数w_i=(μi,σi,ωi),其中,μi为区域i对应的顶层模型的决策层参数,σi为区域i对应的顶层模型的表示层参数,ωi为区域i对应的底层模型参数,由区域i内所有客户端对应的底层模型参数组成;
3.如权利要求1所述方法,其特征在于,各客户端cl得到粉碎数据后,对利用轻量级差分隐私dp中的噪声机制将测量噪声添加到粉碎数据,再将添加了测量噪声的粉碎数据上传到云服务器。
4.如权利要求1所述方法,其特征在于,云服务器计算损失使用d表示求和的距离,λ表示正则化项的超参数,是区域i中的全局原型。
5.如权利要求1所述方法,其特征在于,当客户端为医院时,训练数据集为医院采集的医疗记录,纵向联邦学习模型用于接收输入的医疗记录,输出地区健康状况分类结果;