基于联邦学习框架的数据处理方法、设备、介质及产品与流程

专利2022-05-09  91


本公开实施例涉及大数据领域,尤其涉及一种基于联邦学习框架的数据处理方法、设备、介质及产品。



背景技术:

联邦学习框架是一种分布式的人工智能模型训练框架,联邦学习可以保证各个企业的数据在无需共享的条件下实现联邦建模和联邦训练。联邦学习模型训练基于算法原理进行拆分,通过本地计算中间结果并在加密保护下,不断交互中间计算结果,完成算法训练流程。

在联邦学习模型训练的过程中,一般采用多方协同计算机制。部分参与方需要采用其他参与方的计算结果进行后续的数据处理操作。

在实现本公开过程中,发明人发现现有技术中至少存在如下问题:如果其他参与方依赖于某参与方计算结果以进行后续计算,则在该参与方进行全量数据计算时,由于数据量较大,因此所需数据处理时间较长,其他参与方等待计算结果时处于停等的状态,会造成计算资源极大浪费。此外,由于不同参与方的配置往往有所不同,多方协同计算机制会进一步地导致训练时间成本增加。



技术实现要素:

本公开实施例提供一种基于联邦学习框架的数据处理方法、设备、介质及产品,用以解决多方协同计算机制中参与方处于长时间停等状态,资源浪费的技术问题。

第一方面,本公开实施例提供一种基于联邦学习框架的数据处理方法,应用于数据发送端,所述方法包括:

对全量样本数据进行预分裂操作,获得中间数据,所述中间数据包括多个分裂信息;

按照预设的数据分割策略,对所述中间数据进行分割操作,获得至少一条待处理流式数据;

将所述至少一条待处理流式数据发送至用于流式数据处理的消息中间件,所述消息中间件用于异步地将所述至少一条待处理流式数据发送至联邦学习框架中的数据接收端,以使所述数据接收端依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

第二方面,本公开实施例提供一种基于联邦学习框架的数据处理方法,应用于数据接收端,所述方法包括:

获取用于流式数据处理的消息中间件异步发送的至少一条待处理流式数据,其中,所述至少一条待处理流式数据是联邦学习框架中的数据发送端按照预设的数据分割策略,对所述中间数据进行分割操作后获得的;

依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

第三方面,本公开实施例提供一种数据发送端,所述数据发送端包括:

预处理模块,用于对全量样本数据进行预分裂操作,获得中间数据,所述中间数据包括多个分裂信息;

分割模块,用于按照预设的数据分割策略,对所述中间数据进行分割操作,获得至少一条待处理流式数据;

发送模块,用于将所述至少一条待处理流式数据发送至用于流式数据处理的消息中间件,所述消息中间件用于异步地将所述至少一条待处理流式数据发送至联邦学习框架中的数据接收端,以使所述数据接收端依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

第四方面,本公开实施例提供一种数据接收端,所述数据接收端包括:

获取模块,用于获取用于流式数据处理的消息中间件异步发送的至少一条待处理流式数据,其中,所述至少一条待处理流式数据是联邦学习框架中的数据发送端按照预设的数据分割策略,对所述中间数据进行分割操作后获得的;

计算模块,用于依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

第五方面,本公开实施例提供一种电子设备,包括:存储器,处理器;

存储器;用于存储所述处理器可执行指令的存储器;

其中,所述处理器用于调用所述存储器中的程序指令执行如第一方面或第二方面所述的基于联邦学习框架的数据处理方法。

第六方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面或第二方面所述的基于联邦学习框架的数据处理方法。

第七方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如第一方面或第二方面所述的基于联邦学习框架的数据处理方法。

