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

联合更新模型的方法及装置与流程

2021-11-17 23:40:00 来源:中国专利 TAG:


1.本说明书一个或多个实施例涉及计算机技术领域,尤其涉及联合更新模型的方法及装置。


背景技术:

2.随着深度学习的飞速发展,人工智能技术正在几乎每个行业中展示其优势。然而大数据驱动的人工智能在现实情况中存在很多困难。例如数据孤岛现象严重,利用率低且成本一直居高不下。一些行业的单一数据方还可能存在数据有限或数据质量较差的问题。另外,由于行业竞争,隐私安全和复杂的管理程序,即使同一公司的不同部门之间的数据集成也可能面临着巨大的阻力,数据整合成本较高。联邦学习正是在这样的背景下提出的。联邦学习是一种基于分布式机器学习的框架,主要思想是基于分布在多个设备上的数据集构建机器学习模型,同时防止数据泄露。在这种框架下,客户端(例如移动设备)在中央服务器的协调下协作地训练模型,同时训练数据可保留在客户端本地,无需像传统机器学习方法将数据上传至数据中心。
3.出于隐私考虑,参与联邦学习的各数据方的本地私有数据都无需上传至数据中心,而是直接存储在本地,通过共享模型的参数或参数更新信息来保护每个客户端的数据。但是作为训练模型的一部分,这些共享的数据以外的其他信息(例如梯度信息)也可能相第三方或者中央服务泄露客户端数据集的敏感信息,对数据的隐私造成一定的威胁。因此,数据的隐私性和准确性之间如何平衡,是联邦学习的重要问题。


技术实现要素:

