基于隐私保护的模型训练方法及装置制造方法及图纸

技术编号:39282124 阅读:8 留言:0更新日期:2023-11-07 10:55
本说明书实施例提供了基于隐私保护的模型训练方法及装置。该方法可由多个第一节点执行,包括:获取多个第二节点分别提供的中间结果,其由第二节点基于本地的多个样本的特征数据对目标模型对应的本地模型执行前向传播训练得到;基于该多个样本的标签数据确定各个中间结果分别对应的用于表征可靠性的分数,从各个中间结果中选取分数达到阈值的多个第一中间结果;基于多个第一中间结果的聚合结果和标签数据确定目标模型的第一预测损失值;响应于第一预测损失值不满足模型收敛条件,基于第一预测损失值和各第二节点中提供多个第一中间结果的多个第三节点的本地模型当前的第一模型参数,确定多个第三节点分别对应的梯度值;向多个第三节点发送梯度值。向多个第三节点发送梯度值。向多个第三节点发送梯度值。

【技术实现步骤摘要】
基于隐私保护的模型训练方法及装置


[0001]本说明书实施例属于计算机
,尤其涉及基于隐私保护的模型训练方法及装置。

技术介绍

[0002]随着信息技术的快速发展,多数企业拥有大量用户的用户数据。若企业间共享用户数据,则能够更完善地支持企业评估用户状态与需求,从而为用户提供更加个性化的服务。然而,由于一些企业担心数据安全和隐私泄露问题,故而导致各企业拥有的用户数据不能直接公开或共享。

技术实现思路