本公开实施例提供的基于联邦学习框架的数据处理方法、设备、介质及产品,通过在数据发送端与数据接收端增加用于流式数据处理的消息中间件,从而能够在数据发送端对数据进行预处理后,将中间数据进行分割,获得至少一条待处理流式数据,将至少一条待处理流式数据发送至用于流式数据处理的消息中间件。消息中间件可以异步地将至少一条待处理流式数据发送至联邦学习框架中的数据接收端,因此,数据接收端无需长时间的停等,可以相对同步地进行待处理流式数据的数据处理操作,避免了计算资源的浪费,且能够提高训练效率,降低训练成本。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本公开基于的系统架构示意图;

图2为本公开实施例一提供的基于联邦学习框架的数据处理方法的流程示意图;

图3为本公开实施例提供的应用场景图;

图4为本公开实施例二提供的基于联邦学习框架的数据处理方法的流程示意图;

图5为本公开实施例三提供的基于联邦学习框架的数据处理方法的流程示意图;

图6为本公开实施例四提供的基于联邦学习框架的数据处理方法的流程示意图;

图7为本公开实施例五提供的数据发送端的结构示意图;

图8为本公开实施例六提供的数据接收端的结构示意图;

图9为本公开实施例七提供的电子设备的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

针对上述提及的在现有的联邦学习模型训练中,由于多方协同计算机制中参与方处于长时间停等状态,资源浪费的技术问题,本公开提供了一种基于联邦学习框架的数据处理方法、设备、介质及产品。

需要说明的是,本公开提供的基于联邦学习框架的数据处理方法、设备、介质及产品可运用在对各种联邦学习框架训练的场景中。

联邦学习多方协同计算机制,如果其他参与方依赖于某参与方计算结果以进行后续计算,则在该参与方进行全量数据计算时,开始停等,这会造成计算资源极大浪费,且由于本地机器配置往往不能得到统一,使得训练时间成本增加。

在解决上述技术问题的过程中,发明人通过研究发现,在对于大数据量且数据发送端将中间计算结果分片后,在数据接收端进行逻辑计算、汇总计算结果,不影响最终准确性的计算步骤。并且能够避免数据接收端长时间的停等,提高数据处理的效率。

本公开实施例提供的基于联邦学习框架的数据处理方法,旨在解决现有技术的如上技术问题。

下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。

图1为本公开基于的系统架构示意图,如图1所示,本公开基于的系统架构至少包括:数据发送端1、消息中间件2以及数据接收端3。其中,消息中间件2分别与数据发送端1以及数据接收端3通信连接。该数据发送端1以及数据接收端3内设置有基于联邦学习框架的数据处理装置,该基于联邦学习框架的数据处理装置采用c/c 、java、shell或python等语言编写;消息中间件2则可以为任意一种能够进行流式数据处理的中间件。

图2为本公开实施例一提供的基于联邦学习框架的数据处理方法的流程示意图,如图2所示,该方法包括:

步骤201、对全量样本数据进行预分裂操作,获得中间数据,所述中间数据包括多个分裂信息。

本实施例的执行主体为基于联邦学习框架的数据处理装置,其中,该基于联邦学习框架的数据处理可耦合于数据发送端内。

在联邦学习框架内,可能存在至少一个数据发送端以及至少一个数据接收端,该数据发送端具体用于对数据进行预处理操作。该数据接收端具体用于对数据发送端预处理后的数据进行数据处理。

以xgboost寻找最佳分裂节点为例,数据发送端具体用于对数据进行预分裂操作,获得中间数据。而数据接收端用于对中间数据进行数据处理,以确定最大增益值,根据最大增益值确定最佳分裂节点。

在本实施方式中,为了实现最佳分裂节点的确定,首先可以对全量样本数据进行预分裂操作,以获得中间数据。其中,该中间数据包括多个分裂信息。

步骤202、按照预设的数据分割策略,对所述中间数据进行分割操作,获得至少一条待处理流式数据。

在本实施方式中,由于数据发送端的全量样本数据可能数据量较大,因此,为了避免数据接收端长时间地停等,等待数据发送端的数据处理结果,数据发送端可以按照预设的数据分割策略,对中间数据进行分割操作,获得至少一条待处理流式数据。

