样本数据处理方法、装置及多方模型训练系统与流程

文档序号:21460433发布日期:2020-07-10 18:01阅读:282来源:国知局
样本数据处理方法、装置及多方模型训练系统与流程

本说明书实施例通常涉及人工智能领域,尤其涉及用于多方模型训练的样本数据处理方法、装置以及多方模型训练系统。



背景技术:

随着人工智能技术的发展,例如深度神经网络(dnn)的业务模型已经逐渐应用于各种业务应用场景,比如,风险评估、语音识别、自然语言处理等。不同应用场景下的业务模型的模型结构相对固定,为了实现更好的模型性能,在进行模型训练时需要更多的数据拥有方来提供更多的训练样本数据。例如,在业务模型应用于医疗、金融等领域时,不同的医疗或金融机构会收集不同的数据样本。一旦使用这些数据样本来对业务模型进行联合训练,将会极大地提升业务模型的模型精度。

对于多个数据拥有方参与的联合训练,不同数据拥有方的数据来源不同,数据收集方式不同,数据汇总过程中也存在各种误差,从而使得对于同一训练模型,各个数据拥有方的数据质量也不相同,并且针对具有相同数据标识(id)的数据样本,不同数据拥有方也会产生不同的样本标签,从而使得各个数据拥有方所收集的数据样本之间存在标签冲突问题。在进行模型训练时,会直接舍弃这种存在标签冲突的样本数据,由此使得模型训练所使用的样本数据数量变少。



技术实现要素:

鉴于上述问题,本说明书实施例提供一种用于多方模型训练的样本数据处理方法、装置及多方模型训练系统。利用该方法、装置及系统,使得在进行多方模型训练时,对于存在标签冲突的样本数据,对各个数据拥有方所具有的数据样本进行数据质量评估,并基于各个数据拥有方的数据质量来对该存在标签冲突的样本数据进行标签重构,由此得到具有唯一标签的重构数据,从而克服样本数据标签冲突。此外,经过标签重构的样本数据可以被使用来进行多方模型训练,从而可以增加多方模型训练时的训练数据量,进而提升模型训练精度。

根据本说明书实施例的一个方面,提供一种用于多方模型训练的样本数据处理方法,所述多方包括至少两个第一成员节点,每个第一成员节点具有本地数据,所述至少两个第一成员节点的本地数据组成用于模型训练的第一样本数据集,并且每个第一成员节点的本地数据包括第一样本数据的部分维度数据,所述方法包括:基于样本数据的数据标签,将第一样本数据集分类为第二样本数据集和第三样本数据集,所述第二样本数据集中的第二样本数据具有唯一数据标签,以及所述第三样本数据集中的第三样本数据具有至少两个不同的数据标签;使用所述第二样本数据集来进行模型训练,以训练出模型的第一模型参数;基于具有所述第一模型参数的模型来对各个第一成员节点的本地数据进行数据质量评估,以得到各个第一成员节点的数据质量性能指标;以及基于各个第一成员节点的数据质量性能指标,对所述第三样本数据集中的第三样本数据进行标签重构,所述经过标签重构后的第三样本数据具有唯一数据标签。

可选地,在上述方面的一个示例中,在将第一样本数据集分类为第二样本数据集和第三样本数据集,所述样本数据处理方法还可以包括:根据各个第一成员节点的本地数据的数据标识,对各个第一成员节点的本地数据进行聚合处理,以得到第一样本数据集,所述第一样本数据集中的每个第一样本数据由各个第一成员节点的具有相同数据标识的本地数据组成。

可选地,在上述方面的一个示例中,各个第一成员节点的本地数据可以包括本地私有数据,根据各个第一成员节点的本地数据的数据标识,对各个第一成员节点的本地数据进行聚合处理,以得到第一样本数据集可以包括:利用psi协议来在各个第一成员节点之间,根据各个第一成员节点的本地数据的数据标识,对各个第一成员节点的本地数据进行聚合处理,以得到第一样本数据集。

可选地,在上述方面的一个示例中,各个第一成员节点的本地数据可以包括本地私有数据,根据各个第一成员节点的本地数据的数据标识,对各个第一成员节点的本地数据进行聚合处理,以得到第一样本数据集可以包括:在可信计算环境中,根据各个第一成员节点的本地数据的数据标识,对各个第一成员节点的本地数据进行聚合处理,以得到第一样本数据集。

可选地,在上述方面的一个示例中,所述第一模型参数可以是使用所述第二样本数据集和经过标签重构后的第三样本数据集再次进行模型训练时的初始模型参数。

可选地,在上述方面的一个示例中,基于具有所述第一模型参数的模型来确定出各个第一成员节点的数据质量性能指标可以包括:将各个第一成员节点的第四样本数据集作为具有所述第一模型参数的模型的测试集进行模型测试,以得到各个第一成员节点的模型性能指标,各个第一成员节点的模型性能指标用作各个第一成员节点的数据质量性能指标,其中,各个第一成员节点的第四样本数据集是从所述第二样本数据集中去除该第一成员节点的本地数据而得到的样本数据集。

可选地,在上述方面的一个示例中,所述样本数据处理方法还可以包括:对所得到的各个第一成员节点的模型性能指标进行归一化处理,各个第一成员节点的经过归一化后的模型性能指标用作各个第一成员节点的数据质量性能指标。

