掌桥专利:专业的专利平台
掌桥专利
首页

数据处理方法、装置、设备及存储介质

文献发布时间:2023-06-19 09:33:52


数据处理方法、装置、设备及存储介质

技术领域

本申请涉及人工智能技术领域,特别涉及一种数据处理方法、装置、设备及存储介质。

背景技术

随着计算机技术的发展和人工智能(Artificial Intelligence,AI)技术的进步,联邦学习(Federated Learning)逐渐成为AI领域的一个热门课题,联邦学习能够通过多方协作完成机器学习模型的训练任务。

目前,多方协作的联邦学习采用客服-服务器架构,在联邦学习系统中包括中心联邦服务器,该联邦学习系统中的其它客服设备(在此称参与方)均与该中心联邦服务器连接以通信,形成星形拓扑。该联邦学习系统进行数据处理时,通常是由各个参与方根据样本数据对业务处理模型进行训练,得到模型参数后,将模型参数均发送至中心联邦服务器,由中心联邦服务器对各个参与方确定的模型参数进行融合。

这种客服-服务器架构(即星形拓扑)很容易出现单点通信拥塞,例如,当参与方都向中心联邦服务器发送他们模型参数时,中心联邦服务器很容易出现过载和通信拥塞,进而无法接收参与方发送的模型参数,导致系统崩溃。尤其是业务处理模型规模很大时,这种现象更严重。且星形拓扑里,一个参与方与中心联邦服务器之间只有一条通信链路,很容易出现因为暂时的通信链路中断而导致一个参与方掉线,暂时离开联邦学习系统,使得联邦学习流程中断。因而,上述数据处理方法的稳定性和鲁棒性很差。

发明内容

本申请实施例提供了一种数据处理方法、装置、设备及存储介质,能够提高数据处理的稳定性、鲁棒性以及处理效率。所述技术方案如下。

一方面,提供了一种数据处理方法,应用于数据处理系统中的第一设备,所述数据处理系统包括至少三个设备,所述数据处理系统中的设备采用环形结构连接,所述方法包括:

获取目标业务的第一样本数据;

基于所述第一样本数据对业务处理模型进行训练,得到所述业务处理模型的模型参数;

向与所述第一设备连接的第二设备发送所述模型参数,由所述第二设备基于接收到的模型参数与自身确定的模型参数得到融合模型参数后发送给其他第二设备,所述第二设备为所述数据处理系统中除所述第一设备之外的设备;

获取目标融合模型参数,所述目标融合模型参数融合有所述数据处理系统中所述至少三个设备确定的模型参数;

根据所述目标融合模型参数,确定所述业务处理模型的目标模型参数。

在一些实施例中,所述获取随机掩码,包括:

获取候选随机掩码;

对所述候选随机掩码进行取整处理,得到所述随机掩码。

在一些实施例中,所述根据所述目标融合模型参数,确定所述业务处理模型的目标模型参数,包括:

获取所述目标融合模型参数与总权重的商,将所述商作为所述业务处理模型的目标模型参数,所述总权重为所述数据处理系统中所述至少三个设备的权重之和。

一方面,提供了一种数据处理方法,应用于数据处理系统中的第二设备,所述数据处理系统包括至少三个设备,所述数据处理系统中的设备采用环形结构连接,所述方法包括:

获取目标业务的第二样本数据;

基于所述第二样本数据对业务处理模型进行训练,得到所述业务处理模型的模型参数;

接收第一设备确定的模型参数;

基于所述第一设备的模型参数与自身确定的模型参数进行融合,得到融合模型参数;

将所述融合模型参数发送给所述数据处理系统中的其他设备;

接收所述业务处理模型的目标模型参数。

一方面,提供了一种数据处理系统,所述数据处理系统包括至少三个设备,所述至少三个设备包括第一设备和至少两个第二设备,所述第一设备为所述数据处理系统中的任一个;所述数据处理系统中的设备采用环形结构连接;

第一设备用于获取目标业务的第一样本数据;基于所述第一样本数据对业务处理模型进行训练,得到所述业务处理模型的模型参数;向与所述第一设备连接的第二设备发送所述模型参数,由所述第二设备基于接收到的模型参数与自身确定的模型参数得到融合模型参数后发送给其他第二设备,所述第二设备为所述数据处理系统中除所述第一设备之外的设备;获取目标融合模型参数,所述目标融合模型参数融合有所述数据处理系统中所述至少三个设备确定的模型参数;根据所述目标融合模型参数,确定所述业务处理模型的目标模型参数;

任一第二设备用于获取目标业务的第二样本数据;基于所述第二样本数据对业务处理模型进行训练,得到所述业务处理模型的模型参数;接收第一设备确定的模型参数;基于所述第一设备的模型参数与自身确定的模型参数进行融合,得到融合模型参数;将所述融合模型参数发送给所述数据处理系统中的其他设备;接收所述业务处理模型的目标模型参数。

在一些实施例中,所述模型参数包括N个分段;其中,所述N大于1;

所述第一设备用于向与所述第一设备连接的第二设备发送所述模型参数中的第一分段,由所述第二设备基于接收到的第一分段与自身确定的模型参数中第一分段得到融合第一分段后发送给其他第二设备;获取目标融合第一分段,所述目标融合模型参数融合有所述数据处理系统中所述至少三个设备确定的模型参数中的第一分段;根据所述目标融合第一分段,确定所述业务处理模型的目标模型参数中目标第一分段;基于所述目标第一分段,获取所述业务处理模型的目标模型参数;

所述第二设备用于接收所述第一设备确定的模型参数中第一分段;基于所述第一设备确定的第一分段与自身确定的模型参数中第一分段进行融合,得到融合第一分段;将所述融合第一分段发送给所述数据处理系统中的其他设备;获取目标融合第二分段,所述目标融合模型参数融合有所述数据处理系统中所述至少三个设备确定的模型参数中的第二分段;根据所述目标融合第二分段,确定所述业务处理模型的目标模型参数中目标第二分段;基于所述目标第二分段,获取所述业务处理模型的目标模型参数。

在一些实施例中,所述第一设备用于执行下述任一项:

接收所述目标模型参数中目标第二分段,所述目标第二分段为所述目标模型参数中除所述目标第一分段之外的分段;对所述目标模型参数中目标第一分段和目标第二分段进行拼接,得到所述业务处理模型的目标模型参数;

发送所述目标第一分段;接收所述业务处理模型的目标模型参数,所述目标模型参数由第二设备对所述目标第一分段和目标第二分段拼接得到,所述目标第二分段为所述目标模型参数中除所述目标第一分段之外的分段。

在一些实施例中,所述第一设备还用于接收第二设备发送的模型参数中第二分段或融合第二分段;对接收到的所述第二分段或融合第二分段与所述第一设备确定的所述模型参数中的第二分段融合,得到融合第二分段;将所述第一设备得到的所述融合第二分段发送至其他第二设备。

在一些实施例中,所述数据处理系统包括至少两组设备,一组设备中包括管理设备和跟随设备,一组设备中的设备采用环形结构连接;所述至少两组设备的管理设备采用环形结构连接;所述第一设备为目标组设备中的管理设备;所述第二设备为所述目标组设备中的跟随设备。

在一些实施例中,所述第一设备用于向所述目标组设备中的跟随设备发送所述模型参数,由所述跟随设备基于接收到的模型参数与自身确定的模型参数得到融合模型参数后发送给其他跟随设备;获取第一目标融合模型参数,所述第一目标融合模型参数融合有所述目标组设备确定的模型参数;向其他组设备中的管理设备发送所述第一目标融合模型参数,由所述其他组设备中的管理设备基于接收到的目标融合模型参数与自身所在组设备确定的目标融合模型参数融合得到第二目标融合模型参数后发送给其他组设备中的管理设备;获取目标融合模型参数,所述目标融合模型参数融合有所述数据处理系统中至少两组设备确定的模型参数。

在一些实施例中,所述第一设备用于获取随机掩码;对所述随机掩码和所述第一设备确定的模型参数进行融合,得到目标模型参数;向与所述第一设备连接的第二设备发送所述目标模型参数,由所述第二设备基于接收到的目标模型参数与自身确定的模型参数融合得到融合模型参数后发送给其他第二设备;接收候选融合模型参数,所述候选融合模型参数融合有所述随机掩码以及所述数据处理系统中所述至少三个设备确定的模型参数;从所述候选融合模型参数中去除所述随机掩码,得到所述目标融合模型参数。

