一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据源质量评估方法、装置、设备及计算机可读存储介质与流程

2022-04-09 08:48:42 来源:中国专利 TAG:


1.本技术涉及人工智能技术,尤其涉及一种数据源质量评估方法、装置、电子设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.随着各行各业逐渐加强数据隐私保护的大趋势下,联邦学习,一种可以在保护数据隐私的情况下协同多方数据建立机器学习的技术,成为了各企业/行业间合作的关键之一。纵向联邦学习是在参与者的数据特征重叠较小,而用户重叠较多的情况下,取出参与者用户相同而用户数据特征不同的那部分用户及数据进行联合建模,通过提高模型性能,能够使参与者用户向客户提供更好的服务。
3.在纵向联邦场景下,拥有标签数据及特征数据x1的主动方,与拥有特征数据x2(x2与x1不完全相同)的被动方联合建模时,被动方拥有的数据质量影响联合建模的主动方模型效果的提升水平。因此,评估被动方数据质量是联邦建模过程中的一个重要步骤。然而,实际场景中,有时主动方标签数据较少,主动方与被动方能匹配的带标签数据更少,数据较少导致无法进行数据质量评估或者评估结果不能反映真实的数据质量,导致联合建模的模型效果不佳。


技术实现要素:

4.本技术实施例提供一种数据源质量评估方法、装置、电子设备、计算机可读存储介质及计算机程序产品,无需标签数据即可实现对被动方数据源质量进行评估,能够提高联合建模的模型效果。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种数据源质量评估方法,基于联邦学习系统,所述联邦学习系统包括第一参与方设备及至少一个待评估的第二参与方设备,所述方法应用于第一参与方设备,所述方法包括:
7.获取所述第一参与方设备持有的第一特征数据和所述第二参与方设备发送的加密特征,所述加密特征是由所述第二参与方设备对待评估的数据源中的第二特征数据进行加密处理得到的;
8.基于所述第一特征数据和所述加密特征对预设的第一模型进行训练,得到训练好的第一模型;
9.获取所述第一参与方设备持有的测试数据,基于所述测试数据和所述训练好的第一模型确定测试结果;
10.基于所述测试结果,确定所述待评估的数据源的评估结果。
11.本技术实施例提供一种数据源质量评估装置,包括:
12.第一获取模块,用于获取所述第一参与方设备持有的第一特征数据和所述第二参与方设备发送的加密特征,所述加密特征是由所述第二参与方设备对待评估的数据源中的
第二特征数据进行加密处理得到的;
13.训练模块,用于基于所述第一特征数据和所述加密特征对预设的第一模型进行训练,得到训练好的第一模型;
14.第二获取模块,用于获取所述第一参与方设备持有的测试数据;
15.第一确定模块,用于基于所述测试数据和所述训练好的第一模型确定测试结果;
16.第二确定模块,用于基于所述测试结果,确定所述待评估的数据源的评估结果。
17.上述方案中,所述训练模块,还用于:
18.利用预设的第一模型对所述第一特征数据进行投影处理,得到投影特征;
19.利用预设的损失函数对所述投影特征和所述加密特征进行处理,确定所述第一特征数据对应的相似度损失和;
20.将所述相似度损失和反向传播至所述预设的第一模型,以对所述预设的第一模型的参数进行调整,得到训练好的第一模型。
21.上述方案中,所述训练模块,还用于:
22.获取预设的第一模型,所述预设的第一模型包括初始第一子模型和初始第二子模型;
23.利用所述初始第一子模型对所述第一特征数据进行处理,得到所述第一特征数据对应的目标特征;
24.利用所述初始第二子模型对所述目标特征进行投影处理,得到投影特征。
25.上述方案中,所述第一确定模块,还用于:
26.当所述第一参与方设备持有标签数据时,获取训练数据和所述训练数据对应的标签数据;
27.基于所述训练数据和所述训练数据对应的标签数据对初始第一分类模型进行训练,得到训练好的第一分类模型,所述初始第一分类模型基于所述预设的第一模型和预设的第一分类器构建得到;
28.基于所述训练数据和所述训练数据对应的标签数据对初始第二分类模型进行训练,得到训练好的第二分类模型,所述初始第二分类模型基于所述训练好的第一模型和预设的第二分类器构建得到;
29.基于所述测试数据、所述训练好的第一分类模型和所述训练好的第二分类模型,确定测试结果。
30.上述方案中,所述第一确定模块,还用于:
31.获取所述测试数据对应的标签数据;
32.基于所述测试数据和所述测试数据对应的标签数据,对所述训练好的第一分类模型进行测试,得到参考值;
33.基于所述测试数据和所述测试数据对应的标签数据,对所述训练好的第二分类模型进行测试,得到测试值;
34.对所述参考值和所述测试值进行比较,得到测试结果。
35.上述方案中,所述第一确定模块,还用于:
36.获取训练数据和标签类别个数k,并基于所述标签类别个数k对所述训练数据进行聚类,得到k个聚类中心;
37.将所述训练数据输入至所述训练好的第一模型,得到训练特征,对所述训练特征进行聚类,得到n个聚类中心;其中,k、n为正整数;
38.基于所述测试数据、所述k个聚类中心和所述n个聚类中心,确定测试结果。
39.上述方案中,所述第一确定模块,还用于:
40.确定所述测试数据与所述k个聚类中心之间的参考聚类误差;
41.确定所述测试数据与所述n个聚类中心之间的测试聚类误差;
42.对所述参考聚类误差和所述测试聚类误差进行比较,得到测试结果。
43.上述方案中,所述第二确定模块,还用于:
44.当所述测试结果表征测试值大于参考值,或者所述测试结果表征参考聚类误差大于测试聚类误差时,将所述待评估的数据源的评估结果确定为允许接入;
45.当所述测试结果表征所述测试值小于或等于所述参考值,或者所述测试结果表征所述参考聚类误差小于或等于所述测试聚类误差时,将所述待评估的数据源的评估结果确定为拒绝接入。
46.本技术实施例还提供一种数据源质量评估方法,基于联邦学习系统,所述联邦学习系统包括第一参与方设备及至少一个第二参与方设备,所述方法应用于第二参与方设备,包括:
47.获取所述第二参与方设备持有的第二特征数据和预设的第二模型,所述预设的第二模型包括初始第三子模型;
48.利用所述初始第三子模型对所述第二特征数据进行处理,得到所述第二特征数据对应的特征;
49.对所述第二特征数据对应的特征进行加密处理,得到加密特征;
50.将所述加密特征发送至所述第一参与方设备,以使所述第一参与方设备基于所述加密特征确定第二参与方设备持有的待评估的数据源的评估结果。
51.本技术实施例还提供一种数据源质量评估装置,包括:
52.第三获取模块,用于获取所述第二参与方设备持有的第二特征数据和预设的第二模型,所述预设的第二模型包括初始第三子模型;
53.处理模块,用于利用所述初始第三子模型对所述第二特征数据进行处理,得到所述第二特征数据对应的特征;
54.加密模块,用于对所述第二特征数据对应的特征进行加密处理,得到加密特征;
55.发送模块,用于将所述加密特征发送至所述第一参与方设备,以使所述第一参与方设备基于所述加密特征确定第二参与方设备持有的待评估的数据源的评估结果。
56.本技术实施例提供一种电子设备,包括:
57.存储器,用于存储可执行指令;
58.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的数据源质量评估方法。
59.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的数据源质量评估方法。
60.本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本技术实施例提供的数据源质量评估方法。
61.本技术实施例具有以下有益效果:
62.本技术实施例提供的数据源质量评估方法,通过引入无标签联合建模过程,解决了纵向场景下主动方与被动方重叠用户中标签数据较少难以准确评估被动方数据源质量的问题。一方面可以扩大数据源的来源范围,另一方面提升数据源质量评估的准确度。
附图说明
63.图1是本技术实施例提供的数据源质量评估系统的架构示意图;
64.图2a-2b是本技术实施例提供的电子设备的结构示意图;
65.图3是本技术实施例提供的数据源质量评估方法的流程示意图;
66.图4为本技术实施例提供的对预设的第一模型进行训练的流程示意图;
67.图5为本技术实施例提供的对第一特征数据进行投影处理的流程示意图;
68.图6a-6b为本技术实施例提供的有监督方法评估的流程示意图;
69.图7是本技术实施例提供的数据源质量评估方法的另一种流程示意图;
70.图8为本技术实施例提供的纵向联邦学习系统架构示意图;
71.图9为本技术实施例提供的无标签数据场景纵向联邦学习联合建模框架示意图;
72.图10a-10b为本技术实施例提供的有监督方法评估的流程示意图;
73.图11a-11b为本技术实施例提供的无监督方法评估的流程示意图。
具体实施方式
74.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
75.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
76.如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
77.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
78.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
79.1)联邦学习(federated learning),是指通过联合不同的参与者(participant,或者party,也称为数据拥有者(data owner),或者客户(client))进行机器学习的方法。在联邦学习中,参与者并不需要向其它参与者和协调者(coordinator,也称为参数服务器(parameter server),或者聚合服务器(aggregation server))暴露自己拥有的数据,因而联邦学习可以很好的保护用户隐私和保障数据安全。
80.2)横向联邦学习,是在各个参与者的数据特征重叠较多,而用户重叠较少的情况下,取出参与者数据特征相同而用户不完全相同的那部分数据进行联合机器学习。
81.3)纵向联邦学习是在参与者的数据特征重叠较小,而用户重叠较多的情况下,取出参与者用户相同而用户数据特征不同的那部分用户及数据进行联合机器学习训练。
82.本技术实施例提供一种数据源质量评估方法、装置、电子设备、计算机可读存储介质及计算机程序产品,无需标签数据即可实现对被动方数据源质量进行评估,能够提高联合建模的模型效果。
83.基于上述对本技术实施例中涉及的名词和术语的解释,首先对本技术实施例提供的数据源质量评估系统进行说明,参见图1,图1是本技术实施例提供的数据源质量评估系统的架构示意图,在数据源质量评估系统100中,第一参与方设备400,第二参与方设备410(示例性的示出了2个第二参与方设备,分别记为410-1和410-2,以示区分),第一参与方设备400和第二参与方设备410通过网络300互相连接,同时通过网络300连接服务器设备,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
84.在一些实施例中,第一参与方设备400和第二参与方设备410通过网络300互相连接,同时可以通过网络300连接联邦学习系统中可能涉及的第三方设备(协作方、服务器等)。
85.在一些实施例中,第一参与方设备400以及第二参与方设备410可以是笔记本电脑,平板电脑,台式计算机,智能手机,专用消息设备,便携式游戏设备,智能音箱,智能手表等,还可以是联邦学习参与方的客户终端,例如各银行或金融机构等存储有用户特征数据的参与方设备,但并不局限于此。第三方设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery network)、以及大数据和人工智能平台等基础云计算服务的云服务器,用于协助各参与方设备进行联邦学习以得到联邦学习模型。网络300可以是广域网或者局域网,又或者是二者的组合。第一参与方设备400、第二参与方设备410可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
86.第一参与方设备400,用于获取所述第一参与方设备400持有的第一特征数据和所述第二参与方设备410发送的加密特征,所述加密特征是由所述第二参与方设备410对待评估的数据源中的第二特征数据进行加密处理得到的;然后基于所述第一特征数据和所述加密特征对预设的第一模型进行训练,得到训练好的第一模型;然后获取所述第一参与方设备400持有的测试数据;最后,基于所述测试数据和所述训练好的第一模型确定测试结果;并基于所述测试结果,确定所述待评估的数据源的评估结果。
87.第二参与方设备410,用于获取所述第二参与方设备410持有的第二特征数据和预设的第二模型,所述预设的第二模型包括初始第三子模型;然后利用所述初始第三子模型对所述第二特征数据进行处理,得到所述第二特征数据对应的特征;再对所述第二特征数据对应的特征进行加密处理,得到加密特征;最后将所述加密特征发送至所述第一参与方设备400,以使所述第一参与方设备400基于所述加密特征确定第二参与方设备410持有的待评估的数据源的评估结果。
88.参见图2a-2b,图2a-2b是本技术实施例提供的电子设备的结构示意图,在实际应
用中,电子设备500可以实施为图1中的第一参与方设备400或第二参与方设备410,对实施本技术实施例的数据源质量评估方法的电子设备进行说明。图2a-2b所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可以理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
89.处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
90.用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
91.存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
92.存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器550旨在包括任意适合类型的存储器。
93.在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
94.操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
95.网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
96.呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
97.输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
98.在一些实施例中,本技术实施例提供的数据源质量评估装置可以采用软件方式实现,图2a示出了本技术实施例提供的电子设备为第一参与方设备400的结构示意图,存储在存储器550中的数据源质量评估装置555,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块5551、训练模块5552、第二获取模块5553、第一确定模块5554以及第二确定模块5555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
99.在一些实施例中,如图2b所示,图2b示出的是本技术实施例提供的电子设备为第二参与方设备410的结构示意图,存储在存储器550的数据源质量评估装置555中的软件模块可以包括:第三获取模块5556、处理模块5557、加密模块5558以及发送模块5559,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
100.在另一些实施例中,本技术实施例提供的数据源质量评估装置可以采用硬件方式实现,作为示例,本技术实施例提供的数据源质量评估装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的数据源质量评估方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
101.将结合本技术实施例提供的第一参与方设备的示例性应用和实施,说明本技术实施例提供的数据源质量评估方法。本技术实施例提供的数据源质量评估方法是基于联邦学习系统,其中,联邦学习系统包括第一参与方设备及至少一个第二参与方设备。参见图3,图3是本技术实施例提供的数据源质量评估方法的流程示意图,将结合图3示出的步骤进行说明。
102.步骤s301,获取第一参与方设备持有的第一特征数据和第二参与方设备发送的加密特征。
103.这里,加密特征是由第二参与方设备对待评估的数据源中的第二特征数据进行加密处理得到的。
104.在实际实施时,在纵向联邦模型的场景中,通常涉及至少两种参与方,第一参与方是持有特征数据和标签数据的参与方(也可称作guest方或者主动方),第二参与方是持有特征数据(也可称作host方或者被动方)的参与方。本技术实施例提供的方法可以适用于一个guest方以及至少一个host方参与的纵向联邦模型。该场景下,第一参与方持有用户和第二参与方持有用户的重叠用户中,第一参与方没有带标签数据或仅有少量带标签数据,无法通过标签数据进行常规的联合建模。本技术实施例给出一种无标签数据场景下的联合建模。
105.示例性地,本技术实施例中以主动方a对一个被动方b的数据质量进行评估为例进行说明。第一参与方相当于主动方,第二参与方相当于被动方。在实际应用中,基于相同的方案可以扩展到同时对多个被动方数据源分别或共同地进行评估。第一参与方的第一特征数据记为xa,第二参与方的第二特征数据记为xb,第二参与方设备对第二特征数据进行映射、加密等处理,得到第二加密特征fb(这里的第二加密特征即为第二参与方发送的加密特征。为了和第一参与方设备处理得到的加密特征进行区分,将第一参与方设备加密处理得到的特征称为第一加密特征,将第二参与方设备加密处理得到的特征称为第二加密特征)。第一参与方设备从自身存储空间中获取第一特征数据xa,从第二参与方设备获取第二加密特征fb。
106.步骤s302,基于第一特征数据和加密特征对预设的第一模型进行训练,得到训练好的第一模型。
107.利用(xa,fb)对预设的第一模型进行训练,得到训练好的第一模型。这里预设的第一模型为第一参与方的私有特征提取模型。
108.步骤s301和步骤s302基于无标签数据的模型预训练,实现联合建模。
109.图4为本技术实施例提供的对预设的第一模型进行训练的流程示意图,如图4所示,在一种实现方式中,步骤s302可以通过图4所示的步骤s3021至步骤s3023来实现:
110.步骤s3021,利用预设的第一模型对第一特征数据进行投影处理,得到投影特征。
111.将第一特征数据xa输入至预设的第一模型,利用该第一模型对第一特征数据xa进行投影处理,得到投影特征,记为za。
112.步骤s3022,利用预设的损失函数对投影特征和加密特征进行处理,确定第一特征数据对应的相似度损失和。
113.该步骤为模型更新过程,目的是让相同用户的特征在特征空间中尽量靠近,不同用户的特征在特征空间中尽量远离。本技术实施例中,可以通过预设的损失函数来实现分类的目标。具体可以实现为:a方可以基于(za,fb)计算相似度损失函数,计算公式如下式(1)所示:
[0114][0115]
其中,i为正整数,取值范围为[1,第二加密特征的个数],fi表征第i个第二加密特征;j为正整数,取值范围为[1,第一特征数据的个数],zj表征第j个第一特征数据。i、j分别遍历a方和b方当前训练池中的样本,fi和zj为相同用户的特征数据或加密特征,即对于a方的某个样本i和b方的样本j是对齐的,则它的总体损失函数的计算方式则如上式(1)。对每个对齐的样本计算相似度损失后求和,即得到最后的结果,如式(2)所示:
[0116][0117]
步骤s3023,将相似度损失和反向传播至预设的第一模型,以对预设的第一模型的参数进行调整,得到训练好的第一模型。
[0118]
a方根据(za,fb)计算其损失函数l
a,sim
,并通过梯度下降方法更新第一模型。
[0119]
上述方法也适用于b方对a方数据进行质量评估。
[0120]
步骤s303,获取第一参与方设备持有的测试数据。
[0121]
这里的测试数据为第一参与方持有的私有数据。
[0122]
步骤s304,基于测试数据和训练好的第一模型确定测试结果。
[0123]
根据第一参与方的私有数据,对联合建模得到的训练好的第一模型进行测试,判断该联合建模的模型是否优于独立建模的模型,若优于,表明第二参与方设备持有的数据源可以接入;若联合建模的模型不如独立建模的模型,表明第二参与方设备持有的数据源会导致模型效果变差,此时拒绝接入第二参与方设备持有的数据源。
[0124]
本技术实施例中,可通过有监督和无监督方法对数据源的质量进行评估,确定测试结果,二者可以同时使用互为补充,也可分别单独使用。
[0125]
步骤s305,基于测试结果,确定待评估的数据源的评估结果。
[0126]
根据测试结果,第一参与方设备确定出待评估的数据源的评估结果,该评估结果包括质量合格和质量不合格。当质量合格时,第一参与方设备允许接入第二参与方设备进
行联合建模;当质量不合格时,为确保联合模型的效果,第一参与方设备不允许接入第二参与方设备进行联合建模。
[0127]
本技术实施例提供的数据源质量评估方法,基于包括第一参与方设备及至少一个待评估的第二参与方设备的联邦学习系统,该方法应用于第一参与方设备,该方法包括:获取第一参与方设备持有的第一特征数据和所述第二参与方设备发送的加密特征,所述加密特征是由所述第二参与方设备对待评估的数据源中的第二特征数据进行加密处理得到的;基于所述第一特征数据和所述加密特征对预设的第一模型进行训练,得到训练好的第一模型;获取所述第一参与方设备持有的测试数据,基于所述测试数据和所述训练好的第一模型确定测试结果。通过该方法,无需标签数据即可实现对被动方数据源质量进行评估,能够提高联合建模的模型效果。
[0128]
图5为本技术实施例提供的对第一特征数据进行投影处理的流程示意图,如图5所示,在一些实施例中,上述步骤s3021“利用预设的第一模型对第一特征数据进行投影处理,得到投影特征”可以实现为以下步骤:
[0129]
步骤s30211,获取预设的第一模型。
[0130]
这里的预设的第一模型包括初始第一子模型和初始第二子模型,将初始第一子模型记为ma,初始第二子模型记为ha。
[0131]
步骤s30212,利用初始第一子模型对第一特征数据进行处理,得到第一特征数据对应的目标特征。
[0132]
将第一特征数据xa输入至初始第一子模型ma中,对第一特征数据xa进行特征提取,得到第一特征数据xa对应的目标特征fa。
[0133]
本技术实施例中,为了确保数据隐私不被泄露,可以对fa进行加密,例如采用差分隐私方法对其进行加密。
[0134]
步骤s30213,利用初始第二子模型对目标特征进行投影处理,得到投影特征。
[0135]
将目标特征fa输入至初始第一子模型ha中,对目标特征fa进行投影提取,得到第一特征数据xa对应的投影特征za。
[0136]
在一些实施例中,上述步骤s304“基于所述测试数据和所述训练好的第一模型确定测试结果”,可以实现为以下步骤:
[0137]
步骤s304a1,当第一参与方设备持有标签数据时,获取训练数据和所述训练数据对应的标签数据。
[0138]
步骤s304a2,基于训练数据和训练数据对应的标签数据对初始第一分类模型进行训练,得到训练好的第一分类模型。
[0139]
该初始第一分类模型基于预设的第一模型和预设的第一分类器构建得到。
[0140]
步骤s304a3,基于训练数据和训练数据对应的标签数据对初始第二分类模型进行训练,得到训练好的第二分类模型。
[0141]
该初始第二分类模型基于训练好的第一模型和预设的第二分类器构建得到。
[0142]
步骤s304a4,基于测试数据、训练好的第一分类模型和训练好的第二分类模型,确定测试结果。
[0143]
通常,a方有一批/多批有标签数据,(xa,ya),如前所述,因为这些数据a方与b方无重叠或重叠很少,因此无法直接通过有标签数据进行有效的联合建模。这里,a方可以基于
这些有标签数据,分别从头开始训练模型和基于预训练模型进行训练,然后评估二者最后的效果。步骤s3054的详细实现如下:
[0144]
步骤s4a41,获取测试数据对应的标签数据。
[0145]
a方将数据分为(x
train
,y
train
)和(x
test
,y
test
)。
[0146]
步骤s4a42,基于测试数据和测试数据对应的标签数据,对训练好的第一分类模型进行测试,得到参考值。
[0147]
a方在数据(x
train
,y
train
)上从头训练随机初始化的模型(ma,p),训练好后在测试集上(x
test
,yt
est
)进行测试,得到结果s
ind
;此外,若a方有一组基准数据,比如与一个数据源c通过该方式联合建模得到模型m
c,pretrained
,在(x
train
,y
train
)上训练并在(x
test
,y
test
)上测试得到结果s
baseline
,并且已验证过数据源c效果较好,通常有s
baseline
》s
ind
(假设该指标越大表示模型效果越好)。
[0148]
步骤s4a43,基于测试数据和测试数据对应的标签数据,对训练好的第二分类模型进行测试,得到测试值。
[0149]
a方在数据(x
train
,y
train
)上采用预训练模型m
a,pretrained
和随机初始化的分类器p(m
a,pretrained
),训练好后在测试集上(x
test
,y
test
)进行测试,得到结果s
fed

