数据处理方法、装置、系统和服务器转让专利

申请号 : CN202010974506.8

文献号 : CN112132198B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王雪霍昱光李武璐权纯赵亮孙昊刘春伟冯昊皓

申请人 : 建信金融科技有限责任公司

摘要 :

本说明书提供了数据处理方法、装置、系统和服务器。基于该方法,第一终端设备在发起模型训练请求后,先获取并根据系统中待定的终端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验结果,准确地筛选出拥有数据价值较高、效果较好的第二数据源的第二终端设备;在联合训练之前,第一终端设备和第二终端设备可以分别将所拥有的数据源的数据证明上传到区块链上进行存证;在第一终端设备根据相匹配的联合训练规则在本地基于第一数据源,与第二终端设备在本地基于第二数据源进行联合训练的过程中,还将上述联合训练过程中的关联数据上传至区块链上进行存证,从而可以安全地进行联合训练,得到效果较好、准确度较高的目标模型。

权利要求 :

1.一种数据处理系统,其特征在于,包括:中间服务器、监管服务器和多个终端设备,其中:

所述多个终端设备中的第一终端设备发起模型训练请求;其中,所述模型训练请求用于请求联合训练目标模型;所述第一终端设备拥有第一数据源,所述第一数据源包含有与第一数据标识对应的第一特征数据;

所述第一终端设备获取与多个待定的终端设备联合训练的价值评估结果;其中,所述待定的终端设备为所述中间服务器根据所述模型训练请求匹配得到的;所述价值评估结果包括待定的终端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验结果;

所述第一终端设备根据所述多个待定的终端设备联合训练的价值评估结果,从所述多个待定的终端设备中确定出满足要求的第二终端设备;其中,所述第二终端设备拥有第二数据源,所述第二数据源包含有与第二数据标识对应的第二特征数据;

所述第一终端设备根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据证明上传至区块链上;所述第二终端设备根据所述第二数据源,获取对应的第二数据证明,并将所述第二数据证明上传至区块链上;

所述第一终端设备根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备根据相匹配的联合训练规则在本地基于所述第二数据源进行联合训练,得到目标模型;所述第一终端设备和所述第二终端设备还将联合训练过程中的关联数据上传至区块链上;

所述监管服务器在被触发的情况下,从区块链上获取所述关联数据,并根据所述关联数据重建联合训练过程;根据重建的联合训练过程检测联合训练过程中是否存在风险行为。

2.根据权利要求1所述的数据处理系统,其特征在于,所述数据处理系统应用于构建数据交互平台,所述数据交互平台支持终端设备在保护数据隐私的情况下进行多种数据交互操作;其中,所述数据交互操作包括以下至少之一:联合建模、联合查询、联合运算、发布数据源的介绍信息。

3.一种数据处理方法,其特征在于,所述方法应用于第一终端设备,所述方法包括:发起模型训练请求;其中,所述模型训练请求用于请求联合训练目标模型;所述第一终端设备拥有第一数据源,所述第一数据源包含有与第一数据标识对应的第一特征数据;

获取与多个待定的终端设备联合训练的价值评估结果;其中,所述待定的终端设备为根据所述模型训练请求匹配得到的;所述价值评估结果包括待定的终端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验结果;

根据所述多个待定的终端设备联合训练的价值评估结果,从所述多个待定的终端设备中确定出满足要求的第二终端设备;其中,所述第二终端设备拥有第二数据源,所述第二数据源包含有与第二数据标识对应的第二特征数据;

根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据证明上传至区块链上;

根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练过程中的关联数据上传至区块链上。

4.根据权利要求3所述的方法,其特征在于,所述联合训练过程中的关联数据包括以下至少之一:调度日志、加密后的交互数据、加密后的训练结果。

5.根据权利要求4所述的方法,其特征在于,所述相匹配的联合训练规则包括:基于横向联邦学习的联合训练规则、基于纵向联邦学习的联合训练规则,或基于联邦迁移学习的联合训练规则。

6.根据权利要求5所述的方法,其特征在于,在确定所述相匹配的联合训练规则为基于纵向联邦学习的联合训练规则的情况下,所述调度日志包括:第一终端设备的第一类调度日志和第二类调度日志;所述加密后的交互数据包括:第二密文数据、加密后的第一模型参数。

7.根据权利要求6所述的方法,其特征在于,在确定所述相匹配的联合训练规则为基于纵向联邦学习的联合训练规则的情况下,所述根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练过程中的关联数据上传至区块链上,包括:加密第一数据源中的第一数据标识,得到第一密文数据;并将所述第一密文数据发送至第二终端设备;

接收第二密文数据,并将所述第二密文数据上传至区块链上;其中,所述第二密文数据为第二终端设备加密第二数据源中的第二数据标识得到的;

根据所述第一密文数据和所述第二密文数据,通过对齐处理,从第一数据源中确定出第一训练数据;并将第一终端设备的第一类调度日志上传至区块链上;

利用第一训练数据进行模型训练,得到第一模型参数;

加密所述第一模型参数,并将加密后的第一模型参数发送至第二终端设备;

接收来自第二终端设备的加密后的第二模型参数,并将所述加密后的第二模型参数上传至区块链上;

根据所述加密后的第二模型参数,进行模型训练,得到第一模型;并将第一终端设备的第二类调度日志上传至区块链上;其中,所述第一模型为第一终端设备所拥有的目标模型的模型分量。

8.根据权利要求7所述的方法,其特征在于,在得到第一模型后,所述方法还包括:根据预设的映射规则,确定出与所述第一模型对应的第一哈希值;

将所述第一哈希值上传至区块链上。

9.根据权利要求7所述的方法,其特征在于,所述第一密文数据还携带有第一终端设备的第一签名;所述第二密文数据还携带有第二终端设备的第二签名。

10.根据权利要求7所述的方法,其特征在于,在根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备在本地基于所述第二数据源进行联合训练的联合训练过程中,所述方法还包括:

生成并向监管服务器发送监测请求;其中,所述监管服务器用于接收并响应所述监测请求,从区块链上获取第一数据证明、第二数据证明,以及加密后的交互数据;并根据所述第一数据证明、第二数据证明,以及加密后的交互数据,对所述第一终端设备和第二终端设备的联合训练过程进行监测。

11.根据权利要求5所述的方法,其特征在于,在确定所述相匹配的联合训练规则为基于横向联邦学习的联合训练规则的情况下,所述调度日志包括:第一终端设备的第三类调度日志;所述加密后的交互数据包括:第三密文数据。

12.根据权利要求11所述的方法,其特征在于,在确定所述相匹配的联合训练规则为基于横向联邦学习的联合训练规则的情况下,所述根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练过程中的关联数据上传至区块链上,包括:接收来自中间服务器的初始模型;

利用第一数据源的数据作为第一训练数据,训练所述初始模型,得到第一中间模型数据;

加密所述第一中间模型数据,得到第三密文数据;

将所述第三密文数据发送至所述中间服务器,并将第一终端设备的第三类调度日志上传至区块链上;其中,所述中间服务器还用于接收来自第二终端设备通过加密第二中间模型数据得到的第四密文数据,并根据所述第三密文数据和所述第四密文数据,更新所述初始模型,得到更新后的模型。

13.根据权利要求12所述的方法,其特征在于,所述方法还包括:接收来自中间服务器的更新后的模型;

利用所述第一训练数据,训练所述更新后的模型,得到更新后的第一中间模型数据;

加密所述更新后的第一中间模型数据,得到更新后的第三密文数据;

将更新后的第三密文数据发送至所述中间服务器,并将第一终端设备的第三类调度日志上传至区块链上。

14.根据权利要求3所述的方法,其特征在于,根据所述第一数据源,获取对应的第一数据证明,包括:

所述第一终端设备根据第一数据源中的数据建立对应的默克尔树;

将所述默克尔树的根作为与第一数据源中的数据对应的第一数据证明。

15.根据权利要求3所述的方法,其特征在于,在得到目标模型之后,所述方法还包括:向监管服务器发起风险检测请求;其中,所述风险检测请求用于触发监管服务器从区块链上获取第一数据证明、第二数据证明,以及联合训练过程中的关联数据;并根据所述第一数据证明、第二数据证明,以及所述联合训练过程中的关联数据,重建联合训练过程;根据重建的联合训练过程检测联合训练过程中是否存在风险行为。

16.根据权利要求15所述的方法,其特征在于,所述风险行为包括以下至少之一:第一终端设备和/或第二终端设备所使用的代码被篡改的行为、第一终端设备和/或第二终端设备没有使用符合要求的数据进行联合训练的行为、第一终端设备和/或第二终端设备上传至区块链上的数据存在误差的行为。

17.根据权利要求3所述的方法,其特征在于,在得到目标模型后,所述方法还包括:生成并发起针对第二终端设备的贡献度评估请求;

根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数据,进行相应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练的边际预测效果提升参数;

配置预设的检验区间;

根据预设的评估规则、所述边际预测效果提升参数、所述预设的校验区间进行统计检验,得到对应的检验结果;

根据所述检验结果,确定出第二终端设备的贡献度。

18.根据权利要求17所述的方法,其特征在于,在确定出第二终端设备的贡献度后,所述方法还包括:

根据所述第二终端设备的贡献度,确定针对第二终端设备的奖励数据;

向所述第二终端设备发送相应的奖励数据。

19.根据权利要求17所述的方法,其特征在于,所述相匹配的处理规则包括:基于横向联邦学习的处理规则、基于纵向联邦学习的处理规则,或基于联邦迁移学习的处理规则。

20.根据权利要求19所述的方法,其特征在于,在确定所述相匹配的处理规则为基于纵向联邦学习的处理规则的情况下,根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数据,进行相应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练的边际预测效果提升参数,包括:获取对照模型和测试数据;其中,所述对照模型为在第一终端设备没有与第二终端设备进行联合训练的情况下得到的模型;

利用所述对照模型处理所述测试数据,得到第一组预测概率;

利用所述目标模型中的第一模型处理所述测试数据,得到第一处理结果;

接收来自第二终端设备的第二处理结果;其中,所述第二处理结果为第二终端设备利用所述目标模型中的第二模型处理所述测试数据得到的;

根据所述第一处理结果和所述第二处理结果,确定出第二组预测概率;

根据所述第一组预测概率确定基于对照模型的第一AUC参数,根据所述第二组预测概率确定基于目标模型的第二AUC参数;

根据所述第一AUC参数、第二AUC参数、第一组预测概率、第二组预测概率,确定出第二数据源对于目标模型训练的边际预测效果提升参数。

21.根据权利要求19所述的方法,其特征在于,在确定所述相匹配的处理规则为基于横向联邦学习的处理规则的情况下,根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数据,进行相应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练的边际预测效果提升参数,包括:获取对照模型和第一测试数据;其中,所述对照模型为在第一终端设备没有与第二终端设备进行联合训练的情况下得到的模型;

利用所述对照模型处理所述第一测试数据,得到第一组预测概率;

利用所述目标模型处理所述第一测试数据,得到第二组预测概率;

根据所述第一组预测概率和所述第二组预测概率,进行本地运算,得到第一本地组分数据;

根据所述第一组预测概率和所述第二组预测概率,通过加密通信,与第二终端设备进行交互运算,得到第一交互组分数据;

根据所述第一本地组分数据和所述第一交互组分数据,构建第一数据体,并加密所述第一数据体;

将加密后的第一数据体发送至中间服务器;其中,所述中间服务器用于根据所述加密后的第一数据体,以及来自第二终端设备的加密后的第二数据体,确定第二数据源对于目标模型训练的边际预测效果提升参数。

22.根据权利要求3所述的方法,其特征在于,所述第一终端设备包括多个子终端设备,所述多个子终端设备各自拥有子数据源。

23.一种数据处理方法,其特征在于,所述方法包括:第一终端设备向第二终端设备发起模型训练请求;其中,所述模型训练请求用于请求联合训练目标模型;所述第一终端设备拥有第一数据源,所述第一数据源包含有与第一数据标识对应的第一特征数据;所述第二终端设备拥有第二数据源,所述第二数据源包含有与第二数据标识对应的第二特征数据;

所述第一终端设备根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据证明上传至区块链上;所述第二终端设备根据所述第二数据源,获取对应的第二数据证明,并将所述第二数据证明上传至区块链上;

所述第一终端设备根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;所述第一终端设备和所述第二终端设备还将联合训练过程中的关联数据上传至区块链上。

24.一种数据处理装置,其特征在于,包括:发起模块,用于发起模型训练请求;其中,所述模型训练请求用于请求联合训练目标模型;第一终端设备拥有第一数据源,所述第一数据源包含有与第一数据标识对应的第一特征数据;

获取模块,用于获取与多个待定的终端设备联合训练的价值评估结果;其中,所述待定的终端设备为根据所述模型训练请求匹配得到的;所述价值评估结果包括待定的终端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验结果;

确定模块,用于根据所述多个待定的终端设备联合训练的价值评估结果,从所述多个待定的终端设备中确定出满足要求的第二终端设备;其中,所述第二终端设备拥有第二数据源,所述第二数据源包含有与第二数据标识对应的第二特征数据;

上传模块,用于根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据证明上传至区块链上;

训练模块,用于根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练过程中的关联数据上传至区块链上。

25.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求3至22中任一项所述方法的步骤。

说明书 :

数据处理方法、装置、系统和服务器

技术领域

[0001] 本说明书属于互联网技术领域,尤其涉及数据处理方法、装置、系统和服务器。