可选地,在上述方面的一个示例中,基于样本数据的数据标签,将所述第一样本数据集分类为第二样本数据集和第三样本数据集可以包括:在各个第一成员节点处,基于样本数据的数据标签,将所述本地数据分类为第二样本数据子集和第三样本数据子集,各个第一成员节点的第二样本数据子集组成所述第二样本数据集,以及各个第一成员节点的第三样本数据子集组成所述第三样本数据集。

可选地,在上述方面的一个示例中,所述样本数据处理方法还可以包括:使用所述第二样本数据集和经过标签重构后的第三样本数据集再次进行模型训练,以得到所述模型的目标模型参数。

可选地,在上述方面的一个示例中,所述模型可以部署在所述至少两个第一成员节点上,每个第一成员节点具有所述模型的部分模型结构。

可选地,在上述方面的一个示例中,所述多方可以包括第二成员节点,所述模型部署在所述第二成员节点上,或者所述至少两个第一成员节点和第二成员节点上分别部署所述模型的部分模型结构。

可选地,在上述方面的一个示例中,所述模型可以是使用所述至少两个第一成员节点的样本数据集联合训练的。

根据本说明书的实施例的另一方面,提供一种用于多方模型训练的样本数据处理装置,所述多方包括至少两个第一成员节点,每个第一成员节点具有本地数据,所述至少两个第一成员节点的本地数据组成用于模型训练的第一样本数据集,并且每个第一成员节点的本地数据包括第一样本数据的部分维度数据,所述装置包括:样本分类单元,基于样本数据的数据标签,将所述第一样本数据集分类为第二样本数据集和第三样本数据集,所述第二样本数据集中的第二样本数据具有唯一数据标签,以及所述第三样本数据集中的第三样本数据具有至少两个不同的数据标签;模型训练单元,使用所述第二样本数据集来进行模型训练,以训练出模型的第一模型参数;数据质量评估单元,基于具有所述第一模型参数的模型来对各个第一成员节点的本地数据进行数据质量评估,以得到各个第一成员节点的数据质量性能指标;以及标签重构单元,基于各个第一成员节点的数据质量性能指标,对所述第三样本数据集中的第三样本数据进行标签重构,所述经过标签重构后的第三样本数据具有唯一数据标签。

可选地,在上述方面的一个示例中,所述样本数据处理装置还可以包括:数据聚合单元,根据各个第一成员节点的本地数据的数据标识,对各个第一成员节点的本地数据进行聚合处理,以得到第一样本数据集,所述第一样本数据集中的每个第一样本数据由各个第一成员节点的具有相同数据标识的本地数据组成。

可选地,在上述方面的一个示例中,各个第一成员节点的本地数据可以包括本地私有数据,所述数据聚合单元部署在所述至少两个第一成员节点上,所述数据聚合单元利用psi协议来在各个第一成员节点之间,根据各个第一成员节点的本地数据的数据标识,对各个第一成员节点的本地数据进行聚合处理,以得到第一样本数据集。

可选地,在上述方面的一个示例中,各个第一成员节点的本地数据可以包括本地私有数据,所述数据聚合单元部署在可信计算环境中,所述数据聚合单元在所述可信计算环境中,根据各个第一成员节点的本地数据的数据标识,对各个第一成员节点的本地数据进行聚合处理,以得到第一样本数据集。

可选地,在上述方面的一个示例中,所述数据质量评估单元可以将各个第一成员节点的第四样本数据集作为具有所述第一模型参数的模型的测试集进行模型测试,以得到各个第一成员节点的模型性能指标,各个第一成员节点的模型性能指标用作各个第一成员节点的数据质量性能指标,其中,各个第一成员节点的第四样本数据集是从所述第二样本数据集中去除该第一成员节点的本地数据而得到的样本数据集。

可选地,在上述方面的一个示例中,所述数据质量评估单元可以进一步对所得到的各个第一成员节点的模型性能指标进行归一化处理,各个第一成员节点的经过归一化后的模型性能指标用作各个第一成员节点的数据质量性能指标。

可选地,在上述方面的一个示例中,所述样本分类单元可以部署在各个第一成员节点处,在各个第一成员节点处,所述样本分类单元基于样本数据的数据标签,将所述本地数据分类为第二样本数据子集和第三样本数据子集,各个第一成员节点的第二样本数据子集组成所述第二样本数据集,以及各个第一成员节点的第三样本数据子集组成所述第三样本数据集。

可选地,在上述方面的一个示例中,所述模型训练单元还可以使用所述第二样本数据集和经过标签重构后的第三样本数据集再次进行模型训练,以得到所述模型的目标模型参数。

可选地,在上述方面的一个示例中,所述模型可以部署在所述至少两个第一成员节点上,每个第一成员节点具有所述模型的部分模型结构。

可选地,在上述方面的一个示例中,所述多方可以包括第二成员节点,所述模型部署在所述第二成员节点上,或者所述至少两个第一成员节点和第二成员节点上分别部署所述模型的部分模型结构。

可选地,在上述方面的一个示例中,所述样本数据处理装置的部分或全部组件设置在所述第一成员节点、所述第二成员节点、第三成员节点或其任意组合上。

