可左右滑动选省市

确定联邦学习的训练成员模型贡献度的方法及装置

更新时间:2024-10-01
确定联邦学习的训练成员模型贡献度的方法及装置 专利申请类型:实用新型专利;
地区:浙江-杭州;
源自:杭州高价值专利检索信息库;

专利名称:确定联邦学习的训练成员模型贡献度的方法及装置

专利类型:实用新型专利

专利申请号:CN202210737329.0

专利申请(专利权)人:支付宝(杭州)信息技术有限公司
权利人地址:浙江省杭州市西湖区西溪路556号8层B段801-11

专利发明(设计)人:郑龙飞,王力,王磊

专利摘要:本说明书实施例提供一种检测联邦学习的训练成员模型贡献度的方法及装置,尤其适用于横向联邦学习过程中,对各个训练成员数据质量检测或评估训练成员本地隐私数据对模型的整体质量影响。该方案可由服务方执行,在单个同步周期,从各个训练成员接收各个局部模型分别对应的各个局部参数集,然后按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集,再分别检测各个局部参数集与所述全局参数集之间的各个相关系数,并利用各个相关系数确定各个训练成员在当前同步周期分别对应的各个当前贡献度,从而确定各个训练成员在联邦学习过程中的模型贡献度。该方式可以更准确地衡量训练成员数据的重要性。