[0150]
步骤s4a44,对参考值和测试值进行比较,得到测试结果。
[0151]
比较s
ind
(或者s
baseline
)和s
fed
。若s
fed
》s
ind
(或者s
baseline
),则表明数据源b的数据质量较好,可以考虑接入;反之,则不考虑接入该数据源。
[0152]
图6a-6b为本技术实施例提供的有监督方法评估的流程示意图,如图6a所示,采用随机初始化模型ma及预训练模型m
a,pretrained
,在训练集(x
train
,y
train
)上分别训练,分别得到训练(微调)后的模型;如图6b所示,在(x
test
,y
test
)上分别测试训练得到的两个模型,得到评估指标s
ind
和s
fed

[0153]
在此基础上,上述步骤s305“基于测试结果,确定待评估的数据源的评估结果”可以实现为:当测试结果表征测试值大于参考值时,将待评估的数据源的评估结果确定为允许接入;当测试结果表征测试值小于或等于参考值时,将待评估的数据源的评估结果确定为拒绝接入。
[0154]
当第一参与方设备持有标签数据时,上述步骤s304a1至步骤s304a4可以采用有监督学习方法,确定测试结果。当第一参与方设备仅持有少量的标签数据或未持有标签数据时,第一参与方设备可以利用下面的无监督学习方法确定测试结果。在一种实现方式中,上述步骤s304“基于测试数据和训练好的第一模型确定测试结果”还可以实现为以下步骤:
[0155]
步骤s304b1,获取训练数据和标签类别个数k,并基于标签类别个数k对训练数据进行聚类,得到k个聚类中心。
[0156]
步骤s304b2,将训练数据输入至训练好的第一模型,得到训练特征,对训练特征进行聚类,得到n个聚类中心。
[0157]
步骤s304b3,基于测试数据、k个聚类中心和n个聚类中心,确定测试结果。
[0158]
该步骤可以实现为:确定测试数据与k个聚类中心之间的参考聚类误差;确定测试数据与n个聚类中心之间的测试聚类误差;对参考聚类误差和测试聚类误差进行比较,得到测试结果。
[0159]
在此基础上,上述步骤s305“基于测试结果,确定待评估的数据源的评估结果”可
以实现为:当测试结果表征参考聚类误差大于测试聚类误差时,将待评估的数据源的评估结果确定为允许接入;当测试结果表征参考聚类误差小于或等于测试聚类误差时,将待评估的数据源的评估结果确定为拒绝接入。
[0160]
接下来,将结合本技术实施例提供的第二参与方设备的示例性应用和实施,说明本技术实施例提供的数据源质量评估方法。参见图7,图7是本技术实施例提供的数据源质量评估方法的另一种流程示意图,将结合图7示出的步骤进行说明。
[0161]
步骤s701,获取第二参与方设备持有的第二特征数据和预设的第二模型。
[0162]
这里,预设的第二模型包括初始第三子模型,该初始第三子模型用于对第二特征数据进行特征提取,得到第二特征数据对应的第二特征。
[0163]
步骤s702,利用初始第三子模型对第二特征数据进行处理,得到第二特征数据对应的特征。
[0164]
步骤s703,对第二特征数据对应的特征进行加密处理,得到加密特征。
[0165]
这里的加密特征,即为上述实施例中的第二加密特征。
[0166]
本技术实施例中,为了保护第二参与方设备数据隐私,可以为第二特征进行加密,得到第二加密特征。
[0167]
步骤s704,将加密特征发送至第一参与方设备,以使第一参与方设备基于加密特征确定第二参与方设备持有的待评估的数据源的评估结果。
[0168]
在一些实施例中,该预设的第二模型还可以包括初始第四子模型,用于对第二加密特征进行投影处理,得到第二投影特征。第二参与方设备执行上述实施例提供的数据源质量评估方法,利用第二参与方设备,通过联合建模对主动方或其他被动方的数据源质量进行评估,提高联合建模的模型效果。
[0169]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0170]
纵向联邦学习是在参与者的数据特征重叠较小,而用户重叠较多的情况下,取出参与者用户相同而用户数据特征不同的那部分用户及数据进行联合机器学习训练。比如有属于同一个地区的两个参与者a和b,其中参与者a是一家银行,参与者b是一个电商平台。参与者a和b在同一地区拥有较多相同的用户,但是a与b的业务不同,记录的用户数据特征是不同的。特别的,a和b记录的用户数据特征可能是互补的。在这样的场景下,可以使用纵向联邦学习来帮助a和b构建联合机器学习预测模型,帮助a和b向客户提供更好的服务。
[0171]
图8为本技术实施例提供的纵向联邦学习系统架构示意图,为了帮助a和b联合建模,需要协调者c参与。第一部分:参与者a和b实现加密样本对齐,如图8所示例。由于两家企业a和b的用户群体并非完全重合,系统利用基于加密的用户样本对齐技术,在a和b不公开各自数据的前提下确认双方的共有用户,并且不暴露不互相重叠的用户,以便联合这些用户的特征进行建模。
[0172]
第二部分:加密模型训练。在确定共有用户群体后,就可以利用这些数据训练机器学习模型。为了保证训练过程中数据的保密性,需要借助协调者c进行加密训练。以线性回归模型为例,训练过程可分为以下4步。第