4.本说明书一个或多个实施例描述了一种联合更新模型的方法及装置,用以解决背景技术提到的一个或多个问题。
5.根据第一方面,提供一种联合更新模型的方法,适用于多个数据方基于隐私保护,在第三方的辅助下联合训练模型,所述模型对应各个数据方各自设置的本地模型,和设置在第三方的全局模型;在单个更新周期,所述方法包括:各个数据方分别执行以下本地训练操作得到相应的中间结果:利用本地模型处理本地数据,得到本地输出;基于本地数据和本地输出,在本地模型和本地模拟攻击模型之间进行对抗训练;向第三方发送基于对抗训练更新的本地模型对本地数据处理得到的中间结果;其中,所述本地攻击模型用于推断所述本地数据或其数据属性;第三方获取各个数据方分别发送的各个中间结果,并利用所述全局模型处理各个中间结果,以向各个数据方各自反馈相应的中间结果对应的梯度数据;各个数据方根据第三方反馈的梯度数据,调整本地模型的待定参数,从而更新本地模型。
6.根据第二方面,提供一种联合更新模型的方法,适用于多个数据方基于隐私保护,在第三方的辅助下联合训练模型的过程,所述模型包括各个数据方各自设置的本地模型,和设置在第三方的全局模型;所述方法由所述多个数据方中的第一数据方执行,在单个更新周期,所述方法包括:利用本地模型处理本地数据,得到本地输出;基于本地数据和本地
输出,在本地模型和本地模拟攻击模型之间进行对抗训练,所述本地攻击模型用于推断所述本地数据或其数据属性;向第三方发送基于对抗训练更新的本地模型对本地数据处理得到的第一中间结果,以供第三方利用所述全局模块处理各个数据方分别发送的各个中间结果,从而反馈与第一中间结果相关的第一梯度数据;利用所述第一梯度数据确定本地模型中各个待定参数的梯度,以更新本地模型中的各个待定参数,从而更新本地模型。
7.在一个实施例中,当前周期使用本地模型处理的本地数据条数为n,本地模型针对n条本地数据分别得到相应的n个本地输出;所述基于本地数据和本地输出,在本地模型和本地模拟攻击模型之间进行对抗训练包括:将n个本地输出和n条本地数据一一对应构建n个训练样本,其中,本地输出作为本地模拟攻击模型的输入特征,本地数据作为本地模拟攻击模型的样本标签;利用所述n个训练样本训练本地模拟攻击模型;在本地模拟攻击模型的待定参数收敛的情况下,通过对抗本地模拟攻击模型对本地输出的攻击,调整所述本地模型的待定参数。
8.在一个实施例中,所述利用所述n个训练样本训练本地模拟攻击模型包括:将各个本地输出分别输入本地模拟攻击模型,得到相应的各个攻击结果;利用各个攻击结果分别与相应的本地数据的对比,确定攻击损失,其中,单个攻击结果与单条本地数据的一致性越高,攻击损失越小;以减小攻击损失为目标,调整本地模拟攻击模型的待定参数。
9.在一个实施例中,所述通过对抗本地模拟攻击模型对本地输出的攻击,调整所述本地模型的待定参数包括:通过待定参数收敛的本地模拟攻击模型处理各个本地输出,得到分别针对各个本地输出的各个攻击结果;基于各个攻击结果与相对应的各条本地数据的对比,确定隐私损失,其中,单个攻击结果与单条本地数据的一致性越低,隐私损失越小;基于隐私损失确定本地模型在当前周期的本地损失,并以本地损失最小化为目标调整本地模型的待定参数。
10.在一个实施例中,所述本地损失还包括准确性损失,所述准确性损失与针对本地模型的待定参数的调整幅度正相关;所述基于隐私损失确定本地模型在当前周期的本地损失包括:利用所述隐私损失和所述准确性损失的叠加结果确定所述本地损失。
11.在一个实施例中,所述第一梯度数据为所述全局损失针对所述第一中间结果的第一梯度;所述利用所述第一梯度数据确定本地模型中各个待定参数的梯度包括:确定所述第一中间结果分别针对本地模型中各个待定参数的各个第二梯度;本地模型中各个待定参数的梯度分别为各个第二梯度与所述第一梯度的乘积。
12.根据第三方面,提供一种联合更新模型的方法,适用于多个数据方基于隐私保护,在第三方的辅助下联合训练模型的过程,所述模型包括各个数据方各自设置的本地模型,和设置在第三方的全局模型;所述方法由所述第三方执行,在单个更新周期,所述方法包括:获取各个数据方分别发送的各个中间结果,单个中间结果由相应数据方利用本地数据,基于本地模型和本地模拟攻击模型的对抗训练确定;利用全局模型处理各个中间结果,从而向各个数据方分别反馈相应的中间结果对应的梯度数据,以供各个数据方根据第三方反馈的梯度数据,调整本地模型的待定参数,从而更新本地模型。
13.在一个实施例中,所述利用全局模型处理各个中间结果,从而向各个数据方分别反馈相应的中间结果对应的梯度数据包括:利用全局模型处理各个中间结果,得到全局输出结果;基于标签数据和全局输出结果的对比检测全局损失;根据全局损失确定各个数据
方各自对应的梯度数据,以针对性地向各个数据方反馈相应的梯度数据,由各个数据方根据反馈的梯度数据调整本地模型的待定参数,从而更新本地模型。
14.在一个实施例中,所述多个数据方中的第一数据方为训练样本的标签数据持有方,所述利用全局模型处理各个中间结果,从而向各个数据方分别反馈相应的中间结果对应的梯度数据包括:利用全局模型处理各个中间结果,得到全局输出结果;将得到的全局输出结果发送至所述第一数据方,以供所述第一数据方反馈基于标签数据和全局输出结果的对比检测到的全局损失;根据全局损失确定各个数据方各自对应的梯度数据,以针对性地向各个数据方反馈相应的梯度数据,由各个数据方根据反馈的梯度数据调整本地模型的待定参数,从而更新本地模型。
15.在一个实施例中,在所述全局模型中包含待定参数的情况下,所述方法还包括:根据全局损失确定全局模型中的待定参数的梯度,以调整全局模型中的待定参数。
16.根据第四方面,提供一种联合更新模型的装置,适用于多个数据方基于隐私保护,在第三方的辅助下联合训练模型的过程,所述模型包括各个数据方各自设置的本地模型,和设置在第三方的全局模型;所述装置设于所述多个数据方中的第一数据方,包括:
17.本地处理单元,配置为利用本地模型处理本地数据,得到本地输出;
18.对抗训练单元,配置为基于本地数据和本地输出,在本地模型和本地模拟攻击模型之间进行对抗训练,所述本地攻击模型用于推断所述本地数据或其数据属性;
19.发送单元,配置为向第三方发送基于对抗训练更新的本地模型对本地数据处理得到的第一中间结果,以供第三方利用所述全局模块处理各个数据方分别发送的各个中间结果,从而反馈与第一中间结果相关的第一梯度数据;
20.更新单元,配置为利用所述第一梯度数据确定本地模型中各个待定参数的梯度,以更新本地模型中的各个待定参数,从而更新本地模型。
21.根据第五方面,提供一种联合更新模型的装置,适用于多个数据方基于隐私保护,在第三方的辅助下联合训练模型的过程,所述模型包括各个数据方各自设置的本地模型,和设置在第三方的全局模型;所述装置设于所述第三方,包括:
22.获取单元,配置为获取各个数据方分别发送的各个中间结果,单个中间结果由相应数据方利用本地数据,基于本地模型和本地模拟攻击模型的对抗训练确定;
23.全局处理单元,配置为利用全局模型处理各个中间结果,从而向各个数据方分别反馈相应的中间结果对应的梯度数据,以供各个数据方根据第三方反馈的参考数据,调整本地模型的待定参数,从而更新本地模型。
24.根据第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面或第三方面的方法。
25.根据第七方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面或第三方面的方法。
26.通过本说明书实施例提供的方法和装置,联合更新的模型由各个数据方分别在本地设置的各个本地模型以及第三方设置的全局模型构成。第三方为服务方或可信第三方。该模型架构可以适用于各种联邦学习过程,尤其适用于纵向联邦学习过程。在联邦学习过程中,各个数据方还在本地设置有模拟攻击模型,在联合更新模型的单个周期,模拟攻击模
型和本地模型可以进行对抗训练,使得本地模型向第三方提供的针对本地数据进行处理的本地输出,基于对抗模拟攻击模型的攻击得到,从而保证隐私性。以上方案通过模拟攻击模型参与的对抗训练,提出一种更利于衡量数据隐私性的联邦学习过程,提高联邦学习的有效性。
附图说明
27.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
28.图1是在本说明书技术构思下的联合更新模型的系统架构示意图;
29.图2示出本说明书技术构思下的模型架构示意图;
30.图3示出本说明书一个实施例的联合更新模型的处理流程示意图;
31.图4是本说明书一个实施例的数据方进行本地训练的流程示意图;
32.图5是本说明书一个实施例的数据方对抗训练架构示意图;
33.图6是本说明书一个实施例的第三方进行全局处理的流程示意图;
34.图7是本说明书一个实施例的设于数据方的联合更新模型的装置示意性框图;
35.图8是本说明书一个实施例的设于第三方的联合更新模型的装置示意性框图。
具体实施方式
36.下面结合附图,对本说明书提供的方案进行描述。
37.联邦学习(federated learning),又可以称为联邦机器学习、联合学习、联盟学习等。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
38.具体地,假设企业a、企业b各自建立一个任务模型,单个任务可以是分类或预测,而这些任务也已经在获得数据时由各自用户的认可。然而,由于数据不完整,例如企业a缺少标签数据、企业b缺少用户特征数据,或者数据不充分,样本量不足以建立好的模型,那么在各端的模型有可能无法建立或效果并不理想。联邦学习要解决的问题是如何在a和b各端建立高质量的模型,该模型的训练兼用a和b等各个企业的数据,并且各个企业的自有数据不被其他方知晓,即在不违反数据隐私法规情况下,建立一个共有模型。这个共有模型就好像各方把数据聚合在一起建立的最优模型一样。这样,建好的模型在各方的区域仅为自有的目标服务。
39.联邦学习的各个机构可以称为训练成员,为了描述方便,在本说明书中也可以称为数据方。各个数据方分别可以持有不同的业务数据,还可以通过设备、计算机、服务器等参与业务模型的联合训练。这里的业务数据例如可以是字符、图片、语音、动画、视频等各种数据。通常,各个数据方持有的业务数据具有相关性,各个训练成员对应的业务方也可以具有相关性。例如,涉及金融业务的多个业务方中,业务方1为银行,为用户提供储蓄、贷款等业务,可以持有用户的年龄、性别、收支流水、贷款额度、存款额度等数据,业务方2为p2p平台,可以持有用户的借贷记录、投资记录、还款时效等数据,业务方3为购物网站,持有用户
的购物习惯、付款习惯、付款账户等数据。再例如,涉及医疗业务的多个业务方中,各个业务方可以是各个医院、体检机构等,如业务方1为医院a,对应用户年龄、性别、症状、诊断结果、治疗方案、治疗结果等等诊疗记录作为本地业务数据,业务方2可以为体检机构b,对应用户年龄、性别、症状、体检结论等等的体检记录数据,等等。单个数据方可以持有一个业务的业务数据,也可以持有多个业务方的业务数据。联邦学习的目的是训练一个可以更好地处理这些业务数据的模型,因此联邦学习的模型也可以称为业务模型。
40.联邦学习的隐私保护方法通常有差分隐私和同态加密两大类。差分隐私通过向模型参数(更新)添加扰动来提升系统安全性能,使第三方无法分辨出单独的个体。但是这种算法需要在准确性和隐私性之间做一个权衡。也就是说,隐私性是在牺牲一定的准确定的前提下做出的,隐私性越高准确性越低,隐私性和准确性具有一定的冲突。同态加密通过在加密机制下进行参数交换来保护用户隐私。同态加密方法中数据和模型本身不会被传输,因此,在原始数据级别的隐私泄露的可能性很小。然而同态加密并不能很好地支持非线性运算,如果联合训练的业务模型采用深度神经网络dnn,其中可能涉及较多的非线性运算,产生很大的计算量。
41.为了解决常规技术中联邦学习的问题,本说明书提出的实施架构下,各个数据方在本地具有本地模型,第三方部署有全局模型,在训练过程中,对本地模型进行对抗攻击的对抗训练。如图1所示,数据方的本地模型用于对本地训练数据进行处理,中间处理结果上传至第三方。为了保护数据隐私,各个数据方在本地进行模拟攻击并对抗攻击的训练。具体地,单个数据方可以在本地设置模拟攻击模型,根据攻击目标模拟攻击者根据中间处理结果对本地数据的攻击性预测。进一步地,针对本地模型,基于模拟攻击模型的攻击,进行对抗攻击的训练,从而使得输出的中间结果能够对抗攻击者的攻击。第三方可以为由各个数据方共同认可的可信业务方,例如为服务方或可信第三方。第三方将各个数据方的处理结果进一步汇总处理,从而向各个数据方反馈各自对应的梯度数据。各个数据方根据参考数据调整本地模型。
42.可以理解,联邦学习可以分为横向联邦学习(特征对齐)、纵向联邦学习(样本对齐)与联邦迁移学习。本说明书提供的实施架构基于纵向联邦学习提出,即,各个数据方之间样本主体重叠,从而可以分别提供样本的部分特征的联邦学习情形。样本主体即待处理的业务数据对应的主体,例如金融风险性评估的业务主体为用户或者企业等。然而,这并不排除本说明书提供的技术方案可以应用于其他形式的联邦学习的可能性。
43.参考图2所示,为了进一步明确本说明书的实施架构,从纵向联邦学习的架构下,联合训练的模型的部署角度给出本说明书的实施架构。如图2所示,假设参与联邦学习的数据方共有n个,各个数据方在本地分别具有本地模型,第三方具有全局模型。
44.在纵向联邦学习中,联合训练的模型包括第三方持有的全局模型和分别部署在n个数据方上的n个本地模型,即虚线框201包围的部分。n个数据方通过样本对齐,而选择相一致的样本主体对应的样本数据,然后,各自通过本地模型处理本地样本数据后将处理结果发送至第三方。其中,单个本地模型相当于对相应数据方的数据进行了编码或加密,使得第三方可以接收并使用相关数据,但不能获取原始数据。第三方可以将各个数据方发送的中间结果由全局模型融合处理,例如拼接为全局模型第一层的输入特征,并通过全局模型进一步处理,得到输出结果。
45.可以理解,为了保证单个数据方对本地数据的处理结果被第三方使用且不泄露隐私数据,需要中间结果在尽可能表示原始数据的基础上,不能还原出原始数据(即保证隐私性)。为此,在本说明书的技术构思下,各个数据方还可以在本地设置对抗模型。对抗模型例如可以是模拟攻击模型。模拟攻击模型可以试图还原原始数据,从而检测中间结果对原始数据的还原度,衡量本地模型对原始数据处理结果的隐私性。实践中,在联邦学习过程中,针对一个批次的样本数据,单个数据方可以进行本地模型和模拟攻击模型的对抗训练。在对抗训练过程中,通过调整模拟攻击模型的待定参数至收敛,并在模拟攻击模型收敛的待定参数基础上,调整本地模型的参数,以对抗模拟攻击模型的攻击,避免模拟攻击模型推断出原始数据。这样,可以认为针对当前批次的样本数据,当前本地模型的处理可以保证准确性和隐私性。此时,通过本地模型处理当前批次的原始数据,得到中间结果上传至第三方。
46.第三方根据各个中间结果,通过全局模型处理后可以得到相应输出结果作为预测结果。在纵向联邦学习中,该输出结果可以是对样本数据的预测结果。进一步经由预测结果和样本标签的对比,可以反向推导待定参数的梯度。其中,对于具有待定参数的全局模型来说,第三方可以反向推导全局模型的待定参数的梯度,并最终推导出各个中间结果的梯度,并分别反馈至相应数据方。对于不具有待定参数的全局模型来说,第三方可以仅推导各个中间结果的梯度,并分别反馈至相应数据方各个数据方利用中间结果的梯度可以进一步推导本地模型中各个待定参数的梯度,从而向梯度减小方向调整本地模型中的各个待定参数,完成当前批次样本对应的一个轮次模型更新。
47.经过多个批次的样本数据对应的多个轮次的更新,可以训练出满足条件的模型。值得说明的是,在纵向联邦学习的情况下,各个数据方分别对应的各个本地模型,其模型结构可以由相应数据方在本地自主设置,也可以由服务方统一设置后拆分到各个数据方,在此不做限定。如图2所示,不同数据方之间的本地模型的神经网络层数、参数数量等都可以不同。模拟攻击模型作为辅助训练模型,本身可以不包括在联邦学习要训练的模型内。
48.下面详细描述本说明书的技术构思。
49.请参考图3所示,给出了一个实施例的联合更新模型的流程。该流程可以通过第三方和多个数据方实现,单个数据方可以是任何具有计算、处理能力的设备、平台或设备集群。第三方可以是服务方或其他可信业务方。在一个实施例中,第三方还可以是数据方之一(如持有标签数据的数据方)。各个数据方分别持有训练样本的部分特征数据。联合更新的模型包括各个数据方各自设置的本地模型,和设置在第三方的全局模型。各个本地模型可以看作并联关系,它们的并联结果与全局模型串联。
50.可以理解,联合更新模型的过程中,可以有多个迭代周期。直至满足联合训练的停止条件。为了描述方便,图3以单个周期为例进行描述。如图3所示,联合更新模型的流程包括:
51.步骤301,各个数据方分别执行本地训练操作,得到相应的中间结果。可以理解,根据本说明书的技术构思,这里的中间结果是本地模型对本地数据的处理结果。在纵向联邦学习中,中间结果相当于单个数据方对本地数据进行类似于编码、加密、特征提取之类的预处理得到的表示本地数据的结果。
52.这里说的本地数据,可以理解为相应数据方针对当前批次的样本主体持有的数据。例如,在用户的金融风险性检测业务场景下,样本主体是用户,一个数据方持有的本地
数据为用户理财、贷款、还贷数据,另一个数据方持有用户的消费记录、支付途径等数据,又一个数据方持有用户的年龄、学历、职业、收入数据等,第三方或其中若干个数据方持有用户的历史进行风险性标签数据。在企业金融风险性检测业务场景下,样本主体是企业,一个数据方可以持有其注册时间、法人代表、注册资本等注册数据,另一个数据方可以持有其银行流水、借贷情形等资产数据,第三方或若干数据方持有其作为样本标签的历史信用数据,等等。在其他业务场景下,各个数据方持有的数据还可以是其他形式,在此不做赘述。
53.如图4所示,该步骤301具体可以拆分为以下子步骤:
54.步骤3011,利用本地模型处理本地数据,得到本地输出。这里,本地模型是联邦学习的模型中的一部分,就单个数据方本地而言,可以将其看作独立的模型,则该独立模型的处理结果,就是本地模型的输出结果。由于本地模型处理的数据是本地数据,本地模型本身只和当前数据方相关,所以其输出结果记为本地输出。
55.值得注意的是,这里的本地输出并不是向第三方传递的中间结果。在本说明书的技术构思下,为了保护本地数据的隐私,该本地输出不作为向第三方传递的中间结果。本地数据可以根据业务场景确定,并且和当前数据方持有的数据对应的业务有关,例如针对一个具体的数据方而言,本地数据可以是用户理财、贷款、还贷数据。本地输出可以是向量、矩阵等形式,在此不做限定。
56.步骤3012,基于本地数据和本地输出,在本地模型和本地模拟攻击模型之间进行对抗训练。可以理解,本地攻击模型可以模拟一个攻击者,攻击者的目的可以包括推断原始数据中的隐私属性(例如推断用户收入属性为高或低,可以通过分类模型等实现)或者重构原始数据(例如重构用户的银行流水、借贷情形等资产数据,可以通过回归模型等实现)。因此,可以将本地输出作为本地模拟攻击模型的输入,初始的本地数据作为本地模拟攻击模型的“标签(label)”,在本地模拟攻击模型和本地模型之间进行对抗训练。
57.图5示出了在纵向联邦学习中,本地模型和本地模拟攻击模型之间对抗训练的架构。如图5所示,对抗训练过程中,将步骤3011中得到的本地输出作为模拟攻击模型的输入,将模拟攻击的攻击结果与原始本地数据(label)对比,确定攻击损失。这里,模拟攻击的攻击结果就是模拟攻击模型对原始数据进行预测的输出结果。攻击者的目的是尽可能得到准确的数值,因此,攻击损失可以用模拟攻击模型的预测结果与原始本地数据(label)之间的差距衡量。差距越小,攻击损失越小,攻击越成功。这种差距根据模拟攻击模型的目标形式确定。在模拟攻击模型的目标形式为向量(例如模拟攻击模型为重构本地数据的回归模型)的情况下时,攻击损失可以通过预测结果与原始本地数据之间的标准差、均方误差(mse)、余弦相似性等形式描述,在模拟攻击模型为分类模型(例如模拟攻击模型的目标为预测本地数据的某个数据项属性)时,攻击损失可以通过预测结果与原始本地数据之间的差的绝对值、对数函数、交叉熵损失函数等形式描述。本地模拟攻击模型的待定参数收敛,意味着当前周期的模拟攻击模型训练成功,本地模拟攻击模型在当前周期确定下来。
58.为了描述方便,可以将单个数据方记为数据方i,其中i为大于等于1小于等于n的整数,n为数据方数量。数据方i当前周期所使用的本地数据记为d
i
,本地输出记为o
i
,本地模型的待定参数记为θ
i
,当前周期的待定参数的初始值记为θ
i0
,模拟攻击模型的待定参数记为v
i
,训练至收敛的模拟攻击模型的参数记为v
i*
。则在当前周期,可以使用o
i
作为模拟攻击模型的输入,将模拟攻击模型的预测结果a(v
i
,o
i
)与d
i
进行比较并调整v
i
。通常,将当前批
次d
i
的多条数据反复输入模拟攻击模型,可以使得待定参数收敛,得到v
i*
。待定参数收敛的模拟攻击模型是在当前周期训练好的模拟攻击模型,可以认为其是一个对当前本地模型的输出能够攻击成功的攻击者。
59.可以理解,在对抗训练中,希望通过扰动,使得攻击者得出错误信息,即攻击失败。本说明书的技术构思下,可以通过调整本地模型的待定参数改变本地输出从而阻止本地攻击模型攻击成功。此时,可以根据本地模拟攻击模型调整本地模型的模型参数,使其抵抗攻击,以保证隐私性。在纵向联邦学习过程中,在本地模拟攻击模型收敛后,可以进一步调整本地模型的输出o
i
,以使得本地模型的输出满足隐私性和准确性。
60.这样,还需要对本地模型待定参数进行更新。更新时可以同时考虑隐私性、准确性两方面的损失。
61.一方面,考虑隐私性。在纵向联邦学习中,使得本地模型处理本地数据得到的本地输出经训练好的模拟攻击模型处理后的攻击结果a(v
i*
,o
i
)与d
i
之间的相似程度最小化。攻击结果a(v
i*
,o
i
)与d
i
之间的相似性例如记为:具体地,为了保证隐私性,基于固定的调整本地模型的待定参数θ
i
使得最小化。此时的目标是使得模拟攻击模型得到原始数据失败,该目标与模拟攻击模型训练过程中的目标相反。也可以称为隐私损失。在一个具体例子中,隐私损失和攻击损失可以互为相反数。因此,的设置方式可以参考模拟攻击模型损失的设置方式,区别在于,攻击损失中待调整的参数是模拟攻击模型的待定参数,隐私损失中待调整的参数是本地模型中的待定参数,在此不再赘述。可以理解,攻击模型的预测结果a(v
i*
,o
i
)与d
i
之间的相似程度越小,隐私损失越小,模拟攻击模型推断原始数据的准确度越低,本地输出的隐私性越高。
62.另一方面,考虑全局的准确性。可以理解,当前周期不是初始周期的情况下,待定参数的初始值θ
i0
可以是前一周期根据联邦学习全局梯度调整的参数,是满足全局损失最小化的需求而调整确定的参数,如果确定本地输出时,对待定参数θ
i
在满足全局调整后的参数基础上调整幅度过大,可能影响全局的联邦学习准确性。因此,在对抗训练过程中调整本地模型的待定参数时,还可以考虑参数调整幅度,调整幅度越小,准确度越高。据此,可以设置准确性损失,与待定参数θ
i
和待定参数的初始值θ
i0
的范数表示。例如准确性损失设置为一阶范数|θ
i