步骤203、将所述至少一条待处理流式数据发送至用于流式数据处理的消息中间件,所述消息中间件用于异步地将所述至少一条待处理流式数据发送至联邦学习框架中的数据接收端,以使所述数据接收端依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

在本实施方式中,为了实现对至少一条待处理流式数据的异步发送操作,可以在数据发送端以及数据接收端之间增加消息中间件,其中,该消息中间件具体可以为任意一种能够用于流式数据处理的中间件。举例来说,该消息中间件可以为消息队列。

在获得至少一条待处理流式数据之后,数据发送端可以将该至少一条待处理流式数据发送至消息中间件,从而消息中间件异步地将至少一条待处理流式数据转发至数据接收端。数据接收端可以实时地对接收到的至少一条待处理流式数据进行数据处理,无需长时间处于停等状态,浪费计算资源。

具体地,在实施例一的基础上,步骤202具体包括:

按照预设的数据量或时间间隔对所述中间数据进行分割操作,获得至少一条待处理流式数据。

在本实施例中,具体可以按照预设的数据量或时间间隔对所述中间数据进行分割操作,获得至少一条待处理流式数据。举例来说,可以按照十条或二十条的数据量对中间数据进行分割操作。或者,可以按照5ms的时间间隔对中间数据进行分割操作。或者,可以采用任意一种可以实现的数据分割策略进行中间数据的分割,本公开对此不做限制。

图3为本公开实施例提供的应用场景图,如图3所示,数据发送端31可以对中间数据进行分流,并向消息队列32发送多条分裂信息33。消息队列32可以将分裂信息33依次转发至数据接收端34,从而数据接收端34可以根据接收到的分裂信息33进行增益值35的计算。

本实施例提供的基于联邦学习框架的数据处理方法,通过在数据发送端与数据接收端增加用于流式数据处理的消息中间件,从而能够在数据发送端对数据进行预处理后,将中间数据进行分割,获得至少一条待处理流式数据,将至少一条待处理流式数据发送至用于流式数据处理的消息中间件。消息中间件可以异步地将至少一条待处理流式数据发送至联邦学习框架中的数据接收端,因此,数据接收端无需长时间的停等,可以相对同步地进行待处理流式数据的数据处理操作,避免了计算资源的浪费,且能够提高训练效率,降低训练成本。

图4为本公开实施例二提供的基于联邦学习框架的数据处理方法的流程示意图,在实施例一的基础上,如图4所示,步骤201具体包括:

步骤401、确定预存的全量样本数据中的特征分割点。

步骤402、针对每一特征分割点,确定所述特征分割点对应的连续分桶,所述连续分桶内包括与所述特征分割点对应的多个样本。

步骤403、根据所述连续分桶,确定所述全量样本数据对应的梯度直方图。

步骤404、根据所述梯度直方图,对所述全量样本数据进行预分裂操作,获得多个分裂信息,将所述多个分裂信息确定为所述中间数据。

在本实施例中,为了实现对全量样本数据的预处理操作,数据发送端首先可以确定预存的全量样本数据中的特征分割点。针对每一特征点,进行特征分桶操作。具体地,特征分桶是根据特征点,将整个连续特征范围分割为多组连续分桶,然后根据值所在的分桶将原数值特征转换为分桶id(作为类别特征)的过程。其中,连续分桶内包括与特征分割点对应的多个样本。

根据该连续分桶,确定全量样本数据对应的梯度直方图。从而后续能够根据该梯度直方图,对全量样本数据进行预分裂操作,获得多个分裂信息,将所述多个分裂信息确定为所述中间数据。

进一步地,在上述任一实施例的基础上,步骤401具体包括:

获取预存的全量样本数据。

按照等频或等距的策略对所述全量样本数据进行划分操作,确定所述全量样本数据中的特征分割点。