步,协调者c把公钥分发给a和b,用以对训练过程中需要交换的数据进行加密。第

步,参与者a和b之间以加密形式交互用于计算梯度的中间结果。第

步:参与者a和b分别基于加密的梯度值进行计算,同时参与者b根据其标签数据计算损失函数,并把结果汇总给协调者c。协调者c通过汇总结果计算总梯度值并将其
解密。第

步:协调者c将解密后的梯度分别回传给参与者a和b,参与者a和b根据梯度更新各自模型的参数。
[0173]
参与者和协调者迭代上述步骤直至损失函数收敛或者是模型参数收敛或者是达到最大迭代次数或者是达到最大训练时间,这样就完成了整个模型训练过程。
[0174]
需要注意的是,在横向联邦学习和纵向联邦学习中,加密操作和加密传输都是可选的,是需要根据具体应用场景的来决定的,并不是所有的应用场景都需要加密操作和加密传输。
[0175]
如前所述,纵向联邦场景下主动方拥有标签数据y及特征数据x1,与拥有特征数据x2(x2与x1不完全相同)的被动方联合建模,提高自身模型的性能。被动方(x2)的数据质量决定了联合建模时主动方模型效果的提升水平。因此,评估被动方数据质量是联邦建模过程中的一个重要步骤。数据质量包括多种评估指标,比如用户重合度,相对基准数据的建模效果提升等。其中,建模效果提升通常基于一组/多组带标签数据与被动方联合建模后评估得到,若模型性能提升大,则认为该被动方数据质量好。然而,实际场景中,有时主动方标签数据较少,主动方与被动方能匹配的带标签数据更少,数据较少导致无法进行数据质量评估或者评估结果不能反映真实的数据质量。因此,若能基于大量的无标签数据通过联合建模从而对被动方数据质量进行评估,一方面可以扩展可接入数据源范围,另一方面提升数据评估的准确度。
[0176]
本技术实施例提出一种纵向联邦学习场景下的数据源质量评估方法,主要由两个部分组成,第一步是基于无标签数据的模型预训练,第二步是基于预训练得到的模型对建模效果进行评估。下面分别对两个步骤进行说明。该方案只描述了主动方a对一个被动方b的数据质量进行评估的方案,可基于相同的方案扩展到同时对多个被动方数据源分别和共同评估。
[0177]
该场景下,a方和b方重叠的用户中,a没有带标签数据或仅有少量带标签数据,无法通过标签数据进行常规的联合建模。
[0178]
第一步,基于无标签数据的联合建模。
[0179]
图9为本技术实施例提供的无标签数据场景纵向联邦学习联合建模框架示意图,如图9所示,a方和b方有各自的模型model a(ma)和model b(mb)分别输出特征fa和fb。此外,a方有heada,b方有headb分别作用于fa和fb,产生投影za和zb。
[0180]
训练基本流程:
[0181]
初始化:各参与方初始化各自模型model a,model b,heada和headb。a方和b方通过加密的方式实现数据对齐。
[0182]