在一些实施例中,所述第一设备用于对所述第一设备确定的模型参数进行取整处理;对所述随机掩码和取整处理后的模型参数进行求和;对求和结果进行取余处理,得到所述目标模型参数;

所述第二设备用于基于接收到的目标模型参数与自身确定并取整处理后的模型参数进行求和,对求和结果进行取余处理得到融合模型参数后发送给其他第二设备。

在一些实施例中,所述第一设备用于对所述第一设备确定的模型参数进行取整处理;获取所述取整处理后的模型参数与所述第一设备的权重的第一乘积;对所述随机掩码和所述第一乘积进行求和;对求和结果进行取余处理,得到所述目标模型参数;

所述第二设备用于基于接收到的目标模型参数与第二乘积进行求和,对求和结果进行取余处理得到融合模型参数后发送给其他第二设备,所述第二乘积为所述第二设备自身确定并取整处理后的模型参数与所述第二设备的权重的乘积。

一方面,提供了一种数据处理装置,所述装置包括:

获取模块,用于获取目标业务的第一样本数据;

训练模块,用于基于所述第一样本数据对业务处理模型进行训练,得到所述业务处理模型的模型参数;

发送模块,用于向与第一设备连接的第二设备发送所述模型参数,由所述第二设备基于接收到的模型参数与自身确定的模型参数得到融合模型参数后发送给其他第二设备,所述第一设备为数据处理系统中的任一设备,所述第二设备为所述数据处理系统中除所述第一设备之外的设备,所述数据处理系统包括至少三个设备,所述数据处理系统中的设备采用环形结构连接;

所述获取模块,还用于获取目标融合模型参数,所述目标融合模型参数融合有所述数据处理系统中所述至少三个设备确定的模型参数;

确定模块,用于根据所述目标融合模型参数,确定所述业务处理模型的目标模型参数。

在一些实施例中,所述模型参数包括N个分段;其中,所述N大于1;

所述发送模块用于向与所述第一设备连接的第二设备发送所述模型参数中的第一分段,由所述第二设备基于接收到的第一分段与自身确定的模型参数中第一分段得到融合第一分段后发送给其他第二设备;

所述获取模块用于获取目标融合第一分段,所述目标融合模型参数融合有所述数据处理系统中所述至少三个设备确定的模型参数中的第一分段;

所述确定模块用于:

根据所述目标融合第一分段,确定所述业务处理模型的目标模型参数中目标第一分段;

基于所述目标第一分段,获取所述业务处理模型的目标模型参数。

在一些实施例中,所述获取模块用于执行下述任一项:

接收所述目标模型参数中目标第二分段,所述目标第二分段为所述目标模型参数中除所述目标第一分段之外的分段;对所述目标模型参数中目标第一分段和目标第二分段进行拼接,得到所述业务处理模型的目标模型参数;

发送所述目标第一分段;接收所述业务处理模型的目标模型参数,所述目标模型参数由第二设备对所述目标第一分段和目标第二分段拼接得到,所述目标第二分段为所述目标模型参数中除所述目标第一分段之外的分段。

在一些实施例中,所述获取模块还用于接收第二设备发送的模型参数中第二分段或融合第二分段;

所述装置还包括:

融合模块,用于对接收到的所述第二分段或融合第二分段与所述第一设备确定的所述模型参数中的第二分段融合,得到融合第二分段;

所述发送模块还用于将所述第一设备得到的所述融合第二分段发送至其他第二设备。

在一些实施例中,所述数据处理系统包括至少两组设备,一组设备中包括管理设备和跟随设备,一组设备中的设备采用环形结构连接;所述至少两组设备的管理设备采用环形结构连接;所述第一设备为目标组设备中的管理设备;所述第二设备为所述目标组设备中的跟随设备。

在一些实施例中,所述发送模块用于向所述目标组设备中的跟随设备发送所述模型参数,由所述跟随设备基于接收到的模型参数与自身确定的模型参数得到融合模型参数后发送给其他跟随设备;

所述获取模块用于:

获取第一目标融合模型参数,所述第一目标融合模型参数融合有所述目标组设备确定的模型参数;

向其他组设备中的管理设备发送所述第一目标融合模型参数,由所述其他组设备中的管理设备基于接收到的目标融合模型参数与自身所在组设备确定的目标融合模型参数融合得到第二目标融合模型参数后发送给其他组设备中的管理设备;

获取目标融合模型参数,所述目标融合模型参数融合有所述数据处理系统中至少两组设备确定的模型参数。

在一些实施例中,所述发送模块用于:

获取随机掩码;

对所述随机掩码和所述第一设备确定的模型参数进行融合,得到目标模型参数;

向与所述第一设备连接的第二设备发送所述目标模型参数,由所述第二设备基于接收到的目标模型参数与自身确定的模型参数融合得到融合模型参数后发送给其他第二设备;

所述获取模块用于:

接收候选融合模型参数,所述候选融合模型参数融合有所述随机掩码以及所述数据处理系统中所述至少三个设备确定的模型参数;

从所述候选融合模型参数中去除所述随机掩码,得到所述目标融合模型参数。

在一些实施例中,所述融合模块用于:

对所述第一设备确定的模型参数进行取整处理;

对所述随机掩码和取整处理后的模型参数进行求和;

对求和结果进行取余处理,得到所述目标模型参数;

所述由所述第二设备基于接收到的目标模型参数与自身确定的模型参数融合得到融合模型参数后发送给其他第二设备,包括:

由所述第二设备基于接收到的目标模型参数与自身确定并取整处理后的模型参数进行求和,对求和结果进行取余处理得到融合模型参数后发送给其他第二设备。

在一些实施例中,所述融合模块用于:

对所述第一设备确定的模型参数进行取整处理;

获取所述取整处理后的模型参数与所述第一设备的权重的第一乘积;

对所述随机掩码和所述第一乘积进行求和;

对求和结果进行取余处理,得到所述目标模型参数;

所述由所述第二设备基于接收到的目标模型参数与自身确定的模型参数融合得到融合模型参数后发送给其他第二设备,包括:

由所述第二设备基于接收到的目标模型参数与第二乘积进行求和,对求和结果进行取余处理得到融合模型参数后发送给其他第二设备,所述第二乘积为所述第二设备自身确定并取整处理后的模型参数与所述第二设备的权重的乘积。

一方面,提供了一种数据处理装置,所述装置包括:

获取模块,用于获取目标业务的第二样本数据;

训练模块,用于基于所述第二样本数据对业务处理模型进行训练,得到所述业务处理模型的模型参数;

接收模块,用于接收第一设备确定的模型参数;

融合模块,用于基于所述第一设备的模型参数与自身确定的模型参数进行融合,得到融合模型参数;

发送模块,用于将所述融合模型参数发送给所述数据处理系统中的其他设备,所述数据处理系统包括至少三个设备,所述数据处理系统中的设备采用环形结构连接;

所述接收模块还用于接收所述业务处理模型的目标模型参数。

在一些实施例中,所述模型参数包括N个分段;其中,所述N大于1;

所述接收模块用于:

接收所述第一设备确定的模型参数中第一分段;

基于所述第一设备确定的第一分段与自身确定的模型参数中第一分段进行融合,得到融合第一分段;

将所述融合第一分段发送给所述数据处理系统中的其他设备;

获取目标融合第二分段,所述目标融合模型参数融合有所述数据处理系统中所述至少三个设备确定的模型参数中的第二分段。

根据所述目标融合第二分段,确定所述业务处理模型的目标模型参数中目标第二分段;

基于所述目标第二分段,获取所述业务处理模型的目标模型参数。

一方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器加载并执行以实现上述数据处理方法的各种可选实现方式。

一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述数据处理方法的各种可选实现方式。

一个方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条计算机程序,所述一条或多条计算机程序存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条计算机程序,所述一个或多个处理器执行所述一条或多条计算机程序,使得电子设备能够执行上述任一种可能实施方式的数据处理方法。