根据本说明书的实施例的另一方面,提供一种多方模型训练系统,包括:至少两个第一成员节点,每个第一成员节点具有本地数据,所述至少两个第一成员节点的本地数据组成用于模型训练的样本数据,并且每个第一成员节点的本地数据包括所述样本数据的部分维度数据;部署有待学习模型的第二成员节点;以及如上所述的样本数据处理装置。

可选地,在上述方面的一个示例中,所述至少两个第一成员节点充当所述第二成员节点,每个第一成员节点具有所述待学习模型的部分模型结构。

可选地,在上述方面的一个示例中,所述待学习模型部署在所述至少两个第一成员节点和所述第二成员节点上,每个第一成员节点和所述第二成员节点具有所述待学习模型的部分模型结构。

根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的样本数据处理方法。

根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的样本数据方法。

附图说明

通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。

图1a和1b示出了多方模型训练系统架构的示例示意图。

图2示出了根据本说明书的实施例的第一成员节点所具有的数据样本的示例示意图。

图3示出了根据本说明书的实施例的多方模型训练系统的示例示意图。

图4示出了根据本说明书的实施例的样本数据处理装置的方框图。

图5示出了根据本说明书的实施例的经过数据聚合后的样本数据集的示例示意图。

图6示出了根据本说明书的实施例的数据质量评估过程的一个示例的流程图。

图7示出了根据本说明书的实施例的用于多方模型训练的样本数据处理方法的流程图。

图8a-8d示出了根据本说明书的实施例的样本数据处理装置在多方模型训练系统中的部署位置的示例示意图。

图9示出了根据本说明书的实施例的用于实现多方模型训练的样本数据处理的电子设备的示意图。

具体实施方式

现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。

如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。

为了提升多方模型训练效果,本说明书实施例提供一种用于多方模型训练的样本数据处理方法、装置和多方模型训练系统。本说明书实施例提供的方法和装置可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述终端设备包括但不限于:智能手机、个人电脑(personalcomputer,pc)、笔记本电脑、平板电脑、电子阅读器、网络电视、可穿戴设备等智能终端设备中的任一种。

在本说明书的实施例中,术语“多个”指的是“两个或两个以上”。术语“第一成员节点”可以是用于本地收集用于模型训练的样本数据的设备或设备方,也可以称为“数据拥有方”。在第一成员节点上,可以不部署模型,或者可以部署模型的部分模型结构。术语“第二成员节点”可以是部署模型的设备或设备方,比如,服务端等。在第二成员节点上,可以部署整个模型,或者可以部署模型的部分模型结构。术语“第三成员节点”可以是第一成员节点和第二成员节点之外的设备或设备方。在第三成员节点上,可以部署样本数据处理装置的全部或部分组件。在本说明书中,第三成员节点也可以称为“第三设备”。

在本说明书的实施例中提及的“标签冲突”是针对具有同一数据标识的多个数据拥有方具有的样本数据,如果在多个数据拥有方之间至少存在两个不同的标签向量,则认为该样本数据存在标签冲突。例如,在单分类标签的情况下,比如,针对用户人群分类,对于与数据标识p对应的样本数据,如果数据拥有方a所具有的部分样本数据中的分类标签是“学生(例如,分类标签向量为1)”,而数据拥有方b所具有的部分样本数据中的分类标签是“老师(例如,分类标签向量为0)”,则与数据标识p对应的样本数据存在样本冲突。在多分类标签的情况下,对于与数据标识p对应的样本数据,如果数据拥有方a所具有的部分样本数据中的分类标签向量是(0,0,0,1),而数据拥有方b所具有的部分样本数据中的分类标签向量是(0,1,0,0),则与数据标识p对应的样本数据存在样本冲突。

为了更清楚地理解本说明书实施例提供的各技术方案,下面通过图1a-1b对本说明书实施例提供的技术方案的可适用的多方模型训练场景进行说明。

如图1a所示,在一种可能适用的多方模型训练场景中,多方模型训练系统可以包括云端(服务端)和多个本地端(数据拥有方a、数据拥有方b、数据拥有方c)。服务端部署有待学习的全局模型w。数据拥有方a、数据拥有方b、数据拥有方c分别在本地收集用于训练全局模型w的数据样本(即,本地数据)xa、xb和xc。这里,数据拥有方a、b和c的本地数据xa、xb和xc共同组成全局模型w的训练样本数据(下文中简称为“样本数据”),每个数据拥有方a、b和c包括训练样本数据的部分维度数据。例如,假设数据拥有方a、b和c是电子商务公司、银行和快递公司,所训练的模型是用户人群分类模型,该模型训练所需的训练样本数据是用户特征数据,包括8个特征维度,比如,年龄、家庭住址、快递单号、银行账户、手机号和账户余额、商品订单信息和商品消费信息等,则数据拥有方a可以收集商品订单信息和商品消费信息,数据拥有方b可以收集银行账户、手机号和账户余额,以及快递公司可以收集年龄、家庭住址、快递单号。

此外,针对同一分类,每个数据拥有方a、b和c的本地数据还可以包括各自的标签数据。在数据拥有方a、b和c收集到本地数据后,将所收集的本地数据xa、xb和xc以及标签数据提供给服务端,由服务端整合成训练样本数据来训练全局模型w。

