模型超参数确定方法、模型训练方法及系统转让专利

申请号 : CN202110428875.1

文献号 : CN113033824B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周亚顺尹栋李漓春

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书的实施例提供用于确定机器学习模型的超参数的方法及装置。在该方法中,第一成员设备将机器学习模型的当前超参数分发给各个第二成员设备。各个第二成员设备使用各自的训练样本集以及机器学习模型的当前超参数来按照隐私保护方式训练出机器学习模型。各个第二成员设备使用各自的测试样本集评估所训练出的机器学习模型的模型指标。在未满足循环结束条件时,经由第一成员设备确定下一循环过程的当前超参数来循环执行上述过程,并且每次循环过程的超参数与所确定的模型指标对应地存储在超参数数据库中。在满足循环结束条件时,第一成员设备将超参数数据库中模型指标最好的超参数确定为机器学习模型的超参数。

权利要求 :

1.一种用于确定机器学习模型的超参数的方法,包括:执行下述循环过程,直到满足循环结束条件:

经由第一成员设备将机器学习模型的当前超参数分发给各个第二成员设备,每个第二成员设备具有训练样本集和测试样本集;

经由各个第二成员设备使用各自的训练样本集以及机器学习模型的当前超参数来按照隐私保护方式训练出机器学习模型;

经由各个第二成员设备使用各自的测试样本集评估所训练出的机器学习模型的模型指标;

经由第一成员设备将所述当前超参数与所确定的模型指标对应地存储在超参数数据库中;以及在未满足所述循环结束条件时,经由第一成员设备确定下一循环过程的当前超参数,所确定的超参数位于超参数取值区间内,在满足所述循环结束条件时,经由第一成员设备将所述超参数数据库中模型指标最好的超参数确定为所述机器学习模型的超参数,其中,经由第一成员设备确定下一循环过程的当前超参数包括:经由第一成员设备使用搜索算法来从超参数取值区间中确定下一循环过程的当前超参数,或者经由第一成员设备基于预定生成算法或随机生成算法来生成下一循环过程的当前超参数,所生成的超参数位于超参数取值区间内。

2.如权利要求1所述的方法,其中,所述搜索算法包括下述搜索算法中的一种:网格搜索算法、贝叶斯搜索算法和随机搜索算法。

3.如权利要求1所述的方法,其中,所述隐私保护方式包括下述隐私保护方式中的至少一种:基于秘密分享的隐私保护方式;

基于混淆电路的隐私保护方式;

基于同态加密的隐私保护方式;

基于不经意传输的隐私保护方式;

基于差分隐私的隐私保护方式。

4.如权利要求1所述的方法,其中,所述循环结束条件包括:达到预定循环次数;或者

所确定出的模型指标满足预设模型指标条件。

5.如权利要求1所述的方法,还包括:

经由第一成员设备定义所述机器学习模型的模型训练过程所使用的超参数清单以及各个超参数的超参数取值区间。

6.如权利要求1所述的方法,其中,所述第一成员设备由所述第二成员设备中的一个第二成员设备充当。

7.一种机器学习模型训练方法,包括:

经由第一成员设备与各个第二成员设备协同来按照权利要求1到6中任一所述的方法确定机器学习模型的超参数,并将所确定的超参数分发给各个第二成员设备;以及经由各个第二成员设备使用各自的训练样本集以及所接收的超参数来按照隐私保护方式训练出机器学习模型。

8.一种用于确定机器学习模型的超参数的超参数确定装置,包括:超参数分发单元,将机器学习模型的当前超参数分发给各个第二成员设备;

模型训练单元,使用各自的训练样本集以及机器学习模型的当前超参数来按照隐私保护方式训练出机器学习模型;

模型指标评估单元,使用各自的测试样本集评估所训练出的机器学习模型的模型指标;