本申请实施例,一方面,数据处理系统中的设备采用环形结构连接,每个设备与邻居设备通信即可,这样一个设备与其他设备有两条通信链路,即使其中一条通信链路暂时中断,该设备也可以通过其他通信链路与其他设备进行通信,因而,该数据处理系统不会因某条通信链路的暂时中断而中断数据处理流程,具有很好的稳定性和鲁棒性。另一方面,该数据处理系统在进行数据处理时,每个设备确定的模型参数按照上述通信链路依次传递,且传递过程中,每个设备对接收到的模型参数与自身确定的模型参数融合后再传递,这样设备之间传递的数据量较小,且无需向一个设备集中发送模型参数,因而,能够有效避免过载和通信拥塞的问题,能够有效提高数据处理速度和效率,保证数据处理的稳定性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。

图1是本申请实施例提供的一种样本空间和特征空间的示意图;

图2是本申请实施例提供的一种数据处理系统的流程图;

图3是本申请实施例提供的一种数据处理系统的流程图;

图4是本申请实施例提供的一种数据处理方法的流程图;

图5是本申请实施例提供的一种数据处理方法的流程图;

图6是本申请实施例提供的一种数据处理系统的示意图;

图7是本申请实施例提供的一种数据处理方法的流程图;

图8是本申请实施例提供的一种数据处理方法的流程图;

图9是本申请实施例提供的一种数据处理方法的流程图;

图10是本申请实施例提供的分布式系统100应用于区块链系统的结构示意图;

图11是本申请实施例提供的区块结构(Block Structure)一个可选的示意图;

图12是本申请实施例提供的一种数据处理装置的结构示意图;

图13是本申请实施例提供的一种数据处理装置的结构示意图;

图14是本申请实施例提供的一种电子设备的结构示意图;

图15是本申请实施例提供的一种终端的结构框图;

图16是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请中术语“第一”“第二”“第三”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,第一设备、第二设备、第三设备等,仅用于对设备进行区分。又例如,第一样本数据、第二样本数据和第三样本数据等仅用于对样本数据进行区分。在不脱离各种示例的范围的情况下,第一设备能够被称为第二设备,并且类似地,第二设备能够被称为第一设备。第一设备和第二设备都是设备,并且在某些情况下,能够是单独且不同的设备。

本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个设备是指两个或两个以上的设备。“至少两个”的含义是指两个或两个以上。“至少三个”的含义是指三个或三个以上。

应理解,在本文中对各种示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种示例的描述和所附权利要求书中所使用的那样,单数形式“一个(‘a’/ ‘an’)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。

还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示能够存在三种关系,例如,A和/或B,能够表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。

还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

还应理解,根据A确定B并不意味着仅仅根据A确定B,还能够根据A和/或其它信息确定B。

还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。

还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。

本申请实施例提供的数据处理方法应用到了人工智能技术。下面对人工智能进行简单介绍。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括音频处理技术、计算机视觉技术、自然语言处理技术以及机器学习/深度学习等几大方向。

让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中联邦学习逐渐成为一种新兴的人工智能基础技术,联邦学习的设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算节点之间开展高效率的机器学习。可选地,联邦学习可使用的机器学习算法并不局限于神经网络,还包括随机森林等重要算法,联邦学习有望成为下一代人工智能协同算法和协作网络的基础。

出于用户隐私保护、数据使用合规、商业利益竞争等考虑,数据合作面临很多困难,使得理想中的大数据变成了“数据孤岛”,阻碍数据价值创造和人工智能的发展。为破解数据合作困境,联邦学习(Federated Learning)应运而生。下面对联邦学习进行解释说明。

联邦学习又称为联合学习,能够在保护用户隐私和数据安全的前提下实现数据的“可用而不可见”,也即通过多方协作完成机器学习模型的训练任务,此外,还能够提供机器学习模型的推理服务。

联邦学习可以利用来自于多个参与方的多方数据源训练机器学习模型,通过使用多方、互补的数据源来提升机器学习模型的性能,例如,提升广告推荐模型的准确率。

与传统的机器学习方法不同,联邦学习不要求将分散的数据集中到一个数据中心就能够利用多个分撒的数据源联合训练机器学习模型和深度学习模型。联邦学习既能满足数据保护法律和法规的要求,又能实现跨部门、跨组织、甚至跨行业的数据合作,打破“数据孤岛”提供了新的解决思路,并开始从理论研究迈向大规模商业应用落地。

根据数据在不同参与方之间的分布情况,联邦学习分为横向联邦学习(Horizontal Federated Learning,HFL)、纵向联邦学习(Vertical Federated Learning,VFL)和联邦迁移学习(Federated Transfer Learning,FTL)。

其中,横向联邦学习又称为基于样本的联邦学习,适用于数据集共享相同特征空间但样本空间不同的情况;纵向联邦学习又称为基于特征的联邦学习,适用于数据集共享相同样本空间但特征空间不同的情况;联邦迁移学习则适用于数据集不仅在样本空间上不同而且在特征空间上也不同的情况。

在一些实施例中,本申请实施例提供的数据处理方法为一种横向联邦学习方法,下面对横向联邦学习进行详细介绍。

以两个参与方进行横向联邦学习为例,假设两个参与方分别称为参与方A和参与方B,两方联合训练一个或多个机器学习模型。其中,参与方A和参与方B共享相同的特征空间和不同的样本空间,也即两个参与方对不同的样本数据进行特征提取时,能够采用同样的特征表征方式对特征进行表征。例如,参与方A能够获取到样本数据A,参与方B能够获取到样本数据B,他们分别对样本数据进行特征提取,均能够得到特征(X1,X2,X3),特征向量的维度以及每个维度的含义也相同。这样对于庞大的样本数据,能够将其分给多个参与方进行训练,最终能够将多个参与方的训练情况综合,得到基于庞大的样本数据训练得到的模型参数。