a方和b方通过各自的模型model a和model b得到数据的特征fa和fb,分别经过heada和headb得到za和zb。b方将fb传给a方,a方将fa传给b方,此外,可通过多种加密方式对fa,fb,进一步增加数据的安全性,如差分隐私方法。
[0183]

该步骤为模型更新过程,目的是让相同用户的特征在特征空间中尽量靠近,不同用户的特征在特征空间中尽量远离。有多种方法可以实现该目标,如通过选取特定的损失函数,一种典型方法如下。a方和b方分别基于(za,fb)和(zb,fa)计算相似度损失函数。
[0184]
对于对齐的两个样本fi和zj,其损失函数的具体形式如下式(3):
[0185][0186]
其中,i,j分别遍历a方和b方当前训练batch中的样本。对于a方的某个样本i,其和b方的样本j是对齐的,则它的总体损失函数的计算方式则如上述公式。对每个对齐的样本计算相似度损失后求和,即得到最后的结果:
[0187][0188]

a方和b方分别根据(za,fb)和(zb,fa)计算各自的损失函数l
a,sim
和l
b,sim
,并通过梯度下降方法更新各自的模型(model a,heada)和(model b,headb)。
[0189]
第二步,主动方基于预训练模型进行数据源质量评估。
[0190]
可通过有监督和无监督方法对数据源的质量进行评估,二者可以同时使用互为补充,也可分别单独使用。通过第一步基于无标签数据的联合建模,a方得到了一个预训练模型model a(ma),记为m
a,pretrained
。在ma上可加上一个分类器p,构成一个完整的分类模型(ma,p)。
[0191]
1.有监督方法
[0192]
通常,a方有一批/多批有标签数据,(xa,ya),如前所述,因为这些数据与b方无重叠或重叠很少,因此无法直接通过有标签数据进行有效的联合建模。这里,a方可以基于这些有标签数据,分别从头开始训练模型和基于预训练模型进行训练,然后评估二者最后的效果。详细过程如下:
[0193]
a方将数据分为(x
train
,y
train
)和(x
test
,y
test
)。
[0194]
a)a方在数据(x
train
,y
train
)上从头训练随机初始化的模型(ma,p),训练好后在测试集上(x
test
,y
test)
进行测试,得到结果s
ind
;此外,若a方有一组基准数据,比如与一个数据源c通过该方式联合建模得到模型m
c,pretrained
,在(x
train
,y
train
)上训练并在(x
test
,y
test
)上测试得到结果s
baseline
,并且已验证过数据源c效果较好,通常有s
baseline
》s
ind
(假设该指标越大表示模型效果越好)。
[0195]
b)a方在数据(x
train
,y
train
)上采用预训练模型m
a,pretrained
和随机初始化的分类器p,(m
a,pretrained
),训练好后在测试集上(x
test
,y
test
)进行测试,得到结果s
fed