主权利要求:
1.一种检测联邦学习的训练成员模型贡献度的方法,其中,所述联邦学习过程由多个训练成员在服务方辅助下利用各自的隐私数据训练业务模型,所述服务方对应有所述业务模型的全局模型,各个训练成员各自对应有所述业务模型的各个局部模型,所述方法由服务方执行,在所述模型的单个同步周期,所述方法包括:从各个训练成员接收各个局部模型分别对应的各个局部参数集,其中,单个局部参数集由单个训练成员利用单个局部模型处理本地隐私数据得到;
按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集;
分别检测描述各个局部参数集与所述全局参数集之间相似性的各个相关系数;
利用各个相关系数确定各个训练成员在当前同步周期分别对应的各个当前贡献度,从而确定各个训练成员在所述联邦学习过程中的模型贡献度,单个训练成员对应的单个当前贡献度与其对应的单个相关系数正相关。
2.如权利要求1所述的方法,其中,所述局部参数集中的单个元素对应单个待同步参数,所述待同步参数为所述业务模型的待定参数、待定参数的梯度、待定参数的改变量中的一项。
3.如权利要求2所述的方法,其中,所述业务模型的待定参数数量为m,单个局部参数集由单个训练成员i按照预定压缩比例αi或预定数量K,从m个待同步参数中选择m×αi或者K个,由其对应的更新值构成单个局部参数集。
4.如权利要求3所述的方法,其中,所述从m个待同步参数中选择m×αi或者K个通过剪枝或按照更新值由大到小的顺序选择中的一种方式进行。
5.如权利要求1所述的方法,其中,所述预定同步策略包括但不限于以下中的至少一项:取最大值、取最小值、取中位数、取均值。
6.如权利要求1所述的方法,其中,所述按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集包括:按照预定同步策略对各个局部参数集进行融合,得到各个待同步参数分别对应的各个同步值;
通过剪枝或按照大小顺序对各个同步值进行稀疏化,得到全局参数集。
7.如权利要求1所述的方法,其中,所述相关系数通过以下中的至少一项进行衡量:欧拉距离、曼哈顿距离、余弦距离、KL散度、皮尔逊距离。
8.如权利要求1所述的方法,其中,各个训练成员的当前贡献度为针对各个相关系数进行线性归一化或逻辑回归归一化的归一化值。
9.如权利要求1所述的方法,其中,所述分别检测各个局部参数集与所述全局参数集之间相似性的各个相关系数包括:对各个局部参数集和全局参数集分别进行归一化;
利用归一化后的局部参数集和全局参数集确定各个局部参数集分别与所述全局参数集之间的各个相关系数。
10.如权利要求1所述的方法,其中,单个训练成员在所述联邦学习过程中的模型贡献度为该单个训练成员在各个同步周期分别对应的各个贡献度的和或均值。
11.如权利要求1所述的方法,其中,所述方法还包括:
按照各个训练成员分别对应的各个模型贡献度,为各个训练成员分别确定各个收益比例,其中,单个训练成员的收益比例与其对应的模型贡献度正相关;
按照各个收益比例在各个训练成员之间分配整体收益。
12.如权利要求1所述的方法,其中,所述局部参数集、所述全局参数集均为矩阵形式,各个局部参数集分别通过各个局部稀疏矩阵表示,单个局部稀疏矩阵中,针对待同步参数稀疏化后所选中的位置为相应更新值,其余位置为0;所述按照预定同步策略对各个局部参数集进行融合包括:根据各个局部参数集,确定各个训练成员分别对应的各个局部稀疏位置矩阵,所述局部稀疏位置矩阵中,相应训练成员上传更新值的位置为非零值,其余位置为0;
利用对各个局部稀疏位置矩阵求和的第一和矩阵,得到数量统计矩阵;
通过对各个局部稀疏矩阵求和的得到的第二和矩阵与所述数量统计矩阵进行按位相除的除法操作,得到对各个局部稀疏矩阵进行融合的同步矩阵,所述同步矩阵用于确定所述全局参数集。
13.一种检测联邦学习的训练成员模型贡献度的装置,其中,所述联邦学习过程由多个训练成员在服务方辅助下利用各自的隐私数据训练业务模型,所述服务方对应有所述业务模型的全局模型,各个训练成员各自对应有所述业务模型的各个局部模型,所述装置设于服务方,包括接收单元,同步单元,检测单元,确定单元,在所述模型的单个同步周期:所述接收单元,配置为从各个训练成员接收各个局部模型分别对应的各个局部参数集,其中,单个局部参数集由单个训练成员利用单个局部模型处理本地隐私数据得到;
所述同步单元,配置为按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集;
所述检测单元,配置为分别检测描述各个局部参数集与所述全局参数集之间相似性的各个相关系数;
所述确定单元,配置为利用各个相关系数确定各个训练成员在当前同步周期分别对应的各个当前贡献度,从而确定各个训练成员在所述联邦学习过程中的模型贡献度,单个训练成员对应的单个当前贡献度与其对应的单个相关系数正相关。
14.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1‑12中任一项的所述的方法。
15.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1‑12中任一项所述的方法。 说明书 : 确定联邦学习的训练成员模型贡献度的方法及装置技术领域[0001] 本说明书一个或多个实施例涉及计算机技术领域,尤其涉及确定联邦学习的训练成员的模型贡献度的方法及装置。背景技术[0002] 随着深度学习的飞速发展,人工智能技术在众多领域中展示其优势,例如风险评估、语音识别、自然语言处理等领域。DNN网络结构相对固定,为实现更好的模型性能,就需要更多的训练数据。在医疗、金融等领域,不同的企业或机构拥有不同的数据样本,一旦将这些数据进行联合训练,将极大提升模型精度。[0003] 联邦学习正是在这样的背景下提出的。联邦学习是一种基于分布式机器学习的框架,主要思想是基于分布在多个设备上的数据集构建机器学习模型,同时防止数据泄露。在这种框架下,客户端(例如移动设备)在中心服务器的协调下协作地训练模型,同时训练数据可保留在客户端本地,无需像传统机器学习方法将数据上传至数据中心。[0004] 联邦学习融合了多个数据方的训练数据,为联合利用尽可能多的数据训练深度神经网络提供重要的学习方法。在联邦学习过程中,各个数据方的数据参差不齐。因此,对各个数据方提供的数据质量进行评价,在联邦学习过程中具有重要的实践意义。发明内容[0005] 本说明书一个或多个实施例描述了一种确定联邦学习的训练成员的模型贡献度的方法及装置,用以解决背景技术提到的一个或多个问题。[0006] 根据第一方面,提供一种检测联邦学习的训练成员模型贡献度的方法,其中,所述联邦学习过程由多个训练成员在服务方辅助下利用各自的隐私数据训练业务模型,所述服务方对应有所述业务模型的全局模型,各个训练成员各自对应有所述业务模型的各个局部模型,所述方法由服务方执行,在所述模型的单个同步周期,所述方法包括:从各个训练成员接收各个局部模型分别对应的各个局部参数集,其中,单个局部参数集由单个训练成员利用单个局部模型处理本地隐私数据得到;按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集;分别检测各个局部参数集与所述全局参数集之间的各个相关系数;利用各个相关系数确定各个训练成员在当前同步周期分别对应的各个当前贡献度,从而确定各个训练成员在所述联邦学习过程中的模型贡献度。[0007] 在一个实施例中,所述局部参数集中的单个元素对应单个待同步参数,所述待同步参数为所述业务模型的待定参数、待定参数的梯度、待定参数的改变量中的一项。[0008] 在一个实施例中,所述业务模型的待定参数数量为m,单个局部参数集由单个训练成员i按照预定压缩比例αi或预定数量K,从m个待同步参数中选择m×αi或者K个,由其对应的更新值构成单个局部参数集。[0009] 在一个进一步的实施例中,所述从m个待同步参数中选择m×αi或者K个通过剪枝或按照更新值由大到小的顺序选择中的一种方式进行。[0010] 在一个实施例中,所述预定同步策略包括但不限于以下中的至少一项:取最大值、取最小值、取中位数、取均值。[0011] 在一个实施例中,所述按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集包括:按照预定同步策略对各个局部参数集进行融合,得到各个待同步参数分别对应的各个同步值;通过剪枝或按照大小顺序对各个同步值进行稀疏化,得到全局参数集。[0012] 在一个实施例中,所述相关系数通过以下中的至少一项进行衡量:欧拉距离、曼哈顿距离、余弦距离、KL散度、皮尔逊距离。[0013] 在一个实施例中,单个训练成员对应的单个当前贡献度与其对应的单个相关系数正相关。[0014] 在一个进一步的实施例中,各个训练成员的当前贡献度为针对各个相关系数进行线性归一化或逻辑回归归一化的归一化值。[0015] 在一个实施例中,所述分别检测各个局部参数集与所述全局参数集之间的各个相关系数包括:对各个局部参数集和全局参数集分别进行归一化;利用归一化后的局部参数集和全局参数集确定各个局部参数集分别与所述全局参数集之间的各个相关系数。[0016] 在一个实施例中,单个训练成员在所述联邦学习过程中的模型贡献度为该单个训练成员在各个同步周期分别对应的各个贡献度的和或均值。[0017] 在一个实施例中,所述方法还包括:按照各个训练成员分别对应的各个模型贡献度,为各个训练成员分别确定各个收益比例,其中,单个训练成员的收益比例与其对应的模型贡献度正相关;按照各个收益比例在各个训练成员之间分配整体收益。[0018] 在一个实施例中,所述局部参数集、所述全局参数集均为矩阵形式,各个局部参数集分别通过各个局部稀疏矩阵表示,单个局部稀疏矩阵中,针对待同步参数稀疏化后所选中的位置为相应更新值,其余位置为0;所述按照预定同步策略对各个局部参数集进行融合包括:根据各个局部参数集,确定各个训练成员分别对应的各个局部稀疏位置矩阵,所述局部稀疏位置矩阵中,相应训练成员上传更新值的位置为非零值,其余位置为0;利用对各个局部稀疏位置矩阵求和的第一和矩阵,得到数量统计矩阵;通过对各个局部稀疏矩阵求和的得到的第二和矩阵与所述数量统计矩阵进行按位相除的除法操作,得到对各个局部稀疏矩阵进行融合的同步矩阵,所述同步矩阵用于确定所述全局参数集。[0019] 根据第二方面,提供一种检测联邦学习的训练成员模型贡献度的装置,其中,所述联邦学习过程由多个训练成员在服务方辅助下利用各自的隐私数据训练业务模型,所述服务方对应有所述业务模型的全局模型,各个训练成员各自对应有所述业务模型的各个局部模型,所述装置设于服务方,包括接收单元,同步单元,检测单元,确定单元,在所述模型的单个同步周期:[0020] 所述接收单元,配置为从各个训练成员接收各个局部模型分别对应的各个局部参数集,其中,单个局部参数集由单个训练成员利用单个局部模型处理本地隐私数据得到;[0021] 所述同步单元,配置为按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集;[0022] 所述检测单元,配置为分别检测各个局部参数集与所述全局参数集之间的各个相关系数;[0023] 所述确定单元,配置为利用各个相关系数确定各个训练成员在当前同步周期分别对应的各个当前贡献度,从而确定各个训练成员在所述联邦学习过程中的模型贡献度。[0024] 根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。[0025] 根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。[0026] 通过本说明书实施例提供的方法和装置,巧妙利用参数集之间的相关性衡量各个训练成员的模型贡献度。具体而言,在横向联邦学习过程中,各个训练成员向服务方上传本地的局部模型处理本地训练样本得到的局部参数集,服务方将各个训练成员上传的各个局部参数集按照预定同步策略进行融合,得到全局参数集。服务方可以基于对全局参数集和各个局部参数集之间的相关性检测,确定各个训练成员在当前同步周期的当前贡献度。通常,全局参数集和局部参数集之间的相关系数越大,相应训练成员在当前同步值后期的模型贡献度越大。由于充分利用了数据分布特征,可以得到更加准确的模型贡献度,提高基于模型贡献度的业务处理效果。附图说明[0027] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。[0028] 图1示出联邦学习的一个具体实施架构示意图;[0029] 图2a示出纵向联邦学习架构下的模型分布示意图;[0030] 图2b示出横向联邦学习架构下的模型分布示意图;[0031] 图3示出根据一个实施例的确定联邦学习的训练成员的模型贡献度的方法流程图;[0032] 图4示出根据一个实施例的确定联邦学习的训练成员的模型贡献度的装置的示意性框图。具体实施方式[0033] 下面结合附图,对本说明书提供的技术方案进行描述。[0034] 首先描述本说明书中可能涉及的一些概念。[0035] 联邦学习(FederatedLearning),又可以称为联邦机器学习、联合学习、联盟学习等。联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和法规的要求下,进行数据使用和机器学习建模。[0036] 具体地,假设企业A、企业B各自建立一个任务模型,单个任务可以是分类或预测,而这些任务也已经在获得数据时由各自用户的认可。然而,由于数据不完整,例如企业A缺少标签数据、企业B缺少用户特征数据,或者数据不充分,样本量不足以建立好的模型,那么在各端的模型有可能无法建立或效果并不理想。联邦学习要解决的问题是如何在A和B各端建立高质量的模型,该模型的训练兼用A和B等各个企业的数据,并且各个企业的自有数据不被其他方知晓,即在不违反数据隐私法规情况下,建立一个共有模型。这个共有模型是各方把数据聚合在一起建立的较优模型。这样,建好的模型在各方的区域仅为自有的目标服务。[0037] 联邦学习的各个机构可以称为训练成员。各个训练成员分别可以持有不同的业务数据,还可以通过设备、计算机、服务器等参与业务模型的联合训练,因此也可以称为业务方、数据方等。这里的业务数据例如可以是字符、图片、语音、动画、视频等各种数据。通常,各个训练成员持有的业务数据具有相关性,各个训练成员对应的业务方也可以具有相关性。例如,涉及金融业务的多个业务方中,业务方1为银行,为用户提供储蓄、贷款等业务,可以持有用户的收支流水、贷款额度、存款额度等数据,业务方2为理财信贷平台,可以持有用户的借贷记录、投资记录、还款时效等数据,业务方3为购物网站,持有用户的购物习惯、付款习惯、付款账户等数据。再例如,涉及医疗业务的多个业务方中,各个业务方可以是各个医院、体检机构等,如业务方1为医院A,对应用户症状、诊断结果、治疗方案、治疗结果等等诊疗记录作为本地业务数据,业务方2可以为体检机构B,对应用户症状、体检结论等等的体检记录数据,等等。单个训练成员可以持有一个业务方的业务数据,也可以持有多个业务方的业务数据。联邦学习的目的是训练一个可以更好地处理这些业务数据的模型,因此联邦学习的模型也可以称为业务模型。[0038] 联邦学习分为横向联邦学习和纵向联邦学习。横向联邦学习中,不同训练成员的样本集合中样本的特征重合较高,但是样本来源不一样。例如,多个样本集合对应着不同银行的客户。一般银行管理的数据特征都是相似的,但是客户是不同的,这样就可以采用横向联邦学习的方式训练模型。纵向联邦学习中不同数据集id重合较高(比如用户身份识别码或电话号码等记录一致),但是特征不一样。例如面对的用户群体(如一个小县城的居民)一致的一家银行和一家医院,银行和医院的样本中有大量人员重合度很高,但是特征不一样,银行数据可能对应有存款、贷款等特征信息,医院数据可能对应生理指标、健康状况、就诊记录等特征信息。联合银行、医院的数据集训练模型可以称之为纵向联邦学习。[0039] 图1示出了联邦学习的具体实施架构。如图1所示,业务方1、业务方2等各自持有本地业务数据,可以作为训练成员进行联邦学习。各个训练成员可以持有本地局部模型。服务方可以持有全局模型,用于在联邦学习过程中提供辅助计算,例如横向联邦学习中的参数同步(同步值对应全局模型)、纵向联邦学习中的全局模型计算等等。[0040] 通常,联邦学习的业务模型可以对应有局部模型和全局模型。在纵向联邦学习场景中,各个训练成员各自持有的各个局部模型用于处理本地的特征数据得到中间结果,该中间结果经由全局模型处理得到业务模型的输出结果。横向联邦学习场景中,各个训练成员各自持有的各个局部模型与全局模型一致,各个训练成员利用局部模型处理本地数据得到输出结果,并在本地进行待同步参数的更新,各个训练成员更新后的待同步参数经融合作为全局模型的同步参数。[0041] 图2a和图2b分别示出了纵向联邦学习和横向联邦学习的模型架构。如图2a所示,纵向联邦学习架构下,各个训练成员之间的局部模型为并列结构,各个局部模型并联后可以连接到全局模型构成完整业务模型。局部模型用于对本地训练数据进行前期处理得到中间结果。各个局部模型的结构可以相同或不同,在此不作限定。而服务方对应的全局模型可以对训练成员的中间结果进一步进行前向处理,得到全局输出(与中间结果相对,是与样本标签对比确定模型损失的预测结果),并经由后向计算模型梯度,从而进行模型训练。如图2b所示,横向联邦学习架构下,各个训练中的局部模型与全局模型保持一致,全局模型不一定必需存在,而可以通过全局参数集表示。各个训练成员可以各自在本地利用隐私数据训练局部模型,在各个同步周期,将局部参数集发送至服务方,由服务方对各个局部参数及进行同步后反馈给各个训练成员。[0042] 联邦学习的多个训练成员可以使用无中心的多方安全计算MPC架构。此时,在纵向联邦学习架构下,全局模型可以分布在各个训练成员,并由多个训练成员联合计算,而横向联邦学习的全局模型可以以同步参数的形式存在。联邦学习也可以采用有中心的第三方辅助架构,第三方作为服务中心,也可以称为服务方。此时,全局模型可以设于服务方,并由服务方进行各方数据的融合。为了描述方便,本说明书将用于处理全局模型的设备部分统称为服务方。[0043] 实践中,各个数据方提供的数据质量可能参差不齐,如何对数据质量进行评价,对联邦学习具有重要意义,尤其是横向联邦学习。另外,基于联邦学习联合训练的业务模型也可能带来较大的经济收益,为了合理分配收益,也可以对参与联邦学习的各个训练成员在联邦学习中的贡献程度进行评估。本说明书中可以将数据质量、贡献程度等的评估结果统称为模型贡献度。在横向联邦学习中,训练成员的业务数据的模型贡献度例如可以与所包含的特征完备程度、日期新鲜程度、业务数据量等有关。[0044] 常规技术中,一些联邦学习收益分配方案中涉及的模型贡献度衡量方法例如有:样本量衡量法、模型性能衡量法、能源损耗衡量法等。其中,样本量衡量法可以根据训练成员的样本数量比例衡量模型贡献度,从而确定分配比例分配收益,样本量越大,模型贡献度越高,收益分配比例越高;模型性能衡量法可以根据训练成员是否参与联邦学习训练过程导致的模型性能差异衡量模型贡献度,从而确定分配比例分配收益,通常,在单个训练成员参与和不参与联邦学习过程导致模型性能的差异越大,表示模型贡献度越高,收益分配比例越高;能源损耗衡量法可以根据训练成员本地训练过程中对算力、电力和通信带宽的消耗衡量模型贡献度,从而确定分配比例分配收益,通常,能源损耗越多,认为贡献度越高,收益分配比例越高。[0045] 然而,样本量衡量法可能更关注数据的数量,而较少关注数据的质量,数据贡献结论和收益分配的公平性有待商榷;此外,在横向联邦学习收益分配场景下,如果按照数据的数量进行收益分配,还可能存在训练成员构造虚假数据以骗取更高收益的风险,且不容易被发现。模型性能衡量配法基于控制变量法的原理,还需要对每个训练成员不参与的情况分别进行训练,从而导致冗余计算,消耗时间较长;且每个训练成员均需多次参与联邦训练,增加信息泄漏的风险。能源损耗衡量法与每个训练成员本地的硬件设备和通信设备等性能因素有关,数据贡献和收益分配的公平性不易控制。[0046] 有鉴于此,本说明书提出一种基于数据分布的相关性,评价各个训练成员的模型贡献度的技术构思。该技术构思尤其适用于横向联邦学习的学习架构,但不排除对纵向联邦学习架构可能的适应性。本说明书的技术构思下,在单个同步周期,可以由各个训练成员向服务方发送局部模型处理本地隐私数据得到的局部参数集,服务方对各个局部参数集进行融合,得到全局模型对应的全局参数集。然后,基于各个局部参数集与全局参数集的相关性,确定各个训练成员当前同步周期各个训练成员的模型贡献度。进而,针对单个训练成员而言,可以将其在各个同步周期的模型贡献度累加或平均,从而得到其在联邦学习过程中总的模型贡献度。在收益分配场景下,还可以根据各个训练成员分别对应的各个模型贡献度,为各个训练成员分配相应收益。[0047] 如此,可以根据参数之间的相关性,表征训练成员的隐私数据与全局训练数据之间的相关性,从而利用参数分布的特点更加准确地挖掘训练成员的数据质量信息,评价各个训练成员的模型贡献度,从而进行与模型贡献度相关的业务处理,例如,进行收益分配。[0048] 下面参考图3示出的一个具体例子描述本说明书的技术构思。[0049] 如图3所示,是一个确定联邦学习的训练成员的模型贡献度的流程。联邦学习过程可以通过服务方和多个训练成员共同实现。单个训练成员可以是持有训练样本的部分或全部特征数据的任何具有计算、处理能力的设备、平台或设备集群,例如实现某种业务的业务方(如前文的银行或医院等)。服务方可以是第三方或其他可信业务方,也可以是由各个训练成员基于多方安全计算联合计算全局模型参数的部分。图3示出的确定联邦学习的训练成员的模型贡献度的流程可以由服务方执行。[0050] 在横向联邦学习架构中,服务方对应有全局模型,各个训练成员分别对应有各个局部模型。联邦学习中可以对所训练的业务模型进行多个同步周期的参数更新,图3示出的流程描述单个同步周期。这里的同步周期,可以是经由训练成员和服务方进行交互而进行待定参数更新的周期。[0051] 如图3所示,在单个同步周期,确定联邦学习的训练成员的模型贡献度的流程可以包括:步骤301,从各个训练成员接收各个局部模型分别对应的各个局部参数集,其中,单个局部参数集由单个训练成员利用单个局部模型处理本地隐私数据得到;步骤302,按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集;步骤303,分别检测各个局部参数集与全局参数集之间的各个相关系数;步骤304,利用各个相关系数确定各个训练成员在当前同步周期分别对应的各个当前贡献度,从而确定各个训练成员在联邦学习过程中的模型贡献度。[0052] 首先,在步骤301中,从各个训练成员接收各个局部模型分别对应的各个局部参数集。可以理解,根据联邦学习架构的不同,局部参数集所包含的参数内容也不同。在横向联邦学习架构下,局部参数集可以是待同步参数的更新值构成参数集。待同步参数通常与业务模型的待定参数一一对应,例如为待定参数本身、待定参数的梯度,或者待定参数的该变量等。其中,待定参数的改变量例如是基于梯度和步长为待定参数确定的当前移动步幅(待定参数改变前后的差值)。在纵向联邦学习架构下,局部参数集可以包括中间结果的输出参数。该输出参数同时作为全局模型的输入参数。本说明书以横向联邦学习架构为例进行描述。[0053] 局部参数集可以由单个训练成员利用单个局部模型处理本地隐私数据得到。在纵向联邦学习架构下,局部参数集可以是将当前批次(batch)的训练样本的本地特征数据(隐私数据)输入到局部模型进行处理,得到的中间处理结果。在横向联邦学习架构下,由于单个训练成员针对单个训练样本包含其全部特征信息和标签信息,因此,可以基于至少一个批次的训练样本训练本地的局部模型,从而更新待同步参数,待同步参数的更新值构成与其他训练成员的当前同步周期的局部参数集。其中,根据局部参数及所包含的内容不同,局部参数集的确定方式也有所不同。[0054] 具体而言,在待同步参数是梯度的情况下,各个训练成员可以在每次更新待定参数之前进行梯度同步。其中,各个训练成员可以根据本地样本数量,确定局部模型处理的当前批次的训练样本数量。例如,单个训练成员可以按照参数同步的周期数T,将本地训练样本分为T份,每个同步周期使用一份训练样本。单个训练成员利用本地模型处理一个批次的训练样本,得到的输出结果与样本标签进行对比,确定模型损失,并由模型损失确定梯度,该梯度用于与其他训练成员进行同步。[0055] 在待同步参数是待定参数的情况下,在单个同步周期,单个训练成员的待定参数可以经过一次更新或多次迭代更新。待定参数的一次更新可以是利用本地局部训练模型处理本地训练样本,得到的输出结果与样本标签进行对比,确定模型损失,并由模型损失确定梯度,从而向模型损失减小的方向调整待定参数。[0056] 在待同步参数是待定参数的改变量的情况下,在单个同步周期,各个训练成员可以自行更新本地的待定参数。经过一个或多个待定参数的更新周期,单个训练成员可以确定各个待定参数与全局模型的相应当前值相比的改变量作为待同步参数的更新值发送至服务方进行同步。其中,单个待定参数在全局模型的相应当前值可以是前一次同步过程中向各个训练成员提供的同步值。在第一个更新周期,该前一次同步过程可以是初始化过程,相应同步值为初始值,在其他更新周期,该前一次同步过程可以是前一同步周期的同步过程,相应同步值为前一同步周期的同步值。[0057] 在单个同步周期,服务方可以从各个训练成员分别接收各个局部参数集。假设训练成员数量为N,服务方可以接收N个局部参数集。局部参数集可以是集合、矩阵、数组、向量等中的至少一种形式,在此不作限定。训练成员i在当前同步周期t(t=1,2,...,T)上传的局部参数集例如可以记为[0058] 联邦学习为横向学习架构的情况下,如果训练成员数量较多,或者业务模型的待定参数数量较多,则各个训练成员各自向服务方发送全部待同步参数的数量可能会造成服务方的通信堵塞,降低联邦学习效率。此时,在可选的实现方式中,各个训练成员还可以对本地的待同步参数进行稀疏化的压缩处理。也就是说,选择一部分待同步参数的更新值构成局部参数集传递至服务方。[0059] 具体地,可以按照预定压缩比例、预定数量等确定选择的待同步参数的数量,并从待同步参数中选择一部分待同步参数由其更新值构成局部参数集。以预定压缩比例为例,假设待同步参数由m个,单个训练成员i可以对应预定压缩比例αi,则其上传的局部参数集压缩后的参数数量可以为m×αi。各个训练成员可以通用一个压缩比例,例如为五分之三,则可以从总的待同步参数(如1000个)中选择五分之三的待同步参数,由其更新值构成局部参数集。各个训练成员还可以各自适用一个压缩比例。此时,单个训练成员的压缩比例例如可以与其持有的训练样本数量正相关。预定数量则可以是各个训练成员预先协商确定的数量,例如记为K(如800)。在选择待同步参数时,可以随机选择,也可以通过TOPK、剪枝等模型sparse方法选择。以TOPK为例,可以按照待同步参数的更新值的绝对值,选择其中最大的K个元素,构成局部参数集。[0060] 其中,在矩阵形式下,单个局部参数集通过单个局部参数矩阵表示。单个局部参数矩阵可以是包含全部待同步参数更新值的矩阵,也可以是经稀疏化压缩后的待同步参数更新值构成的矩阵,稀疏化的局部参数集也可以称为局部稀疏矩阵,局部稀疏矩阵中未选中的待同步参数对应位置为0。在向服务方上传局部稀疏矩阵时,可以按照被选中的元素的行、列信息上传被选中位置的元素值。如此,可以大大减少服务方接收的数据量。[0061] 然后,经由步骤302,按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集。[0062] 在横向联邦学习架构下,融合过程即确定同步值的过程,预定同步策略例如可以包括但不限于以下中的至少一项:取最大值、取最小值、取中位数、取均值,等等。可以理解,以上融合过程仅针对服务方所接收到的元素值而言。例如,服务方针对一个待同步参数仅从N个训练成员中的n(n为小于N的正整数)个中接收到了更新值,则针对该待同步参数的融合针对所接收到的n个更新值进行。以取均值为例,融合结果可以为这n个更新值相加的和除以n得到的商。[0063] 在可能的设计中,训练成员上传的局部参数集以参数矩阵的方式描述,则可以通过矩阵运算融合各个局部参数集。以下以取均值的融合方式为例进行说明。[0064] 在各个训练成员上传的局部参数集为全量待同步参数的更新值的情况下,单个局部参数集对应单个局部参数矩阵,可以将各个局部参数矩阵加和,得到的和矩阵除以训练成员数量N,得到对各个局部参数矩阵进行融合的同步矩阵。[0065] 在各个训练成员上传的局部参数集为稀疏化待同步参数的更新值的情况下,单个局部参数集对应单个局部稀疏矩阵,在单个局部稀疏矩阵中,相应训练成员上传更新值的位置为非零值,其余位置为0。服务方可以先根据单个训练成员的单个局部稀疏矩阵确定其局部稀疏位置矩阵。其中,局部稀疏位置矩阵用于描述训练成员所上传的待同步参数更新值在待同步参数中的排列位置,类似于位图,局部参数集中更新值对应的位置可以通过非零值(通常为1,不排除其他值)表示,其他位置为0。训练成员i对应的局部稀疏位置矩阵例如记为Mi,t。然后基于对各个局部稀疏位置矩阵加和得到第一和矩阵∑Mi,t。容易理解,N个局部稀疏位置矩阵加和得到的第一和矩阵中,单个元素中的元素值描述了服务方从接收到的各个局部参数集中获取的相应待同步参数的更新值数量。因此,根据第一和矩阵可以得到数量统计矩阵,如为第一和矩阵除以前述稀疏位置矩阵中的非零值。在该非零值为1的情况下,第一和矩阵即为数量统计矩阵。[0066] 然后,再基于各个局部稀疏矩阵加和得到的第二和矩阵 与数量统计矩阵按元素位置对应相除,得到对各个局部稀疏矩阵进行融合的同步矩阵。如此,以以上非零值是1为例,假设和矩阵∑Mi,t中第2行第3列的元素为5,则表明服务方从5个训练成员上传的局部参数集中共获取了第2行第3列的待同步参数的5个更新值。在对各个局部稀疏矩阵加和时,由于在局部稀疏矩阵中,未上传的待同步参数对应位置也是0值,则该第2行第3列的位置仅叠加了5个更新值。在第二和矩阵与第一和矩阵按位相除(如记为 )时,第二和矩阵第2行第3列的元素除以5,相当于对接收到的5个更新值进行了平均。[0067] 在其他融合方式下,可以基于矩阵的其他运算对各个局部参数集进行融合,在此不再赘述。服务方可以将该融合结果反馈给各个训练成员,以供训练成员根据反馈的融合结果更新本地的待同步参数,从而完成局部模型与全局模型的参数同步。特别地,如果针对一个待同步参数,服务方未接收到任何更新值(全部训练成员在稀疏矩阵中均未选中相应待同步参数),则可以将相应融合结果通过预定值(如梯度对应的预定值为0),或者预定错误标识(如non)表示,以供各个训练成员在当前同步周期使用本地的相应数值代替。[0068] 接着,通过步骤303,分别检测各个局部参数集与全局参数集之间的各个相关系数。[0069] 这里,相关系数可以描述局部参数集与全局参数集之间数据分布的相似性。局部参数集和全局参数集之间的相似性可以通过欧拉距离、曼哈顿距离、余弦距离、KL散度、皮尔逊距离(pearson相关系数)等等各种衡量数据确定的相关系数进行表征。其中,欧拉距离、曼哈顿距离、余弦距离、KL散度等越小,两个参数集的数据分布越相似,其相关系数(或相似度)越大。以欧拉距离为例,训练成员i对应的相关系数可以为欧拉距离的倒数,欧拉距离记为: 皮尔逊距离的值越接近于1或‑1,相关度越强,皮尔逊距离的值越接近于0,相关度越弱。以上各种相关系数计算方式为本领域的常规技术,在此不再赘述。可以理解,比较两个参数集的相关的情况下,由于涉及数据分布,尤其是横向联邦学习架构下,两两数据集的元素需要对齐,例如两个参数集的第5个元素都表示第10个待同步参数。[0070] 值得说明的是,在局部参数集通过局部稀疏矩阵描述的情况下,如果全局参数集包含全部待同步参数融合后的同步值,则局部参数集与全局参数集之间的相似性可能会降低。为此,根据一个实施例,服务方还可以对融合后的待同步参数的同步值进行稀疏化,得到与局部参数集类似地压缩的全局参数集。全局参数集可以采用诸如剪枝、TOPK等方式进行稀疏化,其稀疏化方法与局部参数集一致,在此不再赘述。其中,全局参数集未被选中的元素可以用0表示。[0071] 在可选的实施例中,在比较局部参数集与全局参数集之前,还可以对全局参数集和局部参数集进行归一化处理,从而将参数集中的值限定在预定范围内,而避免数据起伏造成的计算结果浮动。[0072] 进一步地,在步骤304中,利用各个相关系数确定各个训练成员在当前同步周期分别对应的各个当前贡献度。从而确定各个训练成员在联邦学习过程中的模型贡献度。[0073] 单个训练成员对应的当前贡献度可以与当前同步周期的相关系数正相关。例如,当前贡献度与相关系数成正比(如比值为1)。或者,模型贡献度还可以是对各个相关系数进行线性归一化或逻辑回归归一化(如基于sigmoid函数的归一化)的归一化值,从而使得当前周期各个训练成员在联邦学习过程中的模型贡献度之和为1。[0074] 根据一个可能的设计,服务方可以将当前周期的当前贡献度叠加在历史同步周期得到的各个贡献度上,使得各个训练成员的模型贡献度随着联邦学习的同步周期进行迭S S代,如在当前同步周期确定Di,t=Di,t‑1+Di,t,其中,Di,t为训练成员i对应的当前贡献度,Di,t‑1为训练成员i在前t‑1个同步周期累积的贡献度之和。[0075] 根据另一个可能的设计,服务方可以将各个训练成员的当前贡献度分别加入与各个训练成员对应的贡献度集(通过集合形式区分,或通过数据集标识等区分),以在联邦学习完成后统计各个训练成员整体的模型贡献度,如训练成员i的整体贡献度为:[0076] 进一步地,在收益分配业务场景下,可以根据每个训练成员的整体贡献度,确定各个训练成员分别对应的各个收益比例,并按各个收益比例为各个训练成员分配相应的收益。其中,单个训练成员的收益比例可以与其整体贡献度正相关。例如各个收益比例可以是对各个整体贡献度的线性归一化结果,如训练成员i对应的收益比例Ci=Di/∑Di。在可选的实施例中,各个收益比例还可以是对各个整体贡献度的逻辑归一化结果等等,在此不做限定。为单个训练成员分配的收益可以是整体收益与相应的单个收益比例的乘积,如,假设该联邦学习任务整体的收益为S,则训练成员i最终分配的收益可以为:si=S×Ci。[0077] 回顾以上过程,本说明书提供的技术构思,在横向联邦学习过程中,各个训练成员向服务方上传本地的局部模型处理本地训练样本得到的局部参数集,服务方将各个训练成员上传的各个局部参数集按照预定同步策略进行融合,得到全局参数集。服务方可以将全局参数集提供给各个训练成员以完成各个训练成员的参数同步,从而进行横向联邦学习。而服务方还可以在单个同步周期,基于对全局参数集和各个局部参数集之间的相关性检测,确定各个训练成员在当前同步周期的当前贡献度。对于单个训练成员而言,其在各个同步周期的贡献度的融合结果可以作为整体的模型贡献度。由于局部参数集体现了训练成员的本地数据分布信息,而全局参数集体现了全体训练成员的整体数据分布信息,因此,本说明书的技术构思巧妙利用参数集之间的相关性衡量各个训练成员的模型贡献度,更加准确和公平。进一步地,利用训练成员的模型贡献度进行的业务处理,可以得到更加合理准确的业务处理结果,例如更加合理地确定收益分配方案。[0078] 根据另一方面的实施例,还提供一种确定联邦学习的训练成员的模型贡献度的装置。其中,联邦学习过程由多个训练成员在服务方辅助下利用各自的隐私数据训练业务模型,服务方对应有业务模型的全局模型,各个训练成员各自对应有业务模型的各个局部模型。确定联邦学习的训练成员的模型贡献度的装置可以设于服务方。[0079] 图4示出了一个实施例的确定联邦学习的训练成员的模型贡献度的装置400。如图4所示,确定联邦学习的训练成员的模型贡献度的装置400可以包括接收单元401,同步单元402,检测单元403,确定单元404。具体地,在单个同步周期:[0080] 接收单元401,配置为从各个训练成员接收各个局部模型分别对应的各个局部参数集,其中,单个局部参数集由单个训练成员利用单个局部模型处理本地隐私数据得到;[0081] 同步单元402,配置为按照预定同步策略对各个局部参数集进行融合,得到与全局模型对应的全局参数集;[0082] 检测单元403,配置为分别检测各个局部参数集与全局参数集之间的各个相关系数;[0083] 确定单元404,配置为利用各个相关系数确定各个训练成员在当前同步周期分别对应的各个当前贡献度,从而确定各个训练成员在联邦学习过程中的模型贡献度。[0084] 值得说明的是,图4所示的装置400与图3描述的方法相对应,图3的方法实施例中的相应描述同样适用于装置400,在此不再赘述。[0085] 根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行结合图3等所描述的方法。[0086] 根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现结合图3等所描述的方法。[0087] 本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。[0088] 以上的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。

专利地区:浙江

专利申请日期:2022-06-27

专利公开日期:2024-07-26

专利公告号:CN115049011B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
电话咨询
读内容
搜本页
回顶部