例如,如图1所示例,横向联邦学习可以应用的场景是联邦学习的参与方拥有的数据集有相同的特征空间和不同的样本空间。例如,场景中包括三个参与方,参与方1包括样本U1-U4,参与方2包括样本U5-U10,参与方3包括样本U11-U15。每个样本均具有相同的特征空间[F1、F2、…、F

横向联邦学习的核心思想是让每个参与方在其本地使用自己拥有的数据训练一个模型,然后通过安全模型融合(如安全模型参数平均)得到一个更好的全局模型。通过安全设计横向联邦学习的模型训练过程,可以保证横向联邦学习的任何参与方都不能获得其他参与方的训练数据,并且联邦训练的模型的性能近似于将所有数据集中在一起训练出来的模型的性能。

图2和图3是本申请实施例提供的一种数据处理系统的实施环境示意图。本申请实施例提供的数据处理方法应用于数据处理系统200,也可以称之为联邦学习系统200,以下对数据处理系统200的系统架构进行介绍。

该数据处理系统包括至少三个设备,该至少三个设备包括第一设备和至少两个第二设备,该第一设备为该数据处理系统中的任一个;该数据处理系统中的设备采用环形结构连接。对于环形结构,在环形结构中,各设备串接,最后形成一个闭环,整个网络发送的信息就是在这个环中传递。该数据处理系统中的设备可以与另外两个设备连接,构成一个环或多个环。

该数据处理系统中的设备均参与到联邦学习过程,因而,可以将每个设备称为参与方。各个参与方之间能够通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。

对于每个设备,该设备可以包括一台计算设备、多台计算设备、云计算平台或者虚拟化中心中的至少一项。可选地,某一个设备在联邦学习中承担主要计算工作,其他设备在联邦学习中承担次要计算工作;或者,各个设备之间采用分布式计算架构进行协同计算。

参见图2,该数据处理系统200包括至少三个设备201,该至少三个设备201在图2中仅以参与方1、参与方2、参与方3、…、参与方K为例为例,其中,K为大于3的整数。多个参与方采用环形结构(Ring Architecture),每个参与方与其他参与方均有两条通信链路,每个参与方只与自己的邻居连接,组成一个环状拓扑。在环状拓扑里,横向联邦学习的每个参与方只需要与其直接的邻居进行通信,且每两个参与方之间都有两条通信链路,这样其中一条通信链路暂时中断,也能够通过另一条通信链路传输数据,具有较好的链路故障容错功能。

参见图3,该数据处理系统200包括至少三个设备,该数据处理系统包括至少两组设备。也即是,该至少三个设备能够被分为多组设备,每组设备中包括至少三个设备,每组设备可以采用环形结构,进而该数据处理系统形成多层的环形结构。一组设备中包括管理设备和跟随设备,一组设备中的设备采用环形结构连接,也即是,一组中的设备能够构成一个环,每个设备与组内的两个设备连接;该至少两组设备的管理设备采用环形结构连接。该分组的情况可以在数据处理系统中设备较多时部署,提高多组设备对数据处理的并行性和有序性,提高数据处理效率。

例如,当参与方个数较多时,可以对参与方进行分组,组成这样多层的环状拓扑结构,在图3中仅以参与方1、参与方2、…、参与方10为例进行说明,参与方1、参与方2和参与方3为第一组,参与方4、参与方5和参与方6为第二组,参与方7、参与方8、参与方9、参与方10为第三组。其中,参与方3、参与方6、参与方10为每组设备(每组参与方)中的管理设备(leader),参与方1和参与方2为参与方3的跟随设备(follower)。如图3所示例,有10个横向联邦学习参与方,第一层有3个小组组成的3个环,第二层有一个由3个小组的leader组成的环。第一层里,每个环内的每个参与方的计算可以并行执行,每个环的计算也可以并行执行。第二层里,每个环内的每个参与方的计算可以并行执行。每个环内的计算流程都可以如上面步骤1~4所描述的流程,特别是如上面步骤3所描述的并行分段计算模型参数加权平均的流程。

需要说明的是,上述图2和图3中设备数量仅为一种示例,并不对该数据处理系统包括的设备数量造成限定。

在一个示例性场景中,联邦学习系统中还包括第三方的协作者服务器,服务器用于提供联邦学习平台或联邦数据分析平台,服务器可以以公有云或私有云的部署方式对外提供联邦学习、联邦数据分析服务、联邦商业智能服务等云服务。例如,服务器配置有联邦数据分析任务的一个功能模块,通过该功能模块实现本申请实施例提供的数据处理方法,以提升联邦数据分析任务的安全性和可用性。

可选地,上述协作者服务器可以是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

可选地,上述数据处理系统中的设备可以为终端,该终端的设备类型包括但不限于:智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机或者台式计算机中的至少一种。以下实施例,以终端包括智能手机来进行举例说明。

本领域技术人员可以知晓,上述设备的数量能够更多或更少。比如上述设备仅为一个,或者上述设备为几十个或几百个,或者更多数量。本申请实施例对设备的数量和设备类型不加以限定。

如图2所示,对于每个设备,该设备可以包括消息管理和通信模块、参与方管理模块、流程调度模块、模型融合模块、加解密模块、模型训练模块。多个设备之间通过消息管理和通信模块进行数据通信,以传输各自确定的模型参数。在每个设备中,模型训练模块能够根据本地数据以及用户定义模型后,进行模型训练,模型训练后,能够执行模型checkpoint(检查点),其中,checkpoint为一个数据库事件,checkpoint事件由checkpoint进程(LGWR/CKPT进程)发出,当checkpoint事件发生时,DBWR(Data Base Writer,数据写进程)会将脏块写入到磁盘中,同时数据文件和控制文件的文件头也会被更新以记录checkpoint信息。其中,脏块是指脏数据的块,脏数据(Dirty Read)是指源系统中的数据不在给定的范围内或对于实际业务毫无意义,或是数据格式非法,以及在源系统中存在不规范的编码和含糊的业务逻辑。

该设备在训练得到自身的模型参数后,可以由加解密模块进行加密后,通过模型融合模块将自己确定的模型参数与其他设备确定的模型参数进行融合,需要说明的是,该其他设备确定的模型参数通过消息管理和通信模块传递。在模型参数融合中,还可以通过参与方管理模块对参与方进行管理,通过流程调度模块对模型参数融合流程进行调度。例如,确定由哪个设备开始发起哪个模型参数的加权合并流程和负责模型参数的加权合并等。

图4是本申请实施例提供的一种数据处理方法的流程图,该方法应用于数据处理系统中的第一设备中,该数据处理系统包括至少三个设备,该数据处理系统中的设备采用环形结构连接,该第一设备可以为终端或服务器,在此以该第一设备为终端为例,该方法包括以下步骤。

401、第一设备获取目标业务的第一样本数据。

本申请实施例提供的数据处理方法用于基于样本数据对业务处理模型进行训练,得到业务处理模型的目标模型参数。该数据处理方法由数据处理系统实现,该数据处理系统包括多个设备,该数据处理方法由该多个设备协作完成,因而,该数据处理方法为一种联邦学习方法。在一些实施例中,也可以称该多个设备为多个参与方。

402、第一设备基于该第一样本数据对业务处理模型进行训练,得到该业务处理模型的模型参数。

在本实施例中,第一设备获取第一样本数据,在第一设备本地进行模型训练,得到该第一设备确定的模型参数。在一些实施例中,该第一设备确定的模型参数在第一设备本地训练得到,也可以称之为第一设备的本地模型参数,或者第一设备确定的本地模型参数等。

同理的,该数据处理系统中的其他设备(也即是第二设备)也可以获取第二样本数据,并在其本地训练模型,确定出模型参数。这样该数据处理系统中每个设备基于自己的样本数据训练得到了模型参数。将数据处理系统中的多个设备确定出的模型参数融合,即可得到该业务处理模型的目标模型参数。

在上述图2和图3所示的数据处理系统中已经示出,数据处理系统中的设备采用环形结构连接,可以构成一个或多个环,该数据处理系统中的一个设备与至少两个设备连接,每个环中的设备与环内的两个设备连接,每个设备与邻居设备通信即可,这样一个设备与其他设备至少有两条通信链路,即使其中一条通信链路暂时中断,该设备也可以通过其他通信链路与其他设备进行通信,因而,该数据处理系统不会因某条通信链路的暂时中断而中断数据处理流程,具有很好的稳定性和鲁棒性。

403、第一设备向与该第一设备连接的第二设备发送该模型参数,由该第二设备基于接收到的模型参数与自身确定的模型参数得到融合模型参数后发送给其他第二设备,该第二设备为该数据处理系统中除该第一设备之外的设备。

该第一设备和第二设备确定出模型参数后,并非将模型参数均发送给同一个设备进行融合,而是由第一设备发起,向连接的第二设备发送模型参数,第二设备接收到模型参数后,将第一设备确定的模型参数与自身确定的模型参数融合后再继续发送给下一个第二设备,这样传递过程中,每个设备对接收到的模型参数与自身确定的模型参数融合后再传递,这样设备之间传递的数据量较小,能够有效避免过载和通信拥塞的问题,能够有效提高数据处理速度和效率,保证数据处理的稳定性。

404、第一设备获取目标融合模型参数,该目标融合模型参数融合有该数据处理系统中该至少三个设备确定的模型参数。

在该数据处理系统中与第一设备连接的一个设备,在将自身确定的模型参数与接收到的融合模型参数融合后,得到了目标融合模型参数,该目标融合模型参数融合有数据处理系统中所有设备确定的模型参数。因而可以将该目标融合模型参数再传回第一设备,由第一设备进一步确定业务处理模型的目标模型参数。

405、第一设备根据该目标融合模型参数,确定该业务处理模型的目标模型参数。

本申请实施例,一方面,数据处理系统中的设备采用环形结构连接,每个设备与邻居设备通信即可,这样一个设备与其他设备有两条通信链路,即使其中一条通信链路暂时中断,该设备也可以通过其他通信链路与其他设备进行通信,因而,该数据处理系统不会因某条通信链路的暂时中断而中断数据处理流程,具有很好的稳定性和鲁棒性。另一方面,该数据处理系统在进行数据处理时,每个设备确定的模型参数按照上述通信链路依次传递,且传递过程中,每个设备对接收到的模型参数与自身确定的模型参数融合后再传递,这样设备之间传递的数据量较小,且无需向一个设备集中发送模型参数,因而,能够有效避免过载和通信拥塞的问题,能够有效提高数据处理速度和效率,保证数据处理的稳定性。

图5是本申请实施例提供的一种数据处理方法的流程图,该方法应用于数据处理系统中的第二设备,该数据处理系统包括至少三个设备,该数据处理系统中的设备采用环形结构连接,该第二设备可以为终端或服务器,在此以该第二设备为终端为例,该方法包括以下步骤。

501、第二设备获取目标业务的第二样本数据。

502、第二设备基于该第二样本数据对业务处理模型进行训练,得到该业务处理模型的模型参数。

该步骤501和步骤502与上述步骤401和步骤402同理,第二设备也可以获取自身的第二样本数据进行模型训练,确定出模型参数。

503、第二设备接收第一设备确定的模型参数。

该步骤503与上述步骤403对应,第二设备接收上述步骤403中第一设备发送的模型参数。

504、第二设备基于该第一设备的模型参数与自身确定的模型参数进行融合,得到融合模型参数。

第二设备接收到第一设备确定的模型参数,本地也训练得到了模型参数,因而,可以将二者融合后再发送给其他设备,而不是将两个模型参数直接发送,这样能够减少第二设备与其他设备之间传输的数据量,能够有效避免过载和通信拥塞的问题,能够有效提高数据处理速度和效率。

505、第二设备将该融合模型参数发送给该数据处理系统中的其他设备。

同理的,其他设备接收到第二设备发送的融合模型参数,也可以基于融合模型参数与自身确定的模型参数融合得到新的融合模型参数再继续传递。后续得到融合有数据处理系统中所有设备的模型参数的目标融合模型参数后,可以传回第一设备确定该业务处理模型的目标模型参数。

506、第二设备接收该业务处理模型的目标模型参数。

该目标模型参数由其他设备(比如第一设备)确定后,可以将目标模型参数发送给数据处理系统中的任意设备。该第二设备则可以接收该业务处理模型的目标模型参数。

本申请实施例,一方面,数据处理系统中的设备采用环形结构连接,每个设备与邻居设备通信即可,这样一个设备与其他设备有两条通信链路,即使其中一条通信链路暂时中断,该设备也可以通过其他通信链路与其他设备进行通信,因而,该数据处理系统不会因某条通信链路的暂时中断而中断数据处理流程,具有很好的稳定性和鲁棒性。另一方面,该数据处理系统在进行数据处理时,每个设备确定的模型参数按照上述通信链路依次传递,且传递过程中,每个设备对接收到的模型参数与自身确定的模型参数融合后再传递,这样设备之间传递的数据量较小,且无需向一个设备集中发送模型参数,因而,能够有效避免过载和通信拥塞的问题,能够有效提高数据处理速度和效率,保证数据处理的稳定性。

图6是本申请实施例提供的一种数据处理系统的示意图,参见图6,该数据处理系统包括至少三个设备,该至少三个设备包括第一设备601和至少两个第二设备602,该第一设备为该数据处理系统中的任一个;第二设备为该数据处理系统中除该第一设备之外的设备。该数据处理系统中的设备采用环形结构连接,一个设备与另外两个设备连接。该第一设备用于执行各个方法实施例中第一设备所执行的数据处理方法。第二设备用于执行各个方法实施例中第二设备所执行的数据处理方法。具体可以参见上述图4、图5以及图7所示方法实施例。

图7是本申请实施例提供的一种数据处理方法的流程图,参见图7,该方法应用于数据处理系统,下面通过该数据处理系统包括的多个设备协作完成数据处理的方式,对该数据处理方法进行说明。在下述实施例中,以数据后处理系统包括四个设备为例进行说明,将与第一设备连接的第二设备称为第二设备,将该第二设备之外的其他第二设备称为第三设备和第四设备。在此仅以该数据处理系统包括四个设备为例进行说明,该数据处理系统还可以包括更多设备或者更少的设备,其所执行的方法步骤均与下述实施例中的设备所执行的方法步骤同理。参见图7,该方法包括以下步骤。

701、第一设备获取目标业务的第一样本数据。

在本申请实施例中,该数据处理系统中的每个设备能够获取该目标业务的样本数据以对业务处理模型进行训练。在横向联邦学习中,每个设备能够获取到自己的样本数据,对样本数据进行处理得到的样本特征位于同一特征空间内。

该目标业务可以为任一种业务,例如,图像分类、语音识别等。相应地,该业务处理模型可以为任一种模型,例如,图像分类模型、语音识别模型等。该业务处理模型可以为深度学习模型,也可以为本申请实施例对此不作限定。

对于不同的目标业务,样本数据也可能不同。例如,在图像分类业务中,样本数据可以为样本图像。在语音识别业务中,样本数据可以为样本语音。

在一些实施例中,该第一样本数据可以存储于该第一设备中,第一设备可以从本地存储中提取该第一样本数据。在另一些实施例中,该第一样本数据可以存储于数据库中,第一设备可以从数据库中提取该第一样本数据。

702、第一设备基于该第一样本数据对业务处理模型进行训练,得到该业务处理模型的模型参数。

第一设备获取到第一样本数据后,能够在本地对业务处理模型进行训练,得到业务处理模型的模型参数。在此将数据处理系统中每个设备进行模型训练得到的模型参数称为模型参数,以此来表示该模型参数为一个设备模型训练得到的结果,最终我们需要将数据处理系统中设备确定的模型参数综合得到最终的模型参数,在本申请实施例中将该最终的模型参数称为目标模型参数。

在一些实施例中,该模型训练的过程也即是由业务处理模型对第一样本数据进行特征提取,得到第一样本数据的特征,然后进一步对特征进行该目标业务对应的处理,得到第一样本数据的预测结果,然后基于第一样本数据中的目标结果和该预测结果,确定损失值,基于损失值对业务处理模型的模型参数进行调整,直至符合训练结束条件时停止。

对于该训练结束条件可以为损失值收敛,或者迭代次数达到目标次数等,本申请实施例对此不作限定。

其中,第一设备可以在本地进行一个或者几个epoch的模型训练。其中,1个epoch等于使用样本数据中的全部样本训练一次模型。通俗的讲,epoch的取值就是整个样本数据被使用的次数。

该第一设备可以使用任意训练方法和训练框架,例如PyTorch、TensorFlow、Keras、Horovod或PyTorch-on-Angel等。其中,PyTorch是一个开源的Python机器学习库。TensorFlow是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现。Tensor是指张量,Flow是指流。Keras是一个由Python编写的开源人工神经网络库。Horovod是Uber(优步)开源的一个深度学习工具。PyTorch-on-Angel是在Angel平台上运行的PyTorch项目。Angel是一种计算平台,使用Java和Scala语言开发,面向机器学习的高性能分布式计算框架。需要说明的是,该第一设备、第二设备、第三设备以及第四设备可以选择不同的训练方法和训练框架,也即是,该数据处理系统中每个设备可以选择自己的训练方法和训练框架,具体如何选择,可以由相关技术人员根据需求或者设备的软硬件条件确定,本申请实施例对此不作限定。

703、第二设备获取目标业务的第二样本数据。

704、第二设备基于该第二样本数据对业务处理模型进行训练,得到该业务处理模型的模型参数。

该步骤703和步骤704与上述步骤701和步骤702同理,第二设备也可以基于自身的第二样本数据进行模型训练,得到模型参数。

705、第三设备获取目标业务的第三样本数据。

706、第三设备基于该第三样本数据对业务处理模型进行训练,得到该业务处理模型的模型参数。

该步骤705和步骤706与上述步骤701和步骤702同理,第三设备也可以基于自身的第三样本数据进行模型训练,得到模型参数。

707、第四设备获取目标业务的四样本数据。

708、第四设备基于该第四样本数据对业务处理模型进行训练,得到该业务处理模型的模型参数。

该步骤707和步骤708与上述步骤701和步骤702同理,第四设备也可以基于自身的第四样本数据进行模型训练,得到模型参数。

需要说明的是,上述步骤序号并不对步骤701、702,步骤703、704,步骤705、706,以及步骤707、708的执行顺序造成限定。数据处理系统中的每个设备基于样本数据进行模型训练的过程彼此独立,能够并行执行。相较于由一个设备收集所有的样本数据进行训练,将模型训练的步骤划分到各个设备上,由各个设备并行处理,能够大大提高模型训练速度和效率,也能够减少设备模型训练的负担,避免设备出现高负荷的情况导致系统崩溃。

709、第一设备向与该第一设备连接的第二设备发送该模型参数。

数据处理系统中每个设备训练得到模型参数后,需要对多个设备确定的模型参数进行融合。该第一设备为数据处理系统中的任一设备,在本实施例中,以该第一设备为模型参数融合的发起方以及对融合模型参数进行处理得到目标模型参数的设备为例进行了说明,在一些实施例中,也可以选择其他设备作为模型参数融合的发起方,也可以选择其他设备作为对融合模型参数进行处理得到目标模型参数的设备,本申请实施例对此不作限定。

对于本申请实施例提供的四个设备,该四个设备的连接方式可以如图8所示。如图8所示,该数据处理系统包括第一设备801、第二设备802、第三设备803和第四设备804。该四个设备之间采用环形结构,第一设备801分别与第二设备802和第四设备804连接,第二设备802分别与第三设备803和第一设备801连接,第三设备803分别与第二设备802和第四设备804连接,第四设备804分别与第三设备803和第一设备801连接。该四个设备也可以称为四个参与方,例如,可以分别称该四个设备为参与方1、参与方2、参与方3和参与方4。

第一设备确定了模型参数后,能够通过通信链接,将模型参数发送给其他设备。在本实施例中,与第一设备连接的有第二设备和第四设备,在此仅以向第二设备发送模型参数为例进行说明,在一些实施例中,第一设备也可以向第四设备发送该模型参数,后续由第二设备对第三设备确定的目标融合模型参数传递回第一设备。

在一些实施例中,数据处理系统中各个设备之间传输数据时,对数据加密后再发送。具体的,每个设备可以采用基于秘密分享的方法来保护本地训练得到的模型参数,例如,该秘密分享的方法可以通过添加随机掩码的方式实现。在该步骤709中,第一设备可以获取随机掩码,对该随机掩码和该第一设备确定的模型参数进行融合,得到目标模型参数,然后向与该第一设备连接的第二设备发送该目标模型参数。通过将该随机掩码与模型参数融合后再发送,即使其他设备截获到发送的目标模型参数,由于不清楚随机掩码是什么,则无法推断出该第一设备确定的模型参数,保证了设备之间数据的传输安全。

另外,通过添加随机掩码,而不是基于同态加密的方式,也就不会出现密文的字节数比明文的字节数大很多倍(例如,大64倍)的情况,也即是不会出现密文膨胀问题,自然也就不会带来很大的计算量。上述添加随机掩码的方式,能够大大减小通信开销,进一步避免单点通信拥塞问题和链路故障问题。

在一些实施例中,每个设备确定出的模型参数可能为浮点数,在采用秘密分享时,每个设备可以将确定的模型参数从浮点数转化为整数,进而对取整处理后的整数进行取余处理,将余数发送给其他设备,这样在提高数据传输的安全性的同时,能够有效减小传输的数据量,提高数据处理效率。

具体的,上述随机掩码的获取过程可以为:第一设备获取候选随机掩码,然后对该候选随机掩码进行取整处理,得到该随机掩码。

相应的,第一设备获取到随机掩码后,还可以对模型参数进行上述取整处理,然后将二者融合。具体的,第一设备可以对该第一设备确定的模型参数进行取整处理,对该随机掩码和取整处理后的模型参数进行求和,对求和结果进行取余处理,得到该目标模型参数。

例如,该随机掩码的获取过程可以通过

对于模型参数,可以通过

在一些实施例中,在对随机掩码与模型参数进行求和时,可以为该模型参数赋予权重,这样每个设备对应一个权重,后续基于每个设备的权重,能够对数据处理系统中的多个设备确定出的模型参数进行加权合并,得到目标模型参数。

例如,第一设备可以通过

第一设备融合得到目标模型参数后,可以将其发送至第二设备,由第二设备再在此基础上融合自身确定的模型参数。其中,该目标模型参数即为上述取余处理得到的余数。

710、第二设备接收第一设备确定的模型参数。

711、第二设备基于该第一设备的模型参数与自身确定的模型参数进行融合,得到融合模型参数。

第二设备接收到第一设备发送的模型参数后,可以将其与自身确定的模型参数进行融合。

在上述第一设备发送目标模型参数的实施例中,该第二设备接收到该目标模型参数后,可以基于接收到的目标模型参数与自身确定的模型参数融合得到融合模型参数后发送给其他第二设备。这样后续设备之间传输的数据均包含有该随机掩码,有效保证了数据处理系统中所有设备之间数据传输的安全性。

该融合过程与上述步骤709中的融合过程同理。具体的,该第二设备基于接收到的目标模型参数与自身确定并取整处理后的模型参数进行求和,对求和结果进行取余处理得到融合模型参数后发送给其他第二设备。

例如,第二设备可以对接收到的

712、第二设备将该融合模型参数发送给第三设备。

713、第三设备接收第二设备发送的该融合模型参数。

714、第三设备基于融合模型参数和自身确定的模型参数进行融合,得到融合模型参数。

该步骤713与步骤714与上述步骤710和步骤711同理,在此不多做赘述。例如,第三设备可以执行同理的融合步骤,得到

715、第三设备将第三设备确定的融合模型参数发送给第四设备。

716、第四设备接收第三设备发送的融合模型参数。

717、第四设备基于融合模型参数和自身确定的模型参数进行融合,得到目标融合模型参数。

步骤716与步骤717与上述步骤710和步骤711同理,在此不多做赘述。例如,第四设备可以执行同理的融合步骤,得到目标融合模型参数

718、第四设备将目标融合模型参数发送给第一设备。

719、第一设备接收该目标融合模型参数。

该步骤719为第一设备获取目标融合模型参数的过程。在上述将模型参数融合随机掩码发送的实施例中,第四设备融合得到的可以不是目标融合模型参数,而是候选融合模型参数,其中包含有随机掩码,第一设备还需要将其去除后,得到目标融合模型参数。其中,该目标融合模型参数融合有该数据处理系统中该至少三个设备确定的模型参数。

具体的,第一设备接收候选融合模型参数,该候选融合模型参数融合有该随机掩码以及该数据处理系统中该至少三个设备确定的模型参数,然后第一设备从该候选融合模型参数中去除该随机掩码,得到该目标融合模型参数。例如,第一设备可以计算

720、第一设备根据该目标融合模型参数,确定该业务处理模型的目标模型参数。

第一设备得到目标融合模型参数后,可以对其进行处理,得到业务处理模型的目标模型参数。该目标融合模型参数为一种融合结果,如果想要获得目标模型参数,还需要将其转化为单个设备确定出的模型参数。

具体的,第一设备可以获取该目标融合模型参数与总权重的商,将该商作为该业务处理模型的目标模型参数,该总权重为该数据处理系统中该至少三个设备的权重之和。

例如,第一设备可以计算

对于每个设备的权重,任一设备的权重可以为样本数据的数量,也可以为其他参数,比如数据质量指标、贡献度指标、奖励指标等,本申请实施例对此不作限定。

当然,上述通过对模型参数进行加权平均的方式得到了目标模型参数,在其它实施例中,也可以直接对模型参数进行平均,其实是加权平均的一种特殊情况。也即是上述

在一些实施例中,上述模型参数以及目标模型参数可以包括N个分段;其中,该N大于1。这样每个设备负责一个目标模型参数的一个分段的计算,进而数据处理系统中的多个设备可以并行计算目标模型参数的分段,能够进一步将计算步骤划分到多个设备中,且并行处理能够提高数据处理速度和效率。对于分段,横向联邦学习的参与方(数据处理系统的设备)可以将模型参数分成N段,并选举N个参与方,分别计算这N个模型分段的加权平均,可以并行的计算。也就是分段数量可以与设备数量相同,也可以与设备数量不同。

其中,

可选的,也可以选择模型参数分段个数

在分段并行处理的方式中,上述步骤709可以为:第一设备向与该第一设备连接的第二设备发送该模型参数中的第一分段,进而,步骤710中,第二设备接收到第一分段。然后步骤711至步骤712,该第二设备基于接收到的第一分段与自身确定的模型参数中第一分段得到融合第一分段后发送给第三设备。第三设备和第四设备所执行的步骤同理。第四设备确定出目标融合第一分段后,能够将其发送至第一设备,进而第一设备获取目标融合第一分段,该目标融合模型参数融合有该数据处理系统中该至少三个设备确定的模型参数中的第一分段。最终步骤720中,第一设备可以根据该目标融合第一分段,确定该业务处理模型的目标模型参数中目标第一分段,基于该目标第一分段,获取该业务处理模型的目标模型参数。

当然,在获取目标模型参数时,除了该目标第一分段之外,还需要确定出目标第二分段。该目标第二分段由数据处理系统中第一设备之外的设备确定出,以实现由多个设备并行确定模型分段。

因而,第一设备还可以接收第二设备发送的模型参数中第二分段或融合第二分段,对接收到的该第二分段或融合第二分段与该第一设备确定的该模型参数中的第二分段融合,得到融合第二分段,将该第一设备得到的该融合第二分段发送至其他第二设备。

在一些实施例中,对于多个分段的融合步骤,可以由第一设备执行,也可以由数据处理模型中的其他设备执行。因而,基于该目标第一分段,获取该业务处理模型的目标模型参数的步骤可以包括以下两种方式。

方式一、第一设备接收该目标模型参数中目标第二分段,该目标第二分段为该目标模型参数中除该目标第一分段之外的分段,第一设备对该目标模型参数中目标第一分段和目标第二分段进行拼接,得到该业务处理模型的目标模型参数。该方式一中,第一设备负责所有目标分段的融合得到目标模型参数。

方式二、第一设备发送该目标第一分段,第一设备接收该业务处理模型的目标模型参数,该目标模型参数由第二设备对该目标第一分段和目标第二分段拼接得到,该目标第二分段为该目标模型参数中除该目标第一分段之外的分段。在该方式二中,第一设备之外的其他设备负责所有目标分段的融合得到目标模型参数,再将目标模型参数同步给该第一设备。

对于该分段并行处理方式中,上述数据处理方法可以包括以下几个步骤。例如,如图9和图8所示,有K=4个参与方的情况。每个参与方都将其本地模型参数组成的向量分成四段,该分段过程可以将向量平均分为四段,也可以不平均分为四段,本申请实施例对此不作限定。例如,模型参数向量

步骤①:参与方1的加解密模块生成随机掩码1,记作

步骤②:参与方2将收到的来自参与方1的加密分段1与自己的参数分段1进行求和,即计算

步骤③:参与方3将收到的来自参与方2的加密分段1与自己的参数分段1进行求和,即计算

步骤④:参与方4将收到的来自参与方3的加密分段1与自己的参数分段1进行求和,即计算

步骤⑤:参与方1将收到的来自参与方4的加密分段1减去自己生成的随机掩码1,即计算

上述步骤中,加法和减法运算都是在整数域的运算,需要包括求模运算,也即是模型参数和随机掩码均进行了取整处理,最后步骤⑤的除法运算整数除以整数的运算,结果是浮点数。需要说明的是,由以上的描述可以可知,因为每个参与方分别负责计算一个模型参数分段的加权平均,所以参与方之间可以并行执行模型参数分段的加权平均步骤。

在一些实施例中,在图3所示的分组场景中,该第一设备为目标组设备中的管理设备;该第二设备为该目标组设备中的跟随设备。例如,在图3所示的双层环形结构的数据处理系统中,包括10个参与方,其中,第一组参与方中,参与方3为管理设备,第一组参与方中每个参与方分别负责参数分段1至参数分段3的加权合并,并由参与方3负责将第一组参与方中每个参与方得到的参数分段拼接得到该第一组参与方得到的模型参数分段1至参数分段3,即

本申请实施例,一方面,数据处理系统中的设备采用环形结构连接,每个设备与邻居设备通信即可,这样一个设备与其他设备有两条通信链路,即使其中一条通信链路暂时中断,该设备也可以通过其他通信链路与其他设备进行通信,因而,该数据处理系统不会因某条通信链路的暂时中断而中断数据处理流程,具有很好的稳定性和鲁棒性。另一方面,该数据处理系统在进行数据处理时,每个设备确定的模型参数按照上述通信链路依次传递,且传递过程中,每个设备对接收到的模型参数与自身确定的模型参数融合后再传递,这样设备之间传递的数据量较小,且无需向一个设备集中发送模型参数,因而,能够有效避免过载和通信拥塞的问题,能够有效提高数据处理速度和效率,保证数据处理的稳定性。

在一些实施例中,上述图4、图5、图7所示实施例中的数据处理系统可以为区块链系统,数据处理系统中的设备可以为区块链系统中的节点设备。

下面对区块链系统进行简单介绍。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。

区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。

本申请实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。该分布式系统可以为区块链系统,参见图10,图10是本申请实施例提供的分布式系统100应用于区块链系统的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P 协议是一个运行在传输控制协议(Transmission Control Protocol,TCP)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。

参见图10示出的区块链系统中各节点的功能,涉及的功能包括以下几种。

1)路由,节点具有的基本功能,用于支持节点之间的通信。