背景技术

[0002] 在一些业务场景中,不同的数据方往往拥有不同数据源。有时需要同时利用不同数据方 所拥有的数据源,在不向对方泄露己方所拥有的数据的前提下,通过联合训练(例
如,联邦 学习)来构建所需要的目标模型。
[0003] 例如,在金融业务场景中,A银行拥有B城居民的银行平台的借贷数据,而C购物网站拥 有B城居民的网络平台的借贷数据。目前,A银行希望可以训练得到一个能较为全面、
准确地 预测B城居民的借贷信用风险的预测模型。
[0004] 针对上述场景,A银行希望与C购物网站合作,利用各自所拥有的数据源通过联合训练, 来构建得到用于预测B城居民的借贷信用风险的预测模型。但是,A银行无法确定C购
物网站 在参与进行联合训练时所提供的数据是否是之前约定的质量较高的数据;也无法
确定C购物 网站在参与进行联合训练时是否还进行了一些风险行为等,导致无法安全地训
练得到效果较 好的预测模型。
[0005] 因此,目前亟需一种能够安全地进行联合训练,得到效果较好、准确度较高的目标模型 的数据处理方法。

发明内容

[0006] 本说明书提供了一种数据处理方法、装置、系统和服务器,以便能安全地进行联合训练, 得到效果较好、准确度较高的目标模型。
[0007] 本说明书提供的一种数据处理系统,包括:中间服务器、监管服务器和多个终端设备, 其中:
[0008] 所述多个终端设备中的第一终端设备发起模型训练请求;其中,所述模型训练请求用于 请求联合训练目标模型;所述第一终端设备拥有第一数据源,所述第一数据源包含
有与第一 数据标识对应的第一特征数据;
[0009] 所述第一终端设备获取与多个待定的终端设备联合训练的价值评估结果;其中,所述待 定的终端设备为所述中间服务器根据所述模型训练请求匹配得到的;所述价值评
估结果包括 待定的终端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数
的检验结果;
[0010] 所述第一终端设备根据所述多个待定的终端设备联合训练的价值评估结果,从所述多个 待定的终端设备中确定出满足要求的第二终端设备;其中,所述第二终端设备拥有
第二数据 源,所述第二数据源包含有与第二数据标识对应的第二特征数据;
[0011] 所述第一终端设备根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据 证明上传至区块链上;所述第二终端设备根据所述第二数据源,获取对应的第二数
据证明, 并将所述第二数据证明上传至区块链上;
[0012] 所述第一终端设备根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二 终端设备根据相匹配的联合训练规则在本地基于所述第二数据源进行联合训练,
得到目标模 型;所述第一终端设备和所述第二终端设备还将联合训练过程中的关联数据
上传至区块链 上;
[0013] 所述监管服务器在被触发的情况下,从区块链上获取所述关联数据,并根据所述关联数 据重建联合训练过程;根据重建的联合训练过程检测联合训练过程中是否存在风
险行为。
[0014] 在一个实施例中,所述数据处理系统应用于构建数据交互平台,所述数据交互平台支持 终端设备在保护数据隐私的情况下进行多种数据交互操作;其中,所述数据交互操
作包括以 下至少之一:联合建模、联合查询、联合运算、发布数据源的介绍信息。
[0015] 本说明书还提供了一种数据处理方法,所述方法应用于第一终端设备,所述方法包括:
[0016] 发起模型训练请求;其中,所述模型训练请求用于请求联合训练目标模型;所述第一终 端设备拥有第一数据源,所述第一数据源包含有与第一数据标识对应的第一特征数
据;
[0017] 获取与多个待定的终端设备联合训练的价值评估结果;其中,所述待定的终端设备为根 据所述模型训练请求匹配得到的;所述价值评估结果包括待定的终端设备所拥有
的数据源对 于目标模型训练的边际预测效果提升参数的检验结果;
[0018] 根据所述多个待定的终端设备联合训练的价值评估结果,从所述多个待定的终端设备中 确定出满足要求的第二终端设备;其中,所述第二终端设备拥有第二数据源,所述
第二数据 源包含有与第二数据标识对应的第二特征数据;
[0019] 根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据证明上传至区块链 上;
[0020] 根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备在本地基 于所述第二数据源进行联合训练,以得到目标模型;并将联合训练过程中的关联数
据上传至 区块链上。
[0021] 在一个实施例中,所述联合训练过程中的关联数据包括以下至少之一:调度日志、加密 后的交互数据、加密后的训练结果。
[0022] 在一个实施例中,所述相匹配的联合训练规则包括:基于横向联邦学习的联合训练规则、 基于纵向联邦学习的联合训练规则,或基于联邦迁移学习的联合训练规则。
[0023] 在一个实施例中,在确定所述相匹配的联合训练规则为基于纵向联邦学习的联合训练规 则的情况下,所述调度日志包括:第一终端设备的第一类调度日志和第二类调度日
志;所述 加密后的交互数据包括:第二密文数据、加密后的第一模型参数。
[0024] 在一个实施例中,在确定所述相匹配的联合训练规则为基于纵向联邦学习的联合训练规 则的情况下,所述第一终端设备根据相匹配的联合训练规则基于所述第一数据源,
与所述第 二终端设备基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练
过程中的关 联数据上传至区块链上,包括:
[0025] 所述第一终端设备加密第一数据源中的第一数据标识,得到第一密文数据;并将所述第 一密文数据发送至第二终端设备;
[0026] 接收第二密文数据,并将所述第二密文数据上传至区块链上;其中,所述第二密文数据 为第二终端设备加密第二数据源中的第二数据标识得到的;
[0027] 根据所述第一密文数据和所述第二密文数据,通过对齐处理,从第一数据源中确定出第 一训练数据;并将第一终端设备的第一类调度日志上传至区块链上;
[0028] 利用第一训练数据进行模型训练,得到第一模型参数;
[0029] 加密所述第一模型参数,并将加密后的第一模型参数发送至第二终端设备;
[0030] 接收来自第二终端设备的加密后的第二模型参数,并将所述加密后的第二模型参数上传 至区块链上;
[0031] 根据所述加密后的第二模型参数,进行模型训练,得到第一模型;并将第一终端设备的 第二类调度日志上传至区块链上;其中,所述第一模型为第一终端设备所拥有的目标
模型的 模型分量。
[0032] 在一个实施例中,在得到第一模型后,所述方法还包括:
[0033] 根据预设的映射规则,确定出与所述第一模型对应的第一哈希值;
[0034] 将所述第一哈希值上传至区块链上。
[0035] 在一个实施例中,所述第一密文数据还携带有第一终端设备的第一签名;所述第二密文 数据还携带有第二终端设备的第二签名。
[0036] 在一个实施例中,所述加密后的第一模型参数还携带有第一终端设备的第一签名;所述 加密后的第二模型参数还携带有第二终端设备的第二签名。
[0037] 在一个实施例中,在所述第一终端设备根据相匹配的联合训练规则基于所述第一数据 源,与所述第二终端设备基于所述第二数据源进行联合训练的联合训练过程中,所述
方法还 包括:
[0038] 第一终端设备生成并向监管服务器发送监测请求;其中,所述监管服务器用于接收并响 应所述监测请求,从区块链上获取第一数据证明、第二数据证明,以及加密后的交
互数据; 并根据所述第一数据证明、第二数据证明,以及加密后的交互数据,对所述第一终
端设备和 第二终端设备的联合训练过程进行监测。
[0039] 在一个实施例中,在确定所述相匹配的联合训练规则为基于横向联邦学习的联合训练规 则的情况下,所述调度日志包括:第一终端设备的第三类调度日志;所述加密后的
交互数据 包括:第三密文数据。
[0040] 在一个实施例中,在确定所述相匹配的联合训练规则为基于横向联邦学习的联合训练规 则的情况下,所述第一终端设备根据相匹配的联合训练规则基于所述第一数据源,
与所述第 二终端设备基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练
过程中的关 联数据上传至区块链上,包括:
[0041] 所述第一终端设备接收来自中间服务器的初始模型;
[0042] 利用第一数据源的数据作为第一训练数据,训练所述初始模型,得到第一中间模型数据;
[0043] 加密所述第一中间模型数据,得到第三密文数据;
[0044] 将所述第三密文数据发送至所述中间服务器,并将第一终端设备的第三类调度日志上传 至区块链上;其中,所述中间服务器还用于接收来自第二终端设备通过加密第二中
间模型数 据得到的第四密文数据,并根据所述第三密文数据和所述第四密文数据,更新所
述初始模型, 得到更新后的模型。
[0045] 在一个实施例中,所述方法还包括:
[0046] 所述第一终端设备接收来自中间服务器的更新后的模型;
[0047] 利用所述第一训练数据,训练所述更新后的模型,得到更新后的第一中间模型数据;
[0048] 加密所述更新后的第一中间模型数据,得到更新后的第三密文数据;
[0049] 将更新后的第三密文数据发送至所述中间服务器,并将第一终端设备的第三类调度日志 上传至区块链上。
[0050] 在一个实施例中,根据所述第一数据源,获取对应的第一数据证明,包括:
[0051] 所述第一终端设备根据第一数据源中的数据建立对应的默克尔树;
[0052] 将所述默克尔树的根作为与第一数据源中的数据对应的第一数据证明。
[0053] 在一个实施例中,在得到目标模型之后,所述方法还包括:
[0054] 向监管服务器发起风险检测请求;其中,所述风险检测请求用于触发监管服务器从区块 链上获取第一数据证明、第二数据证明,以及联合训练过程中的关联数据;并根据
所述第一 数据证明、第二数据证明,以及所述联合训练过程中的关联数据,重建联合训练
过程;根据 重建的联合训练过程检测联合训练过程中是否存在风险行为。
[0055] 在一个实施例中,所述风险行为包括以下至少之一:第一终端设备和/或第二终端设备所 使用的代码被篡改的行为、第一终端设备和/或第二终端设备没有使用符合要求的
数据进行联 合训练的行为、第一终端设备和/或第二终端设备上传至区块链上的数据存在
误差的行为。
[0056] 在一个实施例中,在得到目标模型后,所述方法还包括:
[0057] 所述第一终端设备生成并发起针对第二终端设备的贡献度评估请求;
[0058] 根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数据,进行相 应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练的
边际预测效 果提升参数;
[0059] 配置预设的检验区间;
[0060] 根据预设的评估规则、所述边际预测效果提升参数、所述预设的校验区间进行统计检验, 得到对应的检验结果;
[0061] 根据所述检验结果,确定出第二终端设备的贡献度。
[0062] 在一个实施例中,在确定出第二终端设备的贡献度后,所述方法还包括:
[0063] 所述第一终端设备根据所述第二终端设备的贡献度,确定针对第二终端设备的奖励数 据;
[0064] 向所述第二终端设备发送相应的奖励数据。
[0065] 在一个实施例中,所述相匹配的处理规则包括:基于横向联邦学习的处理规则、基于纵 向联邦学习的处理规则,或基于联邦迁移学习的处理规则。
[0066] 在一个实施例中,在确定所述相匹配的处理规则为基于纵向联邦学习的处理规则的情况 下,根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数
据,进行相 应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练
的边际预测效 果提升参数,包括:
[0067] 所述第一终端设备获取对照模型和测试数据;其中,所述对照模型为在第一终端设备没 有与第二终端设备进行联合训练的情况下得到的模型;
[0068] 利用所述对照模型处理所述测试数据,得到第一组预测概率;
[0069] 利用所述目标模型中的第一模型处理所述测试数据,得到第一处理结果;
[0070] 接收来自第二终端设备的第二处理结果;其中,所述第二处理结果为第二终端设备利用 所述目标模型中的第二模型处理所述测试数据得到的;
[0071] 根据所述第一处理结果和所述第二处理结果,确定出第二组预测概率;
[0072] 根据所述第一组预测概率确定基于对照模型的第一AUC参数,根据所述第二组预测概 率确定基于目标模型的第二AUC参数;
[0073] 根据所述第一AUC参数、第二AUC参数、第一组预测概率、第二组预测概率,确定出 第二数据源对于目标模型训练的边际预测效果提升参数。
[0074] 在一个实施例中,在确定所述相匹配的处理规则为基于横向联邦学习的处理规则的情况 下,根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数
据,进行相 应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练
的边际预测效 果提升参数,包括:
[0075] 所述第一终端设备获取对照模型和第一测试数据;其中,所述对照模型为在第一终端设 备没有与第二终端设备进行联合训练的情况下得到的模型;
[0076] 利用所述对照模型处理所述第一测试数据,得到第一组预测概率;
[0077] 利用所述目标模型处理所述第一测试数据,得到第二组预测概率;
[0078] 根据所述第一组预测概率和所述第二组预测概率,进行本地运算,得到第一本地组分数 据;
[0079] 根据所述第一组预测概率和所述第二组预测概率,通过加密通信,与第二终端设备进行 交互运算,得到第一交互组分数据;
[0080] 根据所述第一本地组分数据和所述第一交互组分数据,构建第一数据体,并加密所述第 一数据体;
[0081] 将加密后的第一数据体发送至中间服务器;其中,所述中间服务器用于根据所述加密后 的第一数据体,以及来自第二终端设备的加密后的第二数据体,确定第二数据源对
于目标模 型训练的边际预测效果提升参数。
[0082] 在一个实施例中,所述第一终端设备包括多个子终端设备,所述多个子终端设备各自拥 有子数据源。
[0083] 本说明书还提供了一种数据处理方法,所述方法包括:
[0084] 第一终端设备向第二终端设备发起模型训练请求;其中,所述模型训练请求用于请求联 合训练目标模型;所述第一终端设备拥有第一数据源,所述第一数据源包含有与第
一数据标 识对应的第一特征数据;所述第二终端设备拥有第二数据源,所述第二数据源包
含有与第二 数据标识对应的第二特征数据;
[0085] 所述第一终端设备根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据 证明上传至区块链上;所述第二终端设备根据所述第二数据源,获取对应的第二数
据证明, 并将所述第二数据证明上传至区块链上;
[0086] 所述第一终端设备根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二 终端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;所述第一终
端设备和 所述第二终端设备还将联合训练过程中的关联数据上传至区块链上。
[0087] 本说明还提供了一种数据处理装置,包括:
[0088] 发起模块,用于发起模型训练请求;其中,所述模型训练请求用于请求联合训练目标模 型;第一终端设备拥有第一数据源,所述第一数据源包含有与第一数据标识对应的第
一特征 数据;
[0089] 获取模块,用于获取与多个待定的终端设备联合训练的价值评估结果;其中,所述待定 的终端设备为根据所述模型训练请求匹配得到的;所述价值评估结果包括待定的终
端设备所 拥有的数据源对于目标模型训练的边际预测效果提升参数的检验结果;
[0090] 确定模块,用于根据所述多个待定的终端设备联合训练的价值评估结果,从所述多个待 定的终端设备中确定出满足要求的第二终端设备;其中,所述第二终端设备拥有第
二数据源, 所述第二数据源包含有与第二数据标识对应的第二特征数据;
[0091] 上传模块,用于根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据证 明上传至区块链上;
[0092] 训练模块,用于根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终 端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练
过程中的 关联数据上传至区块链上。
[0093] 本说明书还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器, 所述处理器执行所述指令时实现发起模型训练请求;其中,所述模型训练请求用于
请求联合 训练目标模型;所述第一终端设备拥有第一数据源,所述第一数据源包含有与第
一数据标识 对应的第一特征数据;获取与多个待定的终端设备联合训练的价值评估结果;
其中,所述待 定的终端设备为根据所述模型训练请求匹配得到的;所述价值评估结果包括
待定的终端设备 所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验结
果;根据所述多个待定 的终端设备联合训练的价值评估结果,从所述多个待定的终端设备
中确定出满足要求的第二 终端设备;其中,所述第二终端设备拥有第二数据源,所述第二
数据源包含有与第二数据标 识对应的第二特征数据;根据所述第一数据源,获取对应的第
一数据证明,并将所述第一数 据证明上传至区块链上;根据相匹配的联合训练规则在本地
基于所述第一数据源,与所述第 二终端设备在本地基于所述第二数据源进行联合训练,以
得到目标模型;并将联合训练过程 中的关联数据上传至区块链上。
[0094] 本说明书提供的一种数据处理方法、装置、系统和服务器,由于通过获取并根据系统中 待定的终端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验
结果,准 确地辨别出不同数据源的数据质量,进而可以先从多个待定的终端设备中有针对
性地筛选出 拥有对目标模型的训练效果较好、数据价值较高的第二数据源的第二终端设
备作为合作方来 进行联合训练,有效地避免了由于盲目寻找不合适的合作方进行联合训
练造成的处理时间、 处理资源上的损失,得到效果较好、准确度较高的目标模型。还通过利
用区块链上数据的不 可篡改的特性,在联合训练之前,将第一终端设备和第二终端设备所
分别拥有的数据源的数 据证明上传到区块链上进行存证;在联合训练过程中,将上述联合
训练过程中的关联数据上 传至区块链上进行存证,这样后续如果需要,被触发的监管服务
器可以根据保存在区块链上 的相关数据进行回溯,以重建联合训练过程,并根据上述重建
的联合训练过程检测出第一终 端设备和第二终端设备在联合训练过程中是否存在风险行
为,从而可以有效地保护双方的数 据安全,提高联合训练过程的安全性和信任度。