θ
i0
|,或者二阶范数等等。
63.在一个实施例中,在本次对本地模型的待定参数调整过程中的本地损失可以是准确性损失和隐私损失之和。在另一个实施例中,本地损失可以是对准确性损失和隐私损失的积取对数。这里,之所以称为本地损失,是因为这里的损失还未上传至第三方,因此可以认为和第三方及其他数据方无关,该名称不对损失的实质含义进行限定。这样,隐私损失和准确性损失相互制约,既调整本地模型的待定参数以防止攻击者攻击成功,从而保护隐私,又不至于本地模型的待定参数变化幅度较大,影响整体模型的准确性。
64.根据一个纵向联邦学习中的具体例子,可以在本次对本地模型的待定参数调整过程中的损失确定为:
[0065][0066]
其中,通过预设的超参数τ(其可以为一个常数,如2)来控制隐私性的比重。则本地模型的待定参数可以调整为:
[0067][0068]
可以理解,该具体例子仅为一个示例。实践中,在满足以上调整原理的情况下,还可以根据其他方式调整本地模型的待定参数θ
i
,在此不做限定。由调整后的θ
i
定义的本地模型可以认为是基于本地模拟攻击模型和本地模型的对抗训练更新的本地模型。
[0069]
值得说明的是,为了使得模拟攻击模型具有更好的效果,在一个实施例中,在每个更新周期,都要利用相应周期的本地数据对模拟攻击模型与本地模型进行对抗训练,在模拟攻击模型收敛的情况下,以对抗其攻击为目的调整本地模型的待定参数。
[0070]
步骤3013,向第三方发送基于对抗训练更新的本地模型对本地数据处理得到的中间结果。根据步骤3012中描述的对抗训练的原理可知,在本地模拟攻击模型收敛的情况下,可以得到能够确保隐私性和准确性的对抗攻击的本地模型。使用该能够对抗攻击的本地模型对本地数据进行处理,可以得到能够对抗攻击的本地输出,作为联邦学习的一个中间结果。该中间结果同时具有隐私性和准确性,向第三方提供这样的中间结果可以确保本地数据不被泄露,并能够进一步用于全局训练。
[0071]
接着,通过步骤302,第三方针对各个数据方分别发送的各个中间结果,利用全局模型处理各个中间结果,以向各个数据方反馈各自的中间结果对应的梯度数据。
[0072]
具体地,如图6所示,该步骤302可以包括以下步骤:
[0073]
步骤3021,第三方可以获取各个数据方分别发送的各个中间结果,利用全局模型处理各个中间结果,得到全局输出结果。可以理解,在纵向联邦学习过程中,各个数据方可以持有训练样本不同维度的特征,因此,各个中间结果进行拼接融合,作为全局模型的输入。在可选的实施例中,如果多个数据方提供的特征重合导致中间结果的部分维度重合,还可以将重合的维度数值进行平均,从而作为全局模型相应维度的输入。实践中,全局模型可以通过多层神经网络(如全连接神经网络、卷积神经网络等)、决策树、支持向量机等等中的一种或多种形式实现,在此不做限定。全局模型例如可以记为f(o1,o2……
o
n
)。在横向联邦学习过程中,这里的输出还可以是待定参数的梯度或者按梯度更新后的值。
[0074]
步骤3022,利用标签数据和全局输出结果的对比检测全局损失,并根据全局损失确定全局模型中的待定参数的梯度,以及各个数据方各自对应的梯度数据。所谓全局损失,可以理解为联邦学习的模型架构在当前周期产生的综合损失,即图2示出的各个本地模型和全局模型的总损失。
[0075]
根据一个可能的设计,标签数据可以预先存储在第三方,第三方可以直接将标签数据与全局输出结果进行对比。对比方式可以根据全局模型的形式和联邦学习的业务需求而定。例如可以通过交叉熵损失、均方差损失、余弦损失、2