节点除具有路由功能外,还可以具有以下功能。

2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。

例如,应用实现的业务包括以下几种。

2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。

2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。

2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。

3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。

参见图11,图11是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

在本申请实施例中,上述第一设备、第二设备、第三设备和第四设备均可以为区块链系统中的节点设备,多个节点设备采用环形结构连接,每个节点设备可以获取目标业务的样本数据,基于样本数据对业务处理模型进行训练,得到业务处理模型的模型参数。在得到模型参数后,节点设备可以向连接的下一个节点设备发送自身确定的模型参数,下一个节点设备可以将接收到的模型参数与自身确定的模型参数融合后,再发送给连接的下一个节点设备,直至最后一个节点设备传回第一个开始发送的节点设备。该节点设备基于融合的模型参数,能够确定最终的目标模型参数。该节点设备确定最终的目标模型参数后,可以基于该目标模型参数生成区块,将该区块向区块链系统中其他节点设备广播该区块,由区块链系统对该区块进行共识,在共识通过时,各个节点设备能够将该区块添加到区块链上,这样每个节点设备均同步了目标模型参数。

在分段并行方案中,每个节点设备在得到自己负责的目标分段后,可以由一个节点设备对其进行拼接,得到目标模型参数,并通过生成区块将其上链。每个节点设备也可以基于自己负责的目标分段,生成区块并上链。