在本实施例中,在确定特征点的过程中,首先可以获取预存的全量样本数据。其中,该全量样本数据具体可以为预先存储在数据库中的,也可以为从其他终端设备内获取的,本公开对此不做限制。

按照等频或者等距的策略,对该全量样本进行划分操作,以确定划分中的多个样本数据集对应的特征分割点。

进一步地,在上述任一实施例的基础上,步骤403具体包括:

针对每一连续分桶,计算所述连续分桶内各样本对应的一阶导数以及二阶导数。

将各样本对应的一阶导数以及二阶导数进行累加操作,计算所述全量样本数据对应的梯度直方图。

在本实施例中,针对每一个连续分桶,其均对应有与特征分割点对应的多个样本。因此,可以计算连续分桶内各样本对应的一阶导数g以及二阶导数h。将各样本对应的一阶导数g以及二阶导数h进行累加操作,计算所述全量样本数据对应的梯度直方图。

本实施例提供的基于联邦学习框架的数据处理方法,通过确定预存的全量样本数据中的特征分割点。确定各特征分割点对应的连续分桶,根据连续分桶,确定全量样本数据对应的梯度直方图。从而能够根据梯度直方图,对全量样本数据进行预分裂操作,获得多个分裂信息,将多个分裂信息确定为中间数据。为后续的最佳分裂节点的确定提供了基础。

图5为本公开实施例三提供的基于联邦学习框架的数据处理方法的流程示意图,应用于数据接收端,如图5所示,该方法包括:

步骤501、获取用于流式数据处理的消息中间件异步发送的至少一条待处理流式数据,其中,所述至少一条待处理流式数据是联邦学习框架中的数据发送端按照预设的数据分割策略,对所述中间数据进行分割操作后获得的。

步骤502、依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

本实施例的执行主体为基于联邦学习框架的数据处理装置,该基于联邦学习框架的数据处理装置可耦合于数据接收端。该数据接收端具体用于对数据发送端发送的中间数据进行进一步地数据处理。

以xgboost寻找最佳分裂节点为例,数据接收端用于对中间数据进行数据处理,以确定最大增益值,根据最大增益值确定最佳分裂节点。

在本实施例中,数据接收端可以获取消息中间件异步发送的至少一条待处理流式数据,其中,该至少一条待处理流式数据具体可以为联邦学习框架中的数据发送端按照预设的数据分割策略,对中间数据进行分割操作后获得的。

依次计算各待处理流式数据对应的增益值进行计算。从而能够根据该增益值确定各待处理流式数据对应的最佳分裂节点。

进一步地,在实施例三的基础上,步骤502具体包括:

实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值。

检测预设的时间间隔内是否接收到所述消息中间件发送的新的分裂信息。

若是,则将所述新的分裂信息作为当前接收到的分裂信息,返回执行所述实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值的步骤,直至预设的时间间隔内未接收到消息中间件发送的新的分裂信息。

若否,则判定已完成对至少一个分裂信息的计算,获得与所述至少一个分裂信息对应的至少一个增益值。

在本实施例中,由于数据发送端的数量可以为多个,其发送的分裂信息的数量也为多个。因此,在数据接收端在进行数据处理的过程中,需要检测是否已经完成对全部分裂信息的数据处理。

具体地,可以实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值。检测预设的时间间隔内,是否接收到消息中间件发送的新的分裂信息。

若接收到新的分裂信息,则表征当前未完成对全部的分裂信息的数据处理,因此,可以执行所述实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值的步骤,直至预设的时间间隔内未接收到消息中间件发送的新的分裂信息。

反之,若未接收到新的分裂信息,则表征当前已完成对全部的分裂信息的数据处理,因此,可以判定判定已完成对至少一个分裂信息的计算,获得与至少一个分裂信息对应的至少一个增益值。

