业务数据处理方法、装置、电子设备及存储介质与流程

文档序号:27239595发布日期:2021-11-03 18:57阅读:99来源:国知局
业务数据处理方法、装置、电子设备及存储介质与流程

1.本发明涉及云网络中的数据处理技术,尤其涉及业务数据处理方法、装置、电子设备及存储介质。


背景技术:

2.在不同的业务方对部分业务数据进行共享时,需要保证安全多方计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。相关技术中,由于加密传输的缺陷,经常性的会造成用户的隐私数据泄露,同时,在面对体量较大的待处理业务数据时,传统交换加密函数结构中的幂模操作的计算复杂度较高,加密过程的硬件开销较大,使得用户的等待时间较长,加重了硬件使用成本,不利于在移动方设备中实现业务数据处理。


技术实现要素:

3.有鉴于此,本发明实施例提供一种业务数据处理方法、装置、电子设备及存储介质,能够实现通过配置相应的虚拟样本确定样本集合交集对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本,最终确定联邦模型参数,由此,在保证数据不交换的情况下,降低计算代价,完成确定联邦模型参数的任务,提升业务数据处理的效率,能够在移动方设备中实现对业务数据的处理,节省用户的等待时间,保证隐私数据不泄露。
4.本发明实施例的技术方案是这样实现的:
5.本发明实施例提供了一种业务数据处理方法,包括:
6.获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合,其中,所述业务数据处理系统至少包括第一业务方设备和第二业务方设备;
7.根据所述第一样本集合,确定与所述第一业务方设备相匹配的虚拟样本;
8.基于与所述第一业务方设备相匹配的虚拟样本和与所述第二业务方设备相匹配的第二样本集合,确定样本集合交集;
9.确定与所述第一业务方设备相匹配的第一密钥集合以及与所述第二业务方设备相匹配的第二密钥集合;
10.通过所述第一密钥集合和所述第二密钥集合,对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本;
11.基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数。
12.本发明实施例还提供了一种业务数据处理装置,包括:
13.信息传输模块,用于获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合,其中,所
述业务数据处理系统至少包括第一业务方设备和第二业务方设备;
14.信息处理模块,用于根据所述第一样本集合,确定与所述第一业务方设备相匹配的虚拟样本;
15.所述信息处理模块,用于基于与所述第一业务方设备相匹配的虚拟样本和与所述第二业务方设备相匹配的第二样本集合,确定样本集合交集;
16.所述信息处理模块,用于确定与所述第一业务方设备相匹配的第一密钥集合以及与所述第二业务方设备相匹配的第二密钥集合;
17.所述信息处理模块,用于通过所述第一密钥集合和所述第二密钥集合,对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本;
18.所述信息处理模块,用于基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数。
19.上述方案中,
20.所述信息处理模块,用于基于所述业务数据处理系统中第一业务方设备的业务类型,确定与所述第一业务方设备相匹配的样本集合;
21.所述信息处理模块,用于基于所述业务数据处理系统中第二业务方设备的业务类型,确定与所述第二业务方设备相匹配的样本集合;
22.所述信息处理模块,用于对所述第一业务方设备相匹配的样本集合和所述第二业务方设备相匹配的样本集合进行样本对齐处理,以实现获取与第一业务方设备相匹配的第一样本集合,以及与第二业务方设备相匹配的第二样本集合。
23.上述方案中,
24.所述信息处理模块,用于利用第一业务方设备确定所述第一样本集合中样本id的取值参数和分布参数;
25.所述信息处理模块,用于基于所述第一样本集合中样本id的取值参数和分布参数,生成与所述第一业务方设备相匹配的虚拟样本。
26.上述方案中,
27.所述信息处理模块,用于将所述虚拟样本与所述第一样本集合进行合并,形成带有虚拟样本的第一样本集合;
28.所述信息处理模块,用于遍历带有虚拟样本的第一样本集合,确定虚拟样本的id集合;
29.所述信息处理模块,用于遍历第二样本集合,确定带有虚拟样本的第一样本集合和第二样本集合的样本集合交集。
30.上述方案中,
31.所述信息处理模块,用于响应于第一业务方设备和第二业务方设备的方设备类型,触发目标应用进程;
32.所述信息处理模块,用于基于所述目标应用进程,确定所述第一样本集合与所述第二样本集合的数据交集集合;
33.所述信息处理模块,用于通过所述目标应用进程获取所述第一业务方设备对应的第一虚拟样本集合以及所述第二业务方设备对应的第二虚拟样本集合;
34.所述信息处理模块,用于根据所述第一样本集合与所述第二样本集合的数据交集
集合、第一虚拟样本集合和第二虚拟样本集合,通过所述目标应用进程,确定与所述第一业务方设备相匹配的虚拟样本。
35.上述方案中,
36.所述信息处理模块,用于将所述虚拟样本与所述第一样本集合进行合并,形成带有虚拟样本的第一样本集合;
37.所述信息处理模块,用于遍历带有虚拟样本的第一样本集合,确定虚拟样本的id集合;
38.所述信息处理模块,用于遍历第二样本集合,确定带有虚拟样本的第一样本集合和第二样本集合的样本集合交集。
39.上述方案中,
40.所述信息处理模块,用于基于所述第一密钥集合和所述第二密钥集合,交换不同的公钥至相应的业务方设备,以实现获得联邦模型的初始参数;
41.所述信息处理模块,用于确定与所述业务数据处理系统相匹配的小批量梯度下降算法对应的样本数量;
42.所述信息处理模块,用于根据小批量梯度下降算法对应的样本数量对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本。
43.上述方案中,
44.所述信息处理模块,用于将与所述业务数据处理系统相匹配的训练样本,代入所述业务数据处理系统对应的联邦模型所对应的损失函数;
45.所述信息处理模块,用于确定所述损失函数满足相应的收敛条件时所述业务数据处理系统对应的联邦模型对应的模型更新参数;
46.所述信息处理模块,用于基于联邦模型对应的模型更新参数,确定所述联邦模型的模型参数。
47.上述方案中,
48.所述信息处理模块,用于当基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练时,通过所述第一业务方设备将所述模型更新参数所匹配中虚拟样本对应的残差进行调整,以实现调整所述虚拟样本对所述联邦模型的模型参数的影响。
49.上述方案中,
50.所述信息处理模块,用于当基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练时,触发目标应用进程;
51.所述信息处理模块,用于基于所述目标应用进程,将所述模型更新参数所匹配中虚拟样本对应的残差进行调整,以实现调整所述虚拟样本对所述联邦模型的模型参数的影响。
52.本发明实施例还提供了一种电子设备,所述电子设备包括:
53.存储器,用于存储可执行指令;
54.处理器,用于运行所述存储器存储的可执行指令时,实现前述的业务数据处理方法。
55.本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机
程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述业务数据处理方法的各种可选实现方式中所提供的不同实施例及实施例的组合。
56.本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前述的业务数据处理方法。
57.本发明实施例具有以下有益效果:
58.本发明实施例通过获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合,其中,所述业务数据处理系统至少包括第一业务方设备和第二业务方设备;根据所述第一样本集合,确定与所述第一业务方设备相匹配的虚拟样本;基于与所述第一业务方设备相匹配的虚拟样本和与所述第二业务方设备相匹配的第二样本集合,确定样本集合交集;确定与所述第一业务方设备相匹配的第一密钥集合以及与所述第二业务方设备相匹配的第二密钥集合;通过所述第一密钥集合和所述第二密钥集合,对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本;基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数;由此,在保证数据不交换的情况下,降低计算代价,完成确定联邦模型参数的任务,提升业务数据处理的效率,能够在移动方设备中实现对业务数据的处理,节省用户的等待时间,保证隐私数据不泄露。
附图说明
59.图1是本发明实施例提供的业务数据处理方法的使用环境示意图;
60.图2为本发明实施例提供的业务数据处理装置的组成结构示意图;
61.图3为本发明实施例提供的业务数据处理方法一个可选的流程示意图;
62.图4为本发明实施例提供的业务数据处理方法的业务数据处理过程示意图;
63.图5为本发明实施例提供的业务数据处理方法的业务数据处理过程示意图;
64.图6为本发明实施例提供的业务数据处理方法的业务数据处理过程示意图;
65.图7为本发明实施例中业务数据处理方法一个可选的流程示意图;
66.图8为本发明实施例提供的业务数据处理方法的业务数据处理过程示意图;
67.图9为本发明实施例中业务数据处理方法一个可选的流程示意图。
具体实施方式
68.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
69.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
70.对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
71.1)业务方设备,包括但不限于:普通业务方设备、专用业务方设备,其中所述普通方设备与发送通道保持长连接和/或短连接,所述专用业务方设备与所述发送通道保持长连接,可以为服务器。
72.2)客户端,业务方设备中实现特定功能的载体,例如移动客户端(app)是业务方设备中特定功能的载体。
73.3)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
74.4)联邦学习,联邦学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现协作。
75.5)区块链(block chain),是由区块(block)形成的加密的、链式的交易的存储结构。
76.例如,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。
77.6)区块链网络(block chain network),通过共识的方式将新区块纳入区块链的一系列的节点的集合,其中,每一个业务方设备可以作为区块链网络中的不同区块链节点。
78.7)模型参数,是使用通用变量来建立函数和变量之间关系的一个数量。在人工神经网络中,模型参数通常是实数矩阵。
79.图1为本发明实施例提供的业务数据方法的使用场景示意图,参考图1,业务方设备(包括业务方设备10

1和业务方设备10

2)上设置有能够显示相应资源交易数据的软件的客户端,例如虚拟资源或者实体资源进行金融活动或者通过虚拟资源支付的客户端或插件,用户通过相应的客户端可以获得资源交易数据并进行展示,并在虚拟资源变化过程中触发相应的欺诈识别进程(例如微信财付通支付或者微信中的程序进行金融借贷进程),这一过程中需要通过部署于服务器的数据处理装置对用户的风险进行判断,并且期望在不获取其他机构节点的隐私数据的情况下,获取其他机构中的业务数据的处理结果进行辅助分析,以通过相应的预测结果确定目标用户的风险等级(是否执行出借);不同的业务方设备可以直接连接业务方设备200。
80.当然,本发明所提供的用户行为业务数据处理装置可以应用于虚拟资源或者实体资源进行金融活动或者通过实体金融资源支付环境(包括但不限于各类型的实体金融资源变化环境、电子支付购物环境、电商购物时进行反作弊的使用环境)或者社交软件进行信息交互的使用环境,在各类型的实体金融资源进行金融活动或者通过虚拟资源支付中通常会对不同数据来源的金融信息进行处理,最终在业务方设备的用户界面(user interface,ui)上呈现出由待测试样本的排序结果所确定的业务数据处理系统的目标业务数据。
81.在本发明的一些实施例中,业务数据处理过程可以由计算平台完成。计算平台可以是设于可信第三方设备的平台,也可以是设于多个数据方中的一个数据方或分布在多个
数据方的平台。计算平台可以与各个数据方进行数据交互。图1中的多个业务方(可以是持有不同的业务数据的数据方服务器)可以是相同数据类别的数据方,例如都是银行类别数据方,或者都是购物平台数据方等等。多个数据方也可以是不同类别的数据方,例如业务方设备10