在一些实施例中,节点设备也可以在得到自身确定的模型参数后,基于自身确定的模型参数生成区块,通过共识,将区块上链。

这样通过生成区块并上链,将最终确定的目标模型参数或者中间数据上链,能够利用区块链系统中链上数据无法被篡改的特性,保证数据安全、准确和完整,且通过区块链共识机制,能够避免单个节点设备计算错误的情况,保证数据的准确性。

上述所有可选技术方案,能够采用任意结合形成本申请的可选实施例,在此不再一一赘述。

图12是本申请实施例提供的一种数据处理装置的结构示意图,参见图12,该装置包括以下功能模块:

获取模块1001,用于获取目标业务的第一样本数据;

训练模块1002,用于基于该第一样本数据对业务处理模型进行训练,得到该业务处理模型的模型参数;

发送模块1003,用于向与第一设备连接的第二设备发送该模型参数,由该第二设备基于接收到的模型参数与自身确定的模型参数得到融合模型参数后发送给其他第二设备,该第一设备为数据处理系统中的任一设备,该第二设备为该数据处理系统中除该第一设备之外的设备,该数据处理系统包括至少三个设备,该数据处理系统中的设备采用环形结构连接;

该获取模块1001,还用于获取目标融合模型参数,该目标融合模型参数融合有该数据处理系统中该至少三个设备确定的模型参数;