本实施例提供的基于联邦学习框架的数据处理方法,通过获取数据发送端至少一条待处理流式数据进行增益值计算,以确定最佳分裂节点。从而能够有效地避免数据接收端长时间停等,造成计算资源浪费的问题。

图6为本公开实施例四提供的基于联邦学习框架的数据处理方法的流程示意图,在实施例三的基础上,所述至少一条待处理流式数据为至少一个分裂信息,所述分裂信息与所述数据发送端预存的全量样本数据中的特征分割点一一对应;如图6所示,步骤502具体包括:

步骤601、采用预设的增益值算法对所述至少一个分裂信息进行计算,获得与所述至少一个分裂信息对应的至少一个增益值。

步骤602、确定所述至少一个增益值中数值最大的目标增益值,将所述目标增益值对应的分裂信息确定为目标分裂信息。

步骤603、将与所述目标分裂信息对应的特征分割点确定为最佳分裂节点。

在本实施例中,在获取到至少一条待处理流式数据之后,可以采用预设的增益值算法对所述至少一个分裂信息进行计算,获得与所述至少一个分裂信息对应的至少一个增益值gain。其中,预设的增益值算法可以如公式1所示:

其中,hl为一阶导数,左子树分数,hr为一阶导数,右子树分数,gl为二阶导数,左子树分数,gr为二阶导数,右子树分数。λ为正则化系数,用于防止过拟合。γ为复杂度代价,用于防止叶子节点数量过多。

在至少一条分裂信息对应的增益值中,确定数值最大的增益值作为目标增益值。并将目标增益值对应的分裂信息确定为目标分裂信息。将目标分裂信息对应的特征分割点确定为最佳分裂节点。

本实施例提供的基于联邦学习框架的数据处理方法,通过采用预设的增益值算法对各分裂信息对应的增益值进行计算,从而能够准确地确定最佳分裂点。此外,通过在多个分裂信息对应的增益值中,将增益值最大的目标分裂信息对应的特征分割点确定为最佳分裂节点,从而能够在批处理转换为流式计算之后,仍然能够准确地确定最佳分裂点。能够有效地避免数据接收端长时间停等,造成计算资源浪费的问题。

图7为本公开实施例五提供的数据发送端的结构示意图,如图7所示,该数据发送端包括:预处理模块71、分割模块72以及发送模块73。其中,预处理模块71,用于对全量样本数据进行预分裂操作,获得中间数据,所述中间数据包括多个分裂信息。分割模块72,用于按照预设的数据分割策略,对所述中间数据进行分割操作,获得至少一条待处理流式数据。发送模块73,用于将所述至少一条待处理流式数据发送至用于流式数据处理的消息中间件,所述消息中间件用于异步地将所述至少一条待处理流式数据发送至联邦学习框架中的数据接收端,以使所述数据接收端依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

进一步地,在实施例五的基础上,所述分割模块,用于:按照预设的数据量或时间间隔对所述中间数据进行分割操作,获得至少一条待处理流式数据。

本实施例提供的基于联邦学习框架的数据处理装置,通过在数据发送端与数据接收端增加用于流式数据处理的消息中间件,从而能够在数据发送端对数据进行预处理后,将中间数据进行分割,获得至少一条待处理流式数据,将至少一条待处理流式数据发送至用于流式数据处理的消息中间件。消息中间件可以异步地将至少一条待处理流式数据发送至联邦学习框架中的数据接收端,因此,数据接收端无需长时间的停等,可以相对同步地进行待处理流式数据的数据处理操作,避免了计算资源的浪费,且能够提高训练效率,降低训练成本。

进一步地,在实施例五的基础上,所述预处理模块用于:确定预存的全量样本数据中的特征分割点。针对每一特征分割点,确定所述特征分割点对应的连续分桶,所述连续分桶内包括与所述特征分割点对应的多个样本。根据所述连续分桶,确定所述全量样本数据对应的梯度直方图。根据所述梯度直方图,对所述全量样本数据进行预分裂操作,获得多个分裂信息,将所述多个分裂信息确定为所述中间数据。