1是购物平台数据方,业务方设备10

2是借贷平台数据方,或者上述例子中业务方设备10

1是联系人信息的数据拥有方,业务方设备10

2是服务提供商,等等。在业务数据处理场景下,这些数据方所提供的业务数据通常是同一类型的业务数据。例如,业务方设备10

1是购物平台数据方,业务方设备10

2是借贷平台数据方的情况下,如果购物平台绑定有付款银行卡号,借贷平台绑定有提款还款银行卡号,双方提供的用于业务数据处理的业务数据可以是银行卡号以及转账信息或者借贷信息。如果购物平台数据方和借贷平台数据方都登记有用户的电话号码,双方提供的用于业务数据处理的业务数据也可以是电话号码。在其他业务场景下,业务数据也可以包含其他数据,在此不再一一列举。
82.作为一个示例,业务方设备200或者业务方设备10

1均可以用于布设业务数据处理装置以实现本发明所提供的业务数据处理方法,以通过获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合,其中,所述业务数据处理系统至少包括第一业务方设备和第二业务方设备;根据所述第一样本集合,确定与所述第一业务方设备相匹配的虚拟样本;基于与所述第一业务方设备相匹配的虚拟样本和与所述第二业务方设备相匹配的第二样本集合,确定样本集合交集;确定与所述第一业务方设备相匹配的第一密钥集合以及与所述第二业务方设备相匹配的第二密钥集合;通过所述第一密钥集合和所述第二密钥集合,对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本;基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数。
83.下面对本发明实施例的业务数据处理装置的结构做详细说明,业务数据处理装置可以各种形式来实施,如带有业务数据处理装置处理功能的专用业务方设备,也可以为设置有业务数据处理装置处理功能的服务器或者服务器群组,例如部署于业务方设备10

1中的业务信息处理进程,例如前序图1中的业务方设备200。图2为本发明实施例提供的业务数据处理装置的组成结构示意图,可以理解,图2仅仅示出了业务数据处理装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
84.本发明实施例提供的业务数据处理装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。业务数据处理装置中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。
85.其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
86.可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持业务方设备(如10

1)的操作。这些数据的示例包括:用于在业务方设备(如10

1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱
动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
87.在一些实施例中,本发明实施例提供的业务数据处理装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的业务数据处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的业务数据处理方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)或其他电子元件。
88.作为本发明实施例提供的业务数据处理装置采用软硬件结合实施的示例,本发明实施例所提供的业务数据处理装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的业务数据处理方法。
89.作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
90.作为本发明实施例提供的业务数据处理装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)或其他电子元件执行实现本发明实施例提供的业务数据处理方法。
91.本发明实施例中的存储器202用于存储各种类型的数据以支持业务数据处理装置的操作。这些数据的示例包括:用于在业务数据处理装置上操作的任何可执行指令,如可执行指令,实现本发明实施例的从业务数据处理方法的程序可以包含在可执行指令中。
92.在另一些实施例中,本发明实施例提供的业务数据处理装置可以采用软件方式实现,图2示出了存储在存储器202中的业务数据处理装置,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括业务数据处理装置,业务数据处理装置中包括以下的软件模块:
93.信息传输模块2081,用于获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合,其中,所述业务数据处理系统至少包括第一业务方设备和第二业务方设备。
94.信息处理模块2082,用于根据所述第一样本集合,确定与所述第一业务方设备相匹配的虚拟样本。
95.所述信息处理模块2082,用于基于与所述第一业务方设备相匹配的虚拟样本和与所述第二业务方设备相匹配的第二样本集合,确定样本集合交集。
96.所述信息处理模块2082,用于确定与所述第一业务方设备相匹配的第一密钥集合
以及与所述第二业务方设备相匹配的第二密钥集合。
97.所述信息处理模块2082,用于通过所述第一密钥集合和所述第二密钥集合,对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本。
98.所述信息处理模块2082,用于基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数。
99.根据图2所示的电子设备,在本技术的一个方面中,本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述业务数据处理方法的各种可选实现方式中所提供的不同实施例及实施例的组合。
100.结合图2示出的业务数据处理装置说明本发明实施例提供的业务数据处理方法,在介绍本技术所提供的业务数据处理方法之前,优先对相关技术中的金融风控场景下的业务数据处理方法进行说明,其中,业务数据处理的过程中,由于业务类型众多,每个用户都可能拥有不同的网络数据,且部分用户拥有网络中部分节点的标签,但是用户之间为了实现保护隐私数据,往往不会互相共享数据,对于不同的业务方设备,也不会交换用户的数据实现业务数据的处理,例如:在银行风控场景下,银行a希望获得当前申请个人信贷客户的风险排序,其中,银行a拥有历史确定的劣质客户,而另一家银行b拥有相同客户的资金转账关系,此时银行a可以通过无法不接触到银行b的资金转账数据情况下,利用银行b的资金转账关系和自己的劣质客户标签计算出目标客户的风险等级。而交换用户数据虽然能够实现确定目标客户的风险等级,却泄露了用户的数据隐私,造成用户数据的外流。
101.为解决上述缺陷,参见图3,图3为本发明实施例提供的业务数据处理方法一个可选的流程示意图,可以理解地,图3所示的步骤可以由运行业务数据处理装置的各种电子设备执行,例如可以是可以业务数据的服务器或服务器群组也可以是业务进程的业务方设备。具体包括:
102.步骤301:业务数据处理装置获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合。
103.其中,所述业务数据处理系统至少包括第一业务方设备和第二业务方设备;具体来说,业务数据处理系统中的每一业务方设备都可以用于对多个数据提供方针对多方联合查询语句协同进行数据查询的场景,如多个数据提供方针对多方联合查询语句协同进行多提供方的隐私数据查询的情况,也可以是纵向联邦学习的场景,其中,纵向联邦学习是指在两个数据集的用户重叠较多而用户特征重叠较少的情况下,可以把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。这种方法叫做纵向联邦学习。例如:有两个不同的机构,一家是某地的银行,另一家是同一个地方的电商。它们的用户群体很有可能包含该地的大部分居民,因此用户的交集较大。但是,由于银行记录的都是用户的收支行为与信用评级,而电商则保有用户的浏览与购买历史,因此它们的用户特征交集较小。纵向联邦学习就是将这些不同特征在加密的状态下加以聚合,以增强模型能力。
104.具体的,各数据提供方的数据都存储在各自的数据存储系统或者云服务器中,各
提供方需要公开的原数据信息可以是不同的。通过本技术所提供的业务数据处理方法可以对不同业务方设备所处理的各种隐私数据的处理结果进行交换,同时这一过程中不泄漏各个业务方设备的原数据,计算结果对各提供方公开,以保证各个业务方设备均能够及时准确地获得相应的目标业务数据。
105.在本发明的一些实施例中,获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合,可以通过以下方式实现:
106.基于所述业务数据处理系统中第一业务方设备的业务类型,确定与所述第一业务方设备相匹配的样本集合;基于所述业务数据处理系统中第二业务方设备的业务类型,确定与所述第二业务方设备相匹配的样本集合;对所述第一业务方设备相匹配的样本集合和所述第二业务方设备相匹配的样本集合进行样本对齐处理,以实现获取与第一业务方设备相匹配的第一样本集合,以及与第二业务方设备相匹配的第二样本集合。其中,参考图4,图4为本发明实施例提供的业务数据处理方法的业务数据处理过程示意图,业务数据处理系统的参与方a和参与方b分别拥有训练特征数据集d1和d2,即参与方a与参与方b分别拥有部分数据特征。参与方a和b可以通过纵向联邦学习来扩展数据特征维度或者获得数据标签信息,以便训练更好的模型。例如,在两方纵向联邦学习里,参与方a(例如,某广告公司)和参与方b(例如,某社交网络平台)合作,联合训练一个或多个基于深度学习的个性化推荐模型。其中,参与方a拥有部分数据特征,例如,(x1,x2,

,x40),共40维数据特征;而参与方b拥有另一部分数据特征,例如,(x41,x42,

,x100),共60维数据特征。参与方a和b联合起来,就拥有了更多的数据特征,例如,a和b数据特征加起来就有100维数据特征,所以显著扩展了训练数据的特征维度。对于有监督深度学习,参与方a和/或参与方b还拥有训练数据的标签信息y。
107.在本发明的一些实施例中,两个参与方中有一个没有特征数据,例如,参与方a没有特征数据,只有标签信息。
108.参与方a和参与方b在进行纵向联邦学习模型训练之前,需要先将他们拥有的训练数据以及标签信息进行对齐,筛选出他们拥有的训练数据的id的交集,即求取集合d1和d2里相同样本id的交集。例如,参与方a和b分别拥有的同一个银行客户的特征信息xa和xb,需要进行对齐,即在模型训练时拼在一起,形成一个训练样本(xa,xb)。其中,不同的银行客户的特征信息拼在一起没有意义,不能构造一条训练样本。
109.其中,参考图5,图5为本发明实施例提供的业务数据处理方法的业务数据处理过程示意图,需要找出参与方a与参与方b共有的训练样本id(这一过程也称为样本对齐,数据对齐,或者安全集合求交集处理),需要找出参与方a与参与方b的公共客户,即客户u1、u2、u7。例如,一家银行和另一家电商共同的客户的id,一般可以用手机号或者身份证号的哈希值作为id标识。
110.步骤302:业务数据处理装置根据所述第一样本集合,确定与所述第一业务方设备相匹配的虚拟样本。
111.步骤303:业务数据处理装置基于与所述第一业务方设备相匹配的虚拟样本和与所述第二业务方设备相匹配的第二样本集合,确定样本集合交集。
112.在本发明的一些实施例中,根据所述第一样本集合,确定与所述第一业务方设备
相匹配的虚拟样本,可以通过以下方式实现:
113.第一业务方设备确定所述第一样本集合中样本id的取值参数和分布参数;基于所述第一样本集合中样本id的取值参数和分布参数,生成与所述第一业务方设备相匹配的虚拟样本。其中,可以将所述虚拟样本与所述第一样本集合进行合并,形成带有虚拟样本的第一样本集合;遍历带有虚拟样本的第一样本集合,确定虚拟样本的id集合;遍历第二样本集合,确定带有虚拟样本的第一样本集合和第二样本集合的样本集合交集。具体来说,结合,图4与图5所示,参与方a根据自己拥有的样本id的取值和分布情况随机生成一些虚拟的样本id(以及对应的样本特征)。参与方a使用他拥有的真实的样本id集合与所述生成的虚拟的样本id集合的并集与参与方b的样本id集合进行安全集合求交集,获得交集i。这样的结果,就是所述交集i里包含参与方a的虚拟的id和真实的id。虽然参与方a和参与方b都知道所述交集i中的样本id信息,但是这里利用虚拟的样本id来混淆真实的样本id,可以保护参与方a的真实样本id不被参与方b确切的知道。
114.在本发明的一些实施例中,根据所述第一样本集合,确定与所述第一业务方设备相匹配的虚拟样本,还可以通过以下方式实现:
115.响应于第一业务方设备和第二业务方设备的方设备类型,触发目标应用进程;基于所述目标应用进程,确定所述第一样本集合与所述第二样本集合的数据交集集合;通过所述目标应用进程获取所述第一业务方设备对应的第一虚拟样本集合以及所述第二业务方设备对应的第二虚拟样本集合;根据所述第一样本集合与所述第二样本集合的数据交集集合、第一虚拟样本集合和第二虚拟样本集合,通过所述目标应用进程,确定与所述第一业务方设备相匹配的虚拟样本。其中,将所述虚拟样本与所述第一样本集合进行合并,形成带有虚拟样本的第一样本集合;遍历带有虚拟样本的第一样本集合,确定虚拟样本的id集合;遍历第二样本集合,确定带有虚拟样本的第一样本集合和第二样本集合的样本集合交集。具体来说,结合前序图4和图5,参考图6,图6为本发明实施例提供的业务数据处理方法的业务数据处理过程示意图,参与方a和参与方b借助第三方或者可信执行环境作为目标进程,进行安全样本id集合求交集(psi),生成样本id交集i1。所述样本id交集i1是真实的公共的样本id的交集,不包括虚拟的样本id。
116.这里将所述第三方称为参与方c,如图3所示例。在这一步里,参与方a和参与方b可以选择对自己的样本id进行加密(或者进行哈希),然后再发送给参与方c。如果选择使用加密传输,则参与方a和参与方b就需要先进行密钥协商,选择相同的密钥,例如,选择相同的rsa公钥。需要说明的是,如果选择加密,则参与方c拿到的是加密的样本id,且参与方c不能对加密的样本id进行解密。
117.参与方c对收到的参与方a发送的样本id集合和参与方b发送的样本id集合进行求交集,可以通过简单的比较完成。参与方c在求得样本id交集i1之后,不会向参与a和参与方b发送id交集i1的具体信息,只会告诉参与方a和参与方b所述id交集i1里元素的个数。所以参与方a和参与方b都不知道他们的公共样本id交集i1里的具体样本id。当交集i1中的元素个数过少时,则无法进行纵向联邦学习。
118.参与方a和参与方b各自生成虚拟的样本id(以及对应的虚拟样本特征)。参与方a和参与方b使用他们的真实样本id集合与所述生成的虚拟id集合一起进行两方安全集合求交集,获得交集i2。所述样本id交集i2包含虚拟的样本id。参与方a和参与方b都知道所述样
本id交集i2里的id。因为所述样本id交集i2里包含有所述虚拟的样本id,所以参与a和参与方b都不知道对方的确切的样本id。
119.在本发明的一些实施例中,为了保证所述样本id交集i2里包含虚拟的样本id,需要参与方a与参与方b生成的虚拟样本id与对方的真实的样本id有交集。为了保证这一点,可以要求参与方a和参与方b在相同的id取值空间里随机生成虚拟的样本id。例如,参与方a和参与方b可以在同一个手机号码段随机生成手机号码。
120.步骤304:业务数据处理装置确定与所述第一业务方设备相匹配的第一密钥集合以及与所述第二业务方设备相匹配的第二密钥集合。
121.步骤305:业务数据处理装置通过所述第一密钥集合和所述第二密钥集合,对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本。
122.其中,通过所述第一密钥集合和所述第二密钥集合,对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本,包括:基于所述第一密钥集合和所述第二密钥集合,交换不同的公钥至相应的业务终端,以实现获得联邦模型的初始参数;确定与所述业务数据处理系统相匹配的样本数量根据样本数量对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本。其中,根据小批量梯度下降算法对应的样本数量对所述样本集合交集进行处理包括分批和小批次的选择,具体来说,参与方a和参与方b分别生成各自的公钥和私钥对(pk1,sk1)和(pk2,sk2),并将所述公钥发送给对方。任何参与方不会向其他参与方披露自己的私钥。所述公钥用于对中间计算结果进行加法同态加密,例如,使用paillier同态加密算法进行同态加密。
123.参与方a和b分别生成随机掩码r2和r1。任何参与方都不会向其他参与方以明文方式披露任何随机掩码。参与方a和b分别随机初始化其本地模型参数w1和w2。在sgd算法里,为了减少计算量、加速模型训练和获得更好的训练效果,每一次sgd迭代中只处理一个小批次(mini

batch)的训练数据,例如,每个小批次包括64个训练样本。这种情况下,需要参与方a和参与方b协调进行训练样本的分批和小批次的选择,以便两个参与方在每次迭代中选择的训练样本是对齐的。
124.步骤306:业务数据处理装置基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数。
125.在本发明的一些实施例中,基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数,可以通过以下方式实现:
126.将与所述业务数据处理系统相匹配的训练样本,代入所述业务数据处理系统对应的联邦模型所对应的损失函数;确定所述损失函数满足相应的收敛条件时所述业务数据处理系统对应的联邦模型对应的模型更新参数;基于联邦模型对应的模型更新参数,确定所述联邦模型的模型参数。其中,为了实现调整所述虚拟样本对所述联邦模型的模型参数的影响,当基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练时,可以通过所述第一业务方设备将所述模型更新参数所匹配中虚拟样本对应的残差进行调整,或者触发目标应用进程;基于所述目标应用进程,将所述模型更新参数所匹配中虚拟样本对应的残差进行调整。其中,基于sgd的模型训练方法需要多次梯度下降迭代,每一次迭代可分为两个阶段:(i)前向计算模型输出和残差(也称为梯度乘子);(ii)后向传播并计算模型的损失函数对模型参数的梯度,并使用所计算的梯度更新模型参
数。上述迭代重复执行,直到满足停止条件(例如,模型参数收敛,或者模型损失函数收敛,或者达到所允许最大训练迭代次数,或者达到最大允许的模型训练时间)。
127.通过所述第一业务方设备将所述模型更新参数所匹配中虚拟样本对应的残差进行调整时,参与方a与参与方b在所述样本交集i的基础上进行联邦模型训练,并且由参与方a负责训练样本的分批和小批次(mini

batch)的选择。为了保护参与方a的样本id,参与方a可以从所述样本交集i选择一些真实的样本id和一些虚拟的样本id形成一个小批次,例如,32个虚拟样本和32个真实样本,组成一个有64个样本的小批次其中,m表示第m个小批次。其中,图7为本发明实施例中业务数据处理方法一个可选的流程示意图,参考图7,参与方a与参与方b在所述样本交集的基础上进行联邦模型训练时,业务数据处理可以包括以下步骤:
128.步骤701:生成不同业务方设备相匹配的密钥集合。
129.步骤702:传输公钥信息。
130.步骤703:参与方a和b分别随机初始化模型参数w1和w2,并生成随机掩码r2和r1。
131.步骤704:参与方a和b分别对随机掩码r2和r1进行同态加密,并发给对方。
132.步骤705:参与方a计算其中,是参与方a拥有的第m个批次的训练样本。参与方a生成随机数r1,在步骤705里发送给参与方b。
133.步骤706:参与方a解密得到参与方b解密得到
134.步骤707:参与方a和参与方b分别进行计算处理。
135.由此可以分获得和
136.步骤708:参与方a计算s、损失函数、梯度乘子δ(也称为残差)
137.其中,s和梯度乘子δ都是行向量,每个元素分别对应一个mini