[0196]
c)比较s
ind
(或者s
baseline
)和s
fed
。若s
fed
》s
ind
(或者s
baseline
),则表明数据源b的数据质量较好,可以考虑接入;反之,则不考虑接入该数据源。
[0197]
图10a-10b为本技术实施例提供的有监督方法评估的流程示意图,参见图10a,采用随机初始化(ma)及预训练模型(m
a,pretrained
)在训练集(x
train
,y
train
)上分别训练,分别得到训练(微调)后的模型;如图10b所示,在(x
test
,y
test
)上分别测试训练得到的两个模型,得到评估指标s
ind
和s
fed

[0198]
2.无监督方法
[0199]
无监督方法可以作为有监督方法的补充;也可以单独应用,如有些场景下,标签数据极少,基于有监督方法的评估指标区分度不高,难以对数据源质量做出评估。
[0200]
无监督方法过程如下:
[0201]
a方将数据分为(x
traun
)和(x
test
)。
[0202]
a)a方为标签持有方,已知标签类别数k。采用无监督聚类方法,如k-means方法在
x
train
上训练模型,得到k个聚类中心;可选的,先采用通用的表征学习方法,如自编码器(autoencoder),在x
train
学习一个表征模型h,然后对表征模型的输出m
autoencoder
(x
train
)进行无监督聚类训练(如k-means),得到k个聚类中心在测试集上(x
test
)(或m
autoencoder
(x
test
))测试聚类误差e
ind
。此外,若a方已通过与另一方c的建模,可得到测试结果e
baseline
,并且已验证过数据源c效果。常用的误差计算指标如均方误差(mean squared error),及首先根据据各聚类中心的距离得到其所属类别,然后计算其与对应聚类中心的距离,最后对所有样本计算得到的该距离取平均。
[0203]
b)a方在预训练模型的特征m
c,pretrained
(x
train
)进行无监督聚类训练,然后在m
c,pretrained
(x
test
)上计算聚类误差e
fed