超参数存储单元,将所述当前超参数与所确定的模型指标对应地存储在超参数数据库中;以及超参数更新单元,在未满足循环结束条件时,确定下一循环过程的当前超参数,所确定的超参数位于超参数取值区间内,超参数确定单元,在满足所述循环结束条件时,将所述超参数数据库中模型指标最好的超参数确定为所述机器学习模型的超参数,其中,所述超参数分发单元、所述超参数存储单元、所述超参数更新单元和所述超参数确定单元位于第一成员设备处,所述模型训练单元和所述模型指标确定单元位于各个第二成员设备处,所述超参数分发单元、所述模型训练单元、所述模型指标确定单元、所述超参数存储单元和所述超参数更新单元循环执行操作,直到满足所述循环结束条件,其中,所述超参数更新单元使用搜索算法来从超参数取值区间中确定下一循环过程的当前超参数,或者基于预定生成算法或随机生成算法来生成下一循环过程的当前超参数,所生成的超参数位于超参数取值区间内。

9.如权利要求8所述的装置,其中,所述搜索算法包括下述搜索算法中的一种:网格搜索算法、贝叶斯搜索算法和随机搜索算法。

10.一种机器学习模型训练系统,包括第一成员设备和至少两个第二成员设备,其中,第一成员设备与各个第二成员设备按照如权利要求1到6中任一所述的方式确定机器学习模型的超参数,以及各个第二成员设备使用各自的训练样本集以及所确定的超参数来按照隐私保护方式训练出机器学习模型。

11.一种用于确定机器学习模型的超参数的超参数确定装置,包括:至少一个处理器,

与所述至少一个处理器耦合的存储器,以及

存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现如权利要求1到6中任一所述的方法。

12.一种计算机可读存储介质,其存储有可执行指令,所述指令当被执行时使得处理器执行如权利要求1到6中任一所述的方法。

说明书 :

模型超参数确定方法、模型训练方法及系统

技术领域

[0001] 本说明书实施例通常涉及机器学习领域,尤其涉及用于确定机器学习模型的模型超参数的方法及装置、机器学习模型的模型训练方法及机器学习模型训练系统。

背景技术

[0002] 近年来,随着机器学习技术的不断发展,机器学习模型被越来越广泛地应用于各种应用场景。在机器学习模型训练之前,需要确定机器学习模型的超参数。机器学习模型的超参数的优劣会大大影响机器学习模型的模型训练性能和模型训练效率。

发明内容

