CN111738453A - 基于样本加权的业务模型训练方法、装置及系统 - Google Patents
基于样本加权的业务模型训练方法、装置及系统 Download PDFInfo
- Publication number
- CN111738453A CN111738453A CN202010762022.7A CN202010762022A CN111738453A CN 111738453 A CN111738453 A CN 111738453A CN 202010762022 A CN202010762022 A CN 202010762022A CN 111738453 A CN111738453 A CN 111738453A
- Authority
- CN
- China
- Prior art keywords
- model
- share
- data
- fraction
- model update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供基于样本加权的业务模型训练方法及系统。第一和第二数据拥有方分别具有第一和第二数据集以及第一和第二模型。第一数据拥有方包括具有标签权重的数据标签。各个数据拥有方对所具有的模型和标签权重进行份额分解并进行共享。在各个数据拥有方之间,使用各个模型份额、第一和第二数据集以及数据标签,确定各个模型的模型更新量份额。在各个数据拥有方之间,使用各个模型的模型更新量份额以及标签权重份额,确定各个模型的加权模型更新量份额。各个数据拥有方根据各个加权模型更新量份额更新对应的模型份额。在循环结束时,各个数据拥有方共享更新后的模型份额,并根据更新后的模型份额确定训练出的第一和第二模型。
Description
技术领域
本说明书实施例通常涉及机器学习领域,尤其涉及基于样本加权的业务模型训练方法、装置及系统。
背景技术
机器学习技术被广泛地应用于各种业务应用场景。在业务应用场景中,使用机器学习模型作为业务模型来进行各种业务服务。在很多情况下,业务模型需要采用多个数据拥有方的业务数据来进行模型训练。多个数据拥有方(例如,电子商务公司、快递公司和银行)各自拥有训练业务模型所使用的特征数据的不同部分数据。该多个数据拥有方通常想共同使用彼此的数据来统一训练业务模型,但又不想把各自的数据提供给其它数据拥有方以防止自己的数据被泄露。
面对这种情况,提出了能够保护数据安全的业务模型训练方法,其能够在保证多个数据拥有方的各自数据安全的情况下,协同该多个数据拥有方来训练业务模型,以供该多个数据拥有方使用。然而,现有业务模型训练方法不能适用于训练样本的数据标签具有权重的应用场景。
发明内容
鉴于上述,本说明书实施例提供一种基于样本加权的业务模型训练方法、装置及系统。
根据本说明书实施例的一个方面,提供一种用于经由第一和第二数据拥有方训练业务模型的方法,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型,所述方法由第一数据拥有方执行,所述方法包括:将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和,并将第一模型份额和标签权重份额发送给第二数据拥有方;从第二数据拥有方接收第二模型的第二模型份额,第二模型份额经由第二数据拥有方将第二模型分解为第二模型份额和得到;执行下述循环过程,直到满足循环结束条件:在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;分别根据加权模型更新量份额和更新第一模型份额和第二模型份额,在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额,第二数据拥有方的第一模型份额和第二模型份额根据加权模型更新量份额和更新,在满足循环结束条件时,将更新后的第二模型份额发送给第二数据拥有方,并且从第二数据拥有方获取更新后的第一模型份额;以及根据更新后的第一模型份额和,确定训练出的第一模型。
可选地,在上述方面的一个示例中,在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和包括:根据第一模型份额和第一数据集确定第一预测值;在各个数据拥有方之间,使用第一模型份额和第一数据集按照多方安全计算确定第二预测值,以及使用第二模型份额和第二数据集按照多方安全计算确定第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额;根据第一预测值以及预测值份额和确定第一数据拥有方处的模型预测值份额;根据模型预测值份额以及数据标签Y确定第一数据拥有方处的预测差值份额;以及在各个数据拥有方之间,使用预测差值份额和以及第一数据集和第二数据集,按照多方安全计算确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,其中,预测差值份额是由第二数据拥有方使用第四预测值、预测值份额和确定出的模型预测值份额,第四预测值由第二数据拥有方根据第二模型份额和第二数据集确定。
可选地,在上述方面的一个示例中,所述多方安全计算包括下述安全计算中的一种:基于秘密共享的多方安全计算;基于同态加密的多方安全计算;基于不经意传输的多方安全计算;基于混淆电路的多方安全计算;或者基于可信执行环境的多方安全计算。
可选地,在上述方面的一个示例中,在各个数据拥有方之间,使用预测差值份额和以及第一数据集和第二数据集,按照多方安全计算确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和包括:根据预测差值份额和第一数据集确定第一模型更新量;在各个数据拥有方之间,使用预测差值份额和第一数据集按照多方安全计算确定第二模型更新量,以及使用预测差值份额和第二数据集按照多方安全计算确定第三模型更新量,第一数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额;以及将第一模型更新量与模型更新量份额之和确定为模型更新量份额,并将模型更新量份额确定为模型更新量份额,其中,模型更新量份额是模型更新量份额,以及模型更新量份额是第四模型更新量与模型更新量份额之和,第四模型更新量由第二数据拥有方根据预测差值份额和第二数据集确定。
可选地,在上述方面的一个示例中,在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和包括:在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,按照多方安全计算确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和。
可选地,在上述方面的一个示例中,分别根据加权模型更新量份额和更新第一模型份额和第二模型份额包括:按照以下等式更新第一数据拥有方处的模型份额:,其中,表示第一数据拥有方处针对第i模型的更新后的模型份额,表示第一数据拥有方处针对第i模型的当前模型份额,表示学习率,以及表示第一数据拥有方处针对第i模型的模型更新份额。
可选地,在上述方面的一个示例中,所述循环结束条件包括:预定循环次数;或者所确定出的预测差值在预定范围内。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方训练业务模型的方法,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型,所述方法由第二数据拥有方执行,所述方法包括:将第二模型分解为第二模型份额和,并将第二模型份额发送给第一数据拥有方;从第一数据拥有方接收第一模型的第一模型份额以及标签权重份额,第一模型份额以及标签权重份额经由第一数据拥有方将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和得到;执行下述循环过程,直到满足循环结束条件:在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;分别根据加权模型更新量份额和更新第一模型份额和第二模型份额,在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额,第一数据拥有方处的第一模型份额和第二模型份额分别根据加权模型更新量份额和更新,在满足循环结束条件时,将更新后的第一模型份额发送给第一数据拥有方,并且从第一数据拥有方获取更新后的第二模型份额;以及根据更新后的第二模型份额和,确定训练出的第二模型。
可选地,在上述方面的一个示例中,在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和包括:根据第二模型份额和第二数据集确定第四预测值;在各个数据拥有方之间,使用第一模型份额和第一数据集按照多方安全计算确定第二预测值,以及使用第二模型份额和第二数据集按照多方安全计算确定第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额;根据第四预测值、预测值份额和,确定模型预测值份额,作为第二数据拥有方处的预测差值份额;以及在各个数据拥有方之间,使用预测差值份额和以及第一数据集和第二数据集,按照多方安全计算确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,其中,预测差值份额由第一数据拥有方根据第一数据拥有方处的模型预测值份额和数据标签Y确定,模型预测值份额根据第一预测值、预测值份额和确定,以及第一预测值根据第一模型份额和第一数据集确定。
可选地,在上述方面的一个示例中,在各个数据拥有方之间,使用预测差值份额和以及第一数据集和第二数据集,按照多方安全计算确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和包括:根据预测差值份额和第二数据集确定第四模型更新量;在各个数据拥有方之间,使用预测差值份额和第一数据集按照多方安全计算确定第二模型更新量,以及使用预测差值份额和第二数据集按照多方安全计算确定第三模型更新量,第一数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额;以及将第四模型更新量与模型更新量份额之和确定为模型更新量份额,并将模型更新量份额确定为模型更新量份额,其中,模型更新量份额是第一模型更新量与模型更新量份额之和,模型更新量份额是模型更新量份额,第一模型更新量由第一数据拥有方根据预测差值份额和第一数据集确定。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方训练业务模型的装置,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型,所述装置应用于第一数据拥有方,所述装置包括:分解单元,将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和;份额共享单元,将第一模型份额和标签权重份额发送给第二数据拥有方,以及从第二数据拥有方接收第二模型的第二模型份额,第二模型份额经由第二数据拥有方将第二模型分解为第二模型份额和得到;模型更新量确定单元,在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;加权处理单元,在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;模型更新单元,分别根据加权模型更新量份额和更新第一模型份额和第二模型份额;模型共享单元,在满足循环结束条件时,将更新后的第二模型份额发送给第二数据拥有方,并且从第二数据拥有方获取更新后的第一模型份额;以及训练模型确定单元,根据更新后的第一模型份额和,确定训练出的第一模型,其中,所述模型更新量确定单元、所述加权处理单元和所述模型更新单元循环执行操作,直到满足循环结束条件,在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额,第二数据拥有方的第一模型份额和第二模型份额分别根据加权模型更新量份额和更新。
可选地,在上述方面的一个示例中,所述模型更新量确定单元包括:本地预测值确定模块,根据第一模型份额和第一数据集确定第一预测值;多方安全计算模块,在各个数据拥有方之间,使用第一模型份额和第一数据集按照多方安全计算确定第二预测值,以及使用第二模型份额和第二数据集按照多方安全计算确定第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额;预测值份额确定模块,根据第一预测值以及预测值份额和确定第一数据拥有方处的模型预测值份额;预测差值份额确定模块,根据模型预测值份额以及数据标签Y确定第一数据拥有方处的预测差值份额;以及模型更新量确定模块,在各个数据拥有方之间,使用预测差值份额和以及第一数据集和第二数据集,按照多方安全计算确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,其中,预测差值份额是由第二数据拥有方使用第四预测值、预测值份额和确定出的模型预测值份额,第四预测值由第二数据拥有方根据第二模型份额和第二数据集确定。
可选地,在上述方面的一个示例中,所述多方安全计算包括下述安全计算中的一种:基于秘密共享的多方安全计算;基于同态加密的多方安全计算;基于不经意传输的多方安全计算;基于混淆电路的多方安全计算;或者基于可信执行环境的多方安全计算。
可选地,在上述方面的一个示例中,所述模型更新量确定模块:根据预测差值份额和第一数据集确定第一模型更新量;在各个数据拥有方之间,使用预测差值份额和第一数据集按照多方安全计算确定第二模型更新量,以及使用预测差值份额和第二数据集按照多方安全计算确定第三模型更新量,第一数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额;以及将第一模型更新量与模型更新量份额之和确定为模型更新量份额,并将模型更新量份额确定为模型更新量份额。
可选地,在上述方面的一个示例中,所述加权处理单元:在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,按照多方安全计算确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和。
可选地,在上述方面的一个示例中,所述模型更新单元按照以下等式更新第一数据拥有方处的模型份额:,其中,表示第一数据拥有方处针对第i模型的更新后的模型份额,表示第一数据拥有方处针对第i模型的当前模型份额,表示学习率,以及表示第一数据拥有方处针对第i模型的模型更新份额。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方训练业务模型的装置,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型,所述装置应用于第二数据拥有方,所述装置包括:分解单元,将第二模型分解为第二模型份额和;份额共享单元,将第二模型份额发送给第一数据拥有方,以及从第一数据拥有方接收第一模型的第一模型份额以及标签权重份额,第一模型份额以及标签权重份额经由第一数据拥有方将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和得到;模型更新量确定单元,在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;加权处理单元,在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;模型更新单元,分别根据加权模型更新量份额和更新第一模型份额和第二模型份额;模型共享单元,在满足循环结束条件时,将更新后的第一模型份额发送给第一数据拥有方,并且从第一数据拥有方获取更新后的第二模型份额;以及训练模型确定单元,根据更新后的第二模型份额和,确定训练出的第二模型,其中,所述模型更新量确定单元、所述加权处理单元和所述模型更新单元循环执行操作,直到满足所述循环结束条件,在未满足所述循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额,第一数据拥有方处的第一模型份额和第二模型份额分别根据加权模型更新量份额和更新。
可选地,在上述方面的一个示例中,所述模型更新量确定单元包括:本地预测值确定模块,根据第二模型份额和第二数据集确定第四预测值;多方安全计算模块,在各个数据拥有方之间,使用第一模型份额和第一数据集按照多方安全计算确定第二预测值,以及使用第二模型份额和第二数据集按照多方安全计算确定第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额;预测值份额确定模块,根据第四预测值、预测值份额和,确定模型预测值份额,作为第二数据拥有方处的预测差值份额;以及模型更新量份额确定模块,在各个数据拥有方之间,使用预测差值份额和以及第一数据集和第二数据集,按照多方安全计算确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,其中,预测差值份额由第一数据拥有方根据第一数据拥有方处的模型预测值份额和数据标签Y确定,模型预测值份额根据第一预测值、预测值份额和确定,以及第一预测值根据第一模型份额和第一数据集确定。
可选地,在上述方面的一个示例中,所述模型更新量确定模块:根据预测差值份额和第二数据集确定第四模型更新量;在各个数据拥有方之间,使用预测差值份额和第一数据集按照多方安全计算确定第二模型更新量,以及使用预测差值份额和第二数据集按照多方安全计算确定第三模型更新量,第一数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额;以及将第四模型更新量与模型更新量份额之和确定为模型更新量份额,并将模型更新量份额确定为模型更新量份额。
根据本说明书的实施例的另一方面,提供一种用于经由第一和第二数据拥有方训练业务模型的系统,包括:第一数据拥有方,包括如上所述的装置;以及第二数据拥有方,包括如上所述的装置,其中,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述在第一数据拥有方执行的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述在第一数据拥有方执行的方法。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述在第二数据拥有方执行的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述在第二数据拥有方执行的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的经过垂直切分的训练样本集的示例的示意图。
图2示出了根据本说明书的实施例的用于经由第一和第二数据拥有方训练业务模型的系统的架构示意图。
图3示出了根据本说明书的实施例的用于经由第一和第二数据拥有方训练业务模型的方法的流程图。
图4示出了根据本说明书的实施例的模型更新量确定过程的一个示例的流程图。
图5示出了根据本说明书的实施例的基于预测差值份额的模型更新量确定过程的一个示例的流程图。
图6示出了根据本说明书的实施例的用于经由第一和第二数据拥有方训练业务模型的装置的一个示例的方框图。
图7示出了根据本说明书的实施例的模型更新量确定单元的一个示例的方框图。
图8示出了根据本说明书的实施例的用于经由第一和第二数据拥有方训练业务模型的装置的另一示例的方框图。
图9示出了根据本说明书的实施例的模型更新量确定单元的另一示例的方框图。
图10示出了根据本说明书的实施例的用于实现第一数据拥有方侧的业务模型训练过程的电子设备的示意图。
图11示出了根据本说明书的实施例的用于实现第二数据拥有方侧的业务模型训练过程的电子设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本说明书中,术语“数据拥有方”和“训练参与方”可互换使用。
秘密共享方法是一种将秘密分解存储的密码技术,其将秘密以适当的方式拆分成多个秘密份额,每一个秘密份额由多个参与方(数据拥有方)中的一个参与方拥有和管理,单个参与方无法恢复完整秘密,只有若干个参与方共同协作才能恢复完整秘密。秘密共享方法目标在于阻止秘密过于集中,以达到分散风险和容忍入侵的目的。
在本说明书中,业务模型训练方案中所使用的训练样本集是经过垂直切分的训练样本集。术语“对训练样本集进行垂直切分”是指按照模块/功能(或者某种指定规则)来将该训练样本集切分为多个训练样本子集中,各个训练样本子集包含训练样本集中的每条训练样本的部分训练子样本,所有训练样本子集中所包含的部分训练子样本构成该条训练样本。在一个例子中,假设训练样本包括标签和属性、,则经过垂直切分后,数据拥有方Alice拥有该训练样本的和,以及数据拥有方Bob拥有该训练样本的。在另一个例子中,假设训练样本包括标签和属性、、,则经过垂直切分后,数据拥有方Alice拥有该训练样本的和、,以及数据拥有方Bob拥有该训练样本的和。除了这两个例子之外,还有其他可能的情况,这里不一一列举。
在本说明书中,业务模型可以是任何适合于进行模型预测的机器学习模型,比如线性回归模型、逻辑回归模型、神经网络模型等。下文以线性回归模型作为业务模型的示例进行说明。在其它实施例中,也可以使用其它机器学习模型。
假设给定由d个属性(也称为特征)描述的属性值样本示例x T=(x 1 ; x 2 ;…; x d ),其中,x i 是x在第i个属性上的取值和T表示转置,线性回归模型为Y=Wx,其中,Y是预测值,以及W是线性回归模型的模型参数,模型W被垂直切分为两个子模型和,每个数据拥有方部署一个子模型。
在本说明书中,各个数据拥有方各自拥有训练线性回归模型所使用的训练样本的不同部分数据。例如,以两个数据拥有方为例,假设训练样本集包括100个训练样本,每一个训练样本包含多个特征值(也可以称为“特征数据”)和标签值,由此,100个训练样本中的特征值组成用于模型训练的特征数据。在垂直切分数据集的情况下,第一数据拥有方拥有的数据可以是该100个训练样本中的每个训练样本的部分特征值和标签值,以及第二数据拥有方拥有的数据可以是该100个训练样本中的每个训练样本的部分特征值。
在本说明书中的任何地方描述的矩阵乘法计算,需要根据情况来确定是否对参与矩阵乘法的两个或多个矩阵中的一个或多个对应的矩阵进行转置处理,以满足矩阵乘法规则,由此完成矩阵乘法计算。
下面将结合附图来详细描述根据本说明书实施例的基于样本加权的业务模型训练方法、装置以及系统。
图1示出了根据本说明书实施例的经过垂直切分的训练样本集的示例的示意图。图1中示出了2个数据拥有方Alice和Bob,多个数据拥有方也类似。每个数据拥有方Alice和Bob拥有训练样本集中的所有训练样本中的每条训练样本的部分训练子样本,对于每条训练样本,数据拥有方Alice和Bob拥有的部分训练子样本组合在一起,可以构成该训练样本的完整内容。比如,假设某个训练样本的内容包括标签和属性特征(下文中称为“特征数据”)、,则经过垂直切分后,数据拥有方Alice拥有该训练样本的标签和特征数据,以及数据拥有方Bob拥有该训练样本的特征数据。
图2示出了示出了根据本说明书实施例的用于经由第一和第二数据拥有方训练业务模型的系统1(下文中称为模型训练系统1)的架构示意图。
如图2所示,模型训练系统1包括第一数据拥有方设备10以及第二数据拥有方设备20。第一数据拥有方设备10以及第二数据拥有方设备20可以通过例如但不局限于互联网或局域网等的网络30相互通信。
第一数据拥有方设备10具有第一数据集、第一模型以及具有标签权重C的数据标签Y。第二数据拥有方设备20具有第二数据集和第二模型。第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本。第一模型和第二模型按照垂直切分方式组成业务模型。这里,每个数据拥有方所具有的模型和数据集是该数据拥有方的秘密,不能被其他数据拥有方获悉或者完整地获悉。
在本说明书中,数据标签Y具有标签权重是指在进行模型训练时每个数据标签所具有的权重值。标签权重也可以称为样本权重。在机器学习应用中,在一些情形下需要为数据样本赋予不同的标签权重。以分类为例,在分类模型中,经常会遇到两种情形。第一种情形是误分类的代价很高。比如对合法用户和非法用户进行分类,将非法用户误分类为合法用户的代价很高,由此宁愿将合法用户误分类为非法用户,然后再进行人工甄别,而不愿将非法用户误分类为合法用户。这时,可以适当提高非法用户的标签权重class_weight={0:0.9, 1:0.1}。第二种情形是样本高度失衡,比如,具有合法用户和非法用户的二元样本数据10000条,其中,合法用户样本为9995条,非法用户样本只有5条。如果不考虑标签权重,则可能会将所有的测试集都预测为合法用户,这样预测准确率理论上有99.95%,但是却没有任何意义。这时需要提高非法用户样本的标签权重。
在本说明书中,第一数据拥有方设备10和第二数据拥有方设备20一起使用各自的数据集来协同训练业务模型。关于模型的具体训练过程将在下面参照图3到图9进行详细描述。
在本说明书中,第一数据拥有方设备10以及第二数据拥有方设备20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。为了描述简单,在下面的描述中,将第一数据拥有方设备10和第二数据拥有方设备20简称为第一数据拥有方10和第二数据拥有方20。
图3示出了根据本说明书的实施例的用于经由第一和第二数据拥有方训练业务模型的方法300的流程图。在图3中,第一数据拥有方10具有第一数据集、第一模型以及具有标签权重C的数据标签Y。第二数据拥有方设备20具有第二数据集和第二模型。第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本。第一模型和第二模型按照垂直切分方式组成业务模型。
如图3所示,在完成针对第一模型和第二模型的初始化处理后,在310,在第一数据拥有方10处,将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和。在第二数据拥有方20处,将第二模型分解为第二模型份额和。在本说明书中,针对第一模型、第二模型和标签权重C的份额分解可以采用任何合适的份额分解方式来实现。
接着,循环执行330到360的操作,直到满足循环结束条件。在一个示例中,循环结束条件可以是预定循环次数。如果达到预定循环次数,则认为满足循环结束条件。在另一示例中,循环结束条件可以是所确定出的预测差值位于预定范围内。例如,预测差值中的各个元素之和小于预定阈值,或者预测差值中的各个元素的均值小于预定阈值。
具体地,在330,在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和。
图4示出了根据本说明书的实施例的模型更新量确定过程400的一个示例的流程图。
在420,在各个数据拥有方之间,根据第一模型份额、第二模型份额、第一数据集以及第二数据集,使用多方安全计算确定第二预测值和第三预测值。其中,第一数据拥有方具有第二预测值的预测值份额以及第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额以及第三预测值的预测值份额。其中,,。这里,多方安全计算可以采用各种合适的多方安全计算方法。多方安全计算的示例可以包括但不限于:基于秘密共享的多方安全计算;基于同态加密的多方安全计算;基于不经意传输的多方安全计算;基于混淆电路的多方安全计算;或者基于可信执行环境的多方安全计算。
在450,在各个数据拥有方之间,使用预测差值份额和以及第一数据集和第二数据集,按照多方安全计算确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和。第一数据拥有方10具有模型更新量份额和,以及第二数据拥有方20具有模型更新量份额和。这里,模型更新量份额是指第i个模型在第j个数据拥有方处的模型更新量份额。
图5示出了根据本说明书的实施例的基于预测差值份额的模型更新量确定过程500的一个示例的流程图。
在520,在各个数据拥有方之间,使用预测差值份额和、第一数据集、第二数据集,按照多方安全计算确定第二模型更新量和第三模型更新量。第一数据拥有方具有第二模型更新量的模型更新量份额以及第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额以及第三模型更新量的模型更新量份额。
在530,在第一数据拥有方10处,将第一模型更新量与模型更新量份额之和确定为模型更新量份额,并将模型更新量份额确定为模型更新量份额。在第二数据拥有方20处,将模型更新量份额确定为模型更新量份额,并且将第四模型更新量与模型更新量份额之和确定为模型更新量份额。
回到图3,在如上得到第一模型的模型更新量份额和以及第二模型的模型更新量份额和后,在340,在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和。第一数据拥有方10具有加权模型更新量份额和,以及第二数据拥有方20具有加权模型更新量份额和。
可选地,在一个示例中,在各个数据拥有方之间,可以使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,按照多方安全计算确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和。
这里,多方安全计算的示例例如可以包括基于秘密共享的多方安全计算。具体地,第一数据拥有方10具有和,第二数据拥有方20具有和,,以及,其中,是与第二模型对应的模型更新量。由此,可以采用秘密共享的方法计算出第二模型的加权模型更新量,其中,第一数据拥有方10具有加权模型更新量份额,以及第二数据拥有方20具有加权模型更新量份额。同样,可以采用秘密共享的方法计算出第二模型的加权模型更新量,其中,第一数据拥有方10具有加权模型更新量份额,以及第二数据拥有方20具有加权模型更新量份额。
在一个示例中,在第一数据拥有方10处,可以按照以下等式更新第一数据拥有方处的第一模型份额和第二模型份额:,其中,表示第一数据拥有方处针对第i模型的更新后的模型份额,表示第一数据拥有方处针对第i模型的当前模型份额,表示学习率,以及表示第一数据拥有方处针对第i模型的模型更新份额。
同样,在第二数据拥有方20处,可以按照以下等式更新第二数据拥有方处的第一模型份额和第二模型份额:,其中,表示第二数据拥有方处针对第i模型的更新后的模型份额,表示第二数据拥有方处针对第i模型的当前模型份额,表示学习率,以及表示第二数据拥有方处针对第i模型的模型更新份额。
在360,判断是否满足循环结束条件。例如,判断是否达到预定循环次数。如果达到预定循环次数,则流程结束。如果未达到预定循环次数,则流程返回到330的操作来执行下一训练循环过程,其中,在该下次训练循环过程中,各个数据拥有方在当前循环过程所获得的更新后的第一和第二模型份额用作下一循环的当前第一和第二模型份额。
在判断为满足循环结束条件时,在370,第一数据拥有方10和第二数据拥有方20共享所更新的模型份额。具体地,第一数据拥有方10将更新后的第二模型份额发送给第二数据拥有方20,并且第二数据拥有方20将更新后的第一模型份额发送给第一数据拥有方10。
在380,在第一数据拥有方10处,根据更新后的第一模型份额和,确定训练出的第一模型。在第二数据拥有方20处,根据更新后的第二模型份额和,确定训练出的第二模型。由此,完成基于样本权重的业务模型训练过程。
利用图1-图5中公开的业务模型训练方法,能够在不泄漏各个数据拥有方的隐私数据和模型参数的情况下实现基于样本加权的业务模型训练过程。此外,通过在模型更新量确定过程和加权模型更新量确定过程中使用多方安全计算实现,可以进一步提升业务模型训练的数据隐私保护。
图6示出了根据本说明书实施例的用于经由第一和第二数据拥有方训练业务模型的装置(下文中称为模型训练装置)600的示意图。在该实施例中,第一数据拥有方10具有第一数据集、第一模型以及具有标签权重C的数据标签Y。第二数据拥有方设备20具有第二数据集和第二模型。第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本。第一模型和第二模型按照垂直切分方式组成业务模型。模型训练装置600应用于第一数据拥有方10。
如图6所示,模型训练装置600包括分解单元610、份额共享单元620、模型更新量确定单元630、加权处理单元640、模型更新单元650、模型共享单元660和训练模型确定单元670。
份额共享单元620被配置为将第一模型份额和标签权重份额发送给第二数据拥有方,以及从第二数据拥有方接收第二模型的第二模型份额,第二数据拥有方将第二模型分解为第二模型份额和。份额共享单元620的操作可以参考上面参照图3描述的320的操作。
模型更新量确定单元630被配置为在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和。模型更新量确定单元630的操作可以参考上面参照图3描述的330的操作。
加权处理单元640被配置为在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和。加权处理单元640的操作可以参考上面参照图3描述的340的操作。
可选地,在一个示例中,加权处理单元640可以被配置为在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,按照多方安全计算确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和。
模型共享单元660被配置为在满足循环结束条件时,将更新后的第二模型份额发送给第二数据拥有方,并且从第二数据拥有方获取更新后的第一模型份额。模型共享单元660的操作可以参考上面参照图3描述的370的操作。
在模型训练装置600的操作中,模型更新量确定单元630、加权处理单元640和模型更新单元650循环执行操作,直到满足循环结束条件。在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额。
图7示出了根据本说明书的实施例的模型更新量确定单元700的一个示例的方框图。如图7所示,模型更新量确定单元700包括本地预测值确定模块710、多方安全计算模块720、预测值份额确定模块730、预测差值份额确定模块740和模型更新量确定模块750。
多方安全计算模块720被配置为在各个数据拥有方之间,根据第一模型份额、第二模型份额、第一数据集以及第二数据集,使用多方安全计算确定第二预测值和第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额。
预测差值份额确定模块740被配置为根据模型预测值份额以及数据标签Y,确定第一数据拥有方处的预测差值份额。同样,在第二数据拥有方处,使用第四预测值以及预测值份额和,确定第二数据拥有方处的模型预测值份额,作为预测差值份额,第四预测值根据第二模型份额和第二数据集确定。
可选地,在一个示例中,模型更新量确定模块750被配置为根据预测差值份额和第一数据集,确定第一模型更新量;在各个数据拥有方之间,根据预测差值份额和、第一数据集以及第二数据集,使用多方安全计算确定第二模型更新量和第三模型更新量,第一数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额;以及将第一模型更新量和模型更新量份额之和确定为模型更新量份额,并将模型更新量份额确定为模型更新量份额。
可选地,在一个示例中,模型更新单元650可以按照以下等式更新第一数据拥有方处的模型份额:,其中,表示第一数据拥有方处针对第i模型的更新后的模型份额,表示第一数据拥有方处针对第i模型的当前模型份额,表示学习率,以及表示第一数据拥有方处针对第i模型的模型更新份额。
图8示出了根据本说明书实施例的用于经由第一和第二数据拥有方训练业务模型的装置(下文中称为模型训练装置)800的示意图。在该实施例中,第一数据拥有方10具有第一数据集、第一模型以及具有标签权重C的数据标签Y。第二数据拥有方设备20具有第二数据集和第二模型。第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本。第一模型和第二模型按照垂直切分方式组成业务模型。模型训练装置800应用于第二数据拥有方20。
如图8所示,模型训练装置800包括分解单元810、份额共享单元820、模型更新量确定单元830、加权处理单元840、模型更新单元850、模型共享单元860和训练模型确定单元870。
份额共享单元820被配置为将第二模型份额发送给第一数据拥有方,并且从第一数据拥有方接收第一模型的第一模型份额以及标签权重份额,第一数据拥有方将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和。份额共享单元820的操作可以参考上面参照图3描述的320的操作。
模型更新量确定单元830被配置为在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和。模型更新量确定单元830的操作可以参考上面参照图3描述的330的操作。
加权处理单元840被配置为在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和。加权处理单元840的操作可以参考上面参照图3描述的340的操作。
可选地,在一个示例中,加权处理单元840可以被配置为在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,按照多方安全计算确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和。
模型共享单元860被配置为在满足循环结束条件时,将更新后的第一模型份额发送给第一数据拥有方,并且从第一数据拥有方获取更新后的第二模型份额。模型共享单元860的操作可以参考上面参照图3描述的370的操作。
在模型训练装置800的操作中,模型更新量确定单元830、加权处理单元840和模型更新单元850循环执行操作,直到满足循环结束条件。在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额。
图9示出了根据本说明书的实施例的模型更新量确定单元900的一个示例的方框图。如图9所示,模型更新量确定单元900包括本地预测值确定模块910、多方安全计算模块920、预测值份额确定模块930和模型更新量确定模块940。
多方安全计算模块920被配置为在各个数据拥有方之间,根据第一模型份额、第二模型份额、第一数据集以及第二数据集,使用多方安全计算确定第二预测值和第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额。
可选地,在一个示例中,模型更新量确定模块940被配置为:根据预测差值份额和第二数据集,确定第四模型更新量;在各个数据拥有方之间,根据预测差值份额和、第一数据集以及第二数据集,使用多方安全计算确定第二模型更新量和第三模型更新量,第一数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额;以及将第四模型更新量和模型更新量份额之和确定为模型更新量份额,并将模型更新量份额确定为模型更新量份额。
可选地,在一个示例中,模型更新单元850可以按照以下等式更新第二数据拥有方处的模型份额:,其中,表示第二数据拥有方处针对第i模型的更新后的模型份额,表示第二数据拥有方处针对第i模型的当前模型份额,表示学习率,以及表示第二数据拥有方处针对第i模型的模型更新份额。
如上参照图1到图9,对根据本说明书实施例的模型训练方法、模型训练装置及系统进行了描述。上面的模型训练装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图10示出了根据本说明书的实施例的用于实现第一数据拥有方侧的业务模型训练过程的电子设备1000的示意图。如图10所示,电子设备1000可以包括至少一个处理器1010、存储器(例如,非易失性存储器)1020、内存1030和通信接口1040,并且至少一个处理器1010、存储器1020、内存1030和通信接口1040经由总线1060连接在一起。至少一个处理器1010执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1010:将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和,并将第一模型份额和标签权重份额发送给第二数据拥有方;从第二数据拥有方接收第二模型的第二模型份额,第二模型份额经由第二数据拥有方将第二模型分解为第二模型份额和得到;执行下述循环过程,直到满足循环结束条件:在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;分别根据加权模型更新量份额和更新第一模型份额和第二模型份额,在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额,第二数据拥有方的第一模型份额和第二模型份额根据加权模型更新量份额和更新,在满足循环结束条件时,将更新后的第二模型份额发送给第二数据拥有方,并且从第二数据拥有方获取更新后的第一模型份额;以及根据更新后的第一模型份额和,确定训练出的第一模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1010进行本说明书的各个实施例中以上结合图1-9描述的各种操作和功能。
图11示出了根据本说明书的实施例的用于实现第二数据拥有方侧的业务模型训练过程的电子设备1100的示意图。如图11所示,电子设备1100可以包括至少一个处理器1110、存储器(例如,非易失性存储器)1120、内存1130和通信接口1140,并且至少一个处理器1110、存储器1120、内存1130和通信接口1140经由总线1160连接在一起。至少一个处理器1110执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1110:将第二模型分解为第二模型份额和,并将第二模型份额发送给第一数据拥有方;从第一数据拥有方接收第一模型的第一模型份额以及标签权重份额,第一模型份额以及标签权重份额经由第一数据拥有方将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和得到;执行下述循环过程,直到满足循环结束条件:在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;分别根据加权模型更新量份额和更新第一模型份额和第二模型份额,在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额,第一数据拥有方处的第一模型份额和第二模型份额分别根据加权模型更新量份额和更新,在满足循环结束条件时,将更新后的第一模型份额发送给第一数据拥有方,并且从第一数据拥有方获取更新后的第二模型份额;以及根据更新后的第二模型份额和,确定训练出的第二模型。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1110进行本说明书的各个实施例中以上结合图1-9描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-9描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (24)
1.一种用于经由第一和第二数据拥有方训练业务模型的方法,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型,所述方法由第一数据拥有方执行,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;
在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;
分别根据加权模型更新量份额和更新第一模型份额和第二模型份额,在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额,第二数据拥有方的第一模型份额和第二模型份额分别根据加权模型更新量份额和更新,
在各个数据拥有方之间,使用第一模型份额和第一数据集按照多方安全计算确定第二预测值,以及使用第二模型份额和第二数据集按照多方安全计算确定第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额;
3.如权利要求2所述的方法,其中,所述多方安全计算包括下述安全计算中的一种:
基于秘密共享的多方安全计算;
基于同态加密的多方安全计算;
基于不经意传输的多方安全计算;
基于混淆电路的多方安全计算;或者
基于可信执行环境的多方安全计算。
在各个数据拥有方之间,使用预测差值份额和第一数据集按照多方安全计算确定第二模型更新量,以及使用预测差值份额和第二数据集按照多方安全计算确定第三模型更新量,第一数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额;以及
7.如权利要求1到6中任一所述的方法,其中,所述循环结束条件包括:
预定循环次数;或者
所确定出的预测差值在预定范围内。
8.一种用于经由第一和第二数据拥有方训练业务模型的方法,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型,所述方法由第二数据拥有方执行,所述方法包括:
执行下述循环过程,直到满足循环结束条件:
在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;
在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;
分别根据加权模型更新量份额和更新第一模型份额和第二模型份额,在未满足循环结束条件时,更新后的各个数据拥有方处的第一和第二模型份额用作下一循环的当前第一和第二模型份额,第一数据拥有方处的第一模型份额和第二模型份额分别根据加权模型更新量份额和更新,
在各个数据拥有方之间,使用第一模型份额和第一数据集按照多方安全计算确定第二预测值,以及使用第二模型份额和第二数据集按照多方安全计算确定第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额;
在各个数据拥有方之间,使用预测差值份额和第一数据集按照多方安全计算确定第二模型更新量,以及使用预测差值份额和第二数据集按照多方安全计算确定第三模型更新量,第一数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额,第二数据拥有方具有第二模型更新量的模型更新量份额和第三模型更新量的模型更新量份额;以及
11.一种用于经由第一和第二数据拥有方训练业务模型的装置,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型,所述装置应用于第一数据拥有方,所述装置包括:
模型更新量确定单元,在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;
加权处理单元,在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;
12.如权利要求11所述的装置,其中,所述模型更新量确定单元包括:
多方安全计算模块,在各个数据拥有方之间,使用第一模型份额和第一数据集按照多方安全计算确定第二预测值,以及使用第二模型份额和第二数据集按照多方安全计算确定第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额;
13.如权利要求12所述的装置,其中,所述多方安全计算包括下述安全计算中的一种:
基于秘密共享的多方安全计算;
基于同态加密的多方安全计算;
基于不经意传输的多方安全计算;
基于混淆电路的多方安全计算;或者
基于可信执行环境的多方安全计算。
17.一种用于经由第一和第二数据拥有方训练业务模型的装置,第一数据拥有方具有第一数据集、第一模型以及具有标签权重C的数据标签Y,第二数据拥有方具有第二数据集和第二模型,第一数据集和第二数据集按照垂直切分方式组成业务模型的训练样本,第一模型和第二模型按照垂直切分方式组成业务模型,所述装置应用于第二数据拥有方,所述装置包括:
份额共享单元,将第二模型份额发送给第一数据拥有方,以及从第一数据拥有方接收第一模型的第一模型份额以及标签权重份额,第一模型份额以及标签权重份额经由第一数据拥有方将第一模型和标签权重C分别分解为第一模型份额和以及标签权重份额和得到;
模型更新量确定单元,在各个数据拥有方之间,使用第一模型份额和、第二模型份额和、第一数据集和第二数据集以及数据标签Y,确定第一模型的模型更新量份额和以及第二模型的模型更新量份额和,第一数据拥有方具有模型更新量份额和,以及第二数据拥有方具有模型更新量份额和;
加权处理单元,在各个数据拥有方之间,使用第一模型的模型更新量份额和、第二模型的模型更新量份额和以及标签权重份额和,确定第一模型的加权模型更新量份额和以及第二模型的加权模型更新量份额和,第一数据拥有方具有加权模型更新量份额和,以及第二数据拥有方具有加权模型更新量份额和;
18.如权利要求17所述的装置,其中,所述模型更新量确定单元包括:
多方安全计算模块,在各个数据拥有方之间,使用第一模型份额和第一数据集按照多方安全计算确定第二预测值,以及使用第二模型份额和第二数据集按照多方安全计算确定第三预测值,第一数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额,第二数据拥有方具有第二预测值的预测值份额和第三预测值的预测值份额;
21.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到7中任一所述的方法。
22.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到7中任一所述的方法。
23.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求8到10中任一所述的方法。
24.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求8到10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762022.7A CN111738453B (zh) | 2020-07-31 | 2020-07-31 | 基于样本加权的业务模型训练方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762022.7A CN111738453B (zh) | 2020-07-31 | 2020-07-31 | 基于样本加权的业务模型训练方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111738453A true CN111738453A (zh) | 2020-10-02 |
CN111738453B CN111738453B (zh) | 2020-12-01 |
Family
ID=72656860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010762022.7A Active CN111738453B (zh) | 2020-07-31 | 2020-07-31 | 基于样本加权的业务模型训练方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111738453B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023184847A1 (zh) * | 2022-03-31 | 2023-10-05 | 深圳前海环融联易信息科技服务有限公司 | 一种基于秘密共享的纵向隐私保护逻辑回归方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10198399B1 (en) * | 2018-03-06 | 2019-02-05 | KenSci Inc. | Cryptographically secure machine learning |
CN110851482A (zh) * | 2019-11-07 | 2020-02-28 | 支付宝(杭州)信息技术有限公司 | 为多个数据方提供数据模型的方法及装置 |
CN111062487A (zh) * | 2019-11-28 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
CN111368983A (zh) * | 2020-05-15 | 2020-07-03 | 支付宝(杭州)信息技术有限公司 | 业务模型训练方法、装置及业务模型训练系统 |
-
2020
- 2020-07-31 CN CN202010762022.7A patent/CN111738453B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10198399B1 (en) * | 2018-03-06 | 2019-02-05 | KenSci Inc. | Cryptographically secure machine learning |
CN110851482A (zh) * | 2019-11-07 | 2020-02-28 | 支付宝(杭州)信息技术有限公司 | 为多个数据方提供数据模型的方法及装置 |
CN111062487A (zh) * | 2019-11-28 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
CN111368983A (zh) * | 2020-05-15 | 2020-07-03 | 支付宝(杭州)信息技术有限公司 | 业务模型训练方法、装置及业务模型训练系统 |
Non-Patent Citations (1)
Title |
---|
NITIN等: ""QUOTIENT: Two-Party Secure Neural Network Training and Prediction"", 《ARXIV》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023184847A1 (zh) * | 2022-03-31 | 2023-10-05 | 深圳前海环融联易信息科技服务有限公司 | 一种基于秘密共享的纵向隐私保护逻辑回归方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111738453B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929870B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN110942147B (zh) | 基于多方安全计算的神经网络模型训练及预测方法、装置 | |
CN111523673B (zh) | 模型训练方法、装置及系统 | |
CN111061963B (zh) | 基于多方安全计算的机器学习模型训练及预测方法、装置 | |
CN111079939B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN111062487B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN112052942B (zh) | 神经网络模型训练方法、装置及系统 | |
CN111027715B (zh) | 基于蒙特卡洛的联邦学习模型训练方法及装置 | |
CN112132270B (zh) | 基于隐私保护的神经网络模型训练方法、装置及系统 | |
CN111260053A (zh) | 使用可信执行环境来进行神经网络模型训练的方法和装置 | |
CN111738438B (zh) | 图神经网络模型训练方法、装置及系统 | |
CN112000991A (zh) | 多方数据联合处理方法、装置及系统 | |
CN111523556B (zh) | 模型训练方法、装置及系统 | |
CN110929887B (zh) | 逻辑回归模型训练方法、装置及系统 | |
CN111523134B (zh) | 基于同态加密的模型训练方法、装置及系统 | |
CN111523674B (zh) | 模型训练方法、装置及系统 | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及系统 | |
CN111738453B (zh) | 基于样本加权的业务模型训练方法、装置及系统 | |
CN112183757B (zh) | 模型训练方法、装置及系统 | |
CN112183759B (zh) | 模型训练方法、装置及系统 | |
CN111523675B (zh) | 模型训练方法、装置及系统 | |
CN111931870B (zh) | 基于模型复用的模型预测方法、模型预测装置及系统 | |
CN112183565B (zh) | 模型训练方法、装置及系统 | |
CN112183566B (zh) | 模型训练方法、装置及系统 | |
US12001577B1 (en) | Encrypted machine learning models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |