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

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

2022-02-22 08:21:20 来源:中国专利 TAG:


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


背景技术:

2.随着人工智能技术的发展,机器学习模型已逐渐应用于风险评估、语音识别、人脸识别和自然语言处理等领域。为实现更好的模型性能,就需要更多的训练数据。在医疗、金融等领域,不同的企业或机构拥有不同的数据样本,一旦将这些数据利用分布式机器学习算法进行联合训练,将极大提升模型精度,给企业带来巨大的经济效益。
3.常规技术中,通常利用联邦学习来利用多个数据方的数据共同训练出性能更好的模型。联邦学习根据数据方中数据类型不同往往可分为两大类:水平切分数据和垂直切分数据。在水平切分场景下,数据方拥有的数据特征空间相同,样本空间不同;在垂直切分场景下,数据方拥有的数据样本空间相同,特征空间不同。然而在某些多方联合机器学习中,无法简单的看成水平切分或者垂直切分,例如某金融平台与多家银行之间进行联邦学习,该金融平台与多家银行之间可能是垂直切分场景,而多家银行之间可能更适合水平切分场景。也就是说,实践中存在较复杂的切分场景。如何在复杂切分场景下实现对相关业务模型的联合训练,是联邦学习领域,值得研究的具有重要意义的技术问题。


技术实现要素:

