本说明书实施例属于计算机,尤其涉及基于隐私保护的模型训练方法及装置。
背景技术:
1、随着信息技术的快速发展,多数企业拥有大量用户的用户数据。若企业间共享用户数据,则能够更完善地支持企业评估用户状态与需求,从而为用户提供更加个性化的服务。然而,由于一些企业担心数据安全和隐私泄露问题,故而导致各企业拥有的用户数据不能直接公开或共享。
技术实现思路
1、本发明的目的在于提供一种基于隐私保护的模型训练方案,能使得具有相同样本空间、不同特征空间的多个参与方参与执行同一模型训练任务,并尽可能的保证数据安全和防止隐私泄露,以及确保训练的目标模型的可靠性。
2、本说明书第一方面提供一种基于隐私保护的模型训练方法,由多个第一节点执行,所述多个第一节点存储有对应于目标模型的多个样本的标签数据,所述方法包括:获取多个第二节点分别提供的中间结果,所述中间结果由所述第二节点基于本地存储的所述多个样本的特征数据对所述目标模型对应的本地模型执行前向传播训练得到,所述多个第二节点存储有所述多个样本的不同维度的特征数据;基于所述标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从所述各个中间结果中选取出分数达到阈值的多个第一中间结果;基于对所述多个第一中间结果的聚合结果和所述标签数据,确定所述目标模型的第一预测损失值;响应于所述第一预测损失值不满足模型收敛条件,基于所述第一预测损失值和所述多个第二节点中提供所述多个第一中间结果的多个第三节点各自的本地模型当前的第一模型参数,确定所述多个第三节点分别对应的梯度值;向所述多个第三节点分别发送其对应的梯度值。
3、本说明书第二方面提供一种基于隐私保护的模型训练装置,应用于多个第一节点中的一个第一节点,所述多个第一节点存储有对应于目标模型的多个样本的标签数据,所述装置包括:获取单元,被配置成获取多个第二节点分别提供的中间结果,所述中间结果由所述第二节点基于本地存储的所述多个样本的特征数据对所述目标模型对应的本地模型执行前向传播训练得到,所述多个第二节点存储有所述多个样本的不同维度的特征数据;选取单元,被配置成基于所述标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从所述各个中间结果中选取出分数达到阈值的多个第一中间结果;损失确定单元,被配置成基于对所述多个第一中间结果的聚合结果和所述标签数据,确定所述目标模型的第一预测损失值;梯度确定单元,被配置成响应于所述第一预测损失值不满足模型收敛条件,基于所述第一预测损失值和所述多个第二节点中提供所述多个第一中间结果的多个第三节点各自的本地模型当前的第一模型参数,确定所述多个第三节点分别对应的梯度值;发送单元,被配置成向所述多个第三节点中的第三节点发送其对应的梯度值。
4、本说明书第三方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行如第一方面中描述的方法。
5、本说明书第四方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面中描述的方法。
6、本说明书第五方面提供一种计算机程序产品,当该计算机程序产品在计算机中执行时,令计算机执行如第一方面中描述的方法。
7、在本说明书实施例提供的方案中,多个第二节点具有相同样本空间、不同特征空间,即该多个第二节点存储有多个样本(同一批样本)的不同维度的特征数据。在该多个第二节点进行模型训练的过程中,该多个第二节点可以基于本地存储的该多个样本的特征数据对目标模型对应的本地模型执行前向传播训练得到中间结果,并将中间结果提供给多个第一节点,如此可以保证特征数据不出域,从而保证数据安全和防止隐私泄露。接着,该多个第一节点可以基于目标模型对应的该多个样本的标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从各个中间结果中选取出分数达到阈值的多个第一中间结果,以及基于对该多个第一中间结果的聚合结果和该标签数据确定目标模型的第一预测损失值,之后响应于第一预测损失值不满足模型收敛条件,基于第一预测损失值和该多个第二节点中提供该多个第一中间结果的多个第三节点各自的本地模型当前的第一模型参数,确定该多个第三节点分别对应的梯度值,以及向该多个第三节点分别发送其对应的梯度值,以使得该多个第三节点基于获得的梯度值更新本地模型的参数,如此可以将分数未达到阈值的中间结果视为不可靠(无效)的中间结果,避免让该中间结果参与最终的聚合过程,以及避免让提供该中间结果的第二节点执行后续的模型训练过程,为目标模型提供了良好的可靠性。另外,基于多个第一节点而非基于单一的服务器实现模型聚合,抗单点攻击和单点故障的能力强,能有效防止中间结果和训练过程数据泄露。由此可知,该方案能使得具有相同样本空间、不同特征空间的多个参与方参与执行同一模型训练任务,并尽可能的保证数据安全和防止隐私泄露,以及确保训练的目标模型的可靠性。
1.一种基于隐私保护的模型训练方法,由多个第一节点执行,所述多个第一节点存储有对应于目标模型的多个样本的标签数据,所述方法包括:
2.根据权利要求1所述的方法,其中,所述基于所述标签数据确定各个中间结果分别对应的用于表征可靠性的分数,并从所述各个中间结果中选取出分数达到阈值的多个第一中间结果,包括:
3.根据权利要求1所述的方法,其中,在向所述多个第三节点分别发送其对应的梯度值之后,还包括:
4.根据权利要求3所述的方法,其中,所述多个第一节点和所述多个第二节点包含在区块链系统中;以及
5.根据权利要求3所述的方法,还包括:
6.根据权利要求1所述的方法,其中,初始的所述目标模型为模型使用方的设备提供的初始模型;以及
7.根据权利要求6所述的方法,其中,所述多个第一节点和所述多个第二节点包含在区块链系统中;以及
8.根据权利要求7所述的方法,其中,在从所述多个参与方的节点中确定出所述多个第二节点之后,还包括:
9.根据权利要求8所述的方法,其中,所述获取多个第二节点提供的中间结果,包括:
10.根据权利要求7所述的方法,其中,各个所述第一交易是所述多个参与方的节点向所述区块链系统发送的,所述多个第一节点由所述区块链系统在接收到各个所述第一交易后,从所述区块链系统中除所述多个参与方的节点以外的节点中确定。
11.根据权利要求10所述的方法,其中,所述模型训练任务和所述初始模型包含在所述模型使用方的设备向所述区块链系统发送的第二交易中,所述区块链系统基于所述第二交易将所述模型训练任务和所述初始模型存储到所述区块链系统中;各个所述第一交易由所述多个参与方的节点在所述第二交易执行完成后发送。
12.一种基于隐私保护的模型训练装置,应用于多个第一节点中的一个第一节点,所述多个第一节点存储有对应于目标模型的多个样本的标签数据,所述装置包括:
13.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-11中任一项所述的方法。
14.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项所述的方法。