如图1b所示,在另一可能适用的多方模型训练场景中,多方模型训练系统可以包括多个本地端(数据拥有方a、数据拥有方b、数据拥有方c)。数据拥有方a、数据拥有方b、数据拥有方c分别具有待学习模型w的子模型wa、wb和wc,并且在本地收集用于训练模型w的数据样本(即,本地数据)xa、xb和xc。这里,子模型wa、wb和wc通过对模型w进行垂直切分而得到,并且数据拥有方a、b和c的本地数据xa、xb和xc共同组成模型w的训练样本数据,每个数据拥有方a、b和c包括训练样本数据的部分维度数据。在数据拥有方a、b和c收集到本地数据后,数据拥有方a、b和c使用本地数据xa、xb和xc以及各自的子模型wa、wb和wc进行模型训练,由此联合训练出模型w。

在一个实际应用示例中,图1a和1b中的服务端可以是第三方支付平台的服务器,图1a和1b中的不同本地端可以是不同金融机构或医疗机构的私有数据存储服务器。

在本说明书的实施例中,多方模型训练系统可以包括多个成员节点,这多个成员节点包括至少两个第一成员节点(即,本地端节点或数据拥有方)。第一成员节点在本地收集用于模型训练的本地数据。此外,待训练的模型w可以部署在多个本地端,每个本地端具有模型w的部分模型结构,如图1b所示。在本说明书的另一示例中,多方模型训练系统也可以包括第二成员节点(即,服务端节点或云端节点),待训练的模型w可以部署在第二成员节点上,如图1a所示,并且在各个第一成员节点上不部署模型结构。在本说明书的其它实施例中,模型w也可以部署在第二成员节点和多个第一成员节点上,第二成员节点和每个第一成员节点分别具有模型w的部分模型结构。

在本说明提供的实施例中,第一成员节点的本地数据可以包括本地私有数据和本地非私有数据。在本说明书中,本地私有数据是隐私数据,不能泄露给其它成员节点,从而在进行多方模型训练时不能以明文或将该数据全部共享给其它成员节点。本地非私有数据是指可以以明文或完整数据的形式分享给其它成员节点的本地数据。本地非私有数据可以被其它成员节点使用来形成公域数据。

第一成员节点的本地数据共同组成待学习模型w的训练样本数据,并且每个第一成员节点的本地数据包括训练样本数据的部分维度数据。此外,针对同一分类,每个第一成员节点的本地数据还可以分别包括数据标签。在本说明书中,术语“数据标签”与“样本标签”可以互换使用。

图2示出了根据本说明书的实施例的第一成员节点所具有的数据样本的示例示意图。

如图2所示,第一成员节点包括数据拥有方a、b和c。用于模型训练的样本数据包括6个特征维度,即,特征f1、f2、f3、f4、f5和f6。从图2中可以看出,数据拥有方a收集与特征f1和f2对应的本地数据,数据拥有方b收集与特征f3和f4对应的本地数据,以及数据拥有方c收集与特征f5和f6对应的本地数据。数据拥有方a、b和c所收集的本地数据包括训练样本数据的所有6个特征维度数据,由此可以将数据拥有方a、b和c的本地数据整合成训练样本数据。在进行模型训练之前,数据拥有方a、b和c的每个维度特征数据被映射成对应的特征值,比如,0-1之间的小数值,例如,可以通过向量化处理来转换为对应的特征值。

数据拥有方a、b和c所收集的每条本地数据具有数据标识,例如,图2中的数据标识“00101”、“00102”、“00103”和“00104”,每个数据标识可以用于标识同一样本数据。比如,如图2中所示,与数据标识“00101”对应的数据“0.342(特征f1)”、“0.425(特征f2)”、“0.456(特征f3)”、“0.225(特征f4)”、“0.434(特征f5)”和“0.275(特征f6)”例如可以对应于同一用户,即,同一用户的用户特征数据。

在本说明书中,针对同一分类(例如,用户人群分类),数据拥有方a、b和c的本地数据可以具有相同的样本标签,具有不同的样本标签,或者也可以不具有样本标签。例如,针对数据标识“00101”对应的数据,数据拥有方a、b和c具有相同的样本标签“学生”,该样本标签可以使用标签向量“1”来表征。针对数据标识“00102”对应的数据,仅仅数据拥有方a具有样本标签“非学生”,可以使用样本标签向量“0”来表征,而数据拥有方b和c不具有样本标签。针对数据标识“00103”和“00104”对应的数据,数据拥有方a、b和c都具有样本标签,并且各自具有的标签值不同。例如,针对数据标识“00103”,数据拥有方a、b和c的样本标签向量分别为“1”、“0”和“0”。针对数据标识“00104”,数据拥有方a、b和c的样本标签向量分别为“1”、“0”和“1”。

针对同一分类数据,如果不同的数据拥有方的本地数据具有不同的样本标签向量,则认为这些本地数据之间存在标签冲突,例如,上面描述的与数据标识“00103”和“00104”对应的样本数据。要说明的是,上面示例中描述的本地数据是单分类样本数据,本说明书的实施例同样适用于多分类样本数据。例如,假设存在多标签分类,对于与数据标识p对应的样本数据,如果数据拥有方a所具有的部分样本数据中的分类标签向量是(0,0,0,1),而数据拥有方b所具有的部分样本数据中的分类标签向量是(0,1,0,0),则与数据标识p对应的样本数据存在样本冲突。在多分类标签向量的情况下,两个标签向量之间只要存在一个元素不同,则认为该两个多分类标签向量是不同的标签。