[0003] 鉴于上述,本说明书实施例提供用于确定机器学习模型的超参数的方法、装置及机器学习模型训练系统。利用该方法及装置,可以在基于隐私保护的模型训练方案下实现超参数优化,由此提升机器学习模型的模型训练性能和模型训练效率。
[0004] 根据本说明书实施例的一个方面,提供一种用于确定机器学习模型的超参数的方法,包括:执行下述循环过程,直到满足循环结束条件:经由第一成员设备将机器学习模型的当前超参数分发给各个第二成员设备,每个第二成员设备具有训练样本集和测试样本集;经由各个第二成员设备使用各自的训练样本集以及机器学习模型的当前超参数来按照隐私保护方式训练出机器学习模型;经由各个第二成员设备使用各自的测试样本集评估所训练出的机器学习模型的模型指标;经由第一成员设备将所述当前超参数与所确定的模型指标对应地存储在超参数数据库中;以及在未满足所述循环结束条件时,经由第一成员设备确定下一循环过程的当前超参数,所确定的超参数位于超参数取值区间内,在满足所述循环结束条件时,经由第一成员设备将所述超参数数据库中模型指标最好的超参数确定为所述机器学习模型的超参数。
[0005] 可选地,在上述方面的一个示例中,经由第一成员设备确定下一循环过程的当前超参数包括:经由第一成员设备使用搜索算法来从超参数取值区间中确定下一循环过程的当前超参数。
[0006] 可选地,在上述方面的一个示例中,所述搜索算法包括下述搜索算法中的一种:网格搜索算法、贝叶斯搜索算法和随机搜索算法。
[0007] 可选地,在上述方面的一个示例中,经由第一成员设备确定下一循环过程的当前超参数包括:经由第一成员设备基于预定生成算法或随机生成算法来生成下一循环过程的当前超参数,所生成的超参数位于超参数取值区间内。
[0008] 可选地,在上述方面的一个示例中,所述隐私保护方式包括下述隐私保护方式中的至少一种:基于秘密分享的隐私保护方式;基于混淆电路的隐私保护方式;基于同态加密的隐私保护方式;基于不经意传输的隐私保护方式;以及基于差分隐私的隐私保护方式。
[0009] 可选地,在上述方面的一个示例中,所述循环结束条件包括:达到预定循环次数;或者所确定出的模型指标满足预设模型指标条件。
[0010] 可选地,在上述方面的一个示例中,所述方法还包括:经由第一成员设备定义所述机器学习模型的模型训练过程所使用的超参数清单以及各个超参数的超参数取值区间。
[0011] 可选地,在上述方面的一个示例中,所述第一成员设备由所述第二成员设备中的一个第二成员设备充当。
[0012] 根据本说明书的实施例的另一方面,提供一种机器学习模型训练方法,包括:经由第一成员设备与各个第二成员设备协同来按照如上所述的方法确定机器学习模型的超参数;以及经由各个第二成员设备使用各自的训练样本集以及所确定的超参数来按照隐私保护方式训练出机器学习模型。
[0013] 根据本说明书的实施例的另一方面,提供一种用于确定机器学习模型的超参数的超参数确定装置,包括:超参数分发单元,将机器学习模型的当前超参数分发给各个第二成员设备;模型训练单元,使用各自的训练样本集以及机器学习模型的当前超参数来按照隐私保护方式训练出机器学习模型;模型指标评估单元,使用各自的测试样本集评估所训练出的机器学习模型的模型指标;超参数存储单元,将所述当前超参数与所确定的模型指标对应地存储在超参数数据库中;以及超参数更新单元,在未满足所述循环结束条件时,确定下一循环过程的当前超参数,所确定的超参数位于超参数取值区间内,超参数确定单元,在满足所述循环结束条件时,将所述超参数数据库中模型指标最好的超参数确定为所述机器学习模型的超参数,其中,所述超参数分发单元、所述超参数存储单元、所述超参数更新单元和所述超参数确定单元位于第一成员设备处,所述模型训练单元和所述模型指标确定单元位于各个第二成员设备处,所述超参数分发单元、所述模型训练单元、所述模型指标确定单元、所述超参数存储单元和所述超参数更新单元循环执行操作,直到满足循环结束条件。
[0014] 可选地,在上述方面的一个示例中,所述超参数更新单元使用搜索算法来从超参数取值区间中确定下一循环过程的当前超参数。
[0015] 可选地,在上述方面的一个示例中,所述搜索算法包括下述搜索算法中的一种:网格搜索算法、贝叶斯搜索算法和随机搜索算法。
[0016] 可选地,在上述方面的一个示例中,所述超参数更新单元基于预定生成算法或随机生成算法来生成下一循环过程的当前超参数,所生成的超参数位于超参数取值区间内。
[0017] 根据本说明书的实施例的另一方面,提供一种机器学习模型训练系统,包括第一成员设备和至少两个第二成员设备,其中,第一成员设备与各个第二成员设备按照如上所述的方式确定机器学习模型的超参数,以及各个第二成员设备使用各自的训练样本集以及所确定的超参数来按照隐私保护方式训练出机器学习模型。
[0018] 根据本说明书的实施例的另一方面,提供一种用于确定机器学习模型的超参数的超参数确定装置,包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现如上所述的超参数确定方法。
[0019] 根据本说明书的实施例的另一方面,提供一种计算机可读存储介质,其存储有可执行指令,所述指令当被执行时使得处理器执行如上所述的超参数确定方法。
[0020] 根据本说明书的实施例的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如上所述的超参数确定方法。

附图说明