进一步地,在上述任一实施例的基础上,所述预处理模块用于:获取预存的全量样本数据。按照等频或等距的策略对所述全量样本数据进行划分操作,确定所述全量样本数据中的特征分割点。

进一步地,在上述任一实施例的基础上,所述预处理模块用于:针对每一连续分桶,计算所述连续分桶内各样本对应的一阶导数以及二阶导数。将各样本对应的一阶导数以及二阶导数进行累加操作,计算所述全量样本数据对应的梯度直方图。

图8为本公开实施例六提供的数据接收端的结构示意图,如图8所示,该数据接收端包括:获取模块81以及计算模块82。其中,获取模块81,用于获取用于流式数据处理的消息中间件异步发送的至少一条待处理流式数据,其中,所述至少一条待处理流式数据是联邦学习框架中的数据发送端按照预设的数据分割策略,对所述中间数据进行分割操作后获得的。计算模块82,用于依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

进一步地,在实施例六的基础上,所述至少一条待处理流式数据为至少一个分裂信息,所述分裂信息与所述数据发送端预存的全量样本数据中的特征分割点一一对应;所述计算模块用于:采用预设的增益值算法对所述至少一个分裂信息进行计算,获得与所述至少一个分裂信息对应的至少一个增益值。确定所述至少一个增益值中数值最大的目标增益值,将所述目标增益值对应的分裂信息确定为目标分裂信息。将与所述目标分裂信息对应的特征分割点确定为最佳分裂节点。

进一步地,在实施例六的基础上,所述计算模块用于:实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值。检测预设的时间间隔内是否接收到所述消息中间件发送的新的分裂信息。若是,则将所述新的分裂信息作为当前接收到的分裂信息,返回执行所述实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值的步骤,直至预设的时间间隔内未接收到消息中间件发送的新的分裂信息。若否,则判定已完成对至少一个分裂信息的计算,获得与所述至少一个分裂信息对应的至少一个增益值。

图9为本公开实施例七提供的电子设备的结构示意图,如图9所示,该设备可以是移动电话,计算机,平板设备,个人数字助理等。

装置900可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(i/o)接口912,传感器组件914,以及通信组件916。

处理组件902通常控制装置900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。

存储器904被配置为存储各种类型的数据以支持在装置900的操作。这些数据的示例包括用于在装置900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件906为装置900的各种组件提供电力。电源组件906可以包括电源管理系统,一个或多个电源,及其他与为装置900生成、管理和分配电力相关联的组件。

多媒体组件908包括在所述装置900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当装置900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(mic),当装置900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。

i/o接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件914包括一个或多个传感器,用于为装置900提供各个方面的状态评估。例如,传感器组件914可以检测到装置900的打开/关闭状态,组件的相对定位,例如所述组件为装置900的显示器和小键盘,传感器组件914还可以检测装置900或装置900一个组件的位置改变,用户与装置900接触的存在或不存在,装置900方位或加速/减速和装置900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件916被配置为便于装置900和其他设备之间有线或无线方式的通信。装置900可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件916还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置900可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由装置900的处理器920执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本公开又一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述任一实施例所述的基于联邦学习框架的数据处理方法。

本公开又一实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上述任一实施例所述的基于联邦学习框架的数据处理方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。


技术特征:

1.一种基于联邦学习框架的数据处理方法,其特征在于,应用于数据发送端,所述方法包括:

对全量样本数据进行预分裂操作,获得中间数据,所述中间数据包括多个分裂信息;

按照预设的数据分割策略,对所述中间数据进行分割操作,获得至少一条待处理流式数据;

将所述至少一条待处理流式数据发送至用于流式数据处理的消息中间件,所述消息中间件用于异步地将所述至少一条待处理流式数据发送至联邦学习框架中的数据接收端,以使所述数据接收端依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