在现有的模型训练方案中,在进行模型训练时,如果碰到存在标签冲突的样本数据,则会直接舍弃,由此使得模型训练所使用的样本数据数量变少。

鉴于上述,本说明书的实施例提供一种用于多方模型训练的样本数据处理方法、装置及多方模型训练系统。利用该方法、装置及系统,在进行多方模型训练时,判断样本数据集中是否存在具有标签冲突的样本数据。如果存在具有标签冲突的样本数据,则使用样本数据集中的非标签冲突样本数据来对各个数据拥有方所具有的数据样本进行数据质量评估,并基于各个数据拥有方的数据质量来对该存在标签冲突的样本数据进行标签重构,由此得到具有唯一标签的重构数据,从而克服样本数据标签冲突。

下文以包括3个第一成员节点的多方模型训练系统为例,对本说明书的实施例所提供的用于多方模型训练的样本数据处理方案进行说明。为了描述更加清楚,在下文中,将第一成员节点称为数据拥有方。要说明的是,在本说明书的其它实施例中,可以包括更多或更少的数据拥有方。

图3示出了根据本说明书的实施例的多方模型训练系统300的示例示意图。

如图3所示,多方模型训练系统300包括3个数据拥有方310,即,数据拥有方a、b和c,样本数据处理装置320和模型w330。数据拥有方a、b和c在本地收集用于训练模型w的数据样本xa、xb和xc。数据拥有方a、b和c的本地数据xa、xb和xc共同组成模型w的训练样本数据,每个数据拥有方a、b和c包括训练样本数据的部分维度数据,如图2中所示。

在获取到数据拥有方a、b和c的本地数据xa、xb和xc后,样本数据处理装置320判断本地数据xa、xb和xc后中是否存在具有标签冲突的样本数据。如果存在具有标签冲突的样本数据,则对本地数据xa、xb和xc进行样本数据处理,以消除本地数据xa、xb和xc中的标签冲突。样本数据处理装置320的处理过程以及结构将在下面参照附图详细描述。

在对本地数据xa、xb和xc进行样本数据处理后,样本数据处理装置320将消除了标签冲突的样本数据提供给模型w330来进行模型训练,由此增加模型训练的样本数据量,进而提升模型训练精度。

在本说明书中,在一个示例中,模型w可以全部部署在服务端。在另一示例中,模型w也可以部署在数据拥有方a、b和c之间,每个数据拥有方a、b和c具有模型w的部分模型结构。例如,数据拥有方a、b和c具有模型w的部分模型结构可以是通过对模型w进行垂直切分得到的。此外,在另一示例中,模型w可以部署在服务端和数据拥有方a、b、c之间,服务端和每个数据拥有方a、b、c分别具有模型w的部分模型结构。

图4示出了根据本说明书的实施例的样本数据处理装置400的一个示例的方框图。如图4所示,样本数据处理装置400可以包括数据聚合单元410,样本分类单元420、模型训练单元430、数据质量评估单元440和标签重构单元450。

数据聚合单元410被配置为根据各个数据拥有方的本地数据的数据标识,对各个数据拥有方的本地数据进行聚合处理,以得到第一样本数据集,第一样本数据集中的每个第一样本数据由各个数据拥有方的具有相同数据标识的本地数据组成。这里,术语“数据聚合”也可以称为“数据对齐”。在本说明书的一个示例中,各个数据拥有方的本地数据可以包括本地非私有数据,本地私有数据或者两者的组合。

在本说明书的一个示例中,数据聚合单元410可以部署在各个数据拥有方处。在这种情况下,在一个示例中,数据拥有方a、b和c可以在彼此之间共享本地数据xa、xb和xc,然后,在数据拥有方a、b和c本地基于数据标识来进行数据聚合,将具有相同数据标识的本地数据聚合在一起,从而得到完整的样本数据。或者,在另一示例中,数据拥有方a、b和c可以利用隐私保护集合交集(privatesetintersection,psi)协议来在数据拥有方a、b和c之间,根据本地数据xa、xb和xc的数据标识,对本地数据xa、xb和xc进行聚合处理,以得到第一样本数据集。在本说明书中,可以采用任何合适的psi协议来实现,例如,基于mesatee的psi协议,基于diffie-hell的psi协议等。在各个数据拥有方所具有的数据仅仅包括本地非私有数据的情况下,可以使用上述两个示例来实现数据聚合。在各个数据拥有方所具有的本地数据包括本地私有数据的情况下,仅仅可以使用后一示例来实现数据聚合。

在本说明书的另一示例中,多方模型训练系统还可以包括服务端,在服务端上部署有待学习模型或其部分模型结构。或者,除了各个数据拥有方和服务端之外,多方模型训练系统还可以包括第三设备(即,第三成员节点),第三设备上不收集本地数据,也不部署任何模型结构。在本说明书的一个实施例中,数据聚合单元410可以部署在服务端或第三设备处。相应地,在一个示例中,数据拥有方a、b和c可以将地数据xa、xb和xc发送给服务端或者第三设备,由服务端或者第三设备基于数据标识进行数据聚合。或者,在另一示例中,服务端或者第三设备具有可信计算环境。数据拥有方a、b和c可以将地数据xa、xb和xc发送给服务端或者第三设备,由服务端或者第三设备在可信计算环境中基于数据标识进行数据聚合。所述可信计算环境例如可以包括基于sgx的可信计算环境或者基于trustzone的可信计算环境。同样,在各个数据拥有方所具有的数据仅仅包括本地非私有数据的情况下,可以使用上述两个示例来实现数据聚合。在各个数据拥有方所具有的本地数据包括本地私有数据的情况下,仅仅可以使用后一示例来实现数据聚合。