确定模块1004,用于根据该目标融合模型参数,确定该业务处理模型的目标模型参数。

在一些实施例中,该模型参数包括N个分段;其中,该N大于1;

该发送模块1003用于向与该第一设备连接的第二设备发送该模型参数中的第一分段,由该第二设备基于接收到的第一分段与自身确定的模型参数中第一分段得到融合第一分段后发送给其他第二设备;

该获取模块1001用于获取目标融合第一分段,该目标融合模型参数融合有该数据处理系统中该至少三个设备确定的模型参数中的第一分段;

该确定模块1004用于:

根据该目标融合第一分段,确定该业务处理模型的目标模型参数中目标第一分段;

基于该目标第一分段,获取该业务处理模型的目标模型参数。

在一些实施例中,该获取模块1001用于执行下述任一项:

接收该目标模型参数中目标第二分段,该目标第二分段为该目标模型参数中除该目标第一分段之外的分段;对该目标模型参数中目标第一分段和目标第二分段进行拼接,得到该业务处理模型的目标模型参数;

发送该目标第一分段;接收该业务处理模型的目标模型参数,该目标模型参数由第二设备对该目标第一分段和目标第二分段拼接得到,该目标第二分段为该目标模型参数中除该目标第一分段之外的分段。

在一些实施例中,该获取模块1001还用于接收第二设备发送的模型参数中第二分段或融合第二分段;

该装置还包括:

融合模块,用于对接收到的该第二分段或融合第二分段与该第一设备确定的该模型参数中的第二分段融合,得到融合第二分段;

该发送模块1003还用于将该第一设备得到的该融合第二分段发送至其他第二设备。