[0021] 通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
[0022] 图1示出了根据本说明书的实施例的机器学习模型训练系统的示例架构示意图。
[0023] 图2示出了根据本说明书的实施例的机器学习模型训练方法的示例流程图。
[0024] 图3示出了根据本说明书的实施例的机器学习模型的超参数确定方法的示例流程图。
[0025] 图4示出了根据本说明书的实施例的数据水平切分的示例示意图。
[0026] 图5示出了根据本说明书的实施例的数据垂直切分的示例示意图。
[0027] 图6示出了根据本说明书的实施例的超参数确定装置的示例方框图。
[0028] 图7示出了根据本说明书的实施例的基于计算机系统实现的超参数确定装置的示例示意图。

具体实施方式

[0029] 现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
[0030] 如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
[0031] 在进行机器学习模型训练时,会涉及模型参数和超参数。模型参数是机器学习模型的模型内部的配置变量,模型参数可以在模型训练过程中利用训练样本数据学习和优化。模型参数的示例例如可以包括但不限于:人工神经网络中的权重、支持向量机中的支持向量、线性回归或逻辑回归中的回归系数等。超参数是机器学习模型的模型外部的配置变量。超参数需要在模型训练过程之前确定,并且不可以在模型训练过程中利用训练样本数据进行学习和优化。超参数的示例例如可以包括但不限于:训练神经网络的学习率(Learning Rate)、批次大小(Batch Size)、迭代次数、支持向量机的C和Sigma超参数等。所确定的超参数被使用来进行机器学习模型训练,由此得到机器学习模型的模型参数。
[0032] 机器学习模型的超参数的优劣会大大影响机器学习模型的模型训练性能和模型训练效率。超参数优化通常采用人工手动调参来实现。在进行机器学习模型训练时,为了得到具有更佳性能的机器学习模型,往往需要进行大量的调参优化,采用人工调参方式进行超参数优化,则会花费较长的时间,从而降低机器学习模型训练效率。此外,在安全计算领域,由于需要进行隐私保护,使得在模型训练时采用密文数据进行模型计算,密文数据的模型计算相对明文数据的模型计算耗时更长,从而使得人工调参方式更加不合适基于隐私保护的机器模型训练。
[0033] 鉴于上述,本说明书的实施例提供了一种用于确定机器学习模型的超参数的方案。在该方案中,基于隐私保护的多方模型训练来确定选定的超参数下的模型指标,并且在不满足预定条件时从超参数取值区间中自动更新机器学习模型的超参数,并利用所更新的超参数来再次执行多方模型训练得到对应的模型指标。在满足预定条件时,选择模型指标最佳的超参数作为最终的超参数。按照这种方式,可以在基于隐私保护的模型训练方案下实现超参数自动优化,无需模型建模方进行手动调参优化,由此提升机器学习模型的模型训练性能和模型训练效率。
[0034] 在本说明书中,术语“机器学习模型”是指被应用于业务场景中来进行业务预测服务的机器学习模型,比如,用于分类预测、业务风险预测等等的机器学习模型。“机器学习模型”也可以成为业务模型。机器学习模型的示例可以包括但不限于:逻辑回归模型、神经网络模型和树模型等。神经网络模型的示例可以包括但不限于深度神经网络(DNN,Deep Neural Network)模型、卷积神经网络(CNN,Convolutional Neural Network)模型、BP神经网络等。树模型的示例可以包括但不限于GBDT、XGBOOST等。
[0035] 机器学习模型的具体实现形式取决于所应用的业务场景。例如,在机器学习模型应用于对用户进行分类的应用场景,则机器学习模型被实现为用户分类模型。相应地,可以根据该业务模型来对待分类用户的用户特征数据进行用户分类预测。在机器学习模型应用于对业务系统上发生的业务交易进行业务风险预测的应用场景,则机器学习模型被实现为业务风险预测模型。相应地,可以根据该模型来对该业务交易的业务交易特征数据进行业务风险预测。
[0036] 本说明书实施例提供的方法和装置可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务器设备的软件或硬件来执行。所述服务器设备包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述终端设备包括但不限于:智能手机、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、电子阅读器、网络电视、可穿戴设备等智能终端设备中的任一种。
[0037] 下面将参考附图来详细描述根据本说明书的实施例的机器学习模型的超参数确定方法、超参数确定装置、机器学习模型训练方法及机器学习模型训练系统。
[0038] 图1示出了根据本说明书的实施例的机器学习模型训练系统100的架构示例示意图。
[0039] 如图1所示,机器学习模型训练系统100包括第一成员设备110、三个第二成员设备120‑1到120‑2以及网络130。在图1的示例中,第一成员设备110和第二成员设备120‑1到
120‑2经由网络130可通信地连接,由此彼此之间进行数据通信。在本说明书的其它实施例中,机器学习模型训练系统100可以不包括网络130,并且第一成员设备110和第二成员设备
120‑1到120‑2之间直接可通信地连接。要说明的是,在图1的示例中,仅仅示出了2个第二成员设备。在其它实施例中,可以包括多于2个第二成员设备。
[0040] 在本说明书的实施例中,术语“第一成员设备”可以是任何用于机器学习模型的超参数处理的设备或设备方。术语“第二成员设备”可以是用于本地收集数据样本的设备或设备方,比如,智能终端设备、服务器设备等。“第二成员设备”也可以称为“数据拥有方”或“数据持有方”。在第二成员设备上可以部署机器学习模型或机器学习模型的子模型。在一个实际应用示例中,第二成员设备例如可以是不同金融机构、医疗机构或商户的私有数据存储服务器或智能终端设备。
[0041] 在本说明提供的实施例中,第二成员设备120‑1和120‑2的本地数据可以包括本地私有数据和本地非私有数据。在本说明书中,本地私有数据是隐私数据,不能泄露给其它成员设备,从而在进行模型训练时不能以明文或将该数据全部共享给其它成员设备。本地非私有数据是指可以分享给其它成员设备的本地数据。本地非私有数据可以被其它成员设备使用来形成公域数据。
[0042] 在本说明书中,第二成员设备120‑1和120‑2的本地数据可以包括各个第二成员设备在本地收集的业务数据。业务数据可以包括业务对象的特征数据。业务对象的示例可以包括但不限于用户、商品、事件或关系。相应地,业务数据例如可以包括但不限于在本地收集的用户特征数据、商品特征数据、事件特征数据或关系特征数据,比如,用户特征数据、业务处理数据、金融交易数据、商品交易数据、医疗健康数据等等。业务数据例如可以应用于业务模型来进行模型预测、模型训练以及其它合适的两方数据联合处理。
[0043] 在本说明书中,业务数据可以包括基于文本数据、图像数据和/或语音数据的业务数据。相应地,业务模型可以应用于基于文本数据、图像数据和/或语音数据的业务风险识别、业务分类或者业务决策等等。例如,本地数据可以是由医院收集的医疗数据,并且业务模型可以用于进行疾病检查或疾病诊断。或者,所收集的本地数据可以包括用户特征数据。相应地,业务模型可以应用于基于用户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。业务模型的示例可以包括但不限于人脸识别模型、疾病诊断模型、业务风险预测模型、服务推荐模型等等。
[0044] 在本说明书中,第一成员设备110和第二成员设备120‑1到120‑2可以是任何合适的具有计算能力的电子设备。所述电子设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。
[0045] 在一些实施例中,网络130可以是有线网络或无线网络中的任意一种或多种。网络130的示例可以包括但不限于电缆网络、光纤网络、电信网络、企业内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigZee)、近场通讯(NFC)、设备内总线、设备内线路等或其任意组合。
[0046] 图2示出了根据本说明书的实施例的基于隐私保护的机器学习模型训练方法200的流程图。在图2的示例中,第二成员设备120‑1和120‑2分别具有本地模型(子模型)W1和W2以及业务对象的本地数据(本地特征数据)X1和X2,两个成员设备的本地模型W1和W2组成机器学习模型W,两个成员设备的本地数据X1和X2组成机器学习模型W的模型训练数据。此外,每个第二成员设备所具有的本地数据被预先划分为训练样本集和测试样本集。
[0047] 如图2所示,在210,经由第一成员设备110和各个第二成员设备120‑1到120‑2协同来确定机器学习模型的超参数。
[0048] 图3示出了根据本说明书的实施例的机器学习模型的超参数确定方法300的示例流程图。
[0049] 如图3所示,在310,在第一成员设备110处,定义机器学习模型训练所需要的超参数清单以及各个超参数的超参数取值区间。这里,超参数清单是指超参数的名称。超参数清单可以是一组超参数。超参数取值区间可以由用户指定,例如,由用户根据机器学习模型的实际应用场景确定。
[0050] 接着,循环执行320到380的操作,直到满足循环结束条件。在本说明书中,循环结束条件可以包括:达到预定循环次数;或者所训练出的机器学习模型的模型指标满足预设模型指标条件。所述预设模型指标条件例如可以包括大于预测模型指标值,或者在预设模型指标范围内。
[0051] 具体地,在320,在第一成员设备110处,确定各个当前超参数。这里,当前超参数是指超参数的当前取值。在第一次循环时,当前超参数可以是超参数的初始值。在随后的循环过程中,当前超参数是在前一循环过程未满足循环结束条件时经由第一成员设备确定的超参数,所确定的超参数位于超参数取值区间内。换言之,如果当前循环过程未满足循环结束条件,则在第一成员设备处确定新的一组超参数。
[0052] 在一些实施例中,在当前循环过程未满足循环结束条件时,可以经由第一成员设备使用搜索算法来从超参数取值区间中确定下一循环过程的当前超参数。所述搜索算法的示例可以包括但不限于:网格搜索算法、贝叶斯搜索算法和随机搜索算法等。基于搜索算法来从超参数取值区间中确定当前超参数,可以采用本领域适用的任何实现方式来实现,在此不再赘述。
[0053] 在一些实施例中,在当前循环过程未满足循环结束条件时,可以经由第一成员设备基于预定生成算法或随机生成算法来生成下一循环过程的当前超参数,所生成的超参数位于超参数取值区间内。
[0054] 在确定出机器学习模型的当前超参数后,在330,将所确定的当前超参数发送给各个第二成员设备120‑1到120‑2。
[0055] 在340,各个第二成员设备120‑1到120‑2使用各自的训练样本集以及当前超参数来按照隐私保护方式训练出机器学习模型。
[0056] 在本说明书的实施例中,各个第二成员设备具有机器学习模型训练所需数据的部分数据。在一个示例中,各个第二成员设备所具有的部分数据可以按照水平切分的形式共同组成机器学习模型的训练数据。相应地,各个第二成员设备所具有的子模型按照水平切分的形式共同组成机器学习模型。在另一示例中,各个第二成员设备所具有的部分数据可以按照垂直切分的形式共同组成机器学习模型的训练数据。相应地,各个第二成员设备的子模型按照垂直切分的形式共同组成机器学习模型。
[0057] 在本说明书的一个示例中,两个成员设备的本地特征数据可以是水平切分数据。术语“水平切分”是指各个成员设备具有业务模型的数据预测数据的部分数据,并且每个成员设备所具有的部分数据中的每条样本数据都是完整的样本数据,即,包括该样本数据的所有特征数据,但是具有不同的样本ID。
[0058] 图4示出了根据本说明书的实施例的数据水平切分的示例示意图。图4中示出了2个成员设备Alice和Bob。每个成员设备Alice和Bob具有的特征数据集中的每条特征数据都是完整的,即,每条特征数据包括所有属性特征(x),比如,Alice具有完整的特征数据(x0),但是成员设备Alice和Bob具有的特征数据的数据ID不同。
[0059] 在本说明书的另一示例中,成员设备具有的特征数据可以是垂直切分数据。术语“垂直切分”是指各个成员设备具有业务模型的模型预测数据的部分数据,并且每个成员设备所具有的部分数据中的每条特征数据都不是完整的特征数据,但是每个成员设备的特征数据具有相同的数据ID。即,对于每条特征数据,所有成员设备具有的数据共同组成完整的特征数据。在一个例子中,假设存在两个成员设备Alice和Bob,并且特征数据包括属性特征数据 则经过垂直切分后,成员设备Alice拥有该特征数据的属性特征 以及成员设备Bob拥有该特征数据的属性特征
[0060] 图5示出了根据本说明书的实施例的数据垂直切分的示例示意图。图5中示出了2个成员设备Alice和Bob。每个成员设备Alice和Bob拥有业务模型的模型预测数据中的每条特征数据的部分数据,对于每条特征数据,成员设备Alice和Bob拥有的属性特征数据组合在一起,可以构成该特征数据的完整内容。比如,假设某个特征数据包括属性特征数据则经过垂直切分后,成员设备Alice拥有属性特征数据 以及成员设备Bob拥有属性特征数据
[0061] 在一些实施例中,隐私保护方式的示例可以包括但不限于:基于秘密分享的隐私保护方式;基于混淆电路的隐私保护方式;基于同态加密的隐私保护方式;和基于不经意传输的隐私保护方式;以及基于差分隐私的隐私保护方式。基于隐私保护的多方模型训练过程,可以采用本领域的各种适合的实现方式来实现,在此不再具体描述。
[0062] 在如上基于当前超参数训练出机器学习模型后,在350,各个第二成员设备120‑1到120‑2使用各自的测试样本集评估所训练出的机器学习模型的模型指标。模型指标的示例可以包括但不限于F1、AUC和KS(Kolmogorov‑Smirnov)值等。
[0063] F1值是精确率和召回率的调和均值,即,F1=2PR/(P+R),相当于精确率和召回率的综合评价指标。精确率(Precision)P=TP/(TP+FP),其中,TP是将正类预测为正类的预测结果数目,FP是将负类预测为正类的预测结果数目,即,将正类预测为正类的预测结果数目占总的预测为正类的预测结果的占比。召回率(Recall)R=TP/(TP+FN),其中,FN是将正类预测为负类的预测结果数目,即,将正类预测为正类的预测结果占总的正类结果的占比。
[0064] AUC(Area under Curve)是指Roc曲线下的面积,介于0.1和1之间。AUC作为数值可以直观的评价分类器的好坏,值越大越好。ROC(receiver operating characteristic)曲线是指接收者操作特征曲线。ROC曲线上的每个点反映着对同一信号刺激的感受性。ROC曲线的纵轴表示真正类率(true postive rate TPR),也称为真阳性率,ROC曲线的横轴表示假正类率(false postive rate FPR),也称为伪阳性率。
[0065] KS=max(TPR‑FPR),其中,TPR=TP/(TP+FN),以及FPR=FP/(FP+TN),其中,TN表示将负类预测为正类的预测结果数目。KS值可以反映模型的最优区分效果。
[0066] 回到图3,在如上得到训练出的机器学习模型的模型指标后,在360,将所得到的模型指标发送给第一成员设备110。
[0067] 在370,在第一成员设备110处,将当前超参数(当前的一组超参数值)与所接收的模型指标对应地存储(记录)在超参数数据库中。
[0068] 在380,在第一成员设备110处,判断是否满足循环结束条件。如果未满足循环结束条件,则返回到320,在第一成员设备110处确定用于下一循环过程的超参数,随后使用所确定的超参数作为当前超参数来进行下一循环过程。
[0069] 如果满足循环结束条件,则在390,将超参数数据库中模型指标最好的一组超参数作为机器学习模型的超参数,并将该组超参数作为机器学习模型的最终超参数分发给各个第二成员设备120‑1到120‑2。
[0070] 回到图2,在各个第二成员设备120‑1到120‑2接收到机器学习模型的最终超参数后,在220,各个第二成员设备120‑1到120‑2使用所接收的最终超参数以及各自的训练样本集来按照隐私保护方式训练出最终的机器学习模型,由此完成机器学习模型训练过程。
[0071] 要说明的是,在上述机器学习模型训练方案中,第一成员设备是与第二成员设备独立的设备。在其它实施例中,第一成员设备也可以是各个第二成员设备中的一个第二成员设备,即,第一成员设备的功能集成在该第二成员设备中。
[0072] 利用上述超参数确定方案,可以在基于隐私保护的模型训练方案下实现超参数自动优化,无需模型建模方进行手动调参优化,由此提升机器学习模型的模型训练性能和模型训练效率。
[0073] 图6示出了根据本说明书的实施例的用于确定机器学习模型的超参数的超参数确定装置600的示例方框图。如图6所示,超参数确定装置600包括超参数分发单元610、模型训练单元620、模型指标确定单元630、超参数存储单元640、超参数更新单元650和超参数确定单元660。
[0074] 超参数分发单元610、超参数存储单元640、超参数更新单元650和超参数确定单元660部署在第一成员设备110处,以及模型训练单元620和模型指标确定单元630部署在各个第二成员设备120处。
[0075] 超参数分发单元610、模型训练单元620、模型指标确定单元630、超参数存储单元640和超参数更新单元50循环执行操作,直到满足循环结束条件。
[0076] 具体地,超参数分发单元610被配置为将机器学习模型的当前超参数分发给各个第二成员设备120‑1到120‑2。模型训练单元620被配置为使用各自的训练样本集以及机器学习模型的当前超参数来按照隐私保护方式训练出机器学习模型。模型指标评估单元630被配置为使用各自的测试样本集评估所训练出的机器学习模型的模型指标。超参数存储单元640被配置为将当前超参数与所确定的模型指标对应地存储在超参数数据库中。
[0077] 超参数更新单元650被配置为在未满足循环结束条件时,确定下一循环过程的当前超参数,所确定的超参数位于超参数取值区间内。
[0078] 在一些实施例中,超参数更新单元650使用搜索算法来从超参数取值区间中确定下一循环过程的当前超参数。搜索算法的示例可以包括但不限于:网格搜索算法、贝叶斯搜索算法和随机搜索算法。
[0079] 在一些实施例中,超参数更新单元650基于预定生成算法或随机生成算法来生成下一循环过程的当前超参数,所生成的超参数位于超参数取值区间内。
[0080] 在满足循环结束条件时,超参数确定单元660将超参数数据库中模型指标最好的超参数确定为机器学习模型的超参数。
[0081] 如上参照图1到图6,对根据本说明书实施例的超参数确定方法和超参数确定装置进行了描述。上面的超参数确定装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
[0082] 图7示出了根据本说明书的实施例的基于计算机系统实现的超参数确定装置700的示意图。如图7所示,超参数确定装置700可以包括至少一个处理器710、存储器(例如,非易失性存储器)720、内存730和通信接口740,并且至少一个处理器710、存储器720、内存730和通信接口740经由总线760连接在一起。至少一个处理器710执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
[0083] 在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器710:执行下述循环过程,直到满足循环结束条件:经由第一成员设备将机器学习模型的当前超参数分发给各个第二成员设备,每个第二成员设备具有训练样本集和测试样本集;经由各个第二成员设备使用各自的训练样本集以及机器学习模型的当前超参数来按照隐私保护方式训练出机器学习模型;经由各个第二成员设备使用各自的测试样本集评估所训练出的机器学习模型的模型指标;经由第一成员设备将当前超参数与所确定的模型指标对应地存储在超参数数据库中;以及在未满足所述循环结束条件时,经由第一成员设备确定下一循环过程的当前超参数,所确定的超参数位于超参数取值区间内,在满足循环结束条件时,经由第一成员设备将超参数数据库中模型指标最好的超参数确定为机器学习模型的超参数。
[0084] 应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器710进行本说明书的各个实施例中以上结合图1‑图6描述的各种操作和功能。
[0085] 根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1‑图6描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
[0086] 在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
[0087] 可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD‑ROM、CD‑R、CD‑RW、DVD‑ROM、DVD‑RAM、DVD‑RW、DVD‑RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
[0088] 根据一个实施例,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序当被处理器执行时,使得处理器执行本说明书的各个实施例中以上结合图1‑图6描述的各种操作和功能。
[0089] 本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
[0090] 需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0091] 以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
[0092] 上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
[0093] 本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。