图5示出了根据本说明书的实施例的经过数据聚合后的样本数据集的示例示意图。如图5所示,第一样本数据集包括4条样本数据,该4条样本数据的数据标识分别为“00101”、“00102”、“00103”和“00104”。每条样本数据包括6个特征维度数据,并且样本数据“00101”具有相同的样本标签向量“1”,样本数据“00102”具有唯一的样本标签向量“0”,以及样本数据“00103”和“00104”是存在标签冲突的样本数据。

样本分类单元420被配置为基于样本数据的数据标签,将第一样本数据集分类为第二样本数据集和第三样本数据集,第二样本数据集中的第二样本数据具有唯一数据标签,以及第三样本数据集中的第三样本数据具有至少两个不同的数据标签。

在一个示例中,样本分类单元420可以部署在各个数据拥有方处。相应地,在各个数据拥有方处,样本分类单元420基于样本数据的数据标签,将本地数据分类为第二样本数据子集和第三样本数据子集,各个第一成员节点的第二样本数据子集组成所述第二样本数据集,以及各个第一成员节点的第三样本数据子集组成所述第三样本数据集。

在另一示例中,如上所述,多方模型训练系统还可以包括服务端或第三设备。样本分类单元420可以部署在具有模型结构的服务端处,或者部署在第三设备处。相应地,样本分类单元420可以从各个数据拥有方接收各自的本地数据,对所接收的本地数据进行数据聚合以得到第一样本数据集,并基于数据标签来将第一样本数据集分类为第二样本数据集和第三样本数据集。

例如,针对图5中示出的第一样本数据集示例,第二样本数据集可以包括与数据标识“00101”和“00102”对应的样本数据(第二样本数据),以及第三样本数据集可以包括与数据标识“00103”和“00104”对应的样本数据(第三样本数据)。

此外,可选地,在上述样本分类过程在各个数据拥有方处执行时,还可以基于各个数据拥有方的样本数据的数据标签,将本地数据分类为第二样本数据子集和第三样本数据子集。各个数据拥有方a、b和c的第二样本数据子集共同组成第二样本数据集,以及各个数据拥有方a、b和c的第三样本数据子集共同组成第三样本数据集。

例如,如图5中示出的示例中,数据拥有方a的第二样本子集包括2条数据,即,与数据标识“00101”对应的特征数据{0.342,0.425},以及与数据标识“00102”对应的特征数据{0.327,0.375},数据拥有方b的第二样本子集包括2条数据,即,与数据标识“00101”对应的特征数据{0.456,0.225},以及与数据标识“00102”对应的特征数据{0.432,0.535},以及数据拥有方c的第二样本子集包括2条数据,即,与数据标识“00101”对应的特征数据{0.434,0.275},以及与数据标识“00102”对应的特征数据{0.402,0.575}。

数据拥有方a的第三样本子集包括2条数据,即,与数据标识“00103”对应的特征数据{0.677,0.563},以及与数据标识“00104”对应的特征数据{0.614,0.534},数据拥有方b的第三样本子集包括2条数据,即,与数据标识“00103”对应的特征数据{0.561,0.746},以及与数据标识“00104”对应的特征数据{0.435,0.504},以及数据拥有方c的第二样本子集包括2条数据,即,与数据标识“00103”对应的特征数据{0.578,0.796},以及与数据标识“00104”对应的特征数据{0.385,0.474}。

模型训练单元430被配置为使用第二样本数据集来进行模型训练,以训练出模型的第一模型参数(下文中称为“第一模型”)。具体地,可以利用样本数据标识将第二样本数据集拆分成训练集、验证集和测试集,对模型w进行多次迭代训练,对学习率、正则化参数等超参数进行调优,防止模型过拟合,直到模型收敛,得到第一模型w0,进而得到测试集的模型性能指标auc0。如何利用测试集来得到模型性能指标,在本领域是公知的,在此不进行详细描述。

在一个示例中,模型部署在各个数据拥有方a、b和c,相应地,模型训练单元430可以部署在各个数据拥有方处。在这种情况下,数据拥有方a、b和c可以使用各自的第二样本数据子集来进行联合模型训练,例如,可以采用多方安全计算的联合模型训练方案、基于同态加密的联合模型训练方案、基于混淆电路的联合模型训练方案,或者基于泰勒级数展开的联合模型训练方案。在另一示例中,模型部署在服务端,相应地,模型训练单元430可以部署在服务端或者第三设备上。在这种情况下,模型训练单元430可以将该第二样本数据集提供给模型w来进行模型训练。

数据质量评估单元440被配置为基于具有第一模型参数的模型来对各个数据拥有方的本地数据进行数据质量评估,以得到各个数据拥有方的数据质量性能指标。

在一个示例中,数据质量评估单元440可以将各个数据拥有方的第四样本数据集作为具有所述第一模型参数的模型的测试集进行模型测试,以得到各个数据拥有方的模型性能指标,并且将各个数据拥有方的模型性能指标用作各个数据拥有的数据质量性能指标。这里,各个数据拥有方的第四样本数据集是从第二样本数据集中去除该数据拥有方的本地数据而得到的样本数据集。例如,与数据拥有方a对应的第四样本集包括2条数据,即,与数据标识“00101”对应的特征数据{0.456,0.225,0.434,0.275},以及与数据标识“00102”对应的特征数据{0.432,0.535,0.402,0.575}。