附图说明

[0095] 为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介 绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人
员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0096] 图1是本说明书的一个实施例提供的数据处理系统的结构组成的示意图;
[0097] 图2是本说明书的一个实施例提供的数据处理方法的流程示意图;
[0098] 图3是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示 意图;
[0099] 图4是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示 意图;
[0100] 图5是本说明书的一个实施例提供的数据处理方法的流程示意图;
[0101] 图6是本说明书的一个实施例提供的服务器的结构组成示意图;
[0102] 图7是本说明书的一个实施例提供的数据处理装置的结构组成示意图;
[0103] 图8是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示 意图。

具体实施方式

[0104] 为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施 例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述
的实施 例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施
例,本领域 普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当
属于本说明书 保护的范围。
[0105] 考虑到基于现有的数据处理方法,当某个数据方想要发起关于联合训练目标模型的模型 训练请求时,该数据方往往是无法准确、有效地衡量出其他数据方所拥有的数据源
的数据价 值,更无法量化地确定出在引入其他数据方所拥有的数据源参与联合训练后对
目标模型训练 的边际预测效果的提升作用的大小。使得发起模型训练请求的数据方往往
只能较盲目地去寻 找其他数据方作为联合训练的合作方。导致很容易出现由于找到不合
适的合作方,影响联合 训练所建立的目标模型的模型效果和准确度,造成了处理资源、处
理时间上的损失。
[0106] 此外,基于现有的数据处理方法,也无法支持可靠的回溯和重建,无法发现联合训练过 程中的风险行为,导致联合训练过程不安全,参与联合训练的数据方信任度低,对参
与联合 训练的数据方的数据安全造成威胁。
[0107] 例如,在一些场景中,存在一些合作方没有使用约定好的质量较高的数据源来参与联合 训练,导致最终建立得到的模型的效果相对较差、准确度相对较低,对发起模型训
练的数据 方的利益造成损害。又例如,在另一些场景中,还存在一些合作方为窃取其他参
与联合训练 的数据方不想公开的数据,在联合训练的过程中会私下篡改代码,或者修改所
提供的数据; 再通过使用上述篡改后的代码,或者修改后的数据在联合训练的过程中获取
其他参与联合训 练的数据方所使用的数据,对其他数据的数据隐私造成威胁等等。而针对
上述情况,现有的 数据处理方法也无法有效地处理。
[0108] 针对产生上述问题的根本原因,本说明书首先考虑可以通过获取并根据系统中待定的终 端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验结果,
来较准确地 量化出引入不同数据源对目标模型训练的边际预测效果提升的作用大小,进
而可以先从多个 待定的终端设备中有针对性地筛选出拥有对目标模型的训练效果较好、
数据价值较高的第二 数据源的第二终端设备作为满足要求的合作方进行合作,来联合训
练目标模型,从而可以有 效地避免了由于盲目寻找不合适的合作方进行联合训练造成的
处理时间、处理资源上的损 失,可以训练得到效果较好、准确度较高的目标模型。进一步,
后续还可以通过获取并根据 第二终端设备所拥有的第二数据源对于目标模型训练的边际
预测效果提升参数的检验结果, 来量化第二终端设备的贡献度,进而可以生成并向第二终
端设备提供合理的奖励数据。
[0109] 同时,本说明还考虑可以在数据处理系统中引入区块链结构,并充分利用区块链的相关 特性(例如,区块链上的数据不可篡改等),在联合训练之前,将第一终端设备和第
二终端 设备所分别拥有的数据源的数据证明上传到区块链上进行存证;在联合训练过程
中,将上述 联合训练过程中的关联数据上传至区块链上进行存证,这样后续如果需要,数
据处理系统中 被触发的监管服务器可以获取并根据保存在区块链上的相关数据进行回
溯,以重建联合训练 过程;再根据上述重建的联合训练过程检测出在联合训练过程中第一
终端设备和第二终端设 备是否存在风险行为,以保护数据方的数据安全,提高联合训练过
程的安全性和可信度。
[0110] 本说明书实施例提供一种数据处理系统。具体可以参阅图1所示。该数据处理系统具体 可以包括:中间服务器、监管服务器和多个终端设备。其中,上述中间服务器、监管服
务器 和多个终端设备相互之间可以通过有线或无线的方式相连,以进行具体的数据交互。
[0111] 在一个实施例中,上述终端设备具体可以是布设于数据方一侧,连接有该数据方所拥有 的数据源的设备。例如,终端设备a具体可以是布设于A银行一侧的服务器,拥有A银
行的关 于B城居民的银行平台的借贷数据。终端设备c具体可以是布设于C购物网站一侧的
服务器, 拥有C购物网站的关于B城居民的网络平台的借贷数据等。
[0112] 上述中间服务器具体可以是数据处理系统中负责数据服务的平台服务器。具体的,上述 中间服务器可以参与或协助数据处理系统中不同设备之间的数据交互以及数据
处理。例如, 上述中间服务器可以是数据交互平台的平台服务器。
[0113] 上述监管服务器具体可以是数据处理系统中负责安全性监测和管理的服务器。具体的, 上述监管服务器可以是为多个终端设备所共同信任的第三方服务器。例如,在金融
业务场景 中,上述监管服务器具体可以是布设于金融监管机构一侧的服务器。
[0114] 在本实施例中,所述中间服务器、监管服务器具体可以包括一种能够实现数据传输、数 据处理等功能的后台服务器。具体的,所述中间服务器、监管服务器例如可以为一个
具有数 据运算、存储功能以及网络交互功能的电子设备。或者,所述中间服务器、监管服务
器也可 以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在
本实施例 中,并不具体限定所述中间服务器、监管服务器所包含的服务器的数量。所述中
间服务器、 监管服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器
形成的服务 器集群。
[0115] 在本实施例中,所述终端设备具体可以包括一种能够实现数据采集、数据传输等功能的 客户端设备。具体的,所述终端设备例如可以为台式电脑、平板电脑、笔记本电脑、
智能手 机等。或者,所述终端设备也可以为能够运行于上述电子设备中的软件应用。例如,
可以是 在手机上运行的某APP等。
[0116] 在一个实施例中,上述数据处理系统还可以支持容器化、服务化、平台化等开放服务。 该数据处理系统还可以结合并利用区块链的不可篡改特性,使的数据处理系统能够提
供安 全、可靠、可信的数据服务。
[0117] 在一个实施例中,上述数据处理系统还可以提供有效的监控机制,例如,可以提供有效 的健康检查,故障排查体系,能够实现弹性扩容和高可用服务。支持数据服务管理机
制,数 据服务通过安全的数据接口,对数据的使用,流转,存储具有完整的监控流程,为本
数据处 理系统提供了可靠的数据支持。
[0118] 在一个实施例中,上述数据处理系统具体可以应用于构建数据交互平台(也可以称数据 合作平台)。其中,所述数据交互平台支持终端设备在保护数据隐私的情况下进行
多种数据 交互操作;其中,所述数据交互操作具体可以包括以下至少之一:联合建模、联合
查询、联 合运算、发布数据源的介绍信息等。当然,上述所列举的数据交互操作只是一种示
意性说明。 具体实施时,根据具体的应用场景和处理需求,上述数据交互平台还可以支持
其他更加复杂 的数据交互操作。例如,联合搜索、数据源悬赏、数据源交易、数据安全交换、
数据联合分 析等等。
[0119] 在本实施例中,上述联合建模也可以称为联合训练目标模型,具体可以是指双方在不泄 露己方所拥有的数据的情况下联合训练构建机器学习模型。上述联合查询具体可
以是指查询 方在无法获取被查询方的非查询结果、被查询方无法感知查询方的情况下进
行查询。上述联 合运算具体可以是指双方在不暴露己方所拥有的数据的情况下完成例如
加、减、乘、除等代 数运算任务。
[0120] 基于该数据交互平台,持有不同数据源的数据方可以通过相应的终端设备进行具体的数 据交互,执行相应的数据交互操作。例如,需要联合训练模型的数据方可以通过终
端设备在 平台上发起模型训练请求,以寻找合适的数据方作为合作方,来利用双方各自所
拥有的数据 源通过联合训练,以得到所需要的目标模型。又例如,需要分享数据源的数据
方可以通过终 端设备在平台上主动发布所拥有的数据源的介绍信息等等。此外,数据方还
可以通过终端设 备在平台上展示所拥有的数据源的样本数据(或者抽样数据)供其他数据
方使用。
[0121] 在一个实施例中,上述数据交互平台具体可以采用多方安全计算、同态加密等多种加密 协议,以及多种密码算法,旨在为数据方(包括数据需求方和数据提供方)建造一个
安全的 数据融合平台,以拓宽数据的应用,发现数据的深层价值,也为数据方带来更多的
收益。同 时,模型的所有者也可为其他有预测需求者提供相应的模型预测服务,让所拥有
的模型的价 值更大化,同时也能节省相应的算力,避免浪费处理资源去重复训练模型。
[0122] 作为数据交互平台的运营方、管理方,平台服务器,即中间服务器还可以为平台的运行 制定政策和策略,对参与该平台的各数据方提供指导和建议,同时规范平台上的操作
行为, 尽量实现公平和公正,保证平台上数据方的数据安全和利益。
[0123] 具体的,在该数据交互平台,可以采用会员制,所有的参与该平台的数据方都可以是平 台认证的会员,会员在平台上有足够的自由进行相关的交互操作。中间服务器可以对
会员声 明信息的合规性进行检查,并提出整改意见。对于合约过程的分歧进行仲裁,为利
益受损者 提供诉讼支持。同时,中间服务器还可以收取一定的奖励数据来支持平台的正常
运营。
[0124] 具体的,中间服务器所负责的工作还可以包括:对加盟机构的管理,即,对加盟机构(例 如会员)进行认证和核实,保证加盟机构身份的真实性,保证其他平台参与者的利
益。还可 以包括:对机构合规管理,即,平台参与者,作为数据提供者,会在平台上发布一系
列的数 据,而数据消费者会在平台上寻找相应的数据或者发布相应的数据需求信息,而这
些信息中, 包括数据的详尽属性以及机构的服务声明等信息,作为运营方的中间服务器还
可以对信息的 真实性、合规性进行检查,并对不合规的信息提供整改建议。还可以包括:对
标的物的有效 性管理,即,平台的标的物包括数据源和模型两部分,而平台会对所有参与
交易的标的物进 行有效性检查,保证参与交易者的权益。还可以包括:提供交易服务,即,
根据贡献度等因 素为数据源、模型的提供者进行定价建议,同时会为交易方提供服务,诸
如交易仲裁、举证 等服务,通过清结算对交易方的利益进行保证。此外,还可以包括其他类
型的服务,例如, 对参与平台的建设者、参与者进行激励,提升参与者的积极性,保证平台
建设形成正向循环。
[0125] 在一个实施例中,基于上述数据交互平台,所提供的服务具体可以分为定义阶段,发布 阶段和匹配交易阶段。在定义阶段,参与者对数据源、模型、算法等进行定义,明确其
属性、 隐私设定、用途、约束、服务声明等进行界定。数据源、模型是当前数据合作平台的两
个主 要交易标的物,而算法作为平台建设者提供的对所有参与方使用的代码片段,可以让
参与者 可以快速构建模型。数据交互平台上的数据提供者可以对所拥有的数据进行详尽
描述以及服 务声明,并通过这些信息,可以让数据的需求者可以实现初步的需求意向,并
通过例如中间 服务器的协调等操作实现交易的匹配工作。模型提供者可以对基于所提供
的模型的预测服务 进行详尽描述和服务声明,可以让数据所有者可以通过使用所提供的
模型进行预测服务。
[0126] 然后,参与者可以将相应的信息发布到数据合作平台,形成其设定的可见者能见到的数 据、模型,或者是数据需求、模型需求,以及相应的算法片段。
[0127] 在参与者完成对标的物的描述之后,将其发布到平台上,发布的是数据、模型的描述信 息。根据其中的隐私设定,其他参与者可以查看或者搜索相应的标的物。
[0128] 其它参与者在平台上浏览发布出来的数据、模型或者相应的需求,或者进行搜索找到预 期标的物,并对其做出相应的动作。需求方和提供方可以根据对方留下的联系信息
进行协商, 协商一致后,达成合约,进行实现联合建模或者是使用预测服务等操作。这部分
是数据的融 合和拓宽过程,也是数据、服务的交易过程,是数据交互平台所能够提供一种
业务服务。
[0129] 数据消费者可以通过平台,浏览或者搜索其需要的数据,在发现预期的数据后,向数据 所有者提出联合建模申请,并等待数据所有者的回应。而数据所有者收到申请之后,
会根据 申请者留下的信息与申请者进行协商,会对数据做出更多的说明,以及相应的服务
条件,而 消费者会根据自己的需求对提出问题,当双方达成一致后,建立合作合约,进行联
合建模操 作。
[0130] 如果消费者无法找到意向数据,可以通过平台向某些参与者提出数据需求意向。而数据 所有者查看需求意向后,可以根据自家意愿进行合作协商,如果达成一致,则进行
后续操作。
[0131] 模型的预测服务与数据也是类似,服务提供方提供预测服务,而服务消费者则利用提供 方的模型进行预测工作,得到自己预期的结果。
[0132] 在一个实施例中,为了保护数据处理系统中不同数据方所拥有的数据源的数据安全,在 该数据处理系统中还引入了区块链结构。具体的,区块链可以通过SDK或Bass层接入
的方式, 在数据处理系统中的各个终端设备上布设相应的区块链节点,以便具体实施时可
以通过上述 区块链节点及时地将相关数据上传至区块链上进行存证,这样监管服务器可
以通过区块链获 取上述相关数据,对数据处理系统中各个终端设备的行为进行监测,以保
护数据处理系统中 的数据安全。
[0133] 具体的,所述多个终端设备中的第一终端设备可以在数据处理系统发起模型训练请求; 其中,所述模型训练请求用于请求联合训练目标模型;所述第一终端设备拥有第一
数据源, 所述第一数据源包含有与第一数据标识对应的第一特征数据;
[0134] 所述第一终端设备获取与多个待定的终端设备联合训练的价值评估结果;其中,所述待 定的终端设备为所述中间服务器根据所述模型训练请求匹配得到的;所述价值评
估结果包括 待定的终端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数
的检验结果;
[0135] 所述第一终端设备根据所述多个待定的终端设备联合训练的价值评估结果,从所述多个 待定的终端设备中确定出满足要求的第二终端设备;其中,所述第二终端设备拥有
第二数据 源,所述第二数据源包含有与第二数据标识对应的第二特征数据;
[0136] 所述第一终端设备根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据 证明上传至区块链上;所述第二终端设备根据所述第二数据源,获取对应的第二数
据证明, 并将所述第二数据证明上传至区块链上;
[0137] 所述第一终端设备根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二 终端设备根据相匹配的联合训练规则在本地基于所述第二数据源进行联合训练,
得到目标模 型;所述第一终端设备和所述第二终端设备还将联合训练过程中的关联数据
上传至区块链 上;
[0138] 所述监管服务器在被触发的情况下,从区块链上获取所述关联数据,并根据所述关联数 据重建联合训练过程;根据重建的联合训练过程检测联合训练过程中是否存在风
险行为。
[0139] 在一个实施例中,上述第一终端设备具体可以理解为想要寻求其他数据方合作来联合训 练目标模型的数据方的终端设备。其中,所述第一终端设备所拥有的数据源,可以
记为第一 数据源。上述第一数据源中具体可以包含有大量的数据。第一数据源中的每一个
数据具体可 以是与第一数据标识对应的第一特征数据。
[0140] 其中,上述第一特征数据具体可以是描述一个数据对象的某一种或多种属性的参数数 据。上述第一数据标识具体可以是用于指示该数据对象的标识信息。具体的,上述第
一数据 标识可以是数据对象的名称、编号等信息。每一个第一特征数据与一个第一数据标
识对应。
[0141] 需要说明的是,上述第一特征数据可以是一个特征数据,也可以是与同一个第一数据标 识对应的多个特征数据的组合。
[0142] 具体的,例如,上述第一数据源中的一个数据可以是用户M的收入为100元。其中,上述 用户的名称M可以理解为该数据的第一数据标识,收入100元可以理解为与M对应的第
一特征 数据。又例如,上述第一数据源中的一个数据还可以是商品002的售价为200元和产
地为S城。 其中,上述商品的编号002可以理解为该数据的第一数据标识,售价200元,和产
地S城可以 理解为与002对应的第一特征数据等。当然,上述所列举的第一数据标识、第一
特征数据只 是一种示意性说明。具体实施时,根据具体的应用场景和处理需求,上述第一
数据标识、第 一特征数据还可以是其他类型的数据。对此,本说明书不作限定。
[0143] 在一个实施例中,上述数据处理请求具体还可以携带有第一终端设备所请求训练的目标 模型的介绍信息,和/或,第一数据源的介绍信息。
[0144] 在一个实施例中,中间服务器可以先根据上述数据处理请求中所携带的目标模型的介绍 信息,和/或,第一数据源的介绍信息,通过检索系统中其他终端设备所发布的数据
源的介绍 信息,从接入系统中的大量终端设备中筛选相匹配的、可能适合与第一终端设备
合作的终端 设备,作为待定的终端设备。进而,中间服务器可以将上述待定的终端设备的
标识信息发送 给第一终端设备。
[0145] 在一个实施例中,第一终端设备可以先与各个待定的终端设备进行交互,分别利用各自 所拥有的数据源的取样数据来计算各个待定的终端设备所拥有的数据源对于目标
模型训练 的边际预测效果提升参数;再配置对应的预设的检验区间,并根据各个待定的终
端设备所拥 有的数据源对于目标模型训练的边际预测效果提升参数、所述预设的校验区
间进行统计检 验,得到对应的检验结果;进而可以将上述各个待定的终端设备所拥有的数
据源对于目标模 型训练的边际预测效果提升参数的检验结果作为第一终端设备与各个待
定的终端设备联合 训练的价值评估结果;从多个待定的终端设备中筛选出价值评估结果
最高的终端设备,作为 预期的训练效果较好、数据价值较高(即满足要求)的合作方的终端
设备,记为第二终端设 备。其中,上述第二终端设备所拥有的数据源可以记为第二数据源。
上述第二数据源具体可 以包含有与第二数据标识对应的第二特征数据。
[0146] 在本实施例中,上述取样数据具体可以理解为从数据源中抽取出的具有较好代表性的一 小部分数据。
[0147] 通过上述方式,第一终端设备可以在确定合作方时,预判出各个待定的终端设备所拥有 的数据源的数据质量,进而可以有针对性地从多个待定的终端设备中筛选出拥有
对目标模型 的训练效果较好、数据价值较高的第二数据源的第二终端设备作为合作方来
进行联合训练, 以得到效果较好、准确度较高的目标模型,有效地避免了由于盲目寻找不
合适的合作方进行 联合训练造成的处理时间、处理资源上的损失。
[0148] 在一个实施例中,为了便于后续识别、发现诸如某一个终端设备没有使用约定的数据源 参与联合训练的风险行为,在进行联合训练之前,第一终端设备可以先根据第一数
据源,获 取对应的第一数据证明,并将上述第一数据证明上传到区块链上进行存证。同时,
第二终端 设备可以先根据第二数据源,获取对应的第二数据证明,并将上述第二数据证明
上传到区块 链上进行存证。
[0149] 在一个实施例中,在进行联合训练时,可以先确定出相匹配的联合训练规则;进而第一 终端设备可以根据上述相匹配的联合训练规则在本地基于所述第一数据源,与所述
第二终端 设备根据相匹配的联合训练规则在本地基于所述第二数据源,进行联合训练,得
到目标模型。 在进行联合训练时,所述第一终端设备和所述第二终端设备还可以根据相匹
配的联合训练规 则,将联合训练过程中的关联数据上传至区块链上进行存证。
[0150] 其中,上述相匹配的联合训练规则可以根据联合训练模式确定。具体的,上述联合训练 模型具体可以包括:纵向联邦学习的训练模式、横向联邦学习的训练模式、联邦迁移
学习的 训练模式。
[0151] 具体的,上述联邦学习具体可以是指在进行模型学习、训练的过程中,参与联合训练的 各数据方可以借助其他数据方的数据进行联合建模;且各数据方无需共享数据资源,
即在数 据不出本地的情况下,进行联合训练,以建立得到共享的机器学习模型。
[0152] 上述纵向联邦学习的训练模式具体可以是指参与联合训练的数据方所拥有的数据源中 的数据标识重叠较多而特征数据重叠较少的情况所采用的联邦学习方式。这种情
况下通常可 以先将数据按照纵向(即特征维度)进行切分,再取出各数据源中数据标识相
同而特征不 完全相同的那部分数据进行训练。例如,有两个不同机构,一家是某地的银行,
另一家是同 一个地方的电商。它们的用户群体很有可能包含该地的大部分居民,因此用户
的交集较大(即 数据标识的重叠较多)。但是,由于银行记录的都是用户的收支行为与信用
评级,而电商则 保有用户的浏览与购买历史,因此它们的用户特征交集较小(即特征数据
重叠较少)。这时, 通过纵向联邦学习的训练模式可以将这些不同特征在加密的状态下加
以聚合,以增强模型能 力的联邦学习。
[0153] 上述横向联邦学习的训练模式具体可以是指参与联合训练的数据方所拥有的数据源中 的数据标识重叠较少而特征数据重叠较多的情况所采用的联邦学习方式。这种情
况下通常可 以先将数据集按照横向(即用户维度)进行切分,再取出各数据源中特征相同
而数据标识 不完全相同的那部分数据进行训练。例如,有两家不同地区的银行,它们的用
户群体分别来 自各自所在的地区,相互的交集很小(即数据标识的重叠较少)。但是,由于
它们的业务很 相似,因此,记录的用户特征大多是相同的(即特征数据的重叠较多)。这时,
可以通过横 向联邦学习的训练模式来训练构建模型。
[0154] 上述联邦迁移学习的训练模式具体可以是指参与联合训练的数据方所拥有的数据源中 的数据标识重叠较少而特征数据也重叠较少的情况所采用的联邦学习方式。这种
情况下通常 可以不对数据进行切分,而是利用迁移学习来克服数据或标签的不足的情况。
例如,有两个 不同机构,一家是位于B城的银行,另一家是位于Q城的电商。由于受到地域限
制,这两家 机构的用户群体交集很小(即数据标识的重叠较少)。同时,由于机构类型的不
同,二者的 数据特征也只有小部分重合(即特征数据的重叠较少)。在这种情况下,要想进
行有效的联 邦学习,可以引入迁移学习,来解决单边数据规模小和标签样本少的问题,从
而提升模型的 效果。
[0155] 在一个实施例中,具体实施前,可以根据不同的联合训练模式的训练特点和要求,配置 对应不同联合训练模式的联合训练规则。
[0156] 通常如果第一数据源的第一数据标识和第二数据源的第二数据标识的重合度较高(例 如,大于预设的第一重合度阈值),这时通常适合采用纵向联邦学习的训练模式进行
联合训 练。相应的,所使用的相匹配的联合训练规则可以是基于纵向联邦学习的联合训练
规则。如 果第一数据源的第一特征数据和第二数据源的第二特征数据的重合度较高(例
如,大于预设 的第二重合度阈值),这时通常适合采用横向联邦学习的训练模式进行联合
训练。相应的, 所使用的相匹配的联合训练规则可以是基于横向联邦学习的联合训练规
则。如果第一数据源 的第一特征数据和第二数据源的第二特征数据的重合度不高,同时,
第一数据源的第一数据 标识和第二数据源的第二数据标识的重合度也不高,这时通常适
合采用联邦迁移学习的训练 模式进行联合训练。相应的,所使用的相匹配的联合训练规则
可以是基于联邦迁移学习的联 合训练规则。
[0157] 在本实施例中,第一终端设备和第二终端设备可以根据上述相匹配的联合训练规则分别 基于各自所拥有的数据源,在本地进行模型训练;并通过基于同态加密和/或安全
多方计算的 方式进行交互,根据交互得到数据继续训练模型,从而可以高效地通过联合训
练得到符合要 求的目标模型。
[0158] 并且,在联合训练之前,还将第一终端设备和第二终端设备所分别拥有的数据源的数据 证明上传到区块链上进行存证;在联合训练过程中,又将上述联合训练过程中的关
联数据上 传至区块链上进行存证。这样后续如果需要,监管服务器可以根据保存在区块链
上的相关数 据进行回溯,以重建联合训练过程,进而可以根据上述重建的联合训练过程检
测出联合训练 过程中的风险行为,以保护数据方的数据安全,提高联合训练过程的安全
性。
[0159] 本说明书实施例还提供了一种数据处理方法。该方法具体可以应用于第一终端设备一 侧。可以参阅图2所示,该方法具体实施时,可以包括以下内容。
[0160] S201:发起模型训练请求;其中,所述模型训练请求用于请求联合训练目标模型;所述 第一终端设备拥有第一数据源,所述第一数据源包含有与第一数据标识对应的第一
特征数 据。
[0161] S202:获取与多个待定的终端设备联合训练的价值评估结果;其中,所述待定的终端设 备为根据所述模型训练请求匹配得到的;所述价值评估结果包括待定的终端设备所
拥有的数 据源对于目标模型训练的边际预测效果提升参数的检验结果。
[0162] S203:根据所述多个待定的终端设备联合训练的价值评估结果,从所述多个待定的终端 设备中确定出满足要求的第二终端设备;其中,所述第二终端设备拥有第二数据
源,所述第 二数据源包含有与第二数据标识对应的第二特征数据。
[0163] S204:根据所述第一数据源,获取对应的第一数据证明,并将所述第一数据证明上传至 区块链上。
[0164] S205:根据相匹配的联合训练规则在本地基于所述第一数据源,与所述第二终端设备在 本地基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练过程中的
关联数据 上传至区块链上。
[0165] 在一个实施例中,上述第一数据证明具体可以理解为第一数据源的数据资产证明。具体 实施时,第一终端设备可以按照以下方式根据所述第一数据源,获取对应的第一
数据证明: 根据第一数据源中的数据建立对应的默克尔树;将所述默克尔树的根作为与第
一数据源中的 数据对应的第一数据证明。
[0166] 其中,上述默克尔树具体可以理解为是一种二叉树,包含了一组节点,包括:含有基础 信息的根(节点),以及大量具体信息的叶子(节点)。
[0167] 通过上述方式,可以利用对应的默克尔树的根作为第一数据证明,上传至区块链中对第 一数据源进行存证。同时,通过将默克尔树的根而不是第一数据源本身上传至区块
链进行存 证,从而可以降低数据传输量,也避免了直接传输第一数据源导致第一数据源的
数据遭到泄 露,保护了第一终端设备一侧的数据安全。
[0168] 类似的,第二终端设备也可以通过确定与第二数据源对应的默克尔树,再将默克尔树的 根作为第二数据证明,上传至区块链上进行存证。
[0169] 在一个实施例中,所述联合训练过程中的关联数据具体可以包括以下至少之一:调度日 志、加密后的交互数据、加密后的训练结果等。
[0170] 在一个实施例中,所述相匹配的联合训练规则具体可以包括:基于横向联邦学习的联合 训练规则、基于纵向联邦学习的联合训练规则,或基于联邦迁移学习的联合训练规
则的等。
[0171] 在一个实施例中,对应不同的联合训练规则,上述关联数据所包含的数据内容或数据类 型可以是不同的。
[0172] 在一个实施例中,在确定所述相匹配的联合训练规则为基于纵向联邦学习的联合训练规 则的情况下,所述调度日志具体可以包括:第一终端设备的第一类调度日志和第二
类调度日 志;所述加密后的交互数据包括:第二密文数据、加密后的第一模型参数等。
[0173] 在本实施例中,在根据基于纵向联邦学习的联合训练规则进行联合训练时,联合训练过 程往往包括以下两个处理阶段:数据对齐处理阶段,模型训练处理阶段。其中,在数
据对齐 处理阶段,第一终端设备和第二终端设备可以通过加密的通信交互,确定出双方所
拥有的数 据源中对应相同数据标识的特征数据作为各自的训练数据。在模型训练处理阶
段,第一终端 设备和第二终端设备可以通过加密的通信交互,进行联合训练,以得到目标
模型。
[0174] 在本实施例中,上述第一终端设备的第一类调度日志具体可以是第一终端设备在数据对 齐处理阶段进行相应的数据处理时的日志记录。其中,上述第一类调度日志中具体
可以记录 有第一终端设备在该处理阶段的操作行为,例如,在该处理阶段对相关数据进行
了加密处理、 向第二终端设备发送了的加密后的数据、从第二终端设备接收了加密后的数
据,以及在本地 进行对齐处理等。
[0175] 上述第二类调度日志中具体可以是第一终端设备在模型训练处理阶段进行相应的数据 处理时的日志记录。其中,上述第二类调度日志中具体可以记录有第一终端设备在
该处理阶 段的操作行为,例如,在该处理阶段第一终端设备在本地使用训练数据训练模
型,以及具体 训练模式时所使用的训练数据的标识信息、训练顺序;和/或,在该处理阶段
第一终端设备与 第二终端设备交互的数据,以及在本地利用交互得到的数据训练模型等。
[0176] 在一个实施例中,在确定所述相匹配的联合训练规则为基于纵向联邦学习的联合训练规 则的情况下,上述加密后的训练结果具体可以是加密后的目标模型的模型分量,即
加密后的 第一模型。具体的,基于纵向联邦学习的联合训练规则,第一终端设备和第二终
端设备通过 联合训练最终可以分别得到并持有第一模型和第二模型这两个目标模型的模
型分量。
[0177] 在一个实施例中,进一步,上述关联数据中还可以包括代码日志。其中,上述代码日志 可以记录有在联合训练的过程(包括:数据对齐处理阶段,模型训练处理阶段)中第一
终端 设备执行具体操作行为时所基于的程序代码。
[0178] 在一个实施例中,在确定所述相匹配的联合训练规则为基于纵向联邦学习的联合训练规 则的情况下,所述第一终端设备根据相匹配的联合训练规则基于所述第一数据源,
与所述第 二终端设备基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练
过程中的关 联数据上传至区块链上,具体实施时,可以包括以下内容。
[0179] S1:加密第一数据源中的第一数据标识,得到第一密文数据;并将所述第一密文数据发 送至第二终端设备;
[0180] S2:接收第二密文数据,并将所述第二密文数据上传至区块链上;其中,所述第二密文 数据为第二终端设备加密第二数据源中的第二数据标识得到的;
[0181] S3:根据所述第一密文数据和所述第二密文数据,通过对齐处理,从第一数据源中确定 出第一训练数据;并将第一终端设备的第一类调度日志上传至区块链上;
[0182] S4:利用第一训练数据进行模型训练,得到第一模型参数;
[0183] S5:加密所述第一模型参数,并将加密后的第一模型参数发送至第二终端设备;
[0184] S6:接收来自第二终端设备的加密后的第二模型参数,并将所述加密后的第二模型参数 上传至区块链上;
[0185] S7:根据所述加密后的第二模型参数,进行模型训练,得到第一模型;并将第一终端设 备的第二类调度日志上传至区块链上;其中,所述第一模型为第一终端设备所拥有的
目标模 型的模型分量。
[0186] 在一个实施例中,具体实施时,第一终端设备可以通过同态加密的方式加密第一数据源 中的第一数据标识,得到第一密文数据;并基于同态加密的方式通过多次交互将第
一密文数 据发送给第二终端设备。从而可以进一步提高数据处理过程中的数据安全。
[0187] 同样的,第二终端设备可以通过同态加密的方式加密第二数据源中的第二数据标识,得 到第二密文数据;并基于同态加密的方式通过多次交互将第二密文数据发送给第一
终端设 备。
[0188] 在一个实施例中,具体实施时,第一终端设备可以根据第一密文数据和第二密文数据, 将第一数据标识与第二数据标识进行比较,找到第一数据标识与第二数据标识中存
在交集的 数据标识,进而可以从第一数据源中筛选出与存在交集的数据标识对应的数据
作为第一训练 数据,从而完成对齐处理。
[0189] 在一个实施例中,第一终端设备在从第一数据源中确定出第一训练数据后,可以将上述 第一类调度日志上传至区块链上。上述第一类调度日志具体还可以携带有加密后
的第一训练 数据的第一数据标识。
[0190] 在一个实施例中,第一终端设备可以先利用第一训练数据在本地进行模型训练得到第一 模型参数。其中,上述第一模型参数具体可以是第一终端设备在利用第一训练数据
在本地训 练模型时,得到的中间数据,例如模型梯度等。
[0191] 在一个实施例中,具体实施时,第一终端设备也可以通过同态加密的方式加密第一模型 参数,得到加密后的第一模型参数;并基于同态加密的方式通过多次交互将加密后
的第一模 型参数发送给第二终端设备。
[0192] 在一个实施例中,第一终端设备同时可以接收来自第二终端设备的加密后的第二模型参 数,并通过解密处理,得到第二模型参数;根据上述第二模型参数,在本地继续进行
模型训 练,得到最终的第一模型。
[0193] 在一个实施例中,第一终端设备在得到第一模型后,可以将上述第二类调度日志上传至 区块链上。
[0194] 在一个实施例中,在进行联合训练的过程中,第二终端设备类似于第一终端设备进行相 应的数据处理。具体的,第二终端设备加密第二数据源中的第二数据标识,得到第
二密文数 据;并将所述第二密文数据发送至第一终端设备;接收第一密文数据,并将所述
第一密文数 据上传至区块链上;根据所述第一密文数据和所述第二密文数据,通过对齐处
理,从第二数 据源中确定出第二训练数据;并将第二终端设备的第一类调度日志上传至区
块链上;利用第 二训练数据进行模型训练,得到第二模型参数;加密所述第二模型参数,并
将加密后的第二 模型参数发送至第一终端设备;接收来自第一终端设备的加密后的第一
模型参数,并将所 述加密后的第一模型参数上传至区块链上;根据所述加密后的第一模型
参数,进行模型训练, 得到第二模型;并将第二终端设备的第二类调度日志上传至区块链
上;其中,所述第二模型 为第二终端设备所拥有的目标模型的模型分量。
[0195] 在一个实施例中,所述第一密文数据具体还可以携带有第一终端设备的第一签名;所述 第二密文数据具体还可以携带有第二终端设备的第二签名。
[0196] 在一个实施例中,所述加密后的第一模型参数具体还可以携带有第一终端设备的第一签 名;所述加密后的第二模型参数具体还可以携带有第二终端设备的第二签名。
[0197] 这样后续可以根据上述交互数据中所携带的数字签名,准确地确定出上述交互数据的提 供方。
[0198] 在一个实施例中,在得到第一模型后,所述方法具体实施时,还可以包括以下内容:根 据预设的映射规则,确定出与所述第一模型对应的第一哈希值;将所述第一哈希值
上传至区 块链上。
[0199] 在本实施例中,为了减少数据处理量,也可以不将加密后的第一模型上传至区块链上进 行存证,而是将于第一模型对应的第一哈希值,作为一种加密后的训练结果上传至
区块链上 进行存证。
[0200] 类似的,第二终端设备可以根据预设的映射规则,确定出与所述第二模型对应的第二哈 希值;将所述第二哈希值上传至区块链上进行存证。
[0201] 在一个实施例中,在所述第一终端设备根据相匹配的联合训练规则基于所述第一数据 源,与所述第二终端设备基于所述第二数据源进行联合训练的联合训练过程中,所述
方法具 体实施时,还可以包括以下内容:第一终端设备生成并向监管服务器发送监测请
求;其中, 所述监管服务器用于接收并响应所述监测请求,从区块链上获取第一数据证明、
第二数据证 明,以及加密后的交互数据;并根据所述第一数据证明、第二数据证明,以及加
密后的交互 数据,对所述第一终端设备和第二终端设备的联合训练过程进行监测。
[0202] 在本实施例中,在进行联合训练的过程中,第一终端为了能够及时地发现第二终端设备 例如没有使用约定的数据(例如,第二数据源中的真实数据)参与联合训练,或者谁
用篡改 后的携带有攻击性的数据参与联合训练,导致对第一终端设备造成威胁。第一终端
设备可以 生成并向监管服务器发送相应的监测请求。
[0203] 监管服务器可以接收并响应该监测请求,从区块链上获取之前保存的第一数据证明、第 二数据证明,以及双方在联合训练的过程中实时上传到区块链上的加密后的交互数
据,进而 可以根据第一数据证明、第二数据证明,以及加密后的交互数据,对所述第一终端
设备和第 二终端设备的联合训练过程进行监测。
[0204] 例如,监管服务器可以将第二数据证明与第二终端设备的第二类调度日志中所记录的第 二训练数据的第二数据标识进行比对,以监测第二终端设备在本地训练模型时所
使用的第二 训练数据是否都是来自第二数据源的数据。在监测到所使用的第二训练数据
的数据标识存在 与第二数据证明不匹配的数据标识时,可以判断第二终端设备使用了第
二数据源之外的其他 数据参与联合训练。进而可以及时地提示第一终端设备上述风险行
为,保护第一终端设备的 数据安全,实现一定程度上的在线监测。
[0205] 当然,上述监测请求也可以由第二终端设备生成并发起。
[0206] 在一个实施例中,在确定所述相匹配的联合训练规则为基于横向联邦学习的联合训练规 则的情况下,所述调度日志具体可以包括:第一终端设备的第三类调度日志;所述
加密后的 交互数据包括:第三密文数据。
[0207] 在一个实施例中,在确定所述相匹配的联合训练规则为基于横向联邦学习的联合训练规 则的情况下,所述第一终端设备根据相匹配的联合训练规则基于所述第一数据源,
与所述第 二终端设备基于所述第二数据源进行联合训练,以得到目标模型;并将联合训练
过程中的关 联数据上传至区块链上,具体实施时,可以包括以下内容:接收来自中间服务
器的初始模型; 利用第一数据源的数据作为第一训练数据,训练所述初始模型,得到第一
中间模型数据;加 密所述第一中间模型数据,得到第三密文数据;将所述第三密文数据发
送至所述中间服务器, 并将第一终端设备的第三类调度日志上传至区块链上;其中,所述
中间服务器还用于接收来 自第二终端设备通过加密第二中间模型数据得到的第四密文数
据,并根据所述第三密文数据 和所述第四密文数据,更新所述初始模型,得到更新后的模
型。
[0208] 在一个实施例中,中间服务器可以对上述第三密文数据和第四密文数据分别进行解密处 理,从而可以得到第一终端设备和第二终端设备各自在本地训练得到的第一中间
模型数据和 第二中间模型数据;进而可以根据上述第一中间模型数据和第二中间模型数
据,对之前的初 始模型进行修改和更新处理,得到更新后的模型。
[0209] 上述第一终端设备在将第三密文数据发送至中间服务器的同时,还会将记录有在训练得 到第一中间模型数据,以及加密第一中间模型数据的处理过程的操作行为的第三
类调度日志 上传至区块链上进行存证。
[0210] 此外,上述第三类调度日志中还可以记录有第一终端设备在训练得到第一中间模型数 据,以及加密第一中间模型数据的处理过程中所使用到的代码。
[0211] 类似于第一终端设备,第二终端设备接收来自中间服务器的初始模型;利用第二数据源 的数据作为第二训练数据,训练所述初始模型,得到第二中间模型数据;加密所述
第二中间 模型数据,得到第四密文数据;将加密后的第四密文数据发送至所述中间服务
器,并将第二 终端设备的第三类调度日志上传至区块链上。
[0212] 在一个实施例中,中间服务器在得到上述更新后的模型之后,可以先检测当前更新后的 模型的准确度是否符合预设的精度要求。
[0213] 在确定当前更新后的模型的准确度已经符合预设的精度要求时,可以停止联合训练,并 将当前更新后的模型确定为目标模型。
[0214] 在确定当前更新后的模型的准确度仍不符合预设的精度要求时,可以将上述更新后的模 型作为新一轮训练的初始模型,并将上述更新后的模型发送给第一终端设备和第
二终端设 备,重复上述训练过程,重复更新模型,直到所得到的更新后的模型的准确度符
合预设的精 度要求为止。
[0215] 具体的,所述方法还可以包括:所述第一终端设备接收来自中间服务器的更新后的模型; 利用所述第一训练数据,训练所述更新后的模型,得到更新后的第一中间模型数
据;加密所 述更新后的第一中间模型数据,得到更新后的第三密文数据;将更新后的第三
密文数据发送 至所述中间服务器,并将第一终端设备的第三类调度日志上传至区块链上。
[0216] 在确定所述相匹配的联合训练规则为基于联邦迁移学习的联合训练规则的情况下,可以 根据联邦迁移学习的训练模式的特点,来根据相匹配的联合训练规则基于所述第
一数据源, 与所述第二终端设备基于所述第二数据源进行联合训练,以得到目标模型;并
将联合训练过 程中的关联数据上传至区块链上。在此,不作赘述。
[0217] 在一个实施例中,通过上述方式训练得到的目标模型具体可以是应用于金融业务场景中 的用于预测用户是否为黑名单(一种数据标签)用户的预测模型。也可以是应用于
网络购物 场景中的用于预测消费者是否有为潜在购买客户的预测模型等。当然,上述所列
举的目标模 型只是一种示意性说明。具体实施时,根据具体的应用场景和处理需求,上述
目标模型还可 以是其他类型的预测模型。对此,本说明书不作限定。
[0218] 在一个实施例中,上述第一终端设备具体可以包括多个子终端设备,所述多个子终端设 备各自拥有子数据源。即,在第一终端设备一侧,可以是原先就已经存在多个拥有
不同子数 据源的数据方合作通过多个子终端设备组合联合训练模型。在这基础上,可以通
过上述贡献 度的确定方法,确定是否要引入新的数据方,即第二终端设备来综合更多的数
据源,联合训 练得到效果更好、准确度更高的目标模型。
[0219] 在一个实施例中,在得到目标模型之后,所述方法具体实施时,还可以包括以下内容: 向监管服务器发起风险检测请求;其中,所述风险检测请求用于触发监管服务器从区
块链上 获取第一数据证明、第二数据证明,以及联合训练过程中的关联数据;并根据所述
第一数据 证明、第二数据证明,以及所述联合训练过程中的关联数据,重建联合训练过程;
根据重建 的联合训练过程检测联合训练过程中是否存在风险行为。
[0220] 在一个实施例中,所述风险行为具体可以包括以下至少之一:第一终端设备和/或第二终 端设备所使用的代码被篡改的行为、第一终端设备和/或第二终端设备没有使用符
合要求的数 据进行联合训练的行为、第一终端设备和/或第二终端设备上传至区块链上的
数据存在误差的 行为等。当然,上述所列举的风险行为只是一种示意性说明。具体实施时,
根据具体的业务 场景和处理需求,上述风险行为还可以包括其他类型的操作行为。对此,
本说明书不做限定。
[0221] 在本实施例,第一终端设备在担心所参与的联合训练过程存在风险行为的情况下,可以 生成并向监管服务器发送上述风险检测请求。
[0222] 上述监管服务器可以接收并响应上述风险检测请求,对区块链上保存的数据进行回溯, 从区块链上获取第一数据证明、第二数据证明,以及联合训练过程中的关联数据;并
根据所 述第一数据证明、第二数据证明,以及所述联合训练过程中的关联数据,重建联合
训练过程; 根据重建的联合训练过程检测联合训练过程中是否存在风险行为。
[0223] 在本实施例中,上述联合训练过程也可以称为联合训练流程,监管服务器可以根据重建 的联合训练过程对第一终端设备、第二终端设备在联合训练时的操作行为进行检
测,以确定 是否存在风险行为。
[0224] 在一个实施例中,在重建联合训练过程时,根据具体情况,监管服务器还可以与第一终 端设备和第二终端设备通信,获取用于解密的秘钥数据;从而可以根据上述秘钥数据
对关联 数据中加密后的数据进行解密处理;再根据解密后的数据来重建得到更加完整、准
确的联合 训练过程,以便可以更加精细地检测是否存在风险行为。
[0225] 在一个实施例中,监管服务器还可以从代码日志中获取第一终端设备和第二终端设备在 进行联合训练时所使用的代码;通过检测上述代码与原始代码的区别来确定第一
终端设备和 第二终端设备所使用的代码是否遭到了篡改。
[0226] 在一个实施例中,在得到目标模型后,所述方法具体实施时,还可以包括以下内容。
[0227] S1:所述第一终端设备生成并发起针对第二终端设备的贡献度评估请求;
[0228] S2:根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数据,进 行相应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练
的边际预 测效果提升参数;
[0229] S3:配置预设的检验区间;
[0230] S4:根据预设的评估规则、所述边际预测效果提升参数、所述预设的校验区间进行统计 检验,得到对应的检验结果;
[0231] S5:根据所述检验结果,确定出第二终端设备的贡献度。
[0232] 在一个实施例中,上述预设的检验区间具体可以根据所述第二终端设备对所述边际预测 效果提升参数,以及预设的置信度(或者称显著性水平α)确定。
[0233] 在一个实施例中,在得到目标模型后,第一终端设备还可以按照上述方式确定出第二终 端设备的贡献度,进而可以根据贡献度,为第二终端设备提供相应的奖励数据。
[0234] 在一个实施例中,在确定出第二终端设备的贡献度后,所述方法具体实施时,还可以包 括以下内容:所述第一终端设备根据所述第二终端设备的贡献度,确定针对第二终端
设备的 奖励数据;向所述第二终端设备发送相应的奖励数据。
[0235] 在一个实施例中,中间服务器可以根据上述第二终端设备的贡献度,生成并向第二终端 设备发送相应的奖励数据,以激励其他的终端设备可以积极地使用自己所拥有的
数据源参与 同其他终端设备的联合训练。
[0236] 相对的,中间服务器还可以在检测到第一终端设备和/或第二终端设备存在风险行为时, 生成并向相应的终端设备发送惩罚数据,以规范各个终端设备的操作行为,避免
再次出现风 险行为,保护数据处理系统的整体的数据安全。
[0237] 所述相匹配的处理规则包括:基于横向联邦学习的处理规则、基于纵向联邦学习的处理 规则,或基于联邦迁移学习的处理规则。
[0238] 在一个实施例中,在确定所述相匹配的处理规则为基于纵向联邦学习的处理规则的情况 下,根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数
据,进行相 应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练
的边际预测效 果提升参数,具体实施时,可以包括以下内容:
[0239] S1:获取对照模型和测试数据;其中,所述对照模型为在第一终端设备没有与第二终端 设备进行联合训练的情况下得到的模型;
[0240] S2:利用所述对照模型处理所述测试数据,得到第一组预测概率;
[0241] S3:利用所述目标模型中的第一模型处理所述测试数据,得到第一处理结果;
[0242] S4:接收来自第二终端设备的第二处理结果;其中,所述第二处理结果为第二终端设备 利用所述目标模型中的第二模型处理所述测试数据得到的;
[0243] S5:根据所述第一处理结果和所述第二处理结果,确定出第二组预测概率;
[0244] S6:根据所述第一组预测概率确定基于对照模型的第一AUC参数,根据所述第二组预 测概率确定基于目标模型的第二AUC参数;
[0245] S7:根据所述第一AUC参数、第二AUC参数、第一组预测概率、第二组预测概率,确 定出第二数据源对于目标模型训练的边际预测效果提升参数。
[0246] 在一个实施例中,在确定所述相匹配的处理规则为基于纵向联邦学习的处理规则的情况 下,数据标签(例如,黑名单用户、白名单用户等)往往集中在第一终端设备一方。并
且, 第一终端设备只持有目标模型分量中的第一模型,第二终端设备只持有目标模型分量
中的第 二模型。
[0247] 因此,具体实施时,第一终端设备可以将上述测试数据输入对照模型输出各个测试数据 属于各个数据标签的概率值,作为第一组预测概率。
[0248] 第一终端设备可以将测试数据输入第一模型,输出各个测试数据属于各个数据标签概率 值,作为第一处理结果。同时,第二终端设备可以将测试数据输入第二模型,输出各
个测试 数据属于各个数据标签概率值,作为第二处理结果。
[0249] 进一步,第一终端设备需要综合使用基于第一模型得到的第一处理结果,以及基于第二 模型得到的第二处理结果,才能得到最终的第二组预测概率。
[0250] 在一个实施例中,上述AUC(Area under the Curve of ROC)参数,具体可以理解为接受 者操作特征曲线(receiver operating characteristic curve,ROC)下方的面积,
可以通过上述 AUC参数来衡量评价所建立的模型的准确度。
[0251] 在一个实施例中,考虑到在基于纵向联邦学习的(有监督学习)联合训练(建模)场景 中,标签数据可以为二元分类标签数据(即,包含有两种不同类型的标签),且由单个发
起 方或者单个数据方所拥有。其中,测试数据分别位于C1和C2两个标签组,对应不同的数据
标 签。
[0252] 参阅图3所示的算法代码,在没有第二终端设备参与的情形下(记为r=0),可以利用对 照模型对两个组所属的测试数据的数据标签进行预测,得到相应的预测概率值分别
记作  和 作为第一组预测概率。
[0253] 在有第二终端设备参与的情形下(记为r=1),可以按照上述通过综合第一处理结果和第 二处理结果所确定出两个组所属的测试数据的数据标签的预测概率值分别记作:
和  作为第二组预测概率。
[0254] 接着,可以针对上述两种情形,分别计算对应的接受者操作特征曲线(ROC)下的面积 AUC参数,记为 (即第一AUC参数)和 (即第二AUC参数)。具体可以按照以下公 式计
算:
[0255]
[0256] 其中, 是赫维赛德阶跃函数(Heaviside step function),具体的,该函数具有以 下特性: 而II(·)是示 性函数
(indicator function),具体的,如果事件A发生,则示性函数II(A)=1,否则,则示性函 数
II(A)=0。
[0257] 进一步,可以定义向量L=(1,‑1)T,并根据第一AUC参数和第二AUC参数,分别计算基 于AUC的协方差矩阵S和标准差
[0258] 具体的,可以根据第一组概率值和第二组概率值,分别计算是否存在第二终端设备这两 种情形下的X结构成分 (可以记为第一组分数据)和Y结构成分 (可
以记为第二 组分数据),具体公式如下所示:
[0259]
[0260]
[0261] 然后,分别定义两个2×2的矩阵,分别为第一矩阵 和第二矩阵其中,上述两个矩阵中的具体元素,例如,第(r,s)个元素的具体数值可以按
照以下算式计算:
[0262]
[0263]
[0264] 根据上述算式可以确定出矩阵中的各个元素,进而可以得到第一矩阵和第二矩阵。
[0265] 最后,设向量L=(1,‑1)T,并基于上述第一矩阵和第二矩阵先计算协方差矩阵s;再根据 协方差矩阵进一步计算对应的标准差 具体计算时所使用的算式如下所示:
[0266]
[0267]
[0268] 再根据第一AUC参数和第二AUC参数计算差异值: 并根据上述差异构造统 计量 作为第二数据源对于目标模型训练的边际预测效果提升参数。
[0269] 接着可以根据具体的应用场景和精度要求设置显著性水平(或者称预设的置信度)α。 并根据上述显著性水平、第二数据源对于目标模型训练的边际预测效果提升参数,
配置预设 的校验区间,记为 其中,z1‑α/2表示标
准正态分布 累计概率密度值等于1‑α/2处的z得分(z score)。
[0270] 再通过检验第二数据源对于目标模型训练的边际预测效果提升参数是否位于上述预设 的校验区间内,得到对应的检验结果。
[0271] 根据检验结果,如果确定U值位于区间内,则说 明两个AUC值在统计上没有差异,这意味着在联邦学习中引入该第二终端设备对
提升模型 预测效果没有较为显著的作用。
[0272] 相反,根据检验结果,如果确定U值位于区间外, 则说明两个AUC值在统计上存在显著差异,
这意味着在联邦学习中引入该第二终端设备对 提升模型预测效果有较为显著的作用。
[0273] 从而可以通过上述方式准确地确定出相应的检验结果来量化在纵向联邦学习的联合训 练场景下引入第二终端设备所拥有的第二数据源对目标模型训练的边际预测效果
提升作用 和第二数据源的数据价值,进而可以较为准确地判断出第二终端设备的贡献度。
[0274] 在一个实施例中,在确定所述相匹配的处理规则为基于横向联邦学习的处理规则的情况 下,根据相匹配的处理规则基于所拥有的数据,与第二终端设备基于所拥有的数
据,进行相 应的数据处理,以确定出第二终端设备所拥有的第二数据源对于目标模型训练
的边际预测效 果提升参数,具体实施时,可以包括以下内容:
[0275] S1:获取对照模型和第一测试数据;其中,所述对照模型为在第一终端设备没有与第二 终端设备进行联合训练的情况下得到的模型;
[0276] S2:利用所述对照模型处理所述第一测试数据,得到第一组预测概率;
[0277] S3:利用所述目标模型处理所述第一测试数据,得到第二组预测概率;
[0278] S4:根据所述第一组预测概率和所述第二组预测概率,进行本地运算,得到第一本地组 分数据;
[0279] S5:根据所述第一组预测概率和所述第二组预测概率,通过加密通信,与第二终端设备 进行交互运算,得到第一交互组分数据;
[0280] S6:根据所述第一本地组分数据和所述第一交互组分数据,构建第一数据体,并加密所 述第一数据体;
[0281] S7:将加密后的第一数据体发送至中间服务器;其中,所述中间服务器用于根据所述加 密后的第一数据体,以及来自第二终端设备的加密后的第二数据体,确定第二数据源
对于目 标模型训练的边际预测效果提升参数。
[0282] 在一个实施例中,在确定所述相匹配的处理规则为基于横向联邦学习的处理规则的情况 下,数据标签往往分布在第一终端设备和第二终端设备两方。并且,第一终端设备、
第二终 端设备可以分别持有完整的目标模型。
[0283] 在一个实施例中,具体的,考虑到在横向联邦学习的(有监督学习)联合训练(建模) 场景中,测试数据可以分别位于C1和C2两个组(例如,C1表示违约测试数据组对应违约
标签, C2表示非违约测试数据组,对应非违约标签)的二元分类标签数据由多个数据方分
别拥有。 此时,单个分类标签数据的拥有者只能看到本地的模型预测结果(即所属的测试
数据的数据 标签的预测概率),而无法看到其他测试数据的预测概率。
[0284] 基于上述情况,可以以加密算法(例如,同态加密算法等)为基础,通过引入一个中间 协调仲裁者(例如,中间服务器),来参与具体的数据处理。
[0285] 具体而言,假设参与联合训练的拥有数据标签的终端设备个数是Q,终端设备编号集合 是Q。比较简单的例子,上述Q的数值可以为2,相应的参与联合训练的拥有数据标签的
终端 设备可以只包含第一终端设备和第二终端设备两方。
[0286] 其中,对于拥有数据标签的现有数据方(例如第一终端设备)q,在C1和C2两个组的测试 数据的数量分别为mq和nq,对应的测试数据的编号集合可以是 和 在没有第二终
端设备 参与的情形下,对于拥有数据标签的第一终端设备q,可以对C1和C2两个组中测试数
据的数据 标签进行预测,相应的预测概率值可以分别记作: 和 (即第
一组预测概 率)。在有第二终端设备参与的情形下,两个组所属测试数据的数据标签的预
测概率值分别 记为: 和 (即第二组预测概率)。在此,C1组和C2组的样本
总数量可以分 别记作 和 C1组和C2组的所有测试数据的编号集合分别
记作 和  对这些预测概率值可以在本地将进行加密处理之后,得到
加密值 和
[0287] 具体计算第一AUC参数和第二AUC参数时,可以根据不同终端设备上的第一组预测概率 和第二组预测,针对是否有第二终端设备参与的两种情形,根据以下算式,分别计算
对应的 第一AUC参数和第二AUC参数,记为 和
[0288]
[0289] 另外,对于是否有第二终端设备参与的两种情形下的X结构成分 和Y结构成分  可以按照以下算式计算:
[0290]
[0291]
[0292] 在上述算式中,X结构成分的第一项 和Y结构成分的第一项 均可以在数据方本地计算,可以称为本地的结构成分(例如,在第一终
端 设备本地计算的第一本地组分数据、在第二终端设备本地计算的第二本地组分数据),
属于 本地的中间计算结果。而X结构成分的第二项 和Y结构成分的
第二项  将通过参与方之间的通信交互计算,可以称为交互的结构成
分(例如, 第一终端设备通过与第二终端设备进行交互运算得到的第一交互组分数据,第
二终端设备通 过与第一终端设备进行交互运算得到的第二交互组分数据)。
[0293] 可以参阅图4所示的算法代码,在算法代码中的第一个模块(包括第4步至第12步),每 个参与联合训练的终端设备可以分别计算本地的结构成分,作为各自的本地的组
分数据。
[0294] 在算法代码的第二个模块(包括第13步至第23步),每个参与联合训练的终端设备分别 与其它终端设备进行直接加密通信交互、并计算交互的结构成分,得到各自的交互的
组分数 据;最后,每个终端设备可以将各自的本地的组分数据和交互的组分数据进行汇总
(包括第 24步至第29步)。
[0295] 在算法代码的第三个模块(第31步至第33步),每个参与联合训练的终端设备可以根据 各自的本地组分数据和交互的组分数据构建对应的数据体。例如,第一终端设备可以
根据第 一本地组分数据和所述第一交互组分数据,构建第一数据体。第二终端设备可以根
据第二本 地组分数据和所述第二交互组分数据,构建第一数据体。
[0296] 此外,各个终端设备还可以对各自的数据体进行加密,再加密后的数据体和  发送至中间服务器(包括第33步)。从而可以进一步提高数据的安全
性。
[0297] 中间服务器对所接收到的加密后的数据体进行解密,并且针对是否有第二终端设备参与 的两种情形,分别计算对应的第一AUC参数和第二AUC参数,记为 和
[0298] 然后,定义向量L=(1 ‑1),并基于上述结果计算协方差矩阵s和标准差 具体公式如 下所示:
[0299]
[0300]
[0301] 再根据第一AUC参数和第二AUC参数计算差异值: 并根据上述差异构造统 计量 作为第二数据源对于目标模型训练的边际预测效果提升参数。
[0302] 接着可以根据具体情况和精度要求设置显著性水平(或者预设的置信度)α。并根据上 述显著性水平、第二数据源对于目标模型训练的边际预测效果提升参数,配置预设的
校验区 间,记为 其中,z1‑α/2表示标准正态分布
累计概率 密度值等于1‑α/2处的z得分(z score)。
[0303] 再通过检验第二数据源对于目标模型训练的边际预测效果提升参数是否位于上述预设 的校验区间内,得到对应的检验结果。
[0304] 根据检验结果,如果确定U值位于区间内,则说 明两个AUC值在统计上没有差异,这意味着在联邦学习中引入该第二终端设备对
提升模型 预测效果没有较为显著的作用。
[0305] 相反,根据检验结果,如果确定U值位于区间外, 则说明两个AUC值在统计上存在显著差异,
这意味着在联邦学习中引入该第二终端设备对 提升模型预测效果有较为显著的作用。
[0306] 从而可以通过上述方式准确地确定出相应的检验结果来量化在横向联邦学习的联合训 练场景下引入第二终端设备所拥有的第二数据源对目标模型训练的边际预测效果
提升作用 和第二数据源的数据价值,进而可以较为准确地判断出第二终端设备的贡献度。
[0307] 综上,通过上述方式可以同时适用于纵向联邦学习和横向联邦学习两种不同联邦学习场 景,通过计算并利用第二终端设备对所述边际预测效果提升参数的检验结果来精
细地量化出 引入第二终端设备对目标模型训练的边际预测效果提升的作用,从而可以准
确地衡量出第二 终端设备的贡献度。
[0308] 本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储 器,所述处理器具体实施时可以根据指令执行以下步骤:发起模型训练请求;其中,
所述模 型训练请求用于请求联合训练目标模型;所述第一终端设备拥有第一数据源,所述
第一数据 源包含有与第一数据标识对应的第一特征数据;获取与多个待定的终端设备联
合训练的价值 评估结果;其中,所述待定的终端设备为根据所述模型训练请求匹配得到
的;所述价值评估 结果包括待定的终端设备所拥有的数据源对于目标模型训练的边际预
测效果提升参数的检 验结果;根据所述多个待定的终端设备联合训练的价值评估结果,从
所述多个待定的终端设 备中确定出满足要求的第二终端设备;其中,所述第二终端设备拥
有第二数据源,所述第二 数据源包含有与第二数据标识对应的第二特征数据;根据所述第
一数据源,获取对应的第一 数据证明,并将所述第一数据证明上传至区块链上;根据相匹
配的联合训练规则在本地基于 所述第一数据源,与所述第二终端设备在本地基于所述第
二数据源进行联合训练,以得到目 标模型;并将联合训练过程中的关联数据上传至区块链
上。
[0309] 参阅图5所示,本说明书还提供了另一种数据处理方法,该方法具体实施时,可以包括 以下内容。
[0310] S501:第一终端设备向第二终端设备发起模型训练请求;其中,所述模型训练请求用于 请求联合训练目标模型;所述第一终端设备拥有第一数据源,所述第一数据源包含有
与第一 数据标识对应的第一特征数据;所述第二终端设备拥有第二数据源,所述第二数据
源包含有 与第二数据标识对应的第二特征数据;
[0311] S502:所述第一终端设备根据所述第一数据源,获取对应的第一数据证明,并将所述第 一数据证明上传至区块链上;所述第二终端设备根据所述第二数据源,获取对应的第
二数据 证明,并将所述第二数据证明上传至区块链上;
[0312] S503:所述第一终端设备根据相匹配的联合训练规则在本地基于所述第一数据源,与所 述第二终端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;所
述第一终端 设备和所述第二终端设备还将联合训练过程中的关联数据上传至区块链上。
[0313] 为了能够更加准确地完成上述指令,参阅图6所示,本说明书实施例还提供了另一种具 体的服务器,其中,所述服务器包括网络通信端口601、处理器602以及存储器603,上
述结 构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
[0314] 其中,所述网络通信端口601,具体可以用于发起模型训练请求;其中,所述模型训练 请求用于请求联合训练目标模型;所述第一终端设备拥有第一数据源,所述第一数据源
包含 有与第一数据标识对应的第一特征数据。以及获取与多个待定的终端设备联合训练
的价值评 估结果;其中,所述待定的终端设备为根据所述模型训练请求匹配得到的;所述
价值评估结 果包括待定的终端设备所拥有的数据源对于目标模型训练的边际预测效果提
升参数的检验 结果。
[0315] 所述处理器602,具体可以用于根据所述多个待定的终端设备联合训练的价值评估结果, 从所述多个待定的终端设备中确定出满足要求的第二终端设备;其中,所述第二
终端设备拥 有第二数据源,所述第二数据源包含有与第二数据标识对应的第二特征数据;
根据所述第一 数据源,获取对应的第一数据证明,并将所述第一数据证明上传至区块链
上;根据相匹配的 联合训练规则在本地基于所述第一数据源,与所述第二终端设备在本地
基于所述第二数据源 进行联合训练,以得到目标模型;并将联合训练过程中的关联数据上
传至区块链上。
[0316] 所述存储器603,具体可以用于存储相应的指令程序。
[0317] 在本实施例中,所述网络通信端口601可以是与不同的通信协议进行绑定,从而可以发 送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通
信的端 口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端
口。此外, 所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线
移动网络通 信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
[0318] 在本实施例中,所述处理器602可以按任何适当的方式实现。例如,处理器可以采取例 如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如
软件或 固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific 
Integrated Circuit, ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并
不作限定。
[0319] 在本实施例中,所述存储器603可以包括多个层次,在数字系统中,只要能保存二进制 数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也
叫存储 器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF
卡 等。
[0320] 本说明书实施例还提供了一种基于上述数据处理方法的计算机存储介质,所述计算机存 储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:发起模型训
练请求; 其中,所述模型训练请求用于请求联合训练目标模型;所述第一终端设备拥有第
一数据源, 所述第一数据源包含有与第一数据标识对应的第一特征数据;获取与多个待定
的终端设备联 合训练的价值评估结果;其中,所述待定的终端设备为根据所述模型训练请
求匹配得到的; 所述价值评估结果包括待定的终端设备所拥有的数据源对于目标模型训
练的边际预测效果 提升参数的检验结果;根据所述多个待定的终端设备联合训练的价值
评估结果,从所述多个 待定的终端设备中确定出满足要求的第二终端设备;其中,所述第
二终端设备拥有第二数据 源,所述第二数据源包含有与第二数据标识对应的第二特征数
据;根据所述第一数据源,获 取对应的第一数据证明,并将所述第一数据证明上传至区块
链上;根据相匹配的联合训练规 则在本地基于所述第一数据源,与所述第二终端设备在本
地基于所述第二数据源进行联合训 练,以得到目标模型;并将联合训练过程中的关联数据
上传至区块链上。
[0321] 在本实施例中,上述存储介质包括但不限于随机存取存储器(Random Access Memory, RAM)、只读存储器(Read‑Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk 
Drive, HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络
通信 单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
[0322] 在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它 实施方式对照解释,在此不再赘述。
[0323] 参阅图7所示,在软件层面上,本说明书实施例还提供了一种数据处理装置,该装置具 体可以包括以下的结构模块。
[0324] 发起模块701,具体可以用于发起模型训练请求;其中,所述模型训练请求用于请求联 合训练目标模型;第一终端设备拥有第一数据源,所述第一数据源包含有与第一数据
标识对 应的第一特征数据;
[0325] 获取模块702,具体可以用于获取与多个待定的终端设备联合训练的价值评估结果;其 中,所述待定的终端设备为根据所述模型训练请求匹配得到的;所述价值评估结果
包括待定 的终端设备所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验
结果;
[0326] 确定模块703,具体可以用于根据所述多个待定的终端设备联合训练的价值评估结果, 从所述多个待定的终端设备中确定出满足要求的第二终端设备;其中,所述第二终
端设备拥 有第二数据源,所述第二数据源包含有与第二数据标识对应的第二特征数据;
[0327] 上传模块704,具体可以用于根据所述第一数据源,获取对应的第一数据证明,并将所 述第一数据证明上传至区块链上;
[0328] 训练模块705,具体可以用于根据相匹配的联合训练规则在本地基于所述第一数据源, 与所述第二终端设备在本地基于所述第二数据源进行联合训练,以得到目标模型;
并将联合 训练过程中的关联数据上传至区块链上。
[0329] 需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体 实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能
分为各 种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软
件和/或硬 件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现
等。以上所描述 的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功
能划分,实际实 现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成
到另一个系统,或 一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合
或直接耦合或通信 连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是
电性,机械或其它的 形式。
[0330] 由上可见,本说明书实施例提供的数据处理装置,通过获取并根据系统中待定的终端设 备所拥有的数据源对于目标模型训练的边际预测效果提升参数的检验结果,准确
地辨别出不 同数据源的数据质量,进而可以先从多个待定的终端设备中有针对性地筛选
出拥有对目标模 型的训练效果较好、数据价值较高的第二数据源的第二终端设备作为合
作方来进行联合训 练,有效地避免了由于盲目寻找不合适的合作方进行联合训练造成的
处理时间、处理资源上 的损失,得到效果较好、准确度较高的目标模型。还通过利用区块链
的特性,在联合训练之 前,将第一终端设备和第二终端设备所分别拥有的数据源的数据证
明上传到区块链上进行存 证;在联合训练过程中,将上述联合训练过程中的关联数据上传
至区块链上进行存证,这样 后续如果需要,可以根据保存在区块链上的相关数据进行回
溯,以重建联合训练过程,进而 可以根据上述重建的联合训练过程检测出联合训练过程中
的风险行为,以保护数据方的数据 安全,提高联合训练过程的安全性。
[0331] 在一个具体的场景示例中,还可以应用本说明书提供的数据处理方法进行模型的联合训 练。具体可以参阅图8所示。
[0332] 具体实施前,可以参阅以下内容作如下设置和约定。
[0333] 纵向联邦学习的合作应建立在双方有一定信任的基础上。例如,双方为知名公司,公司 信誉有保障;或双方为集团内子公司。因此,可以不考虑参与方恶意破坏系统,或恶意
损害 其他参与方利益的情况,例如,某参与方发送恶意病毒包给其他参与方。
[0334] 纵向联邦学习的合作应建立在双方共赢的基础上,即模型的成功建立可以为各参与方带 来收益。收益可激励各参与方对联邦学习做出贡献,而非破坏。
[0335] 各参与方在纵向联邦学习开始前,应制定某种具有法律效益的协议,以支持本方案。
[0336] 以参与方A(对应第一终端设备)与参与方B(对应第二终端设备)的两方纵向联邦学 习为例说明发明方案。当然该方案也可推广至多参与方(参与方数量大于2)的情况。本
方 案基于区块链技术,对各参与方的数据、调度日志、交互内容及模型结果等内容进行存
证; 并引入可信第三方,对各参与方动作进行审计。方案中的存证内容具体可以包括:
[0337] 数据样本存证:为规范参与方行为,确定参与方使用约定的数据样本进行联邦学习任务, 需记录每个参与方的全量数据样本信息,作为参与方的“数据资产证明”(即第一
数据证明 和第二数据证明)。由于参与方数据样本不可暴露,参与方在本地对每个数据样
本建立默克 尔树,仅将默克尔树的根作为该条数据样本的“资产证明”上传至区块链存储。
[0338] 对齐的数据id(即第一数据标识和第二数据标识)存证:在全量数据样本进行样本对齐 后,可得到双方数据样本交集的id。由于PSI(加密和对齐模块)的目的是保护不在交
集中 的数据样本,所以交集中的数据样本id可暴露给各参与方。需记录交集中的数据样本
id,以 确定各参与方最终参与联邦学习模型训练的数据样本。
[0339] 调度日志存证:联邦学习调度日志主要记录各参与方的动作、调度信息及运行状态信息。 需记录调度日志,保证联邦学习全过程可追溯。
[0340] 批处理信息存证:若联邦学习采用批处理的方式训练模型,则需记录各批中数据样本的 id及顺序;若直接使用全量数据样本训练,则只需记录数据样本使用顺序。由于在
纵向联邦 学习中,一条数据样本的特征由多方提供,所以在各方使用本地数据样本做计算
时,需使用 同样的数据样本顺序,以保证中间结果对齐。
[0341] 加密id信息与中间结果存证:需记录各参与方在PSI模块交互的id信息与机器学习训 练模块交互的中间结果。由于各参与方发出的是加密的id信息或中间结果,所以可直
接记录。
[0342] 模型存证:需记录各参与方最终得到的模型的哈希值。由于模型属于参与方隐私,所以 需映射为哈希值。
[0343] 具体实施时,带有存证功能的纵向联邦学习可以包括以下步骤:
[0344] S1:双方准备全量数据样本(即第一数据源和第二数据源)。对于每一条数据样本,建 立默克尔树,并将其根值上传至区块链存证,作为该参与方的“数据资产证明”(即第一
数 据证明和第二数据证明)。
[0345] S2:全量数据id进入PSI模块,通过多次交互加密的id信息,找到双方数据样本的交 集。过程中,上传所有调度日志至区块链存证;双方每次交互信息后,由接收方将带有发
送 方签名的加密的id信息上传至区块链,使得双方交互的加密的id信息全部在区块链上
存证; 最终,上传双方数据样本的交集id至区块链存证。
[0346] S3:双方的交集数据样本作为训练数据样本,输入机器学习模型训练模块。将训练数据 样本的使用顺序上传至区块链存证。
[0347] S4:在机器学习模型训练模块中,上传所有调度日志至区块链存证;双方利用己方数据 样本,在本地训练部分模型或进行计算,之后将需要的加密的中间结果发送至对方。
双方多 次交互加密的中间结果,并对加密中间结果的进行运算,迭代己方模型,直至完成
训练。每 次交互后,由接收方将带有发送方签名的加密的中间结果上传至区块链,使得双
方交互的加 密的中间结果全部在区块链上存证。
[0348] S5:双方得到部分模型,将部分模型映射为哈希值,上传至区块链。
[0349] 通过在区块链上存储数据资产证明(数据样本存证)、调度日志信息(调度日志存证)、 交互信息(对齐的数据id存证、批处理信息存证与加密id信息与中间结果存证)及模
型信 息(模型存证),记录联邦学习的全流程。数据资产记录参与方的数据信息;调度日志
记录 联邦学习过程中,各参与方的操作行为;交互信息记录各参与方的操作内容;模型信
息记录 建模所得的结果。四类信息结合,可恢复联邦学习建模全流程,以便后续审计。
[0350] 调度日志不包括参与方的敏感信息,可直接存储;数据资产证明存储默克尔树根,交互 信息加密存储,模型信息映射为哈希存储,均未暴露参与方敏感信息。存证的同时保
证参与 方信息的安全性。
[0351] 然而,正因为存证信息的安全性,存证内容不能直接用于审计。本方案引入可信第三方, 在出现问题时,利用存证内容,对联邦学习过程与各参与方操作进行审计。
[0352] 引入各参与方均认可的第三方(以下称仲裁方),如监管机构等,主导审计流程。各参 与方达成协议,在联邦学习过程出现问题时,将配合审计,为仲裁方提供所需条件与数
据。 在某参与方认为联邦学习过程出现问题时,可向仲裁方提供问题证据,并提出审计请
求;仲 裁方在审核证据后,制定审核方案,并要求各参与方提供相关条件与数据。仲裁方需
在参与 方侧审计:①参与方使用代码是否被篡改;②参与方使用数据是否与约定数据一
致;③在代 码与数据正确的情况下,参与方记录在区块链的内容是否正确。仲裁方在正确
的代码上,输 入与区块链记录匹配的数据,可恢复联邦学习建模全流程,以审计参与方是
否存在不当操作 或作恶行为。例如,在审计PSI模块时,仲裁方首先要求各参与方提供代
码,并与正确代码 匹配;之后,仲裁方验证数据是否与该参与方的数据资产证明匹配,最后
复现PSI过程,并 将匹配结果与存证的对齐的数据id对比,若结果不同,则可找出有问题的
参与方。例如,在 审计机器学习模型训练模块时,仲裁方首先验证代码正确性,并匹配交集
数据的Merkle根值 与id正确性;之后仲裁方使用模块的输入数据,逐步复原机器学习训练
全流程,检查梯度等 重要中间结果,若发现某参与方的中间结果与存证内容不匹配,则对
该参与方进行追责;最 后需核实所得模型的哈希值是否与区块链记录值匹配。
[0353] 更细节地,由于PSI模块中对齐的数据id,机器学习模型训练模块中的加密id信息与中 间结果等交互信息均有存证记录,仲裁方可要求参与方对中间结果解密,然后对参与
方的某 一步交互进行审计。此时,仲裁方可以避免接触各参与方的原始数据,仅使用交互
信息存证 审计各参与方操作,更大程度上保证各参与方的数据隐私。
[0354] 通过上述场景示例,可以验证通过加入区块链存证审计功能,避免参与方作恶,保护数 据安全,能安全地进行联合训练,得到效果较好、准确度较高的目标模型。
[0355] 虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性 的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多
步骤执行顺 序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行
时,可以按照 实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多
线程处理的环 境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体
意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包
括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品
或者设备所固 有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方
法、产品或者设 备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并
不表示任何特定 的顺序。
[0356] 本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以 通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编
程逻辑控 制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是
一种硬件部 件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结
构。或者甚至, 可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以
是硬件部件内的 结构。
[0357] 本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模 块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对
象、组 件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计
算环境 中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,
程序模块 可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0358] 通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软 件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本
质上可以 以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/
RAM、磁 碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终
端,服务 器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方
法。
[0359] 本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相 参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于
众多通用 或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备
或便携式 设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子
设备、网 络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等
等。
[0360] 虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变 化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离
本说明书的 精神。