范数等等各种合理的方式衡量全局损失。通常,全局输出结果与标签数据越接近,全局损失越小,反之全局损失越大。
[0076]
根据另一个可能的设计,至少一部分标签数据可以存储在若干数据方。此时,对于存储在第一数据方,则第三方可以将相应样本的全局输出结果发送至第一数据方,以供第
一数据方基于标签数据和全局输出结果的对比检测到的全局损失,并反馈给第三方。在可选的实施例中,第一数据方持有的标签数据与第三方得到的全局输出结果的对比可以结合全局损失的具体形式,通过安全比较算法(如不经意传输ot等)得到对比结果,从而确定全局损失。
[0077]
可以理解,在监督学习中,通常利用梯度更新参数,例如采用梯度下降法、牛顿法等方法,向着模型损失减小的方向调整模型参数。因此,通过全局损失可以推断各个待定参数在当前周期的梯度,从而进行当前轮次的参数调整。
[0078]
在本说明书的模型架构下,联合训练的模型通过其可以是可通过梯度更新模型的任一形式的机器学习模型,例如神经网络(如全连接神经网络、卷积神经网络等)、支持向量机、逻辑回归、线性回归等等中的一种或多种形式实现,在此不做限定。在这种模型架构下,至少各个数据方分别对应的各个本地模型存在待定参数。全局模型中可循在待定参数,也可不存在待定参数。例如,全局模型f(o1,o2……
o
n
)=o1 o2
……
o
n
,则全局模型中不存在待定参数。
[0079]
可以理解,将模型损失记为l,则l是f(o1,o2……
o
n
)的函数,例如记为l(f)。通过梯度更新待定参数时,需要确定模型损失针对待定参数的梯度。对于数据方i的第q个参数θ
iq
而言,即要确定
[0080]
第三方可以针对各个数据方的本地输出,推导各个数据方分别对应的梯度。单个数据方i对应的梯度数据例如为:单个数据方i对应的梯度也可以理解为其本地模型的本地输出o
i
造成的本地损失。梯度数据可由第三方回传给数据方i。
[0081]
在全局模型中存在待定参数的情况下,第三方还可以根据全局损失,确定全局模型中各个待定参数的梯度。全局模型中的待定参数的梯度可以由第三方直接用于调整全局模型中的待定参数,在此不再赘述。
[0082]
进一步地,通过步骤303,各个数据方根据第三方反馈的梯度数据,确定本地模型中各个待定参数的梯度,从而更新本地模型。
[0083]
可以理解,对于数据方i的本地模块的各个待定参数,可以在本地确定这样,根据第三方反馈的梯度数据可以确定全局损失针对数据方i第q个参数θ
iq
的梯度
[0084]
据此,以全局损失最小化为目的,单个数据方可以按照相应梯度调整本地模型中的各个待定参数。
[0085]
以梯度下降法为例,以上待定参数调整过程可以为:θ=θ