此外,在另一示例中,数据质量评估单元440还可以进一步对所得到的各个数据拥有方的模型性能指标进行归一化处理,各个数据拥有方的经过归一化后的模型性能指标用作各个数据拥有方的数据质量性能指标。

图6示出了根据本说明书的实施例的数据质量评估过程的一个示例的流程图。在图6的示例中,假设存在n个数据拥有方,所得到的第二样本数据集为b,以及每个数据拥有方i的第二样本数据子集为bi。

如图6所示,在块610,对i进行初始化,假设i=1。随后,循环执行块620到650,直到i=n。

具体地,在块620,从第二样本数据集b中去除数据拥有方i所具有的本地数据bi,得到与数据拥有方i对应的第四样本数据集。

在块630,将数据拥有方i的第四样本数据集作为第一模型w0的测试集进行模型测试,以得到数据拥有方i的模型性能指标auci。

在块640,判断i是否等于n,即,是否针对所有数据拥有方都完成上述模型测试过程。如果i不等于n,则在块650,选择下一未完成上述模型测试过程的数据拥有方,并且流程返回到块620,重新执行下一循环过程。

在一个示例中,如果i等于n,则流程结束,并且将数据拥有方i的模型性能指标auci用作数据拥有方i的数据质量性能指标。

可选地,在另一示例中,如果i等于n,则在块660,对所有数据拥有方i的模型性能指标进行归一化处理,并且将经过归一化处理后的模型性能指标作为数据拥有方i的数据质量性能指标。例如,可以按照下述公式(1)来对数据拥有方i的模型性能指标进行归一化以得到数据质量性能指标

(1)

此外,在一个示例中,模型w0被部署在各个数据拥有方处,以及数据质量评估单元440部署在各个数据拥有方处。相应地,在各个数据拥有方处,数据质量评估单元440使用各个数据拥有方的第四样本数据子集作为测试集来联合进行模型预测,以得到各个第一成员节点的数据质量性能指标。

在另一示例中,如上所述,多方模型训练系统还可以包括服务端或第三设备。数据质量评估单元440可以部署在服务端,或者部署在第三设备。相应地,数据质量评估单元440可以将各个数据拥有方的第四样本数据子集作为测试集提供给模型w0来进行模型预测,以得到各个数据拥有方的数据质量性能指标。

标签重构单元450被配置为基于各个数据拥有方的数据质量性能指标,对第三样本数据集中的第三样本数据进行标签重构,所述经过标签重构后的第三样本数据具有唯一数据标签。在本说明书的实施例中,针对回归问题,可以通过直接进行求和或者进行max_pooling来对数据标签进行重构,以得到重构后的标签向量。或者,针对分类问题,可以利用softmax函数处理来对数据标签进行重构,以得到重构后的标签向量。

在一个示例中,标签重构单元450可以部署在各个数据拥有方处。相应地,在各个数据拥有方处,标签重构单元450基于各个数据拥有方的数据质量性能指标,对各个数据拥有方的第三样本数据子集中的本地数据进行标签重构,所述经过标签重构后的第三样本数据具有唯一数据标签。

在另一示例中,标签重构单元450可以部署在服务端,或者部署在第三设备。相应地,标签重构单元450可以基于各个第一成员节点的数据质量性能指标,对第三样本数据集中的第三样本数据进行标签重构,所述经过标签重构后的第三样本数据具有唯一数据标签。

例如,针对第三样本数据集c,假设c为c中的任意一个样本,,其中c在不同的第三样本数据子集ci中对应的数据标签为,如果该第三样本数据子集ci中无数据标签,则设置,或者在进行标签重构时不考虑该样本数据子集。在一个示例中,可以通过直接求和的方式来进行标签重构。例如,可以基于所确定出的数据质量性能指标,对第三样本数据集中的第三样本数据进行标签重构。例如,可以按照公式来计算重构后的样本标签,由此得到第三样本数据集c在标签重构后的第三样本数据集。在另一示例中,可以利用max_pooling来对数据标签进行重构,即,将各个数据标签中的所对应的最大的数据标签确定为该样本数据的数据标签。在多分类标签的情况下,对于每个分类标签,都选择具有最大值的数据标签。

可选地,在一个示例中,模型训练单元430还可以使用第二样本数据集和经过标签重构后的第三样本数据集再次进行模型训练,以得到模型w的目标模型参数,由此完成模型w的训练过程。

可选地,在一个示例中,在使用所述第二样本数据集和经过标签重构后的第三样本数据集再次进行模型训练时,可以将第一模型系数用作模型w的初始模型参数,即,将第一模型w0作为再次训练时的初始模型。

从上面可以看出,在本说明书中,数据聚合单元410,样本分类单元420、模型训练单元430、数据质量评估单元440和标签重构单元450中的部分或全部可以部署在各个数据拥有方中,服务端中,第三设备中,和/或其任意组合中。

