基于聚类驱动模式的联合学习模型训练方法及装置
文献发布时间:2024-04-18 19:58:26
技术领域
本公开涉及联合学习技术领域,尤其涉及一种基于聚类驱动模式的联合学习模型训练方法及装置。
背景技术
联合学习一般由参与方和中央服务器组成。各参与方拥有自己的本地数据,并使用自己的本地数据参与联合学习模型的训练。由于各参与方的本地数据一般是分布式存储在各参与方本地(即数据源不同),而不同源的数据通常会存在数据分布不一致(即数据异构)的问题。如果各参与方直接使用各自的本地数据参与联合学习模型的训练,建立的模型无法很好的拟合已有的数据,模型收敛速度慢且泛化性能比较差。虽然将各参与方的本地数据集中到一起进行训练在一定程度上可以解决数据异构所导致的所建立的模型的泛化能力较差的问题,但是很多参与方出于保护自己的数据隐私的考虑都不愿意共享自己的数据。
因此,亟需提供一种在有效保护各参与方的数据隐私的情况下,解决各参与方因数据异构而导致模型训练的收敛速度慢且所建立的模型的泛化性能较差的问题的方法。
发明内容
有鉴于此,本公开实施例提供了一种基于聚类驱动模式的联合学习模型训练方法及装置,以在有效保护各参与方的数据隐私的情况下,解决各参与方因数据异构而导致模型训练的收敛速度慢且所建立的模型的泛化性能较差的问题的方法。
本公开实施例的第一方面,提供了一种基于聚类驱动模式的联合学习模型训练方法,包括:
客户端:
响应联合学习模型训练;
利用预设聚类方法,对本地数据进行数据聚类并得到类簇中心,将类簇中心上传到服务端;
当接到服务端反馈的对多个类簇中心进行聚合后得到的聚合类簇中心时,对本地数据进行联合学习模型训练;
当使用本地数据进行联合学习模型训练达到预设条件时,停止训练以得到聚类驱动模型;其中预设条件为直到满足迭代次数或者类簇中心不再发生变化;
根据聚类驱动模型,训练负荷预测模型;
响应于服务端的反馈;
对负荷预测模型进行本地训练直到达到收收敛条件时,得到目标联合学习模型。
本公开实施例的第二方面,提供了一种基于聚类驱动模式的联合学习模型训练方法,包括:
服务端:
接收多个客户端发送的类簇中心;
将多个客户端发送的类簇中心进行聚合,得到聚合类簇中心;
将聚合类簇中心发送到各个客户端;
响应各个客户端的反馈信息,反馈信息包括负荷预测模型的训练模型参数;
对多个客户端发送的负荷预测模型的训练模型参数进行注意力聚合,得到负荷预测模型的全局模型参数;
将负荷预测模型的全局模型参数下发给各个客户端。
本公开实施例的第三方面,提供了一种基于聚类驱动模式的联合学习模型训练装置,包括:
第一响应模块,被配置为响应联合学习模型训练;
聚类模块,被配置为利用预设聚类方法,对本地数据进行数据聚类并得到类簇中心,将类簇中心上传到服务端;
第一训练模块,被配置为当接到服务端反馈的对多个类簇中心进行聚合后得到的聚合类簇中心时,对本地数据进行联合学习模型训练;
第二训练模块,被配置为当使用本地数据进行联合学习模型训练达到预设条件时,停止训练以得到聚类驱动模型;其中预设条件为直到满足迭代次数或者类簇中心不再发生变化;
第三训练模块,被配置为根据聚类驱动模型,训练负荷预测模型;
第二响应模块,被配置为响应于服务端的反馈;
第四训练模块,被配置为对负荷预测模型进行本地训练直到达到收收敛条件时,得到目标联合学习模型。
本公开实施例的第四方面,提供了一种基于聚类驱动模式的联合学习模型训练装置,包括:
接收模块,被配置为接收多个客户端发送的类簇中心;
第一聚合模块,被配置为将多个客户端发送的类簇中心进行聚合,得到聚合类簇中心;
第一下发模块,被配置为将聚合类簇中心发送到各个客户端;
响应模块,被配置为响应各个客户端的反馈信息,反馈信息包括负荷预测模型的训练模型参数;
第二聚合模块,被配置为对多个客户端发送的负荷预测模型的训练模型参数进行注意力聚合,得到负荷预测模型的全局模型参数;
第二下发模块,被配置为将负荷预测模型的全局模型参数下发给各个客户端。
本公开实施例与现有技术相比,其有益效果至少包括:本公开实施例提供的联合学习模型训练方法可应用于客户端,通过响应联合学习模型训练;利用预设聚类方法,对本地数据进行数据聚类并得到类簇中心,将类簇中心上传到服务端;当接到服务端反馈的对多个类簇中心进行聚合后得到的聚合类簇中心时,对本地数据进行联合学习模型训练;当使用本地数据进行联合学习模型训练达到预设条件时,停止训练以得到聚类驱动模型;其中预设条件为直到满足迭代次数或者类簇中心不再发生变化;根据聚类驱动模型,训练负荷预测模型;响应于服务端的反馈;对负荷预测模型进行本地训练直到达到收收敛条件时,得到目标联合学习模型,能够有效保护各参与方的数据隐私,且很好地解决了各参与方因数据异构而导致模型训练的收敛速度慢以及所建立的模型的泛化性能较差的问题。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本公开实施例的一种联合学习的架构示意图;
图2是现有的联合学习方法的参数更新路径示意图;
图3是本公开实施例提供的一种基于聚类驱动模式的联合学习模型训练方法的多端交互时序图;
图4是本公开实施例提供的应用于客户端的一种基于聚类驱动模式的联合学习模型训练方法的流程示意图;
图5是本公开实施例提供的应用于服务端的一种基于聚类驱动模式的联合学习的模型训练方法的流程示意图;
图6是本公开实施例提供的应用于客户端的一种基于聚类驱动模式的联合学习模型训练装置的结构示意图;
图7是本公开实施例提供的应用于服务端的一种基于聚类驱动模式的联合学习模型训练装置的结构示意图;
图8是本公开实施例提供的一种基于聚类驱动模式的联合学习模型训练系统的结构示意图;
图9是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
联合学习是指在确保数据安全及用户隐私的前提下,综合利用多种AI(Artificial Intelligence,人工智能)技术,联合多方合作共同挖掘数据价值,催生基于联合建模的新的智能业态和模式。联合学习至少具有以下特点:
(1)参与节点控制自有数据的弱中心化联合训练模式,确保共创智能过程中的数据隐私安全。
(2)在不同应用场景下,利用筛选和/或组合AI算法、隐私保护计算,建立多种模型聚合优化策略,以获取高层次、高质量的模型。
(3)在确保数据安全及用户隐私的前提下,基于多种模型聚合优化策略,获取提升联合学习引擎的效能方法,其中效能方法可以是通过解决包括计算架构并行、大规模跨域网络下的信息交互、智能感知、异常处理机制等,提升联合学习引擎的整体效能。
(4)获取各场景下多方用户的需求,通过互信机制,确定合理评估各联合参与方的真实贡献度,进行分配激励。
基于上述方式,可以建立基于联合学习的AI技术生态,充分发挥行业数据价值,推动垂直领域的场景落地。
下面将结合附图详细说明根据本公开实施例的一种基于联合学习的模型训练方法、装置和系统。
图1是本公开实施例的一种联合学习的架构示意图。如图1所示,联合学习的架构可以包括服务端(中心节点)101以及客户端(参与方)102、客户端(参与方)103和客户端(参与方)104。
在联合学习过程中,训练模型可以通过服务端101建立,服务端101将该训练模型发送至与其建立通信连接的客户端102、客户端103和客户端104。训练模型还可以是任一客户端建立后上传至服务端101,服务端101将该模型发送至与其建立通信连接的其他客户端。客户端102、客户端103和客户端104根据下载的基本结构和模型参数构建模型,利用本地数据进行模型训练,获得更新的模型参数,并将更新的模型参数加密上传至服务端101。服务端101对客户端102、客户端103和客户端104发送的训练模型参数进行聚合,获得全局模型参数,并将全局模型参数传回至客户端102、客户端103和客户端104。客户端102、客户端103和客户端104根据接收的全局模型参数对各自的模型进行迭代,直到模型最终收敛,从而实现对模型的训练。在联合学习过程中,客户端102、客户端103和客户端104上传的数据为训练模型参数,本地数据并不会上传至服务端101,且所有客户端可以共享最终的模型参数,因此可以在保证数据隐私的基础上实现共同建模。需要说明的是,客户端的数量不限于如上的三个,而是可以根据需要进行设置,本公开实施例对此不作限制。
在现有技术中,由于FedAvg模型无需集中收集各参与方的本地数据,而是通过交换模型梯度或模型参数来进行模型更新,从而可以有效保护各个客户端的数据隐私,故被广泛应用于联合学习中。然而,在实际的应用过程中,很多时候参与联合学习的各客户端会在其本地更新了多次模型参数之后才与服务端进行一次通信,并且,由于各客户端通常是不同的数据源,它们的本地数据通常都会存在数据分布不一致(即数据异构)的问题。这就容易导致各客户端的本地更新路径与服务端的理想更新路径发生了一定的偏移现象(如图2所示)。结合图2,分布式的客户端1(即图2中的client1)和客户端2(即图2中的client2)各自在本地朝着自己的训练方向(本地更新路径)更新模型参数的过程中产生了客户漂移(client drift)现象。即使服务端(server)通过采用加权平均的技术手段聚合将从客户端1、2上传的模型参数进行聚合,所得到的的聚合结果也还是会存在局部偏移(或称局部偏离)的现象,从而导致模型训练的收敛速度缓慢,最终训练所得到的模型的效果不尽人意,如模型的泛化性能较差。虽然不少学者尝试通过优化本地客户端的梯度更新,使各客户端的本地更新不会过分偏离全局模型,每次本地更新都会被拉回到理想的更新路径附近,从而提高模型训练的收敛速度;或者是考虑到各个客户端对全局模型的贡献不同,而在服务端对聚合算法进行优化,以提高模型的效果,但是仍无法很好地解决由于各客户端的数据异构的问题所导致的模型训练的收敛速度慢,且所得到的模型的泛化性能较差的问题。
SGD指的是将所有数据集中在一起进行训练,当做一个性能上界。
图3是本公开实施例的一种基于聚类驱动模式的联合学习模型训练方法的多端交互时序图。
结合图1、3,本公开实施例提供的技术方案,各个客户端(如客户端102、103、104)响应联合学习模型训练,利用预设聚类方法,对本地数据进行数据聚类并得到类簇中心,将类簇中心上传到服务端101;服务端101在接收到多个客户端发送的类簇中心时,将多个客户端发送的类簇中心进行聚合,得到聚合类簇中心,并将聚合类簇中心发送到各个客户端;各个客户端在接到服务端反馈的对多个类簇中心进行聚合后得到的聚合类簇中心时,对本地数据进行联合学习模型训练;当使用本地数据进行联合学习模型训练达到预设条件时,停止训练以得到聚类驱动模型;其中预设条件为直到满足迭代次数或者类簇中心不再发生变化;根据聚类驱动模型,训练负荷预测模型,得到负荷预测模型的训练模型参数,并上传给服务端101;服务端101响应各个客户端的反馈信息,反馈信息包括负荷预测模型的训练模型参数;对多个客户端发送的负荷预测模型的训练模型参数进行注意力聚合,得到负荷预测模型的全局模型参数;将负荷预测模型的全局模型参数下发给各个客户端;各个客户端响应于服务端的反馈;对负荷预测模型进行本地训练直到达到收收敛条件时,得到目标联合学习模型。
应用本公开实施例提供的技术方案,不仅能够有效地保护各客户端的数据隐私,而且还能够很好地解决由于各客户端的数据异构的问题所导致的模型训练的收敛速度慢,且所得到的模型的泛化性能较差的问题。
图4是本公开实施例提供的一种基于聚类驱动模式的联合学习模型训练方法的流程示意图。图4的基于联合学习的模型训练方法可以由图1的客户端执行。如图4所示,该基于聚类驱动模式的联合学习模型训练方法包括:
步骤S401,响应联合学习模型训练。
这里的联合学习模型,可以是根据参与本次联合学习的客户端或者是其他模型需求方的实际需求的算法模型,包括但不限于负荷预测模型(如用气负荷预测模型、用电负荷预测模型)、聚类驱动模型等。
步骤S402,利用预设聚类方法,对本地数据进行数据聚类并得到类簇中心,将类簇中心上传到服务端。
预设聚类方法,可以是k-means聚类算法等聚类算法。
作为一示例,客户端在接收到某联合学习模型训练的任务时,可响应该联合学习模型训练的任务,并获取与该联合学习模型训练的任务相关的本地数据;然后,使用k-means聚类算法对本地数据进行聚类并得到类簇中心,将类簇中心上传到服务端101。
在一实施例中,上述步骤S402,具体可包括如下步骤:
获取本地数据集,本地数据集包括多个训练数据子集,每一个训练数据子集包括一系列训练数据;
分别对每一个训练数据子集中的一系列训练数据进行分解,得到与每一个训练数据子集对应的多个分解成分,一个分解成分对应一个聚类特征;
任意选定一个聚类特征作为聚类目标,对本地数据集中的训练数据进行聚类,得到至少一个聚类簇;
提取各个聚类簇的类簇中心并上传到服务端。
作为一示例,客户端在接收到某联合学习模型训练的任务时,可响应该联合学习模型训练的任务,并获取与该联合学习模型训练的任务相关的本地数据集。其中,本地数据集包括多个训练数据子集,每一个训练数据子集包括一系列训练数据。
本地数据集,是指各个客户端自己所拥有的与参与联合学习相关的本地数据集。例如,客户端A、B、C均为燃气供应方,它们均拥有自己的本地用气负荷数据(即本地数据集)。
训练数据子集,是指隶属于各个客户端的用户(如个人、家庭等用能方)的训练数据(如用气负荷数据、用电负荷数据等用能数据)。
一系列训练数据,可以是指在不同时间上收集到的一系列数据,即时间序列数据。例如,可以是收集的每个用能户在一个月、一个季度、一年等各种时间维度上的一系列用能数据。
作为一示例,假设参与本次用气负荷预测模型联合训练的参与方有客户端A、B和C,客户端A、B和C下属均有100个用能方,那么各个客户端可以分别收集它们下属的100个用能方在某个时间维度上(比如,201X年1月1日~201Y年12月31日)的一系列的用能数据。在该示例中,客户端A、B和C均拥有包括100个用能方在201X年1月1日~201Y年12月31日期间的一系列的用能数据的本地数据集,该本地数据集中包括有100个训练数据子集,每一个训练数据子集对应一个用能方的一系列训练数据。
分别对每一个训练数据子集中的一系列训练数据进行分解,得到与每一个训练数据子集对应的多个分解成分,一个分解成分对应一个聚类特征。
以客户端A为例,可以先将客户端A拥有的100个用能方的用能数据(即100个训练数据子集)分别编号为训练数据子集01、训练数据子集02...训练数据子集100。然后,分别对训练数据子集01~100中的一系列训练数据进行分解,得到分别与训练数据子集01~100对应的多个分解成分。这里的多个分解成分可包括趋势成分、周期成分和残差成分。
作为一示例,可以采用STL(模板库)算法分别对训练数据子集01~100中的一系列训练数据进行分解,得到与训练数据子集01~100对应的趋势成分、周期成分和残差成分这三个分解成分。例如,训练数据子集包括用能方01的某一年(12个月)的用气负荷数据,那么可使用STL算法对用能方01的某一年(12个月)的用气负荷数据进行分解,得到趋势成分、周期成分和残差成分。
其中,趋势成分主要反映的是时序数据的整体趋势,如单调递增、单调递减或者不规则波动等。周期成分主要反映的是时序数据的周期性规律,例如,用气负荷量的峰值总是出现在在11~2月份中的某月。周期成分的时间长度一般不固定,但是又在长时间尺度上循环出现。残差成分主要反映的是时序数据的不规则变化。残差是指观测值与预测值(拟合值)之间的差,即是实际观察值与回归估计值的差。显然,有多少对数据,就有多少个残差。残差分析就是通过残差所提供的信息,分析出数据的可靠性、周期性或其它干扰。
需要说明的是,通常对于较短的时序由于数据量不足以体现周期成分,可以不考虑周期的影响。
作为一示例,可以为每一个训练数据子集的各个分解成分赋予一个聚类特征标签。例如,对于趋势成分,可以为其赋予一个趋势的文字标签、数字标签或者字母标签等。可以理解的,对于周期成分和残差成分,同样可以分别赋予它们一个相应的文字标签、数字标签或者字母标签等。为了便于区分,趋势成分、周期成分和残差成分的聚类特征标签通常不同,且优选同为文字或者数字或者字母标签。
任意选定一个聚类特征作为聚类目标,对本地数据集中的训练数据进行聚类,得到至少一个聚类簇,提取各个聚类簇的类簇中心并上传,各个客户端选定的聚类目标相同。
作为一示例,各个客户端可以任意选定趋势成分、周期成分或者残差成分中的一个分解成分所对应的聚类特征标签,每一个聚类特征标签对应一个聚类目标。例如,趋势成分的文字标签对应的聚类目标为时序数据的趋势成分。
结合上述示例,以客户端A为例,假设客户端A选中的聚类特征标签为代表趋势成分的文字标签,那么可以趋势成分为聚类目标,对其本地数据集中的100个用能方的用能数据进行聚类,得到至少一个聚类簇,即得到至少一个趋势的聚类簇,通常一个聚类簇代表一个趋势。假设在本示例中得到三个聚类簇,分别为聚类簇01(如对应的趋势是在某年的某三个月的用气负荷量为逐渐增加)、02(如对应的趋势是在某年的某四个月的用气负荷量为逐步减少)和03(如对应的是趋势是在某年的某5个月的用气负荷量为不规则波动),那么可进一步分别提取出聚类簇01、02和03的类簇中心01、02、03并上传给服务端101。
在一些实施例中,对本地数据集中的训练数据进行聚类,得到至少一个聚类簇,具体可包括如下步骤:
任意选择一个与聚类目标对应训练数据子集的分解成分作为聚类质心;
获取本地数据集中的每一个训练数据子集中与聚类目标对应的聚类分解成分;
分别计算每一个聚类分解成分与聚类质心之间的距离值;
根据距离值,将本地数据集中的训练数据划分为至少一个聚类簇。
作为一示例,以客户端A为例,假设客户端A的本地数据集中包括100个训练数据子集,其所选定的聚类目标为趋势成分,那么可以任意选择一个训练数据子集中的“趋势成分”作为聚类质心。例如,选择的是第01个训练数据子集中的“趋势成分”作为聚类质心。
接着,可获取客户端A的本地数据集中的第2~第100个训练数据子集中的“趋势成分”,共有99个“趋势成分”(即每一个训练数据子集中与聚类目标对应的聚聚类分解成分)。分别计算每一个聚类分解成分与上述聚类质心之间的距离值(如欧几里得距离)。然后,根据聚类分解成分距离聚类质心的距离值进行分簇(类),距离哪个近,划分到哪个簇(类),得到至少一个聚类簇。
同理,其他客户端(包括客户端B、C等)可参照上述客户端A的聚类手段对在本地对它们的本地数据集中的训练数据进行聚类,得到至少一个聚类簇,并提取出各个聚类簇的类簇中心,上传给服务端101。
在本公开实施例中,可以采用k-means聚类算法等聚类算法,对本地数据集中的训练数据进行聚类,得到至少一个聚类簇。
在本公开实施例中,在联合学习过程中,通常需要保证各个客户端所选定的聚类目标一致。如客户端A选的是聚类目标是趋势,那么其他客户端(包括客户端B、C等)所选定的聚类目标也应该是趋势。如此,可保证各个客户端所使用的训练数据是属于同一类且趋势变化相似的数据,从而可在一定程度上纠正因各客户端的数据异构问题导致各个客户端的本地更新路径偏移的程度,使得模型训练的收敛速度加快,同时有利于提升训练得到的模型的泛化性能。
通过上述的聚类方法,可以在保证各客户端的数据隐私的前提下,有效地挖掘出各个客户端的本地数据集中的相似训练数据。在后续的模型训练中,各个客户端采用这些相似训练数据在本地进行模型训练,可以有效地缓解因各客户端的数据不同源所带来的数据异构问题,从而可有效地解决因各客户端的数据异构问题所导致的模型收敛速度慢以及模型泛化性能差的问题。
在一示例性实施例中,假设服务端101接收到客户端102(下称客户端A)、客户端103(下称客户端B)和客户端104(下称客户端C)上传的类簇中心,如客户端102上传的是类簇中心01、02、03,客户端103上传的是04、05、06,客户端C上传的是类簇中心07、08、09。那么服务端101可进一步对类簇中心01、02、03、04、05、06、07、08、09进行聚合,得到聚合类簇中心01、02、03,并反馈给客户端A、B、C。
步骤S403,当接到服务端反馈的对多个类簇中心进行聚合后得到的聚合类簇中心时,对本地数据进行联合学习模型训练。
结合上述示例,以客户端A为例,当客户端A接收到服务端101反馈的聚合类簇中心01、02、03时,可分别使用聚合类簇中心01、02、03更新其类簇中心01、02、03,得到更新后的类簇中心01'、02'、03'。接着,使用类簇中心01'、02'、03'对其本地数据集中的训练数据进行聚类,得到更新聚类簇01(对应类簇中心01')、02(对应类簇中心02')、03(对应类簇中心03'),并将更新聚类簇01、02、03对应的更新类簇中心01、02、03上传到服务端101。
同理,客户端B、C可参照上述客户端A的类簇中心更新以及聚类手段,对其类簇中心进行更新,并使用更新后的类簇中心对其本地数据进行聚类,得到更新类簇中心,并上传到服务端101。服务端101可对客户端A、B、C上传的更新类簇中心进行聚合,得到更新聚合类簇中心并下发给各个客户端,以使客户端对其本地数据进行下一轮的联合学习模型训练。
步骤S404,当使用本地数据进行联合学习模型训练达到预设条件时,停止训练以得到聚类驱动模型;其中预设条件为直到满足迭代次数或者类簇中心不再发生变化。
迭代次数,可以根据实际情况灵活设置,比如,可以设置为50轮次、100轮次等,在本公开不做具体限制。
结合上述步骤S403所列举的示例,当各个客户端使用其本地数据进行联合学习模型训练达到预设条件(如类簇中心不再变化)时,停止上述的使用本地数据进行联合学习模型训练,得到聚类驱动模型。
步骤S405,根据聚类驱动模型,训练负荷预测模型,得到负荷预测模型的训练模型参数,并上传给服务端。
步骤S406,响应于服务端的反馈。
步骤S407,对负荷预测模型进行本地训练直到达到收收敛条件时,得到目标联合学习模型。
在一实施例中,上述步骤S405,具体可包括如下步骤:
根据聚类驱动模型对应的最终类簇中心,对本地数据集中的训练数据进行聚类,得到至少一个最终聚类簇,最终聚类簇的数量与聚类簇的数量相同;
将每一个最终聚类簇对应的训练数据划分为一类训练样本,使用每一类训练样本训练一个负荷预测模型。
结合上述示例,服务端101可将各个客户端在最后一轮次上传的类簇中心进行聚合,得到的的最终类簇中心分别下发至客户端102、客户端103和客户端104。客户端102、客户端103和客户端104可使用该最终类簇中心对其本地数据集中的训练数据进行聚类,得到至少一个最终聚类簇,如客户端A得到最终聚类簇01、02、03,客户端B得到最终聚类簇04、05、06,客户端C得到最终聚类簇07、08、09。一个最终聚类簇对应多个训练数据子集的训练数据。
在一些实施例中,使用每一类训练样本训练一个负荷预测模型,可包括如下步骤:
分别为每一类训练样本分配一个负荷预测模型,负荷预测模型包括多层网络层;
针对每一类训练样本,使用训练样本训练与之对应的负荷预测模型,得到一组训练模型参数并上传给服务端。
以客户端A为例,假设客户端A接收到服务端101下发的最终类簇中心01、02、03,然后,可分别使用最终类簇中心01、02、03更新其类簇中心01、02、03,得到更新后的类簇中心01'、02'、03'。接着,使用类簇中心01'、02'、03'对其本地数据集中的训练数据进行聚类,得到最终聚类簇01(对应类簇中心01')、02(对应类簇中心02')、03(对应类簇中心03')。最终聚类簇01、02、03分别包含多个训练数据子集的训练数据,最终聚类簇01、02、03分别对应一类训练样本。
接着,分别为最终聚类簇01、02、03分配一个负荷预测模型。该负荷预测模型可以是相同的模型,也可以是不同的模型。假设本实施例分配的负荷预测模型为相同的模型。其中,负荷预测模型可为包括多层网络层的神经网络模型。如,可以是包括三层网络层01、02、03的神经网络模型。
在本示例中,假设分别为最终聚类簇01、02、03分配了负荷预测模型01、02、03。那么,使用最终聚类簇01对应的训练样本对负荷预测模型01进行训练,得到一组训练模型参数01;使用最终聚类簇02对应的训练样本对负荷预测模型02进行训练,得到一组训练模型参数02;使用最终聚类簇03对应的训练样本对负荷预测模型03进行训练,得到一组训练模型参数03,并将训练模型参数01、02和03上传至服务端101。
同理,对于其他客户端(如客户端B、C),可以采用与上述客户端A相同的模型训练手段,分别训练得到三组训练模型参数。假设客户端B使用其本地数据集的训练数据训练得到的三组训练模型参数分别为训练模型参数04、05和06并上传至服务端101;客户端C使用其本地数据集的训练数据训练得到的三组训练模型参数分别为训练模型参数07、08和09并上传至服务端101。
服务端101在接收到训练模型参数01、02、03、04、05、06、07、08和09之后,可对训练模型参数01、02、03、04、05、06、07、08和09进行聚合,得到每一个负荷预测模型对应的全局模型参数,即负荷预测模型01对应的全局模型参数01,负荷预测模型02对应的全局模型参数02,负荷预测模型03对应的全局模型参数03。然后,将全局模型参数01、02、03分别下发至客户端A、B、C,以使客户端A、B、C使用全局模型参数01、02、03更新与之对应的训练模型01、02、03,得到与各个训练模型01、02、03对应的更新模型01、02、03。
示例性的,客户端A可以使用全局模型参数01更新负荷预测模型01的模型参数,得到更新模型01;使用全局模型参数02更新负荷预测模型02的模型参数,得到更新模型02;使用全局模型参数03更新负荷预测模型03的模型参数,得到更新模型03。
收收敛条件,可以是满足预设的迭代次数,也可以是模型精度达到预设的精度要求等。
图5是本公开实施例提供的另一种基于聚类驱动模式的联合学习模型训练方法的流程示意图。图5的基于联合学习的模型训练方法可以由图1的服务端101执行。如图5所示,该基于聚类驱动模式的联合学习模型训练方法包括:
步骤S501,接收多个客户端发送的类簇中心。
步骤S502,将多个客户端发送的类簇中心进行聚合,得到聚合类簇中心。
步骤S503,将聚合类簇中心发送到各个客户端。
在一些实施例中,上述步骤S502,具体可包括如下步骤:
对各个客户端上传的类簇中心进行聚合,得到聚合类簇中心;
若判断聚合类簇中心的变化值符合预设的变化范围,则将聚合类簇中心确定为最终类簇中心。
在一实施例中,每一个聚类簇的类簇中心均携带有一个类簇标签。
对各个客户端上传的类簇中心进行聚合,得到聚合类簇中心,具体可包括如下步骤:
对各个客户端上传的属于同一类簇标签的类簇中心进行聚合,得到与每一个类簇标签对应的聚合类簇中心。
若判断聚合类簇中心的变化值符合预设的变化范围,则将聚合类簇中心确定为最终类簇中心,包括:
若判断与每一个类簇标签对应的聚合类簇中心的变化值均符合预设的变化范围,则将与每一个类簇标签对应的聚合类簇中心确定为最终类簇中心。
作为一示例,假设服务端101接收到客户端A的类簇中心01、02、03,客户端B的类簇中心04、05、06,客户端C的类簇中心07、08、09。其中,类簇中心01、04、07携带有一个相同的类簇标签(如“类1”的文字标签);类簇中心02、05、08携带有一个相同的类簇标签(如“类2”的文字标签);类簇中心03、06、09携带有一个相同的类簇标签(如“类3”的文字标签)。可对类簇中心01、04、07进行聚合,得到聚合类簇中心01;对类簇中心02、05、08进行聚合,得到聚合类簇中心02;对类簇中心03、06、09进行聚合,得到聚合类簇中心03。
在一种情况下,若判断聚合类簇中心01、聚合类簇中心02和聚合类簇中心03的变化值均符合预设的变化范围(如不再发生变化),则将聚合类簇中心01、聚合类簇中心02和聚合类簇中心03确定为最终类簇中心。
在另一种情况下,若是聚合类簇中心01、聚合类簇中心02和聚合类簇中心03的变化值不完全符合预设的变化范围,那么将聚合类簇中心01、聚合类簇中心02和聚合类簇中心03下发至各个客户端,以使各个客户端使用聚合类簇中心01、聚合类簇中心02和聚合类簇中心03更新其上一轮次的类簇中心,再重新对其本地数据集中的训练数据进行更新,得到新的聚类簇,并提取出新的聚类簇的更新类簇中心并上传给服务端。服务端则会重复执行上述的类簇中心的聚合过程以及判断过程,如此不断迭代,直至达到预设的收敛条件(如类簇中心不再变化,或者达到预设的轮次阈值等),得到最终类簇中心。
步骤S504,响应各个客户端的反馈信息,反馈信息包括负荷预测模型的训练模型参数。
步骤S505,对多个客户端发送的负荷预测模型的训练模型参数进行注意力聚合,得到负荷预测模型的全局模型参数。
步骤S506,将负荷预测模型的全局模型参数下发给各个客户端。
在一些实施例中,对多个客户端发送的负荷预测模型的训练模型参数进行注意力聚合,具体可包括如下步骤:
获取初始模型参数;
针对各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数,分别计算初始模型参数与每一个客户端的训练模型参数之间的相似度;
根据相似度和各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数,确定每一个客户端的同一类训练样本对应的负荷预测模型的全局模型参数。
初始模型参数,通常是指服务端101对各个客户端在上一轮次训练后上传的各组训练模型参数进行聚合,得到的聚合参数。如果是在第一轮次,则初始模型参数可以是服务端101对负荷预测模型进行初始化,得到的初始化模型参数。在第二轮次,初始模型参数则是指各个客户端在第一轮次训练后上传的各组训练模型参数进行聚合,得到的聚合参数。可以理解的,在第N轮次,初始模型参数则是指各个客户端在第N-1轮次训练后上传的各组训练模型参数进行聚合,得到的聚合参数。N为大于等于1的正整数。
作为一示例,假设服务端101接收到客户端A上传的训练模型参数01、02、03,客户端B上传的训练模型参数04、05、06,客户端C上传的训练模型参数07、08、09。客户端A使用最终聚类簇01对负荷预测模型01进行训练得到训练模型参数01;客户端B使用最终聚类簇04对负荷预测模型01进行训练得到训练模型参数04;客户端C使用最终聚类簇07对负荷预测模型01进行训练得到训练模型参数07。最终聚类簇01、04、07是客户端A、B、C的本地数据集中的同一类训练样本。设获取到的初始模型参数为①。那么,针对客户端A、B、C的同一类训练样本对应的负荷预测模型01的训练模型参数01、04、07,分别计算初始模型参数①与训练模型参数01之间的相似度a,初始模型参数①与训练模型参数04之间的相似度b,初始模型参数①与训练模型参数07之间的相似度c。
作为一示例,初始模型参数与每一个客户端的训练模型参数之间的相似度可以采用距离(如二范数)来度量。二范数,矩阵X的2范数就是X乘以X的转置矩阵特征根最大值的开根号,是指空间上两个向量矩阵的直线距离。类似于求棋盘上两点间的直线距离。
在一些实施例中,各个客户端的同一类训练样本对应的负荷预测模型的全局模型参数包括负荷预测模型中的每一层网络层的层全局模型参数;各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数包括训练模型中的每一层网络层的层训练模型参数;各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数与初始模型参数之间的相似度包括负荷预测模型中的每一层网络层的训练模型参数与初始模型参数之间的层相似度。
根据相似度和各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数,确定每一个客户端的同一类训练样本对应的负荷预测模型的全局模型参数,具体可包括如下步骤:
分别从各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数中提取出属于同一网络层的层训练模型参数,并从相似度中提取出属于同一网络层的层训练模型参数对应的层相似度;
根据层相似度确定每一个客户端的同一类训练样本对应的负荷预测模型的同一层网络层的层训练模型参数的权重参数注意力值;
根据权重参数注意力值和层训练模型参数,确定各个客户端的同一类训练样本对应的负荷预测模型的同一层网络层的层全局模型参数。
结合上述示例,假设负荷预测模型01包括三层网络层01、02、03,那么客户端A的训练模型参数01包括与网络层01对应的层训练模型参数A1,与网络层02对应的层训练模型参数A2,以及与网络层03对应的层训练模型参数A3;客户端B的训练模型参数04包括与网络层01对应的层训练模型参数B1,与网络层02对应的层训练模型参数B2,以及与网络层03对应的层训练模型参数B3;客户端C的训练模型参数07包括与网络层01对应的层训练模型参数C1,与网络层02对应的层训练模型参数C2,以及与网络层03对应的层训练模型参数C3。相似度a包括与网络层01对应的层相似度a1,与网络层02对应的层相似度a2,与网络层03对应的层相似度a3;相似度b包括与网络层01对应的层相似度b1,与网络层02对应的层相似度b2,与网络层03对应的层相似度b3;相似度c包括与网络层01对应的层相似度c1,与网络层02对应的层相似度c2,与网络层03对应的层相似度c3。
作为一示例,分别从各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数中提取出属于同一网络层的层训练模型参数。对于网络层01,分别提取出客户端A的层训练模型参数A1,客户端B的层训练模型参数B1,客户端C的层训练模型参数C1;以及与该层网络层01对应的客户端A的层相似度a1,客户端B的层相似度b1,客户端C的层相似度c1。对于网络层02,分别提取出客户端A的层训练模型参数A2、层相似度a2,客户端B的层训练模型参数B2、层相似度b2,客户端C的层训练模型参数C2、层相似度c2。对于网络层03,分别提取出客户端A的层训练模型参数A3、层相似度a3,客户端B的层训练模型参数B3、层相似度b3,客户端C的层训练模型参数C3、层相似度c3。
接着,可以先根据下述公式(1)计算初始模型参数与每一个客户端的每一网络层的层训练模型参数之间的二范数,再根据下述公式(2)对计算出的欧式距离(二范数)进行归一化处理,得到每一客户端的同一类训练样本对应的负荷预测模型的同一层网络层的层训练模型参数的权重参数注意力值。
其中,上式(1)、(2)中,ω
在一示例性实施例中,假设根据上述公式(1)、(2)计算出客户端A的负荷预测模型01的每一网络层01、02、03的权重参数注意力值分别为
那么,网络层01的全局模型参数01(ω1)为:
网络层02的全局模型参数02(ω2)为:
网络层03的全局模型参数03(ω3)为:
同理,对于负荷预测模型02、负荷预测模型03的各层网络层的全局模型参数,可以参照上述方法计算得到,在此不再赘述。
服务端101将聚合得到的各个客户端的各个负荷预测模型的各层网络层的层全局模型参数分别下发至各个客户端,以使各个客户端可以使用各层网络层的层全局模型参数分别更新其对应的负荷预测模型的网络层的模型参数,得到更新模型。
示例性的,以客户端A为例,客户端A可使用全局模型参数01(ω1)更新负荷预测模型01的网络层01的上一轮次的模型参数,使用全局模型参数02(ω2)更新负荷预测模型01的网络层02的上一轮次的模型参数,使用全局模型参数03(ω3)更新负荷预测模型01的网络层03的上一轮次的模型参数,得到负荷预测模型01的更新模型01。
本公开实施例提供的模型训练方法,首先通过各个客户端在其本地对其本地数据集中的多个训练数据子集中的一系列训练数据进行分解,得到多个分解成分,然后,任意选定其中的一个分解成分对应的聚类特征作为聚类目标,采用聚类算法(如k-means聚类算法)对其本地数据集中的训练数据进行聚类,得到至少一个聚类簇,并提取各个聚类簇的类簇中心上传给服务端,由服务端来对各个客户端的类簇中心进行聚合,并传回聚合后的类簇中心,使得各个客户端使用服务端传回的聚合后的类簇中心对第N-1轮次的类簇中心进行更新,并使用更新后的类簇中心对其本地数据集中的训练数据进行聚类,得到第N轮的类簇中心,不断重复迭代训练,直至满足预设的迭代轮次,或者是类簇中心不再发生变化,确定最终类簇中心,并返回给各个客户端。各个客户端使用该最终类簇中心更新前一轮次的类簇中心,并对其本地数据集中的训练数据进行聚类,得到至少一个最终聚类簇,并将每一个最终聚类簇对应的训练数据划分为一类训练样本,再使用每一类训练样本参与联合学习模型的训练。通过上述过程,各个客户端无需上传其本地数据到服务端,可以有效地保护他们的数据隐私安全,同时,还可以有效地挖掘出各个客户端的本地数据集中的相似训练数据(如相似用气负荷模式的数据),有助于帮助燃气公司了解用能方的用能行为,从而能够更好地协调燃气资源,同时管理用能方的用能需求,之后再利用这些挖掘出来的训练样本进行模型训练,可以有效缓解各个客户端由于数据不同源所带来的数据异构的问题,不仅可以加快模型训练的收敛速度,还可提高训练所得到的模型的效果,建立得到高精度的负荷预测模型。经相关推演测试验证,采用本方法训练得到的模型的泛化性能要比采用传统的模型训练方式所得到的模型的泛化性能好。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图6是本公开实施例提供的一种基于聚类驱动模式的联合学习模型训练装置的示意图。如图6所示,该基于聚类驱动模式的联合学习模型训练装置包括:
第一响应模块601,被配置为响应联合学习模型训练;
聚类模块602,被配置为利用预设聚类方法,对本地数据进行数据聚类并得到类簇中心,将类簇中心上传到服务端;
第一训练模块603,被配置为当接到服务端反馈的对多个类簇中心进行聚合后得到的聚合类簇中心时,对本地数据进行联合学习模型训练;
第二训练模块604,被配置为当使用本地数据进行联合学习模型训练达到预设条件时,停止训练以得到聚类驱动模型;其中预设条件为直到满足迭代次数或者类簇中心不再发生变化;
第三训练模块605,被配置为根据聚类驱动模型,训练负荷预测模型;
第二响应模块606,被配置为响应于服务端的反馈;
第四训练模块607,被配置为对负荷预测模型进行本地训练直到达到收收敛条件时,得到目标联合学习模型。
本公开实施例提供的技术方案,通过第一响应模块601响应联合学习模型训练;聚类模块602利用预设聚类方法,对本地数据进行数据聚类并得到类簇中心,将类簇中心上传到服务端;第一训练模块603当接到服务端反馈的对多个类簇中心进行聚合后得到的聚合类簇中心时,对本地数据进行联合学习模型训练;第二训练模块604当使用本地数据进行联合学习模型训练达到预设条件时,停止训练以得到聚类驱动模型;其中预设条件为直到满足迭代次数或者类簇中心不再发生变化;第三训练模块605根据聚类驱动模型,训练负荷预测模型;第二响应模块606响应于服务端的反馈;第四训练模块607对负荷预测模型进行本地训练直到达到收收敛条件时,得到目标联合学习模型,能够有效保护各参与方的数据隐私,且很好地解决了各参与方因数据异构而导致模型训练的收敛速度慢以及所建立的模型的泛化性能较差的问题。
在一些实施例中,上述聚类模块602包括:
数据获取单元,被配置为获取本地数据集,本地数据集包括多个训练数据子集,每一个训练数据子集包括一系列训练数据;
数据分解单元,被配置为分别对每一个训练数据子集中的一系列训练数据进行分解,得到与每一个训练数据子集对应的多个分解成分,一个分解成分对应一个聚类特征;
聚类单元,被配置为任意选定一个聚类特征作为聚类目标,对本地数据集中的训练数据进行聚类,得到至少一个聚类簇;
提取单元,被配置为提取各个聚类簇的类簇中心并上传到服务端。
在一些实施例中,上述第三训练模块605包括:
数据聚类单元,被配置为根据聚类驱动模型对应的最终类簇中心,对本地数据集中的训练数据进行聚类,得到至少一个最终聚类簇,最终聚类簇的数量与聚类簇的数量相同;
数据划分单元,被配置为将每一个最终聚类簇对应的训练数据划分为一类训练样本,使用每一类训练样本训练一个负荷预测模型。
在一些实施例中,上述使用每一类训练样本训练一个负荷预测模型,包括:
分别为每一类训练样本分配一个负荷预测模型,负荷预测模型包括多层网络层;
针对每一类训练样本,使用训练样本训练与之对应的负荷预测模型,得到一组训练模型参数并上传给服务端。
图7是本公开实施例提供的另一种基于聚类驱动模式的联合学习模型训练装置的示意图。如图7所示,该基于聚类驱动模式的联合学习模型训练装置包括:
接收模块701,被配置为接收多个客户端发送的类簇中心;
第一聚合模块702,被配置为将多个客户端发送的类簇中心进行聚合,得到聚合类簇中心;
第一下发模块703,被配置为将聚合类簇中心发送到各个客户端;
响应模块704,被配置为响应各个客户端的反馈信息,反馈信息包括负荷预测模型的训练模型参数;
第二聚合模块705,被配置为对多个客户端发送的负荷预测模型的训练模型参数进行注意力聚合,得到负荷预测模型的全局模型参数;
第二下发模块706,被配置为将负荷预测模型的全局模型参数下发给各个客户端。
在一些实施例中,上述第一聚合模块702包括:
聚合单元,被配置为对各个客户端上传的类簇中心进行聚合,得到聚合类簇中心;
判断单元,被配置为若判断聚合类簇中心的变化值符合预设的变化范围,则将聚合类簇中心确定为最终类簇中心,并停止聚合各个客户端反馈的类簇中心。
在一些实施例中,上述第二聚合模块705包括:
参数获取单元,被配置为获取初始模型参数;
计算单元,被配置为针对各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数,分别计算初始模型参数与每一个客户端的训练模型参数之间的相似度;
确定单元,被配置为根据相似度和各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数,确定每一个客户端的同一类训练样本对应的负荷预测模型的全局模型参数。
在一些实施例中,各个客户端的同一类训练样本对应的负荷预测模型的全局模型参数包括负荷预测模型中的每一层网络层的层全局模型参数;各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数包括负荷预测模型中的每一层网络层的层训练模型参数;各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数与初始模型参数之间的相似度包括负荷预测模型中的每一层网络层的训练模型参数与初始模型参数之间的层相似度。
上述确定单元,可具体被配置为:
根据相似度和各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数,确定每一个客户端的同一类训练样本对应的负荷预测模型的全局模型参数,包括:
分别从各个客户端的同一类训练样本对应的负荷预测模型的训练模型参数中提取出属于同一网络层的层训练模型参数,并从相似度中提取出属于同一网络层的层训练模型参数对应的层相似度;
根据层相似度确定每一个客户端的同一类训练样本对应的负荷预测模型的同一层网络层的层训练模型参数的权重参数注意力值;
根据权重参数注意力值和层训练模型参数,确定各个客户端的同一类训练样本对应的负荷预测模型的同一层网络层的层全局模型参数。
图8是本公开实施例提供的一种基于聚类驱动模式的联合学习模型训练系统的示意图。如图8所示,该基于聚类驱动模式的联合学习模型训练系统包括:
服务端101,以及分别与服务端通信连接的至少两个客户端102;
服务端101包括如图7所示的模型训练装置;
各个客户端102包括如图6所示的模型训练装置。
服务端101可以经由网络分别与各个客户端建立通信连接,以接收和发送信息等。具体的,本公实施例提供的联合学习模型训练系统,各个客户端102响应联合学习模型训练,利用预设聚类方法,对本地数据进行数据聚类并得到类簇中心,将类簇中心上传到服务端101;服务端101在接收到多个客户端发送的类簇中心时,将多个客户端发送的类簇中心进行聚合,得到聚合类簇中心,并将聚合类簇中心发送到各个客户端;各个客户端在接到服务端反馈的对多个类簇中心进行聚合后得到的聚合类簇中心时,对本地数据进行联合学习模型训练;当使用本地数据进行联合学习模型训练达到预设条件时,停止训练以得到聚类驱动模型;其中预设条件为直到满足迭代次数或者类簇中心不再发生变化;根据聚类驱动模型,训练负荷预测模型,得到负荷预测模型的训练模型参数,并上传给服务端101;服务端101响应各个客户端的反馈信息,反馈信息包括负荷预测模型的训练模型参数;对多个客户端发送的负荷预测模型的训练模型参数进行注意力聚合,得到负荷预测模型的全局模型参数;将负荷预测模型的全局模型参数下发给各个客户端;各个客户端响应于服务端的反馈;对负荷预测模型进行本地训练直到达到收收敛条件时,得到目标联合学习模型,不仅能够有效地保护各客户端的数据隐私,而且还能够很好地解决由于各客户端的数据异构的问题所导致的模型训练的收敛速度慢,且所得到的模型的泛化性能较差的问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
图9是本公开实施例提供的电子设备9的示意图。如图9所示,该实施例的电子设备9包括:处理器901、存储器902以及存储在该存储器902中并且可在处理器901上运行的计算机程序903。处理器901执行计算机程序903时实现上述各个方法实施例中的步骤。或者,处理器901执行计算机程序903时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序903可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器902中,并由处理器901执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序903在电子设备9中的执行过程。
电子设备9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备9可以包括但不仅限于处理器901和存储器902。本领域技术人员可以理解,图9仅仅是电子设备9的示例,并不构成对电子设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器901可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器902可以是电子设备9的内部存储单元,例如,电子设备9的硬盘或内存。存储器902也可以是电子设备9的外部存储设备,例如,电子设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器902还可以既包括电子设备9的内部存储单元也包括外部存储设备。存储器902用于存储计算机程序以及电子设备所需的其它程序和数据。存储器902还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
- 机器学习模型训练方法、装置、存储介质和计算机设备
- 数据加密、机器学习模型训练方法、装置以及电子设备
- 数据加密、机器学习模型训练方法、装置及电子设备
- 基于云平台和模型推荐的神经网络自动训练方法和装置
- 基于联邦学习的模型训练方法及聚类分析器
- 一种基于两阶段聚类提升联邦学习模型性能的训练方法和存储设备