在一些实施例中,该数据处理系统包括至少两组设备,一组设备中包括管理设备和跟随设备,一组设备中的设备采用环形结构连接;该至少两组设备的管理设备采用环形结构连接;该第一设备为目标组设备中的管理设备;该第二设备为该目标组设备中的跟随设备。

在一些实施例中,该发送模块1003用于向该目标组设备中的跟随设备发送该模型参数,由该跟随设备基于接收到的模型参数与自身确定的模型参数得到融合模型参数后发送给其他跟随设备;

该获取模块1001用于:

获取第一目标融合模型参数,该第一目标融合模型参数融合有该目标组设备确定的模型参数;

向其他组设备中的管理设备发送该第一目标融合模型参数,由该其他组设备中的管理设备基于接收到的目标融合模型参数与自身所在组设备确定的目标融合模型参数融合得到第二目标融合模型参数后发送给其他组设备中的管理设备;

获取目标融合模型参数,该目标融合模型参数融合有该数据处理系统中至少两组设备确定的模型参数。

在一些实施例中,该发送模块1003用于:

获取随机掩码;

对该随机掩码和该第一设备确定的模型参数进行融合,得到目标模型参数;

向与该第一设备连接的第二设备发送该目标模型参数,由该第二设备基于接收到的目标模型参数与自身确定的模型参数融合得到融合模型参数后发送给其他第二设备;

该获取模块1001用于:

接收候选融合模型参数,该候选融合模型参数融合有该随机掩码以及该数据处理系统中该至少三个设备确定的模型参数;

从该候选融合模型参数中去除该随机掩码,得到该目标融合模型参数。

在一些实施例中,该融合模块用于:

对该第一设备确定的模型参数进行取整处理;

对该随机掩码和取整处理后的模型参数进行求和;

对求和结果进行取余处理,得到该目标模型参数;

该由该第二设备基于接收到的目标模型参数与自身确定的模型参数融合得到融合模型参数后发送给其他第二设备,包括:

由该第二设备基于接收到的目标模型参数与自身确定并取整处理后的模型参数进行求和,对求和结果进行取余处理得到融合模型参数后发送给其他第二设备。

在一些实施例中,该融合模块用于:

对该第一设备确定的模型参数进行取整处理;

获取该取整处理后的模型参数与该第一设备的权重的第一乘积;

对该随机掩码和该第一乘积进行求和;

对求和结果进行取余处理,得到该目标模型参数;

该由该第二设备基于接收到的目标模型参数与自身确定的模型参数融合得到融合模型参数后发送给其他第二设备,包括:

由该第二设备基于接收到的目标模型参数与第二乘积进行求和,对求和结果进行取余处理得到融合模型参数后发送给其他第二设备,该第二乘积为该第二设备自身确定并取整处理后的模型参数与该第二设备的权重的乘积。

本申请实施例,一方面,数据处理系统中的设备采用环形结构连接,每个设备与邻居设备通信即可,这样一个设备与其他设备有两条通信链路,即使其中一条通信链路暂时中断,该设备也可以通过其他通信链路与其他设备进行通信,因而,该数据处理系统不会因某条通信链路的暂时中断而中断数据处理流程,具有很好的稳定性和鲁棒性。另一方面,该数据处理系统在进行数据处理时,每个设备确定的模型参数按照上述通信链路依次传递,且传递过程中,每个设备对接收到的模型参数与自身确定的模型参数融合后再传递,这样设备之间传递的数据量较小,且无需向一个设备集中发送模型参数,因而,能够有效避免过载和通信拥塞的问题,能够有效提高数据处理速度和效率,保证数据处理的稳定性。

需要说明的是:上述实施例提供的数据处理装置在数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将数据处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图13是本申请实施例提供的一种数据处理装置的结构示意图,参见图13,该装置包括:

获取模块1101,用于获取目标业务的第二样本数据;

训练模块1102,用于基于该第二样本数据对业务处理模型进行训练,得到该业务处理模型的模型参数;

接收模块1103,用于接收第一设备确定的模型参数;

融合模块1104,用于基于该第一设备的模型参数与自身确定的模型参数进行融合,得到融合模型参数;

发送模块1105,用于将该融合模型参数发送给该数据处理系统中的其他设备,该数据处理系统包括至少三个设备,该数据处理系统中的设备采用环形结构连接;

该接收模块1103还用于接收该业务处理模型的目标模型参数。

在一些实施例中,该模型参数包括N个分段;其中,该N大于1;

该接收模块1103用于:

接收该第一设备确定的模型参数中第一分段;

基于该第一设备确定的第一分段与自身确定的模型参数中第一分段进行融合,得到融合第一分段;

将该融合第一分段发送给该数据处理系统中的其他设备;

获取目标融合第二分段,该目标融合模型参数融合有该数据处理系统中该至少三个设备确定的模型参数中的第二分段。

根据该目标融合第二分段,确定该业务处理模型的目标模型参数中目标第二分段;

基于该目标第二分段,获取该业务处理模型的目标模型参数。

本申请实施例,一方面,数据处理系统中的设备采用环形结构连接,每个设备与邻居设备通信即可,这样一个设备与其他设备有两条通信链路,即使其中一条通信链路暂时中断,该设备也可以通过其他通信链路与其他设备进行通信,因而,该数据处理系统不会因某条通信链路的暂时中断而中断数据处理流程,具有很好的稳定性和鲁棒性。另一方面,该数据处理系统在进行数据处理时,每个设备确定的模型参数按照上述通信链路依次传递,且传递过程中,每个设备对接收到的模型参数与自身确定的模型参数融合后再传递,这样设备之间传递的数据量较小,且无需向一个设备集中发送模型参数,因而,能够有效避免过载和通信拥塞的问题,能够有效提高数据处理速度和效率,保证数据处理的稳定性。

需要说明的是:上述实施例提供的数据处理装置在处理数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将数据处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图14是本申请实施例提供的一种电子设备的结构示意图,该电子设备1200可因配置或性能不同而产生比较大的差异,能够包括一个或一个以上处理器(CentralProcessing Units,CPU)1201和一个或一个以上的存储器1202,其中,该存储器1202中存储有至少一条计算机程序,该至少一条计算机程序由该处理器1201加载并执行以实现上述各个方法实施例提供的数据处理方法。该电子设备还能够包括其他用于实现设备功能的部件,例如,该电子设备还能够具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出。本申请实施例在此不做赘述。

上述方法实施例中的电子设备能够实现为终端。例如,图15是本申请实施例提供的一种终端的结构框图。该终端1300可以是便携式移动终端,比如:智能手机、平板电脑、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1300包括有:处理器1301和存储器1302。

处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的数据处理方法。

在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、显示屏1305、摄像头组件1306、音频电路1307、定位组件1308和电源1309中的至少一种。

外围设备接口1303可被用于将I/O(Input/ Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置在终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在另一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。

摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。

定位组件1308用于定位终端1300的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。

加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1313可以设置在终端1300的侧边框和/或显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在显示屏1305的下层时,由处理器1301根据用户对显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置在终端1300的正面、背面或侧面。当终端1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。

光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制显示屏1305的显示亮度。具体地,当环境光强度较高时,调高显示屏1305的显示亮度;当环境光强度较低时,调低显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。

接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制显示屏1305从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图15中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

上述方法实施例中的电子设备能够实现为服务器。例如,图16是本申请实施例提供的一种服务器的结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,能够包括一个或一个以上处理器(Central Processing Units,CPU)1401和一个或一个以上的存储器1402,其中,该存储器1402中存储有至少一条计算机程序,该至少一条计算机程序由该处理器1401加载并执行以实现上述各个方法实施例提供的数据处理方法。当然,该服务器还能够具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该服务器还能够包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序由可由处理器执行以完成上述实施例中的数据处理方法。例如,计算机可读存储介质能够是只读存储器(Read-Only Memory,简称:ROM)、随机存取存储器(Random Access Memory,简称:RAM)、只读光盘(Compact Disc Read-OnlyMemory,简称:CD-ROM)、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或该计算机程序包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得电子设备能够执行上述数据处理方法。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

应理解,根据A确定B并不意味着仅仅根据A确定B,还能够根据A和/或其它信息确定B。

本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,该程序能够存储于一种计算机可读存储介质中,上述提到的存储介质能够是只读存储器,磁盘或光盘等。

以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 移动设备的数据处理方法、装置、存储介质和移动设备
  • 行驶设备的数据处理方法、装置、设备及存储介质
技术分类

06120112210108