此外,要说明的是,在本说明书的其它实施例中,还可以对图4中描述的实施例进行修改。例如,在其它修改实施例中,可以不包括图4中描述的数据聚合单元410。此外,图4中描述的模型训练可以是由多个数据拥有方使用各自的本地数据联合训练出的。

图7示出了根据本说明书的实施例的用于多方模型训练的样本数据处理方法700的流程图。

如图7所示,在数据拥有方a、b和c在本地收集到本地数据xa、xb和xc后,在块710,数据聚合单元410根据各个数据拥有方a、b和c的本地数据xa、xb和xc的数据标识,对本地数据xa、xb和xc进行聚合处理,以得到第一样本数据集。第一样本数据集中的每个第一样本数据由各个数据拥有方的具有相同数据标识的本地数据组成。

在如上对数据拥有方a、b和c的本地数据xa、xb和xc进行数据聚合后,在块720,样本分类单元420基于样本数据的数据标签,将第一样本数据集分类为第二样本数据730和第三样本数据集740。第二样本数据集730中的第二样本数据具有唯一数据标签,以及第三样本数据集740中的第三样本数据具有至少两个不同的数据标签。

在如上得到第二样本数据集730后,在块750,模型训练单元430使用第二样本数据集来进行模型训练,以训练出模型的第一模型参数,由此得到第一模型。

在块760,数据质量评估单元440基于第一模型来对各个数据拥有方处的本地数据进行数据质量评估,以得到各个数据拥有方的数据质量性能指标。

在块770,标签重构单元450基于各个数据拥有方的数据质量性能指标,对第三样本数据集中的第三样本数据进行标签重构,所述经过标签重构后的第三样本数据具有唯一数据标签。

可选地,在一个示例中,在块780,模型训练单元430还可以使用第二样本数据集和经过标签重构后的第三样本数据集再次进行模型训练,以得到模型w的目标模型参数,由此完成模型w的训练过程。

如上参照图1到图7描述了根据本说明书的实施例的用于多方模型训练的样本数据处理方法及样本数据处理装置。利用该样本数据处理方法及装置,可以使得在进行多方模型训练时,对于存在标签冲突的样本数据,对各个数据拥有方所具有的数据样本进行数据质量评估,并基于各个数据拥有方的数据质量来对该存在标签冲突的样本数据进行标签重构,由此得到具有唯一标签的重构数据,从而克服样本数据标签冲突。此外,通过将经过标签重构的样本数据与未冲突样本数据一起使用来进行多方模型训练,从而可以增加多方模型训练时的训练数据量,进而提升模型训练精度。

此外,利用上述样本数据处理方法及装置,在数据拥有方具有本地私有数据的情况下,可以通过利用psi协议来在各个数据拥有方之间对各个数据拥有方的本地数据进行数据聚合处理以得到第一样本数据集,或者将各个数据拥有方的本地数据发送给具有可信计算环境的服务端或第三设备来进行数据聚合,确保各个数据拥有方的本地私有数据不会被泄露给其它数据拥有方或服务端。

此外,利用上述样本数据处理方法及装置,通过将第一次训练时得到第一模型系数用作再次训练时的初始模型参数,可以加快模型的训练速度。

此外,要说明的是,在本说明书的其它实施例中,还可以对图7中描述的实施例进行修改。例如,在其它修改实施例中,可以不包括图7中描述的块710的操作和/或块780的操作。此外,图7中描述的模型训练可以是由多个数据拥有方使用各自的本地数据联合训练出的。

图8a-8d示出了根据本说明书的实施例的样本数据处理装置在多方模型训练系统中的部署位置的示例示意图。

如图8a所示,样本数据处理装置400的全部组件可以都部署在各个数据拥有方处,例如,在模型被部署在各个数据拥有方的示例中。如图8b所示,样本数据处理装置400的全部组件可以都部署在服务端,例如,在模型部署在服务端的示例中。如图8c所示,样本数据数量装置400的全部组件可以都部署在除了各个数据拥有方和服务端之外的第三设备上。如图8d所示,样本数据处理装置400可以部分组件部署在各个数据拥有方处,以及剩余组件部署在服务端。或者,样本数据处理装置400可以部分组件部署在各个数据拥有方处,部分组件部署在服务端,以及部分组件部署在第三设备上。

如上参照图1到图8a-8d,对根据本说明书实施例的样本数据处理方法和样本数据处理装置进行了描述。上面的样本数据处理装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。

图9示出了根据本说明书的实施例的用于样本数据处理的电子设备的示意图。如图9所示,电子设备900可以包括至少一个处理器910、存储器(例如,非易失性存储器)920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。至少一个处理器910执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。

在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器910:基于样本数据的数据标签,将第一样本数据集分类为第二样本数据集和第三样本数据集,第二样本数据集中的第二样本数据具有唯一数据标签,以及第三样本数据集中的第三样本数据具有至少两个不同的数据标签;使用第二样本数据集来进行模型训练,以训练出模型的第一模型参数;基于具有第一模型参数的模型来对各个第一成员节点的本地数据进行数据质量评估,以得到各个第一成员节点的数据质量性能指标;以及基于各个第一成员节点的数据质量性能指标,对第三样本数据集中的第三样本数据进行标签重构,所述经过标签重构后的第三样本数据具有唯一数据标签。

应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器910进行本说明书的各个实施例中以上结合图1-8d描述的各种操作和功能。

根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8d描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。

在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。

可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd-rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。

本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。

需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。

上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。

本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1