[0204]
c)比较e
fed
和e
ind
(e
baseline
)。若e
fed
《e
ind
(e
baseline
),则表面数据源b对a数据规整有提升,可考虑接入数据源;反之,则不考虑接入该数据源。
[0205]
图11a-11b为本技术实施例提供的无监督方法评估的流程示意图,参见图11a,在训练集上x
train
先训练表征学习模型,然后在其输出上进行无监督聚类,得到聚类中心;在测试集上计算聚类误差e;也可以直接在训练集x
train
上进行聚类和测试(虚线)。如图11b所示,先用训练集在预训练模型上的输出进行聚类得到聚类中心,然后使用测试集通过预训练模型的输出计算聚类误差e。
[0206]
基于以上方法,在对过多个数据源进行建模评估并经过实际使用测试后,可以建立实际使用效果与相应的s/e指标的对应关系,作为新数据源测试的参考标准,进一步提升该方案数据源质量评估的准确度。
[0207]
本技术实施例通过引入无标签联合建模过程,解决了纵向场景下主动方与被动方重叠用户中标签数据较少难以准确评估被动方数据源质量的问题。一方面可以扩大数据源的来源范围,另一方面提升数据源质量评估的准确度。本技术实施例提出了一种纵向联邦场景下,无需标签数据对数据源质量评估的方法;因为不限于使用有标签数据对数据源质量进行评估,扩大了可测试及采用的数据源范围,同时在标签数据较少的场景下提升数据源质量评估的准确度。
[0208]
下面继续说明本技术实施例提供的数据源质量评估装置555的实施为软件模块的示例性结构,在一些实施例中,如图2a所示,图2a示出的是本技术实施例提供的第一参与方设备400的结构示意图,存储在存储器540的数据源质量评估装置555中的软件模块可以包括:
[0209]
第一获取模块5551,用于获取所述第一参与方设备持有的第一特征数据和所述第二参与方设备发送的加密特征,所述加密特征是由所述第二参与方设备对待评估的数据源中的第二特征数据进行加密处理得到的;
[0210]
训练模块5552,用于基于所述第一特征数据和所述加密特征对预设的第一模型进行训练,得到训练好的第一模型;
[0211]
第二获取模块5553,用于获取所述第一参与方设备持有的测试数据;
[0212]
第一确定模块5554,用于基于所述测试数据和所述训练好的第一模型确定测试结果;
[0213]
第二确定模块5555,用于基于所述测试结果,确定所述待评估的数据源的评估结果。
[0214]
在一些实施例中,所述训练模块,还用于:
[0215]
利用预设的第一模型对所述第一特征数据进行投影处理,得到投影特征;
[0216]
利用预设的损失函数对所述投影特征和所述加密特征进行处理,确定所述第一特征数据对应的相似度损失和;
[0217]
将所述相似度损失和反向传播至所述预设的第一模型,以对所述预设的第一模型的参数进行调整,得到训练好的第一模型。
[0218]
在一些实施例中,所述训练模块,还用于:
[0219]
获取预设的第一模型,所述预设的第一模型包括初始第一子模型和初始第二子模型;
[0220]
利用所述初始第一子模型对所述第一特征数据进行处理,得到所述第一特征数据对应的目标特征;
[0221]
利用所述初始第二子模型对所述目标特征进行投影处理,得到投影特征。
[0222]
在一些实施例中,所述第一确定模块,还用于:
[0223]
当所述第一参与方设备持有标签数据时,获取训练数据和所述训练数据对应的标签数据;
[0224]
基于所述训练数据和所述训练数据对应的标签数据对初始第一分类模型进行训练,得到训练好的第一分类模型,所述初始第一分类模型基于所述预设的第一模型和预设的第一分类器构建得到;
[0225]
基于所述训练数据和所述训练数据对应的标签数据对初始第二分类模型进行训练,得到训练好的第二分类模型,所述初始第二分类模型基于所述训练好的第一模型和预设的第二分类器构建得到;
[0226]
基于所述测试数据、所述训练好的第一分类模型和所述训练好的第二分类模型,确定测试结果。
[0227]
在一些实施例中,所述第一确定模块,还用于:
[0228]
获取所述测试数据对应的标签数据;
[0229]
基于所述测试数据和所述测试数据对应的标签数据,对所述训练好的第一分类模型进行测试,得到参考值;
[0230]
基于所述测试数据和所述测试数据对应的标签数据,对所述训练好的第二分类模型进行测试,得到测试值;
[0231]
对所述参考值和所述测试值进行比较,得到测试结果。
[0232]
在一些实施例中,所述第一确定模块,还用于:
[0233]
获取训练数据和标签类别个数k,并基于所述标签类别个数k对所述训练数据进行聚类,得到k个聚类中心;
[0234]
将所述训练数据输入至所述训练好的第一模型,得到训练特征,对所述训练特征进行聚类,得到n个聚类中心;
[0235]
基于所述测试数据、所述k个聚类中心和所述n个聚类中心,确定测试结果。
[0236]
在一些实施例中,所述第一确定模块,还用于:
[0237]
确定所述测试数据与所述k个聚类中心之间的参考聚类误差;
[0238]
确定所述测试数据与所述n个聚类中心之间的测试聚类误差;
[0239]
对所述参考聚类误差和所述测试聚类误差进行比较,得到测试结果。
[0240]
在一些实施例中,所述第二确定模块,还用于:
[0241]
当所述测试结果表征测试值大于参考值,或者所述测试结果表征参考聚类误差大于测试聚类误差时,将所述待评估的数据源的评估结果确定为允许接入;
[0242]
当所述测试结果表征所述测试值小于或等于所述参考值,或者所述测试结果表征所述参考聚类误差小于或等于所述测试聚类误差时,将所述待评估的数据源的评估结果确定为拒绝接入。
[0243]
在一些实施例中,如图2b所示,图2b示出的是本技术实施例提供的第二参与方设备410的结构示意图,存储在存储器540的数据源质量评估装置555中的软件模块可以包括:
[0244]
第三获取模块5556,用于获取所述第二参与方设备持有的第二特征数据和预设的第二模型,所述预设的第二模型包括初始第三子模型;
[0245]
处理模块5557,用于利用所述初始第三子模型对所述第二特征数据进行处理,得到所述第二特征数据对应的特征;
[0246]
加密模块5558,用于对所述第二特征数据对应的特征进行加密处理,得到加密特征;
[0247]
发送模块5559,用于将所述加密特征发送至所述第一参与方设备,以使所述第一参与方设备基于所述加密特征确定第二参与方设备持有的待评估的数据源的评估结果。
[0248]
需要说明的是,本技术实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。
[0249]
本技术实施例提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现本技术实施例提供的数据源质量评估方法。
[0250]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的方法,例如,如图3示出的数据源质量评估方法。
[0251]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0252]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0253]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0254]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0255]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本申
请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献