batch中的每一个样本。例如,参与方a计算z=s1+s2和计算逻辑回归(logr)模型的输出
[0138][0139]
以及梯度算子(也称为残差)
[0140]
其中,参与方a只选择一个mini

batch中的真实样本对应的梯度乘子来计算梯度和更新模型参数。参与方a将梯度乘子δ中对应虚拟样本的元素都置为零,例如,参与方a生成行向量δ=[0,δ1,0,δ3,

],这里假设第一个和第三个样本是虚拟样本。
[0141]
在本发明的一些实施例中,参与方a计算其中,n是小批次里真实样本的个数。这是为了计算小批次的平均梯度。参与方a用pk1对δ加密,获得
[0142]
步骤707中参与方a发送给参与方b。
[0143]
步骤708参与方b计算这里假设是一个小批次的数据矩阵(矩阵的每一行是一个样本)。其中,r
b
是参与方b生成的一个随机向量。
[0144]
步骤709:参与方b发送给参与方a。
[0145]
步骤710:参与方传输s2。
[0146]
在本发明的一些实施例中,继续参考图8,在图7所示的步骤执行之后,触发目标应用进程;基于所述目标应用进程,将所述模型更新参数所匹配中虚拟样本对应的残差进行调整时,参与方a与参与方b在所述样本交集i2的基础上进行联邦模型训练,并且由参与方a负责训练样本的分批和小批次的选择。为了保护参与方a的样本id,参与方a可以从所述交集i选择一些真实的样本id和一些虚拟的样本id形成一个小批次,例如,32个虚拟样本和32个真实样本,组成一个有64个样本的小批次
[0147]
联邦模型训练流程的步骤701