4.本说明书一个或多个实施例描述了一种联合更新模型的方法及装置,用以解决背景技术提到的一个或多个问题。
5.根据第一方面,提供了一种联合更新模型的系统,包括联邦服务方和多个子系统,用于联合更新模型w,所述多个子系统中的单个子系统i包括训练成员中的第一成员c
i1
、第二成员c
i2
,第一成员c
i1
、第二成员c
i2
持有的样本数据构成垂直切分,各个子系统持有的样本数据构成水平切分,单个子系统i对应与模型w结构一致的本地模型wi,本地模型wi包括设在第一成员c
i1
的第一子模型w
ci1
、设在第二成员c
i2
的第二子模型w
ci2
;其中:单个子系统i用于,利用在第一成员c
i1
、第二成员c
i2
上垂直切分的训练样本针对本地模型wi进行垂直切分方式下的联合训练,并在满足同步条件的情况下,向所述联邦服务方提供相应本地模型wi中与各个待定参数一一对应的各个待同步参数的更新值,以及根据所述联邦服务方反馈的各个待同步参数的同步值,进行本地待同步参数与各个子系统中的待同步参数的同步,从而调整相应待定参数;所述联邦服务方用于对来自多个子系统的待同步参数的更新值进行安全同步,并反馈同步值。
6.根据第二方面,提供一种联合更新模型的方法,所述方法适用于联合更新模型的系统更新模型w的过程,所述系统包括联邦服务方和多个子系统,所述多个子系统中的单个子系统i包括训练成员中的第一成员c
i1
、第二成员c
i2
,第一成员c
i1
、第二成员c
i2
持有的样本数据构成垂直切分,各个子系统持有的样本数据构成水平切分,单个子系统i对应与模型w
结构一致的本地模型wi,本地模型wi包括设在第一成员c
i1
的第一子模型w
ci1
、设在第二成员c
i2
的第二子模型w
ci2
;所述方法包括:各个子系统各自利用在相应第一成员、第二成员上垂直切分的训练样本针对相应本地模型进行垂直切分方式下的联合训练,并在满足同步条件的情况下,由各个训练成员各自向所述联邦服务方提供相应子模型中与各个待定参数一一对应的各个待同步参数的更新值;所述联邦服务方对来自多个子系统的待同步参数的更新值进行安全同步,并反馈各个待同步参数的同步值;各个子系统中的各个训练成员各自接收本地待同步参数的同步值,以更新本地的待定参数。
7.在一个实施例中,单个子系统i还包括子服务方si,单个子系统i对本地模型wi进行的联合训练包括:针对当前轮次的若干样本,第一成员c
i1
和第二成员c
i2
各自通过第一子模型w
ci1
和第二子模型w
ci2
处理相应的本地样本数据,分别得到对应的第一中间结果r
it1
、第二中间结果r
it2
,以发送给子服务方si;子服务方si基于第三子模型w
si
对第一中间结果r
it1
、第二中间结果r
it2
进行的处理,分别向第一成员c
i1
、第二成员c
i2
反馈第一中间结果r
it1
的梯度、第二中间结果r
it2
的梯度;第一成员c
i1
和第二成员c
i2
各自利用第一中间结果r
it1
的梯度和第二中间结果r
it2
的梯度,确定第一子模型w
ci1
和第二子模型w
ci2
中的待定参数的梯度,从而分别确定第一子模型w
ci1
和第二子模型w
ci2
中的待同步参数的更新值。
8.在一个实施例中,单个子系统i中当前轮次的若干样本的标签持有方为第一成员c
i1
或第二成员c
i2
;所述子服务方si基于第三子模型w
si
对第一中间结果r
it1
、第二中间结果r
it2
进行的处理,分别向第一成员c
i1
、第二成员c
i2
反馈第一中间结果r
it1
的梯度、第二中间结果r
it2
的梯度进一步包括:所述子服务方si基于第三子模型w
si
对第一中间结果r
it1
和第二中间结果r
it2
进行的处理,得到预测结果,并将所述预测结果发送至所述标签持有方;所述标签持有方通过当前轮次的若干样本的标签数据与所述预测结果的对比,确定相应的模型损失,以反馈至所述子服务方si;所述子服务方si根据所述模型损失,确定针对第一中间结果r
it1
的梯度和第二中间结果r
it2
的梯度。
9.在一个实施例中,在所述第三子模型w
si
中包含待定参数的情况下,所述子服务方si还检测所述模型损失针对所述第三子模型w
si
中包含待定参数的梯度。
10.在一个实施例中,单个子系统i当前轮次的若干样本的标签持有方为第一成员c
i1
或第二成员c
i2
,所述标签持有方设置有第四子模型w
ci3
;所述子服务方si基于第三子模型w
si
对第一中间结果r
it1
、第二中间结果r
it2
进行的处理,分别向第一成员c
i1
、第二成员c
i2
反馈第一中间结果r
it1
的梯度、第二中间结果r
it2
的梯度进一步包括:所述子服务方si基于第三子模型w
si
对第一中间结果r
it1
和第二中间结果r
it2
进行的处理,得到第三中间结果r
it3
,并将第三中间结果r
it3
发送至所述标签持有方;所述标签持有方通过第四子模型w
ci3
处理第三中间结果r
it3
,得到相应的预测结果,并基于当前轮次的若干样本的标签数据与所述预测结果的对比,确定模型损失针对第三中间结果r
it3
的梯度,以反馈至所述子服务方si;所述子服务方si根据所述第三中间结果r
it3
的梯度,确定针对第一中间结果r
it1
的梯度和第二中间结果r
it2
的梯度。
11.在一个实施例中,子系统i对本地模型wi进行的联合训练包括:子系统i中的各个训练成员进行多方安全计算,以供各个训练成员确定模型损失针对本地待定参数的梯度;各个训练成员各自基于相应子模型中待定参数的梯度,确定待同步参数的更新值,其中,第一成员c
i1
和第二成员c
i2
分别确定第一子模型w
ci1
和第二子模型w
ci2
中的待同步参数的更新
值。
12.在一个实施例中,所述同步条件包括:各个本地模型均经过预定轮次的更新,或者预定时间周期到达。
13.在一个实施例中,单个待同步参数为单个待定参数,或者单个待定参数对应的单个梯度。
14.在一个实施例中,所述联邦服务方对来自多个子系统的待同步参数的更新值进行安全同步包括:所述联邦服务方接收各个训练成员分别发送的经过预定加密方式加密的各个待同步参数;所述联邦服务方将各个待同步参数各自的更新值进行加和、加权平均、求中位数值中至少一种方式的融合,得到相应的同步值。
15.在一个实施例中,所述预定加密方式包括以下方式之一:添加满足差分隐私的扰动;同态加密;秘密分享。
16.根据第三方面,提供一种联合更新模型的方法,所述方法适用于联合更新模型的系统更新模型w的过程,所述系统包括联邦服务方和多个子系统,所述多个子系统中的单个子系统i包括训练成员中的第一成员c
i1
、第二成员c
i2
,第一成员c
i1
、第二成员c
i2
持有的样本数据构成垂直切分,各个子系统持有的样本数据构成水平切分,单个子系统i对应与模型w结构一致的本地模型wi,本地模型wi包括设在第一成员c
i1
的第一子模型w
ci1
、第二成员c
i2
的第二子模型w
ci2
;所述方法由所述联邦服务方执行,包括:分别从各个子系统接收其在满足同步条件的情况下与相应子模型中各个待定参数一一对应的各个待同步参数的更新值,其中,单个子系统i提供的各个待同步参数的更新值基于子系统i针对相应本地模型wi进行垂直切分方式下的联合训练确定;对来自多个子系统的待同步参数的更新值进行安全同步,并反馈各个待同步参数的同步值,以供相应的训练成员或子服务方完成本地模块的待定参数更新。
17.根据第四方面,提供一种联合更新模型的方法,所述方法适用于联合更新模型的系统更新模型w的过程,所述系统包括联邦服务方和多个子系统,所述多个子系统中的单个子系统i包括训练成员中的第一成员c
i1
、第二成员c
i2
,第一成员c
i1
、第二成员c
i2
持有的样本数据构成垂直切分,各个子系统持有的样本数据构成水平切分,单个子系统i对应与模型w结构一致的本地模型wi,本地模型wi包括设在第一成员c
i1
的第一模块w
ci1
、设在第二成员c
i2
的第二模块w
ci2
;所述方法由第一成员c
i1
执行,包括:利用本地与第二成员c
i2
构成垂直切分的训练样本针对相应本地模型wi进行联合训练,以得到与第一子模型w
ci1
中各个待定参数一一对应的各个待同步参数的更新值;在满足同步条件的情况下,将与第一子模型w
ci1
中各个待定参数一一对应的各个待同步参数的更新值发送至所述联邦服务方,以供所述联邦服务方基于来自各个子系统的待同步参数的更新值,对各个待同步参数进行安全同步;从所述联邦服务方获取经过安全同步的第一子模型w
ci1
中各个待同步参数的同步值,以更新第一子模型w
ci1
中的各个待定参数。
18.在一个实施例中,子系统i还包括子服务方si,单个子系统i对应的本地模型wi还包括设在子服务方si的第三子模型w
si
;所述利用本地与第二成员c
i2
构成垂直切分的训练样本针对相应本地模型wi进行联合训练包括:针对当前轮次的若干样本,通过第一子模型w
ci1
处理相应的本地样本数据,得到对应的第一中间结果r
it1
,以发送给子服务方si,以供子服务方si基于第三子模型w
si
对第一中间结果r
it1
、第二中间结果r
it2
进行的处理,反馈第一中间
结果r
it1
的梯度,其中,第二中间结果r
it2
由第二成员c
i2
通过第二子模型w
ci2
处理相应的本地样本数据得到;利用第一中间结果r
it1
的梯度和第二中间结果r
it2
的梯度,确定第一子模型w
ci1
中各个待定参数的梯度,从而确定第一子模型w
ci1
中的待同步参数的更新值。
19.在一个实施例中,所述利用本地与第二成员c
i2
构成垂直切分的训练样本针对相应本地模型wi进行联合训练包括:与子系统i中的各个训练成员进行多方安全计算,以确定模型损失针对第一子模型w
ci1
中待定参数的梯度;基于第一子模型w
ci1
中待定参数的梯度,确定相应待同步参数的更新值。
20.根据第五方面,提供一种联合更新模型的装置,所述装置适用于联合更新模型的系统中的联邦服务方,所述系统包括所述联邦服务方和多个子系统,所述多个子系统中的单个子系统i包括训练成员中的第一成员c
i1
、第二成员c
i2
,第一成员c
i1
、第二成员c
i2
持有的样本数据构成垂直切分,各个子系统持有的样本数据构成水平切分,单个子系统i对应与模型w结构一致的本地模型wi,本地模型wi包括设在第一成员c
i1
的第一子模型w
ci1
、设在第二成员c
i2
的第二子模型w
ci2
;所述装置包括:
21.获取单元,配置为分别从各个子系统接收其在满足同步条件的情况下与相应本地模型中各个待定参数一一对应的各个待同步参数的更新值,其中,单个子系统i提供的各个待同步参数的更新值基于子系统i针对相应本地模型wi进行垂直切分方式下的联合训练确定;
22.同步单元,配置为对从多个子系统接收的各个待同步参数的更新值进行安全同步,并反馈各个待同步参数的同步值,以供相应的训练成员或子服务方完成本地模块的待定参数更新。
23.根据第六方面,提供一种联合更新模型的装置,所述装置适用于联合更新模型的系统更新模型w的过程,所述系统包括联邦服务方和多个子系统,所述多个子系统中的单个子系统i包括训练成员中的第一成员c
i1
、第二成员c
i2
,第一成员c
i1
、第二成员c
i2
持有的样本数据构成垂直切分,各个子系统持有的样本数据构成水平切分,单个子系统i对应与模型w结构一致的本地模型wi,本地模型wi包括设在第一成员c
i1
的第一模块w
ci1
、设在第二成员c
i2
的第二模块w
ci2
;所述装置设于第一成员c
i1
,包括:
24.训练单元,配置为利用本地与第二成员c
i2
上构成垂直切分的训练样本针对相应子模型wi进行联合训练,以得到与第一子模型w
ci1
中各个待定参数一一对应的各个待同步参数的更新值;
25.提供单元,配置为在满足同步条件的情况下,将与第一子模型w
ci1
中各个待定参数一一对应的各个待同步参数的更新值发送至所述联邦服务方,以供所述联邦服务方基于从各个子系统接收的待同步参数的更新值,对各个待同步参数进行安全同步;
26.同步单元,配置为从所述联邦服务方获取经过安全同步的第一子模型w
ci1
中各个待同步参数的同步值,以更新第一子模型w
ci1
中的各个待定参数。
27.根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第三方面、第四方面的方法。
28.根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第三方面、第四方面的方法。
29.通过本说明书实施例提供的方法、装置和系统,基于联合更新模型时的数据复合切分情形,设想将各个训练成员中至少部分训练成员的数据进行分割,从而构成多个水平切分的子系统,在单个子系统内部,可以包括数据垂直切分的训练成员。这样,数据呈垂直切分的单个子系统通过分布在多个训练成员的训练样本在子系统内部迭代,从而更新待同步参数。而各个子系统之间,可以按照同步条件触发的同步周期进行数据同步。这种方式充分考虑各个训练成员的数据构成,为复杂数据结构下的联合更新模型提供解决方案,有利于扩展联邦学习的应用范围。
附图说明
30.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
31.图1a、图1b分别是常规联邦学习中数据水平切分和垂直切分的示意图;
32.图2a、图2b示出两个具体例子的数据复合切分场景示意图;
33.图3a示出本说明书的技术构思下基于数据复合切分场景的联合更新模型的系统的一个具体架构示意图;
34.图3b示出本说明书的技术构思下基于数据复合切分场景的联合更新模型的系统的另一个具体架构示意图;
35.图4a示出一个与图3a对应的子系统的模型架构示意图;
36.图4b示出一个与图3b对应的子系统的模型架构示意图;
37.图5示出根据一个实施例的联合更新模型的方法流程图;
38.图6示出根据一个实施例的联合更新模型的时序流程图;
39.图7示出根据一个实施例的联合更新模型的装置的示意性框图;
40.图8示出根据一个实施例的联合更新模型的装置的示意性框图。
具体实施方式
41.下面结合附图,对本说明书提供的方案进行描述。
42.联邦学习(federated learning),又可以称为联邦机器学习,联合学习,联盟学习等。联邦机器学习是一个分布式机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
43.具体地,假设企业a、企业b各自建立一个任务模型,单个任务可以是分类或预测,而这些任务也已经在获得数据时有各自用户的认可。然而,由于数据不完整,例如企业a缺少标签数据、企业b缺少用户特征数据,或者数据不充分,样本量不足以建立好的模型,那么在各端的模型有可能无法建立或效果并不理想。联邦学习要解决的问题是如何在a和b各端建立高质量的模型,并且各个企业的自有数据不被其他方知晓,即在不违反数据隐私法规情况下,建立一个共有模型。这个共有模型就好像各方把数据聚合在一起建立的最优模型一样。这样,建好的模型在各方的区域仅为自有的目标服务。
44.联邦学习可以包括多个训练成员,必要时还可以通过可信第三方作为服务方进行
一些辅助运算。各个训练成员分别可以对应有不同的业务数据。这里的业务数据例如可以是字符、图片、语音、动画、视频等各种数据。通常,各个训练成员的业务数据具有相关性。
45.例如,涉及金融业务的多个业务方中,业务方1为银行,为用户提供储蓄、贷款等业务,其可以持有用户的年龄、性别、收支流水、贷款额度、存款额度等数据,业务方2为p2p平台,可以持有用户的借贷记录、投资记录、还款时效等数据,业务方3为购物网站,持有用户的购物习惯、付款习惯、付款账户等数据。则持有银行数据、p2p平台数据、购物网站数据的各个业务方可以作为训练成员进行金融风险预测模型的联邦学习。再例如,涉及医疗业务的多个业务方中,各个业务方可以是各个医院、体检机构等,如业务方1为医院a,对应用户年龄、性别、症状、诊断结果、治疗方案、治疗结果等等诊疗记录作为本地业务数据,业务方2可以为体检机构b,对应用户年龄、性别、症状、体检结论等等的体检记录数据,等等。则持有医院数据、体检机构数据等的各个业务方可以作为训练成员进行疾病风险预测等模型的联邦学习。
46.联邦学习通常具有水平切分架构及垂直切分架构两种数据分布架构。图1a和图1b分别示出了这两种分布架构。
47.如图1a所示,是一种水平切分架构。在水平切分架构中,单条样本被单个数据方完整持有,不同数据方持有的样本之间相互独立。如图1a中,数据方1持有样本1的标签数据(如标签1)和全部特征数据(如特征a1 b1),数据方2持有样本2的标签数据(如标签2)和全部特征数据(如特征a2 b2)。其中特征a和特征b可以看作两类特征,实践中,还可以有更多类型特征,单个数据方还可以持有更多样本数据,在此不做赘述。如图1a所示,用一行表示一个样本,各个数据方中的样本完全独立,可以沿水平方向的直线完全分开,因此,称之为水平切分(或者纵向切分)架构。例如,各个银行数据方之间持有各自用户的年龄、性别等基础特征数据(如a类型数据),以及余额、流水、贷款、还款等资产类型特征数据(如b类型数据),以及是否金融风险用户的标签数据等。也就是说,不同数据方持有的样本数据,样本空间不同,特征空间相同。
48.图1b示出了一种垂直切分架构。垂直切分架构下,单个样本的样本数据被多个数据方持有,单个数据方仅持有每个样本的部分数据。如图1b所示,在垂直切分架构下,数据方1持有各个样本(如样本1、样本2等)的标签数据(如标签1、标签2等)以及部分特征数据,如a类型特征数据,对应各个样本记为特征a1、特征a2等等,数据方2持有各个样本的另一部分特征数据,如b类型特征数据,对应各个样本记为特征b1、特征b2等等。如图1b所示,单个数据方无法持有一条完整样本,用一行表示一个样本,各个数据方中的样本水平组合,才能构成完整样本数据,或者说可以沿垂直方向的直线完全分开,因此,称之为垂直切分(或者纵向切分)架构。例如,数据方1为银行,a类型特征数据为资产类型特征数据,数据方2为购物网站,b类型特征数据为用户的商品浏览记录、搜索记录、购买记录、付款记录、支付途径等购物类型特征数据。也就是说,不同数据方持有的样本数据,样本空间相同,特征空间不同。实践中,单条样本的样本数据还可以包括更多数据方持有的更多其他特征数据,图1b中仅为示例。
49.对于图1a、图1b示出的水平切分、垂直切分架构,常规学习中的联邦学习方式通常为:水平切分架构下,可以采用并行同步的训练方法,即:训练成员具有相同的神经网络结构,在第三方c的协助下进行训练,训练过程中数据方向第三方c提供梯度或待定参数的更
新值等数据,在第三方c的协助下计算得到同步梯度或待定参数回传给训练成员;在垂直场景下一般采用mpc(多方安全计算)或者分割学习模型,mpc是将机器学习的计算放在密态域中进行,而分割学习中训练成员拥有整个神经网络结构的前几层,服务器拥有神经网络结构的剩余层模型,训练成员在本地分别利用私有数据进行训练,得到前几层网络模型的输出层,并将输出层传输给服务器进行剩余层的前向传播,通过模型损失反向传播梯度数据,更新模型。
50.然而,在真实的业务场景中,并不是所有联邦学习都可以按照图1a、图1b示出的水平切分、垂直切分架构进行分割,还可以既包含水平切分,又包含垂直切分。
51.图2a示出了一个简单例子的混合切分的数据架构。该数据架构下,包括多个水平切分的数据方和一个与该多个水平切分数据方构成垂直切分的数据方。图2a中,数据方ai(i=1、2
……
n)表示持有x类型特征及标签数据的各个数据方,例如银行,x类型特征数据例如资产类型特征数据,则数据方a1、数据方a2
……
数据方an之间构成水平切分。数据方b表示持有z类型特征的数据方,数据方b例如为购物网站等,特征z表示购物类型特征数据,则数据方b和各个数据方a之间构成垂直切分架构。
52.事实上,实践中,数据的切分方式还可以更加复杂,如图2b所示,包含了多种可能情形。图2b示出样本按行排列的情形下的数据架构,其中,每个线框表示一个数据方的数据,纵向对应(或按列)表示相同特征。可以看出,各个数据方之间的数据错综复杂,水平切分和垂直切分相互嵌套、交叉。例如,数据方4的一部分数据和数据方6构成垂直切分,另一部分数据和数据方9的一部分数据构成垂直切分,数据方9的另一部分数据和数据方5的一部分数据构成垂直切分,而数据方5的该部分数据和数据方4构成水平切分,以上所提及的数据和数据方5的另一部分数据又构成水平切分
……
53.对于这种复杂的数据架构,各个数据方作为训练成员,使用常规的联邦学习可能无法共同训练模型。有鉴于此,本说明书提出一种分布式的新型联邦学习构思,来处理这种混合型切分架构的样本数据。本说明书的技术构思下,首先对联邦学习的各个数据方进行分割。在图2a示出的情形下,各个子服务方分别可以与各个数据方ai(作为第一成员)一一对应,而数据方b被划分成多个第二成员,每个第二成员上包含相应数据方ai一致的训练样本的样本数据。单个数据方ai和包含相应样本主体的其他数据的数据方b部分可以被看做一个子系统。在图2b所示的情形下,通过诸如虚线201等各条虚线,将各个数据方的数据分割为多批。各批数据相互之间呈现水平切分。而单批数据内部可以呈现为垂直切分,或者单独持有少量完整样本数据(如图2b中的数据方11、数据方12持有的样本数据)等。总之,分割后的数据至少包括一组垂直切分的数据方。针对一个数据方与多个不同数据方的数据构成垂直切分的情形,可以通过隐私求交(spi)等方式确定交集,从而进行样本的对齐切分。具体的隐私求交方式根据业务需求确定,在此不再赘述。
54.鉴于这种思想,请参考图3a、图3b所示,为本说明书联合更新模型的系统的两个具体的分布式的联邦学习架构示意图。本说明书联合更新模型的系统,从功能上划分,包括:一个联邦服务方和诸如虚线框3011、3012等等虚线框包围的子系统。其中,各个子系统从系统功能、模型设置上可以相互独立。换句话说,各个子系统可以看作相互之间呈平行切分的“训练成员”。联邦服务方可以用于同步全局模型w中的待同步参数。待同步参数通常可以是模型w中的待定参数,或者待定参数的梯度。待同步参数和待定参数一一对应。容易理解,假
设子系统数量为n(n为大于1的正整数),其中的任意单个子系统i(i大于等于1,小于等于n)可以对应一个与全局模型w结构一致的本地模型wi。结合图2a、图2b所示,根据实际的数据分布情形,各个子系统中至少存在1个子系统,可以针对垂直切分的样本数据进行分割联邦学习,如图2b中针对数据方5、数据方9、数据方10构成的样本数据进行分割联邦学习的子系统。
55.图3a、图3b示出的架构中,仅示出了对垂直切分的样本数据进行分割联邦学习的子系统,实践中,还可以包括类似图2b中数据方11、数据方12单独构成子系统的情形,在此不做赘述。
56.结合图2a、图2b的示意可知,在图3a、图3b示出的系统架构中,单个训练成员可以是一个数据方,也可以是单个数据方的一部分。也就是说,一个数据方可以按所提供的数据,被分到多个子系统,作为相应的训练成员。因此,图3a或图3b中所示出的单个子系统中的单个训练成员可以表示一个数据方,也可以表示一个数据方的一部分,或者说,多个训练成员来自同一个数据方。如图3a和图3b所示,区别在于,图3a所示出的单个子系统中包括至少两个训练成员,而图3b所示出的单个子系统中除了至少两个训练成员,还包括一个子服务方。
57.图3a示出的实施架构中,各个训练成员之间可以通过多方安全计算(mpc)的方式进行模型训练。假设子系统i(i=1、2
……
n)是对垂直切分的样本数据进行分割联邦学习的子系统,2个垂直切分数据的训练成员,例如记为c
i1
和c
i2
,本地模型wi被分割为多个部分,例如包括训练成员c
i1
上设置的子模型w
ci1
、训练成员c
i1
上布置的子模型w
ci2
。此时,以联合训练的模型是神经网络为例,子系统内部的子模型分布例如可以由图4a所示,其中,灰色部分的特征、权重参数、神经网络由数据方c
i1
持有,而黑色部分的特征、权重参数、神经网络由数据方c
i2
持有。由于训练成员c
i1
和训练成员c
i1
上的数据构成垂直切分,且单个数据方的计算可能用到领以数据方的数据,则训练成员c
i1
和训练成员c
i1
可以通过同态加密、秘密分享等方式交互数据,并在不泄露本地数据隐私的情况下联合训练子系统i对应的本地模型wi。
58.在图3b示出的实施架构中,子系统i可以对应一个子服务方,如记为si,以及至少2个垂直切分数据的训练成员,例如记为c
i1
和c
i2
。相应地,本地模型wi被分割为多个部分,例如包括训练成员c
i1
上设置的子模型w
ci1
、训练成员c
i1
上布置的子模型w
ci2
,以及子服务方si上设置的子系统中的子模型w
si
等。此时,子系统i中各个模型的架构可以如图4b所示,子模型w
ci1
和w
ci2
为并联的子模型,之后与子模型w
si
串联。在分割联邦学习过程中,子模型w
ci1
和w
ci2
分别处理当前批次样本在训练成员c
i1
、训练成员c
i1
上分布的部分,之后将得到的中间结果发送至子服务方i,由子服务方上的子模型w
si
对中间结果进行处理,从而得到预测结果。
59.对于图3b的实施架构,从设备和数据归属上来说:联邦服务方和各个子服务方可以属于同一个可信第三方,或者设在同一分布式设备集群,也可以属于不同的可信第三方,在此不做限定。
60.值得说明的是,图3a、图3b是本说明书联合更新模型的系统的示例,而非穷举。在实践中,还可以按照其他方式设置联合更新模型的系统。例如,部分子系统如3012所示包含子服务方,部分子系统如3011所示不包含子服务方,等等。
61.另外,图3a和图3b中,n个训练成员c
i1
(i=1、2
……
n)中,可以有部分或全部数据方
为同一数据方,也可以分别属于不同的数据方,同样,n个训练成员c
i2
(i=1、2
……
n)中,可以有部分或全部数据方为同一数据方,也可以分别属于不同的数据方;在此不做限定。例如,在图2a示出的情形下,训练成员c
12
、c
22
……cn2
可以都指示数据方b。值得说明的是,此时数据方b可以布置多个子模型w
ci2
,也布置一个子模型w
c2
以作为子系统共用的子模型w
ci2
。为了描述清晰以及更加通用,下面仍记为多个子模型w
ci2
,各个子模型w
ci2
在一些可选的例子中可以指示同一个子模型。在单个子系统中,训练成员c
i1
例如可以称为第一成员、训练成员c
i2
例如可以称为第二成员。
62.其中,模型w可以由各个训练成员协商确定。各个本地模型wi与w具有一致的结构,例如,一致的神经网络层数、权重矩阵等。各个本地模型根据相应子系统可以有细微差别。在子系统内部,本地模型wi在各个成员上的子模型分布可以根据各个成员持有的特征维度确定,在此不再赘述。在一个可选的实施方式下,本地模型wi和待联合更新的全局模型w完全一致,可以由联邦服务方初始化w,并将w下发至各个子系统得到wi。例如图3a的架构下,可以由联邦服务方为各个数据方经过切分w来将wi分为多个子模型分配给各个数据方。在图3b示出的架构下,联邦服务方初始化w,并将w下发至各个子服务方中得到wi。子服务方si将模型w拆分为训练成员的子模型w
ci
及子服务方上的子模型w
si
,并根据训练成员之间的特征维度,将w
ci
拆分为w
ci1
和w
ci2
等。根据一个实施例,子模型wi还可以根据实际业务需求在w基础上修改,例如增加常数项参数等,子服务方si还可以将wi修改后再进行拆分。
63.进一步地,从数据交互上来说,在子系统内部:在图3a的实施架构下,单个子系统内部各个数据方之间进行安全交互;在图3b的实施架构下,各个成员分别可以和子服务方交互,而成员之间相互保持独立,例如各个成员在利用本地子模块处理本地数据后,可以向子服务方提供中间处理结果,子服务方可以向子系统内的各个成员反馈相应中间结果的梯度数据。从整体上来说:图3a中单个子系统内部的各个训练成员都可以联邦服务方交互待同步数据,图3b中各个子服务方及各个训练成员都可以与联邦服务方交互待同步数据。如图3a、图3b中的双向箭头虚线所示,各个子服务方和/或各个训练成员都可以将本地的待同步参数更新值发送至联邦服务方,联邦服务方向其反馈待同步参数的同步值。
64.值得说明的是,在图3a或图3b中,如果对应的是图2a的架构,多个子模型w
ci2
可以全部设在一个数据方b,或者为数据方b上的同一个子模型的情况下,数据方b可以在本地完成相关参数同步,而无需经由联邦服务方进行同步。
65.以上系统架构通过服务方的分布式设置,将混合架构的数据方按照训练模式进行分割,构成子系统间的水平切分架构和子系统内部的垂直切分架构,从而使用整体的联邦学习系统和内部的子联邦学习系统相互配合,结合分割学习算法和并行同步的学习算法,实现对垂直、水平复合场景下的模型的分布式训练,为更加复杂的联邦学习场景提供相应解决方案。
66.下面以如图3a或图3b所示的联合更新模型的系统在一个参数同步周期内执行的操作为例,详细描述本说明书的技术构思。
67.可以理解,联合更新模型的系统在一个参数同步周期内,所执行的流程可以包括子系统内部的若干次小循环,以及整个系统的一次大循环。图5示出了根据本说明书实施例的联合更新模型的流程示意图。
68.如图5所示,该流程包括以下步骤:步骤501,各个子系统各自利用在相应第一成
员、第二成员上垂直切分的训练样本针对相应本地模型进行垂直切分方式下的联合训练,并在满足同步条件的情况下,由各个训练成员各自向联邦服务方提供相应子模型中与各个待定参数一一对应的各个待同步参数的更新值;步骤502,联邦服务方对来自多个子系统的待同步参数的更新值进行安全同步,并反馈各个待同步参数的同步值;步骤503,各个子系统中的各个训练成员各自接收本地待同步参数的同步值,以更新本地的待定参数。
69.首先,在步骤501中,各个子系统各自利用在相应第一成员、第二成员上垂直切分的训练样本针对相应本地模型进行垂直切分方式下的联合训练,并在满足同步条件的情况下,由各个训练成员各自向联邦服务方提供相应子模型中与各个待定参数一一对应的各个待同步参数的更新值。
70.可以理解,利用垂直切分的训练样本针对相应子模型进行垂直切分方式下的联邦学习。这种方式下的训练架构如图4a或图4b所示。在子系统的一个训练周期,针对一个批次的训练样本,经过训练成员之间,或者训练成员和子服务方之间的数据正向传递和梯度反向传播,可以更新子模型中的待定参数。
71.如图4a所示,在图3a所示的架构下,由于没有子服务方的辅助,各个训练成员之间通过多方安全计算完成数据正向传递和梯度反向传播,各个训练成员分别得到相应子模型所包含的待定参数的梯度。
72.为了更加清楚地描述本说明书的技术方案,图6示出了图3b对应的联合更新模型的系统中任一个垂直切分的子系统(如图4b示出的系统)在一个参数同步周期内执行的操作的时序图。其中,虚线框601部分为子系统进行垂直切分方式下的联邦学习的处理流程。下面结合图6虚线框s601中所示的步骤描述该步骤501中的操作。
73.如图6的虚线框s601中所示,通过s6011,针对当前轮次的若干样本,第一成员和第二成员分别通过本地的子模块处理本地数据,并向子服务方传递中间结果。以子系统i为例,第一成员c
i1
和第二成员c
i2
各自通过第一子模型w
ci1
和第二子模型w
ci2
处理相应的本地样本数据,分别得到对应的第一中间结果r
it1
、第二中间结果r
it2
,以发送给子服务方si。
74.其中,第一成员c
i1
和第二成员c
i2
处理的样本数据一一对应,即样本主体一致,例如按照相同序次对应相同样本标识的方式处理本地数据。样本主体根据具体业务场景确定,如为用户,此时样本标识例如可以唯一标记样本主体,如为身份证号、手机号码等。第一成员c
i1
和第二成员c
i2
上的样本数据在进行子系统分割时,可以通过隐私求交等方式确定。在当前联邦学习过程中,可以通过子服务方i或第一成员c
i1
、第二成员c
i2
约定的其他方式确定当前批次样本数据的序次,并各自按照相应序次通过第一子模型w
ci1
、第二子模型w
ci2
进行相应的数据处理,得到各自的中间结果,以保证各个训练样本的第一中间结果、第二种间结果相互对应。中间结果中的各个数据可以通过诸如向量、数组之类具有约定顺序的形式传递至子服务方i。从图6可以看出,第一成员c
i1
和第二成员c
i2
之间的数据处理、中间结果发送过程都是相互独立的,可以保证隐私数据相互不泄露。在发送中间结果时,为了加强隐私保护,第一成员c
i1
和第二成员c
i2
还可以分别通过差分隐私等方式在中间结果上增加扰动,或者采用同态加密、秘密分享等方式加密中间结果。
75.进一步地,通过s6012,子服务方si基于子模型w
si
对第一中间结果r
it1
、第二中间结果r
it2
进行的处理,分别向第一成员c
i1
、第二成员c
i2
反馈第一中间结果r
it1
的梯度、第二中间结果r
it2
的梯度。为了确定第一中间结果和第二种间结果的梯度,需要先确定针对训练样
本的预测结果。该预测结果为待预测业务的业务结果,其预测准确性可以通过样本标签检验。样本标签通常可以由当前子系统中的部分训练成员持有,但不排除训练成员将样本标签提供给子服务方si或样本标签由子服务方si持有的可能性。
76.在一个实施例中,子服务方si可以获取样本标签,此时,可以由子服务方得到预测结果,并完成样本标签与预测结果的对比,从而确定模型损失。
77.在另一个实施例中,样本标签还可能由部分训练成员持有。
78.在一种情况下,如图6所示,可以由子服务方si将预测结果发送至持有样本标签的训练成员(如第一成员c
i1
),由相应训练成员完成样本标签与预测结果的对比,从而确定模型损失,并反馈至子服务方si。图6是模型损失确定的其中一种情形,因此通过虚线表示相应时序。在多个训练成员各自持有部分样本标签的情况下,子服务方si还可以分别向各个训练成员发送相应训练样本的预测结果数据,以比较模型损失,在此不再赘述。模型损失根据具体业务场景设置,例如可以为均方差、交叉熵、余弦相似度等各种形式。通常,当前的模型损失为当前批次训练样本造成的模型损失之和,当前批次的训练样本可以为1个,也可以为多个(如100个)等。子服务方si进一步可以根据模型损失确定各个中间结果的梯度,亦即模型损失对中间结果的偏导。根据偏导的定义可知,梯度具有传递性,为了确定各个训练成员中的子模块中各个待定参数的梯度,可以先确定由待定参数确定的中间结果的梯度。因此,可以由子服务方si确定第一成员、第二成员分别对应的第一中间结果、第二中间结果的梯度,并各自回传给相应训练成员。可选地,在子模型w
si
中存在待定参数的情况下,子服务方si还可以在本地确定子模型w
si
中的待定参数的梯度,以更新本地参数。
79.在另一种情况下,标签持有方还可以设置有第三子模型w
ci3
,子服务方si基于子模型w
si
对第一中间结果r
it1
、第二中间结果r
it2
进行的处理还可以得到第三中间结果r
it3
,然后将第三中间结果r
it3
发送给标签持有方,由第三子模型w
ci3
处理确定第三中间结果r
it3
针对训练样本的预测结果。然后,由标签持有方根据预测结果计算模型损失,以及第三中间结果的梯度,回传给子服务方si。进而,子服务方si确定模型损失对第一中间结果r
it1
、第二中间结果r
it2
的梯度。
80.在其他情形下,模型还可以具有其他架构,梯度也可以有其他不同的确定方式,在此不再赘述。总之,梯度具有反向传播的性质,模型损失对第一中间结果、第二种间结果的梯度可由相应子服务方确定。
81.另一方面,根据s6013,第一成员c
i1
和第二成员c
i2
各自利用第一中间结果r
it1
的梯度和第二中间结果r
it2
的梯度,确定第一子模型w
ci1
和第二子模型w
ci2
中的待定参数的梯度,以分别在本地更新第一子模型w
ci1
、第二子模型w
ci2
中的参数。
82.值得说明的是,在子系统i的更新迭代中,各个参与方(如图3a示例架构中的各个训练成员,或者图3b示例架构中的子服务方和各个成员)更新的参数通常可以包括当前的待定参数梯度、根据梯度更新的待定参数。在子系统不需要和其他子系统进行参数同步时,各个参与方可以按照顺序更新梯度、待定参数,而在需要和其他子系统进行参数同步的情况下,各个参与方可以确定更新待同步参数,并将待同步参数的更新值发送至联邦服务方。所谓待同步参数,可以理解为需要在各个子系统间进行同步的参数。这里,待同步参数可以是梯度或者待定参数。
83.在联合更新模型w的过程中,通常可以预先设置有参数同步的条件,例如设置预定
迭代轮次(如5轮次)或者预定时长(如3分钟),在同步条件满足的情况下,各个子系统可以停止迭代,并将当前确定的待定参数的更新值发送至联邦服务方。在图3b示出的架构下,如图6所示,在子服务方也具有待同步参数的情况下,子服务方和训练成员一起将本地待同步参数的更新值发送至联邦服务方。由于可能存在子服务方不具有待同步参数的情况,因此,在图6中子服务方向联邦服务方上传本地参数的流程通过虚线表示,表示根据实际业务情形的可选方案。可以理解,图3a示出的架构下,上传参数的过程与图6类似,区别在于,没有子服务方,因此仅训练成员向;肩膀服务方上传待同步参数。在上传参数过程中,各个参与方仅发送本地参数,从而有效保护数据隐私。可选地,各个参与方还可以将本地参数采用添加扰动(如满足差分隐私的扰动数据),或者同态加密之类的方式加密后,发送至联邦服务方。
84.这样,利用同步条件控制着联合更新模型过程中各个子系统的参数同步周期,而在单个同步周期,单个子系统内部可以经过一次或多次迭代,从而在参数同步周期到达时将当前待同步参数反馈至联邦服务方。在单次迭代过程中,各个训练成员各自处理自身所持有的数据,有效保护数据隐私。
85.接着,通过步骤502,联邦服务方对来自多个子系统收的待同步参数的更新值进行安全同步,并反馈各个待同步参数的同步值。
86.参考图6包含子服务方的架构,在s602,参数同步的过程,就是利用从各个子系统接收到的与各个待定参数一一对应的待同步参数的更新值进行融合的过程。对于单个待同步参数,可以对应着从各个子系统发送来的更新值。联邦服务方可以对这些更新值求取平均值、中位数值、最大值、最小值等等,得到该单个待同步参数的同步值(如图6中的同步参数)。在待同步参数为梯度的情况下,还可以通过加和的方式确定梯度的同步值。之后,联邦服务方可以将各个待同步参数的同步值反馈给相应的参与方。其中,以第一成员c
i1
为例,对于第一成员c
i1
对应的待同步参数中的第一参数,由第一成员c
i1
将第一参数的更新值发送至联邦服务方,在联邦服务方利用其他子系统中的参与方反馈的第一参数的更新值对第一参数同步得到第一同步值后,仍反馈至第一成员c
i1
。如此,对于各个待同步参数而言,仅在相关的参与方和可信的联邦服务方之间传递,保证数据隐私性。
87.另外,在子系统的参与方对待同步参数使用诸如同态加密之类的方法进行加密的情况下,联邦服务方还可以在同态加密方式下进行数据的安全同步。联邦服务方可以向各个子系统的参与方反馈公开的同步值,也可以反馈相应加密方式下的同步值,本说明书对此不做限定。
88.然后,经由步骤503,各个子系统中的相应子服务方和各个成员各自接收本地相应待同步参数的同步值,以更新本地的待定参数。单个子系统i对应的参与方可以至少包括第一成员c
i1
、第二成员c
i2
,在一些架构下还可以包括子服务方si。在本步骤503中,参考图6中的s603所示,单个参与方仅接收本地相关子模块中的相应待同步参数的同步值。可以理解,由于本说明书的实施架构中,子系统可以包括子服务方,也可以不包括子服务方,在包括子服务方的情况下,子服务方si可以对应有待同步参数,也可以不对应待同步参数,因此,图6的s603中,关于子服务方si的部分用虚线表示,仅在子系统包括子服务方si且对应有待同步参数的情况下存在。
89.在待同步参数是待定参数的情况下,单个参与方可以直接用待同步参数的同步值
更新本地的待定参数。在待同步参数是待定参数的梯度的情况下,可以用待同步参数的同步值作为当前梯度,利用梯度下降法、牛顿法之类与梯度相关的方法更新相应的待定参数。
90.值得说明的是,以上图5、图6等实施例中,仅以单个子系统包含的第一成员、第二成员为例进行说明。在更复杂的复合架构下,还可以有更多类型成员,例如称为第三成员、第四成员等。实践中,针对这种混合切分的联合更新模型的系统,至少存在1个这样的子系统,子系统中包含至少2个训练成员,这些训练成员的样本数据构成垂直切分。亦即,至少可以分割出一个这样的子系统的联合更新模型的系统,可以适用本说明书提供的技术方案。
91.可以理解,图3a、图3b示出的系统,经由图5描述的流程进行联合更新模型操作,图5描述的流程是使用图3a或图3b示出的系统的流程,因此,针对图3a、图3b示出的系统和针对图5描述的流程的相关描述可以相互适应。特别地,图6是与图3b的架构对应的流程图,图3b和图6中的相关描述可以相互适应,在此不再赘述。
92.另外,从联邦服务方的角度,本说明书一个实施例提供的联合更新模型的流程可以包括:分别从各个子系统接收其在满足同步条件的情况下与相应子模型中各个待定参数一一对应的各个待同步参数的更新值,其中,单个子系统i中,第一成员c
i1
、第二成员c
i2
分别提供本地模型wi中子模型w
si
、第一子模型w
ci1
、第二子模型w
ci2
中的待同步参数更新值,本地模型wi中的各个待同步参数的更新值基于子系统i针对相应子模型进行垂直切分方式下的联合训练确定;对从多个子系统接收的待同步参数的更新值进行安全同步,并反馈各个待同步参数的同步值,以供相应的训练成员或子服务方完成本地模块的待定参数更新。
93.在包含子服务方的实施架构中,从子服务方si执行的角度,根据一个实施例的联合更新模型的流程包括:与相应第一成员c
i1
、第二成员c
i2
一起,利用在相应第一成员c
i1
、第二成员c
i2
上构成垂直切分的训练样本针对相应本地模型wi进行垂直切分方式下的分割联邦学习;在满足同步条件的情况下,将与子模型w
si
中各个待定参数一一对应的各个待同步参数的更新值发送至联邦服务方,以供联邦服务方基于从多个子系统接收的待同步参数的更新值,对各个待同步参数进行安全同步;从联邦服务方获取经过安全同步的子模型w
si
中各个待同步参数的同步值,以更新子模型w
si
中的各个待定参数。
94.从第一成员c
i1
执行的角度,根据一个实施例的联合更新模型的流程包括:利用本地与第二成员c
i2
上构成垂直切分的训练样本针对相应本地模型wi进行联合训练,以得到与第一子模型w
ci1
中各个待定参数一一对应的各个待同步参数的更新值;在满足同步条件的情况下,将与第一子模型w
ci1
中各个待定参数一一对应的各个待同步参数的更新值发送至联邦服务方,以供联邦服务方基于从各个子系统接收的待同步参数的更新值,对各个待同步参数进行安全同步;从联邦服务方获取经过安全同步的第一子模型w
ci1
中各个待同步参数的同步值,以更新第一子模型w
ci1
中的各个待定参数。
95.从第二成员c
i2
执行的角度,根据一个实施例的联合更新模型的流程包括:利用本地与第一成员c
i1
上构成垂直切分的训练样本针对相应本地模型wi进行联合训练,以得到与第一子模型w
ci1
中各个待定参数一一对应的各个待同步参数的更新值;在满足同步条件的情况下,将与第二子模型w
ci2
中各个待定参数一一对应的各个待同步参数的更新值发送至联邦服务方,以供联邦服务方基于从各个子系统接收的待同步参数的更新值,对各个待同步参数进行安全同步;从联邦服务方获取经过安全同步的第二子模型w
ci2
中各个待同步参数的同步值,以更新第二子模型w
ci2
中的各个待定参数。
96.值得注意的是,由于第一成员和第二成员执行的操作一致,在本说明书中,两者的名称不对相应训练成员进行实质性不区分,所执行的操作仅在标识上形成区别,因此一方执行的操作也同样适用另一方。
97.回顾以上流程,本说明书提供一种针对数据复合切分情形的联合更新模型的构思。其中数据的复合切分既可以包括水平切分,又可以包括水平切分,因此,常规的联邦学习无法适用。有鉴于此,本说明书设想将各个训练成员的数据进行分割,从而构成多个水平切分的子系统,在单个子系统内部,可以包括数据垂直切分的训练成员。这样,数据呈垂直切分的单个子系统通过分布在多个训练成员的训练样本在子系统内部迭代,从而更新待同步参数。而各个子系统之间,可以按照同步条件触发的同步周期进行数据同步。这种方式充分考虑各个训练成员的数据构成,为复杂数据结构下的联合更新模型提供解决方案,有利于扩展联邦学习的应用范围。
98.根据另一方面的实施例,还提供有适用于上述联合更新模型的系统的各个装置。联合更新模型的装置可以包括设于联邦服务方的装置、设于子服务方的装置,以及设于第一成员或第二成员的装置。图7示出了设于联邦服务方的装置的结构框图,图8示出了通用于子服务方、第一成员或第二成员的装置的结构框图。
99.如图7所示,装置700包括获取单元和同步单元。其中:获取单元71,配置为分别从各个子系统接收其在满足同步条件的情况下与相应本地模型中各个待定参数一一对应的各个待同步参数的更新值,其中,单个子系统i提供的待同步参数更新值基于子系统i针对相应子模型进行垂直切分方式下的联合训练确定;同步单元72,配置为对从多个子系统接收的各个待同步参数的更新值进行安全同步,并反馈各个待同步参数的同步值,以供相应的训练成员或子服务方完成本地模块的待定参数更新。
100.如图8所示,装置800包括训练单元81、提供单元82和同步单元83。
101.在装置800是设于子服务方si的联合更新模型的装置的情况下:训练单元81,配置为与相应第一成员c
i1
、第二成员c
i2
一起,利用在相应第一成员c
i1
、第二成员c
i2
上构成垂直切分的训练样本针对相应子模型wi进行垂直切分方式下的联合训练(也可以称为联邦学习);提供单元82,配置为在满足同步条件的情况下,将与子模块w
si
中各个待定参数一一对应的各个待同步参数的更新值发送至联邦服务方,以供联邦服务方基于从多个子系统接收的待同步参数的更新值,对各个待同步参数进行安全同步;同步单元83,配置为从联邦服务方获取经过安全同步的子模型w
si
中各个待同步参数的同步值,以更新子模型w
si
中的各个待定参数。
102.在装置800是设于第一成员c
i1
(或第二成员c
i2
)的联合更新模型的装置的情况下:训练单元81,配置为利用本地与第二成员c
i2
(或第一成员c
i1
)上构成垂直切分的训练样本针对相应本地模型wi进行分割联邦学习;提供单元82,配置为在满足同步条件的情况下,将与第一子模型w
ci1
(或第二子模型w
ci2
)中各个待定参数一一对应的各个待同步参数的更新值发送至联邦服务方,以供联邦服务方基于从各个子系统接收的待同步参数的更新值,对各个待同步参数进行安全同步;同步单元83,配置为从联邦服务方获取经过安全同步的第一子模型w
ci1
(或第二子模型w
ci2
)中各个待同步参数的同步值,以更新第一子模型w
ci1
(或第二子模型w
ci2
)中的各个待定参数。
103.值得说明的是,图7所示的装置700、图8所示的装置800,分别是与图5示出的方法
实施例中设于联邦服务方、训练成员的装置实施例,以实现相应业务方的功能。因此,图5示出的方法实施例中的相应描述同样适用于装置700或装置800,在此不再赘述。
104.根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行结合图5、图6所描述的方法中任一参与方对应的操作。
105.根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现结合图5、图6所描述的方法中任一参与方对应的操作。
106.本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
107.以上的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
再多了解一些

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

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

相关文献