λδ。其中,θ表示某个待定参数,δ表示其在当前周期中对应的梯度,λ为调整步长。
[0086]
如此,经过多个周期(每个周期执行步骤301

步骤303)的迭代,在满足结束条件的情况下,完成联邦学习对模型的更新。其中,迭代结束条件包括但不限于以下中的一项:待
同步参数趋于收敛、模型损失趋于收敛、迭代周期达到预定周期,等等。其中,收敛可以理解为,改变量小于预定阈值。
[0087]
图3从第三方和各个数据方交互角度描述了联合更新模型的方法,从任一个数据方(以下记为第一数据方)的角度,在单个更新周期,联合更新模型的流程可以包括:
[0088]
利用本地模型处理本地数据,得到本地输出;
[0089]
基于本地数据和本地输出,在本地模型和本地模拟攻击模型之间进行对抗训练;
[0090]
向第三方发送基于对抗训练更新的本地模型对本地数据处理得到的第一中间结果,以供第三方利用全局模块处理各个数据方分别发送的各个中间结果,从而反馈与第一中间结果相关的第一梯度数据;
[0091]
利用所述第一梯度数据确定本地模型中各个待定参数的梯度,以更新本地模型中的各个待定参数,从而更新本地模型。
[0092]
可以理解,图3示出的交互流程中,关于单个数据方执行的步骤的描述,同样适用于第一数据方,在此不再赘述。
[0093]
回顾以上过程,联合更新模型过程中,联合更新的模型由各个数据方分别在本地设置的各个本地模型以及第三方设置的全局模型构成。在本说明书实施架构下,各个数据方还在本地设置有模拟攻击模型,以检测本地模型的隐私性。在联合更新模型的单个周期,模拟攻击模型和本地模型可以进行对抗训练,由本地模型对本地数据进行处理的本地输出,训练当前周期能够完成攻击的模拟攻击模型,之后,在对抗模拟攻击模型的攻击基础上,调整本地模型的待定参数,以干扰攻击,保证隐私性,同时考虑本地模型在全局更新的稳定性,以确保全局模型的准确性。该实施架构尤其适用于纵向联邦学习过程。以上方案通过模拟攻击模型参与的对抗训练,提出一种更利于衡量数据隐私性的联邦学习过程,提高联邦学习的有效性。
[0094]
例如:同差分隐私相比,本说明书的技术方案能在保证用户数据隐私的同时保证联邦学习训练的准确性;跟同态加密相比,本说明书的技术方案可以支持dnn等复杂神经网络,并且减少运算量。
[0095]
根据另一方面的实施例,还提供联合更新模型的装置。该装置用于图3示出的联合更新模型的流程。可以理解,联合更新模型流程设计数据方和第三方。相对于第三方,各个数据方执行的流程相类似。因此,本说明书提供的联合更新模型的装置分为设于第三方的装置和设于任一数据方的装置。
[0096]
如图7所示,设于第一数据方的装置700可以包括:
[0097]
本地处理单元71,配置为利用本地模型处理本地数据,得到本地输出;
[0098]
对抗训练单元72,配置为基于本地数据和本地输出,在本地模型和本地模拟攻击模型之间进行对抗训练,本地攻击模型用于推断本地数据或其数据属性;
[0099]
发送单元73,配置为向第三方发送基于对抗训练更新的本地模型对本地数据处理得到的第一中间结果,以供第三方利用所述全局模块处理各个数据方分别发送的各个中间结果,从而反馈与第一中间结果相关的第一梯度数据;
[0100]
更新单元74,配置为利用第一梯度数据确定本地模型中各个待定参数的梯度,以更新本地模型中的各个待定参数,从而更新本地模型。
[0101]
如图8所示,设于第三方的装置800可以包括:
[0102]
获取单元81,配置为获取各个数据方分别发送的各个中间结果,单个中间结果由相应数据方利用本地数据,基于本地模型和本地模拟攻击模型的对抗训练确定;
[0103]
全局处理单元82,配置为利用全局模型处理各个中间结果,从而向各个数据方分别反馈相应的中间结果对应的梯度数据,以供各个数据方根据第三方反馈的参考数据,调整本地模型的待定参数,从而更新本地模型。
[0104]
值得说明的是,图7、图8示出的装置分别对应实现图3中数据方i、第三方所执行的方法,因此,关于图3描述中关于数据方i、第三方的相关描述,同样适用与图7、图8示出的装置,在此不再赘述。
[0105]
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3等所描述的适用于数据方i或者第三方之一的方法。
[0106]
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3等所描述的适用于数据方i或者第三方之一的方法。
[0107]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0108]
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献