2.根据权利要求1所述的方法,其特征在于,所述对全量样本数据进行预分裂操作,获得中间数据,所述中间数据包括多个分裂信息,包括:

确定预存的全量样本数据中的特征分割点;

针对每一特征分割点,确定所述特征分割点对应的连续分桶,所述连续分桶内包括与所述特征分割点对应的多个样本;

根据所述连续分桶,确定所述全量样本数据对应的梯度直方图;

根据所述梯度直方图,对所述全量样本数据进行预分裂操作,获得多个分裂信息,将所述多个分裂信息确定为所述中间数据。

3.根据权利要求2所述的方法,其特征在于,所述确定预存的全量样本数据中的特征分割点,包括:

获取预存的全量样本数据;

按照等频或等距的策略对所述全量样本数据进行划分操作,确定所述全量样本数据中的特征分割点。

4.根据权利要求2所述的方法,其特征在于,所述根据所述连续分桶,确定所述全量样本数据对应的梯度直方图,包括:

针对每一连续分桶,计算所述连续分桶内各样本对应的一阶导数以及二阶导数;

将各样本对应的一阶导数以及二阶导数进行累加操作,计算所述全量样本数据对应的梯度直方图。

5.根据权利要求1-4任一项所述的方法,其特征在于,所述按照预设的数据分割策略,对所述中间数据进行分割操作,获得至少一条待处理流式数据,包括:

按照预设的数据量或时间间隔对所述中间数据进行分割操作,获得至少一条待处理流式数据。

6.一种基于联邦学习框架的数据处理方法,其特征在于,应用于数据接收端,所述方法包括:

获取用于流式数据处理的消息中间件异步发送的至少一条待处理流式数据,其中,所述至少一条待处理流式数据是联邦学习框架中的数据发送端按照预设的数据分割策略,对所述中间数据进行分割操作后获得的;

依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

7.根据权利要求6所述的方法,其特征在于,所述至少一条待处理流式数据为至少一个分裂信息,所述分裂信息与所述数据发送端预存的全量样本数据中的特征分割点一一对应;

所述依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点,包括:

采用预设的增益值算法对所述至少一个分裂信息进行计算,获得与所述至少一个分裂信息对应的至少一个增益值;

确定所述至少一个增益值中数值最大的目标增益值,将所述目标增益值对应的分裂信息确定为目标分裂信息;

将与所述目标分裂信息对应的特征分割点确定为最佳分裂节点。

8.根据权利要求7所述的方法,其特征在于,所述采用预设的增益值算法对所述至少一个分裂信息进行计算,获得与所述至少一个分裂信息对应的至少一个增益值,包括:

实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值;

检测预设的时间间隔内是否接收到所述消息中间件发送的新的分裂信息;

若是,则将所述新的分裂信息作为当前接收到的分裂信息,返回执行所述实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值的步骤,直至预设的时间间隔内未接收到消息中间件发送的新的分裂信息;

若否,则判定已完成对至少一个分裂信息的计算,获得与所述至少一个分裂信息对应的至少一个增益值。

9.一种数据发送端,其特征在于,所述数据发送端包括:

预处理模块,用于对全量样本数据进行预分裂操作,获得中间数据,所述中间数据包括多个分裂信息;

分割模块,用于按照预设的数据分割策略,对所述中间数据进行分割操作,获得至少一条待处理流式数据;

发送模块,用于将所述至少一条待处理流式数据发送至用于流式数据处理的消息中间件,所述消息中间件用于异步地将所述至少一条待处理流式数据发送至联邦学习框架中的数据接收端,以使所述数据接收端依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

10.根据权利要求9所述的数据发送端,其特征在于,所述预处理模块用于:

确定预存的全量样本数据中的特征分割点;

针对每一特征分割点,确定所述特征分割点对应的连续分桶,所述连续分桶内包括与所述特征分割点对应的多个样本;