[0003]本专利技术的目的在于提供一种基于隐私保护的模型训练方案,能使得具有相同样本空间、不同特征空间的多个参与方参与执行同一模型训练任务,并尽可能的保证数据安全和防止隐私泄露,以及确保训练的目标模型的可靠性。
[0004]本说明书第一方面提供一种基于隐私保护的模型训练方法,由多个第一节点执行,所述多个第一节点存储有对应于目标模型的多个样本的标签数据,所述方法包括:获取多个第二节点分别提供的中间结果,所述中间结果由所述第二节点基于本地存储的所述多个样本的特征数据对所述目标模型对应的本地模型执行前向传播训练得到,所述多个第二节点存储有所述多个样本的不同维度的特征数据;基于所述标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从所述各个中间结果中选取出分数达到阈值的多个第一中间结果;基于对所述多个第一中间结果的聚合结果和所述标签数据,确定所述目标模型的第一预测损失值;响应于所述第一预测损失值不满足模型收敛条件,基于所述第一预测损失值和所述多个第二节点中提供所述多个第一中间结果的多个第三节点各自的本地模型当前的第一模型参数,确定所述多个第三节点分别对应的梯度值;向所述多个第三节点分别发送其对应的梯度值。
[0005]本说明书第二方面提供一种基于隐私保护的模型训练装置,应用于多个第一节点中的一个第一节点,所述多个第一节点存储有对应于目标模型的多个样本的标签数据,所述装置包括:获取单元,被配置成获取多个第二节点分别提供的中间结果,所述中间结果由所述第二节点基于本地存储的所述多个样本的特征数据对所述目标模型对应的本地模型执行前向传播训练得到,所述多个第二节点存储有所述多个样本的不同维度的特征数据;选取单元,被配置成基于所述标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从所述各个中间结果中选取出分数达到阈值的多个第一中间结果;损失确定单元,被配置成基于对所述多个第一中间结果的聚合结果和所述标签数据,确定所述目标模型的第一预测损失值;梯度确定单元,被配置成响应于所述第一预测损失值不满足模型收敛条件,基于所述第一预测损失值和所述多个第二节点中提供所述多个第一中间结果的多个第三节点各自的本地模型当前的第一模型参数,确定所述多个第三节点分别对应的梯度值;发
送单元,被配置成向所述多个第三节点中的第三节点发送其对应的梯度值。
[0006]本说明书第三方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行如第一方面中描述的方法。
[0007]本说明书第四方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面中描述的方法。
[0008]本说明书第五方面提供一种计算机程序产品,当该计算机程序产品在计算机中执行时,令计算机执行如第一方面中描述的方法。
[0009]在本说明书实施例提供的方案中,多个第二节点具有相同样本空间、不同特征空间,即该多个第二节点存储有多个样本(同一批样本)的不同维度的特征数据。在该多个第二节点进行模型训练的过程中,该多个第二节点可以基于本地存储的该多个样本的特征数据对目标模型对应的本地模型执行前向传播训练得到中间结果,并将中间结果提供给多个第一节点,如此可以保证特征数据不出域,从而保证数据安全和防止隐私泄露。接着,该多个第一节点可以基于目标模型对应的该多个样本的标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从各个中间结果中选取出分数达到阈值的多个第一中间结果,以及基于对该多个第一中间结果的聚合结果和该标签数据确定目标模型的第一预测损失值,之后响应于第一预测损失值不满足模型收敛条件,基于第一预测损失值和该多个第二节点中提供该多个第一中间结果的多个第三节点各自的本地模型当前的第一模型参数,确定该多个第三节点分别对应的梯度值,以及向该多个第三节点分别发送其对应的梯度值,以使得该多个第三节点基于获得的梯度值更新本地模型的参数,如此可以将分数未达到阈值的中间结果视为不可靠(无效)的中间结果,避免让该中间结果参与最终的聚合过程,以及避免让提供该中间结果的第二节点执行后续的模型训练过程,为目标模型提供了良好的可靠性。另外,基于多个第一节点而非基于单一的服务器实现模型聚合,抗单点攻击和单点故障的能力强,能有效防止中间结果和训练过程数据泄露。由此可知,该方案能使得具有相同样本空间、不同特征空间的多个参与方参与执行同一模型训练任务,并尽可能的保证数据安全和防止隐私泄露,以及确保训练的目标模型的可靠性。
附图说明
[0010]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0011]图1是一实施例中的区块链架构图;
[0012]图2是本说明书实施例可以应用于其中的一个应用场景的示意图;
[0013]图3是本说明书实施例中区块链系统的初始化过程的一个示意图;
[0014]图4是本说明书实施例中模型训练初始化过程的一个示意图;
[0015]图5是本说明书实施例中基于隐私保护的模型训练方法的一个时序图;
[0016]图6是本说明书实施例中基于联盟链的模型训练方法的示意图;
[0017]图7是本说明书实施例中基于联盟链的模型训练方法的示意图;
[0018]图8是本说明书实施例中基于隐私保护的模型训练装置的结构示意图。
具体实施方式
[0019]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0020]如前所述,随着信息技术的快速发展,多数企业拥有大量用户的用户数据。若企业间共享用户数据,则能够更完善地支持企业评估用户状态与需求,从而为用户提供更加个性化的服务。然而,由于一些企业担心数据安全和隐私泄露问题,故而导致各企业拥有的用户数据不能直接公开或共享。传统的数据集中式的机器学习方式存在一定的数据安全和隐私泄露的问题。
[0021]作为分布式的机器学习,联邦学习为数据不出域各方联合训练模型提供本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于隐私保护的模型训练方法,由多个第一节点执行,所述多个第一节点存储有对应于目标模型的多个样本的标签数据,所述方法包括:获取多个第二节点分别提供的中间结果,所述中间结果由所述第二节点基于本地存储的所述多个样本的特征数据对所述目标模型对应的本地模型执行前向传播训练得到,所述多个第二节点存储有所述多个样本的不同维度的特征数据;基于所述标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从所述各个中间结果中选取出分数达到阈值的多个第一中间结果;基于对所述多个第一中间结果的聚合结果和所述标签数据,确定所述目标模型的第一预测损失值;响应于所述第一预测损失值不满足模型收敛条件,基于所述第一预测损失值和所述多个第二节点中提供所述多个第一中间结果的多个第三节点各自的本地模型当前的第一模型参数,确定所述多个第三节点分别对应的梯度值;向所述多个第三节点分别发送其对应的梯度值。2.根据权利要求1所述的方法,其中,所述基于所述标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从所述各个中间结果中选取出分数达到阈值的多个第一中间结果,包括:所述多个第一节点中的一个目标节点在所述多个第一节点中确定用于对每个所述中间结果进行评分的第一节点,并将确定结果发送给所述多个第一节点中的其他节点;所述多个第一节点基于对所述各个中间结果的聚合结果和所述标签数据确定第二预测损失值,基于对所述各个中间结果中除自己负责评分的第二中间结果以外的中间结果的聚合结果和所述标签数据确定第三预测损失值,并将所述第三预测损失值和所述第二预测损失值的差值确定为所述第二中间结果对应的分数;所述目标节点接收所述其他节点发送的其他中间结果对应的分数;所述目标节点从所述各个中间结果中选取出分数达到阈值的多个第一中间结果。3.根据权利要求1所述的方法,其中,在向所述多个第三节点分别发送其对应的梯度值之后,还包括:获取所述多个第三节点提供的本地模型更新的第二模型参数,所述第二模型参数由所述第三节点在基于获得的梯度值更新本地模型的参数后得到;基于各个所述第二模型参数,确定所述目标模型的模型性能;响应于所述模型性能满足所述模型收敛条件,确定各个所述第二模型参数为所述目标模型的更新的参数。4.根据权利要求3所述的方法,其中,所述多个第一节点和所述多个第二节点包含在区块链系统中;以及在确定各个所述第二模型参数为所述目标模型的更新的参数之后,还包括:在所述区块链系统中存储各个所述第二模型参数。5.根据权利要求3所述的方法,还包括:响应于所述模型性能不满足所述模型收敛条件,向所述多个第三节点发送用于指示对本地模型进行下一轮模型训练的反馈信息。6.根据权利要求1所述的方法,其中,初始的所述目标模型为模型使用方的设备提供的
初始模型;以及在获取多个第二节点分别提供的中间结果之前,还包括:获取所述模型使用方的设备提供的所述标签数据;获取所述初始模型作为所述目标模型;将所述初始模型发送给所述多个第二节点,以使得所述多个第二节点将所述初始模型作为本地模型进行模型训练。7.根据权利要求6...

【专利技术属性】
技术研发人员:盖珂珂王烁魏长征吴行行丁慧徐蕾
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1