步骤710步与图7中所描述的步骤完全一致,可以迭代执行。如图7所示,在步骤711步中,参与方a计算s、损失函数、梯度乘子δ(也称为残差)。这里z和梯度乘子δ都是行向量,每个元素分别对应一个mini

batch中的每一个样本。例如,参与方a计算z=s1+s2和计算逻辑回归(logr)模型的输出
[0148][0149]
以及梯度算子(也称为残差)之后的步骤需要借助参与方c来完成。包括:
[0150]
步骤712:参与方a发送梯度乘子δ给参与方c。
[0151]
其中,参与方c将收到的梯度乘子δ中对应虚拟样本的元素都置为零,例如,这里假设第一个和第三个样本是虚拟样本,并且参与方c知道所述样本小批次里的样本id(或者是加密的样本id,或者是哈希的样本id)。参与方c可以通过交集i1来识别虚拟样本。
[0152]
在本发明的一些实施例中,参与方c计算其中,n是小批次中的真实样本的个数。选择n是小批次中的真实样本的个数为了计算小批次平均梯度,提升数据处理速度。参与方c用自己的公钥pk3对加密,获得
[0153]
步骤713:参与方c发送给参与方a和参与方b。
[0154]
步骤714:参与方a计算并发送给参与方c。
[0155]
其中,r
a
是参与方a生成的一个随机向量。相应的,参与方b计算并发送给参与方c。其中,r
b
是参与方b生成的一个随机向量。
[0156]
步骤715:参与方a解密
[0157]
步骤716:参与方a发送给参与方b。
[0158]
其中,在步骤715里,参与方c对进行解密,并发送给参与方a。相应的,参与方c对进行解密,并发送给参与方b。
[0159]
在本发明的一些实施例中,参与方a计算模型损失函数对于模型参数w1的梯度,对于逻辑回归(logr)模型,模型损失函数对于模型参数w1的梯度为:所述
参与方a在其本地更新模型参数:w1=w1‑
ηg
a
。其中η是学习率,例如,η=0.01。
[0160]
参与方b计算模型损失函数对于模型参数w2的梯度,对于逻辑回归(logr)模型,模型损失函数对于模型参w2的梯度为:参与方b在其本地更新模型参数:w1=w1‑
ηg
b
。其中η是学习率,例如,η=0.01η=0.01。
[0161]
在本发明的一些实施例中,参与方a和参与方b可以使用不同的学习率来分别更新他们本地的模型参数
[0162]
在本发明的一些实施例中,当业务数据处理系统的业务方设备(业务数据持有方)对系统进行迁移或重新配置时,可以通过购买区块链网络服务获取,以获取区块链网络中所存储的信息,实现快速业务数据处理处理装置,例如实施例中的业务参与方a和b均可以购买区块链网的服务,通过所部署的业务方设备成为区块链网络中的相应节点,其中,可以将虚拟样本、样本集合交集、第一密钥集合、第二密钥集合以及联邦模型参数以及目标业务数据送至区块链网络,以使所述区块链网络的节点将所述虚拟样本、样本集合交集、第一密钥集合、第二密钥集合以及联邦模型参数以及目标业务数据填充至新区块,且当对所述新区块共识一致时,将所述新区块追加至区块链的尾部。在本发明的一些实施例中,当接收所述区块链网络中的其他节点的数据同步请求时,可以响应于所述数据同步请求,对所述其他节点的权限进行验证;当所述其他节点的权限通过验证时,控制当前节点与所述其他节点之间进行数据同步,以实现所述其他节点获取虚拟样本、样本集合交集、第一密钥集合、第二密钥集合以及联邦模型参数以及目标业务数据。
[0163]
在本发明的一些实施例中,还可以响应于查询请求,解析所述查询请求以获取对应的对象标识;根据所述对象标识,获取区块链网络中的目标区块内的权限信息;对所述权限信息与所述对象标识的匹配性进行校验;当所述权限信息与所述对象标识相匹配时,在所述区块链网络中获取相应的虚拟样本、样本集合交集、第一密钥集合、第二密钥集合以及联邦模型参数以及目标业务数据;响应于所述查询指令,将所获取的相应的虚拟样本、样本集合交集、第一密钥集合、第二密钥集合以及联邦模型参数以及目标业务数据向相应的客户端进行推送。
[0164]
其中,本发明实施例可结合云技术实现,云技术(cloud technology)是指在广域网或局域网内将硬件、软件及网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术,也可理解为基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术及应用技术等的总称。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站,因此云技术需要以云计算作为支撑。
[0165]
需要说明的是,云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池平台,简称云平台,一般称为基础设施即服务(iaas,infrastructure as a service),在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(可为虚拟化机器,包含操作系统)、存储设备和网络设备。
[0166]
结合前序图1所示,本发明实施例所提供的数据处理方法可以通过相应的云端设备实现,例如:不同业务方设备(包括方设备10

1和方设备10

2)通过直接连接位于云端的
业务方设备200。值得说明的是,业务方设备200可为实体设备,也可为虚拟化设备。
[0167]
下面结合不同的实时场景对本技术所提供的业务数据处理方法进一步的说明,其中,金融风控场景的跨行业合作场景例如业务方设备分别对应信贷公司a和银行b。其中,信贷公司a收到表1所示的用户的贷款征信验证:
[0168]
表1
[0169][0170]
为了进一步控制风险,信贷公司a希望在正式发放贷款之前,筛选掉其中那些存款低或未知的用户,而用户的存款信息是信贷公司a业务范围外内容。
[0171]
同时,银行b拥有那些存款高于一万元的用户身份证集合,其中,s1={不同用户的电话号码},参考表2。
[0172]
表2
[0173][0174]
银行b可以借助信贷公司a的数据做进一步的风险控制,即计算s1∩s2,获得最终的建议。具体参考图9,图9为本发明实施例提供的业务数据处理方法一个可选的流程示意图,可以包括以下步骤:
[0175]
步骤901:业务数据处理装置获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合。
[0176]
步骤902:确定与第一业务方设备a相匹配的虚拟样本。
[0177]
步骤903:确定a和b样本集合交集。
[0178]
步骤904:交换秘钥集合中的公钥,确定训练样本。
[0179]
步骤905:对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数。
[0180]
步骤906:部署经过训练的联邦模型,实现业务数据处理。
[0181]
本发明实施例通过获取与业务数据处理系统中的第一业务方设备相匹配的第一样本集合,以及与业务数据处理系统中的第二业务方设备相匹配的第二样本集合,其中,所述业务数据处理系统至少包括第一业务方设备和第二业务方设备;根据所述第一样本集
合,确定与所述第一业务方设备相匹配的虚拟样本;基于与所述第一业务方设备相匹配的虚拟样本和与所述第二业务方设备相匹配的第二样本集合,确定样本集合交集;确定与所述第一业务方设备相匹配的第一密钥集合以及与所述第二业务方设备相匹配的第二密钥集合;通过所述第一密钥集合和所述第二密钥集合,对所述样本集合交集进行处理,确定与所述业务数据处理系统相匹配的训练样本;基于与所述业务数据处理系统相匹配的训练样本,对业务数据处理系统对应的联邦模型进行训练,确定联邦模型参数;由此,在保证数据不交换的情况下,降低计算代价,完成确定联邦模型参数的任务,提升业务数据处理的效率,能够在移动方设备中实现对业务数据的处理,节省用户的等待时间,保证隐私数据不泄露。
[0182]
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1