根据所述连续分桶,确定所述全量样本数据对应的梯度直方图;

根据所述梯度直方图,对所述全量样本数据进行预分裂操作,获得多个分裂信息,将所述多个分裂信息确定为所述中间数据。

11.根据权利要求10所述的数据发送端,其特征在于,所述预处理模块用于:

获取预存的全量样本数据;

按照等频或等距的策略对所述全量样本数据进行划分操作,确定所述全量样本数据中的特征分割点。

12.根据权利要求10所述的数据发送端,其特征在于,所述预处理模块用于:

针对每一连续分桶,计算所述连续分桶内各样本对应的一阶导数以及二阶导数;

将各样本对应的一阶导数以及二阶导数进行累加操作,计算所述全量样本数据对应的梯度直方图。

13.根据权利要求9-12任一项所述的数据发送端,其特征在于,所述分割模块,用于:

按照预设的数据量或时间间隔对所述中间数据进行分割操作,获得至少一条待处理流式数据。

14.一种数据接收端,其特征在于,所述数据接收端包括:

获取模块,用于获取用于流式数据处理的消息中间件异步发送的至少一条待处理流式数据,其中,所述至少一条待处理流式数据是联邦学习框架中的数据发送端按照预设的数据分割策略,对所述中间数据进行分割操作后获得的;

计算模块,用于依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。

15.根据权利要求14所述的数据接收端,其特征在于,所述至少一条待处理流式数据为至少一个分裂信息,所述分裂信息与所述数据发送端预存的全量样本数据中的特征分割点一一对应;

所述计算模块用于:

采用预设的增益值算法对所述至少一个分裂信息进行计算,获得与所述至少一个分裂信息对应的至少一个增益值;

确定所述至少一个增益值中数值最大的目标增益值,将所述目标增益值对应的分裂信息确定为目标分裂信息;

将与所述目标分裂信息对应的特征分割点确定为最佳分裂节点。

16.根据权利要求15所述的数据接收端,其特征在于,所述计算模块用于:

实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值;

检测预设的时间间隔内是否接收到所述消息中间件发送的新的分裂信息;

若是,则将所述新的分裂信息作为当前接收到的分裂信息,返回执行所述实时采用预设的增益值算法对当前接收到的分裂信息进行计算,获得与当前接收到的分裂信息对应的增益值的步骤,直至预设的时间间隔内未接收到消息中间件发送的新的分裂信息;

若否,则判定已完成对至少一个分裂信息的计算,获得与所述至少一个分裂信息对应的至少一个增益值。

17.一种电子设备,包括:存储器,处理器;

存储器;用于存储所述处理器可执行指令的存储器;

其中,所述处理器用于调用所述存储器中的程序指令执行如权利要求1-5或6-8任一项所述的基于联邦学习框架的数据处理方法。

18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-5或6-8任一项所述的基于联邦学习框架的数据处理方法。

19.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5或6-8任一项所述的基于联邦学习框架的数据处理方法。

技术总结
本公开实施例提供一种基于联邦学习框架的数据处理方法、设备、介质及产品。方法包括:对全量样本数据进行预分裂操作,获得中间数据,中间数据包括多个分裂信息;按照预设的数据分割策略,对中间数据进行分割操作,获得至少一条待处理流式数据;将至少一条待处理流式数据发送至消息中间件,消息中间件用于异步地将至少一条待处理流式数据发送至联邦学习框架中的数据接收端,以使数据接收端依次对各待处理流式数据进行增益值计算操作,根据增益值确定各待处理流式数据对应的最佳分裂节点。因此,数据接收端无需长时间的停等,可以相对同步地进行待处理流式数据的数据处理操作,避免了计算资源的浪费,且能够提高训练效率,降低训练成本。

技术研发人员:张德;陈行;彭南博
受保护的技术使用者:京东科技控股股份有限公司
技术研发日:2021.06.03
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-9496.html

最新回复(0)