流式模型训练方法、装置、计算机设备及存储介质转让专利

申请号 : CN202111475535.0

文献号 : CN113902137B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 钟子宏

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明实施例公开了一种流式模型训练方法、装置、计算机设备及存储介质,该方法可应用于交通领域,该方法包括:获取流量样本数据,并采用机器学习算法训练流量样本数据,得到第一训练参数;获取第二训练参数,第二训练参数是第二数据拥有方采用机器学习算法训练历史样本数据后得到的,历史样本数据是在先于指定时间段内对第二交通场景进行数据采集得到的;对第一训练参数与第二训练参数进行融合,得到融合后的训练参数,并采用融合后的训练参数训练目标模型;其中,目标模型中设置有机器学习算法,训练完成的目标模型用于进行交通流量预测,可提升基于流量样本数据训练得到的模型的准确性和有效性。

权利要求 :

1.一种流式模型训练方法,其特征在于,包括:获取流量样本数据,并采用机器学习算法训练所述流量样本数据,得到第一训练参数;

其中,所述流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,且所述流量样本数据属于第一数据拥有方;所述第一训练参数包含流量梯度值;

获取第二训练参数,所述第二训练参数是第二数据拥有方采用所述机器学习算法训练历史样本数据后得到的,所述历史样本数据是在先于所述指定时间段内对第二交通场景进行数据采集得到的;所述第二训练参数包含离线梯度值;

对所述第一训练参数包含的流量梯度值与所述第二训练参数包含的离线梯度值进行融合,得到融合后的训练参数中包含的更新后的流量梯度值,并采用所述融合后的训练参数包含的更新后的流量梯度值和流量数据总量确定针对目标模型的参数更新指标;

采用所述参数更新指标训练目标模型的初始的流量模型参数,得到流量模型参数;其中,所述目标模型中设置有所述机器学习算法,训练完成的目标模型用于进行交通流量预测;

基于所述流量模型参数对所述目标模型进行模型测试,得到所述目标模型的模型测试结果,并在所述模型测试结果指示通过测试时,将基于所述流量模型参数进行交通流量预测;

若所述模型测试结果指示未通过测试,则触发所述第二数据拥有方对离线模型参数进行测试,并在所述离线模型参数通过测试时,基于所述离线模型参数进行交通流量预测。

2.如权利要求1所述的方法,其特征在于,所述流量样本数据是从在线流量数据中随机采样得到的,所述第一训练参数包括流量梯度值和流量损失值;

所述采用机器学习算法训练所述流量样本数据,得到第一训练参数,包括:获取在目标模型中设置的机器学习算法;其中,所述机器学习算法和所述目标模型相关联,当所述目标模型为分类模型时,所述机器学习算法对应为分类算法,当所述目标模型为生成模型时,所述机器学习算法对应为回归算法;

采用获取得到的机器学习算法对从所述在线流量数据中随机采样得到的数据进行训练,得到所述流量梯度值和所述流量损失值。

3.如权利要求1所述的方法,其特征在于,所述获取第二训练参数,包括:从数据协作方获取由所述数据协作方对第二训练参数的密文数据进行解密得到的解密数据;其中,所述第二训练参数的密文数据是所述第二数据拥有方采用加密公钥对得到的第二训练参数进行加密处理后发送到所述数据协作方的,所述加密公钥是所述第二数据拥有方从所述数据协作方获取到的;

将获取到的解密数据作为所述第二训练参数。

4.如权利要求1所述的方法,其特征在于,所述第一训练参数包括流量梯度值和流量损失值,所述第二训练参数包括离线梯度值和离线损失值;所述对所述第一训练参数与所述第二训练参数进行融合,得到融合后的训练参数,包括:采用所述离线梯度值对所述流量梯度值进行更新,得到更新后的流量梯度值,并采用所述离线损失值对所述流量损失值进行更新,得到更新后的流量损失值;其中,所述更新后的流量梯度值和所述更新后的流量损失值为更新后的第一训练参数;

将所述更新后的第一训练参数作为融合后的训练参数。

5.如权利要求4所述的方法,其特征在于,所述采用所述融合后的训练参数训练目标模型,包括:

获取所述流量样本数据对应的流量数据总量,并根据所述流量数据总量和所述更新后的流量梯度值,确定针对目标模型的参数更新指标;

获取所述目标模型的初始模型参数;

采用所述参数更新指标对所述初始模型参数进行更新,得到流量模型参数,其中,训练完成的目标模型包括取得所述流量模型参数的目标模型。

6.如权利要求4所述的方法,其特征在于,所述采用所述离线梯度值对所述流量梯度值进行更新,得到更新后的流量梯度值,包括:采用所述离线梯度值对所述流量梯度值进行加权,并将加权后的流量梯度值作为更新后的流量梯度值;

所述采用所述离线损失值对所述流量损失值进行更新,得到更新后的流量损失值,包括:采用所述离线损失值对所述流量损失值进行加权,并将加权后的流量损失值作为更新后的流量损失值。

7.如权利要求1所述的方法,其特征在于,所述方法还包括:获取模型测试数据,所述模型测试数据是从在线流量数据中随机采样得到的,除所述流量样本数据之外的其他在线流量数据;

采用所述模型测试数据对所述训练完成的目标模型进行模型测试,并得到模型测试结果。

8.如权利要求7所述的方法,其特征在于,所述采用所述模型测试数据对所述训练完成的目标模型进行模型测试,包括:

在所述目标模型的模型参数为流量模型参数的情况下,采用所述机器学习算法对所述模型测试数据进行处理,得到模型测试参数;

当所述模型测试参数在预设阈值范围时,得到的模型测试结果指示所述目标模型通过模型测试;否则,得到的模型测试结果指示所述目标模型未通过所述模型测试。

9.如权利要求7所述的方法,其特征在于,所述训练完成的目标模型包括对应模型参数为流量模型参数的目标模型;所述方法还包括:若所述模型测试结果指示对应模型参数为流量模型参数的目标模型通过模型测试,则在接收到交通流量预测的触发操作时,调用对应模型参数为流量模型参数的目标模型进行交通流量预测;

若所述模型测试结果指示对应模型参数为流量模型参数的目标模型未通过模型测试,则在接收到交通流量预测的触发操作时,调用对应模型参数为离线模型参数的目标模型进行交通流量预测;对应模型参数为离线模型参数的目标模型由所述第二数据拥有方训练完成且已通过模型测试。

10.如权利要求9所述的方法,其特征在于,所述第二数据拥有方训练得到离线模型参数的方式包括:

所述第二数据拥有方从数据协作方获取所述第一数据拥有方训练得到的第一训练参数,并采用所述第一训练参数对所述第二训练参数进行更新,得到更新后的第二训练参数;

所述第二数据拥有方采用所述更新后的第二训练参数对所述目标模型的初始模型参数进行更新,得到离线模型参数。

11.一种流式模型训练装置,其特征在于,包括:获取单元,用于获取流量样本数据;

处理单元,用于采用机器学习算法训练所述流量样本数据,得到第一训练参数;其中,所述流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,且所述流量样本数据属于第一数据拥有方;所述第一训练参数包含流量梯度;

所述获取单元,还用于获取第二训练参数,所述第二训练参数是第二数据拥有方采用所述机器学习算法训练历史样本数据后得到的,所述历史样本数据是在先于所述指定时间段内对第二交通场景进行数据采集得到的;所述第二训练参数包含离线梯度值;

所述处理单元,还用于对所述第一训练参数包含的流量梯度值与所述第二训练参数包含的离线梯度值进行融合,得到融合后的训练参数中包含的更新后的流量梯度值,并采用所述融合后的训练参数包含的更新后的流量梯度值和流量数据总量确定针对目标模型的参数更新指标;采用所述目标参数更新指标训练目标模型的初始的流量模型参数,得到流量模型参数;其中,所述目标模型中设置有所述机器学习算法,训练完成的目标模型用于进行交通流量预测;

所述处理单元,还用于基于所述流量模型参数对所述目标模型进行模型测试,得到所述目标模型的模型测试结果,并在所述模型测试结果指示通过测试时,将基于所述流量模型参数进行交通流量预测;若所述模型测试结果指示未通过测试,则触发所述第二数据拥有方对离线模型参数进行测试,并在所述离线模型参数通过测试时,基于所述离线模型参数进行交通流量预测。

12.一种计算机设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、所述输入设备、所述输出设备和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1 10任一项所述的方法。

~

13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1 10任一项所述的方法。

~

14.一种计算机产品,其特征在于,所述计算机产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令在被处理器执行时用于实现如权利要求1 10任一项所述~

的方法。

说明书 :

流式模型训练方法、装置、计算机设备及存储介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种流式模型训练方法、装置、计算机设备及存储介质。

背景技术

[0002] 随着计算机技术的不断深入发展,目前对于模型训练,一般是采用批处理的方式进行离线模型训练的,而目前的模型训练预测方式,每次进行模型训练都是针对特定的批
次样本数据进行静态训练,得到该批次数据下的模型结果,对于下一次模型训练和测试,则
需要使用下一批次样本数据进行训练测试。由此可见,采用当前的模型训练方式,需要进行
一定数量的样本数据的获取,且获取的样本数据需要一定的代表性,才能完成对模型的训
练,而如果在数据量较多的情况下,采用当前的模型训练方法,如果在进行流式模型训练
时,则存在获取的流量样本数据不足而导致的无法完成模型训练的问题。

发明内容

[0003] 本发明实施例提供了一种流式模型训练方法、装置、计算机设备及存储介质,可提升基于流量样本数据训练得到的模型的准确性和有效性。
[0004] 一方面,本发明实施例提供了一种流式模型训练方法,包括:
[0005] 获取流量样本数据,并采用机器学习算法训练所述流量样本数据,得到第一训练参数;其中,所述流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,且
所述流量样本数据属于第一数据拥有方;
[0006] 获取第二训练参数,所述第二训练参数是第二数据拥有方采用所述机器学习算法训练历史样本数据后得到的,所述历史样本数据是在先于所述指定时间段内对第二交通场
景进行数据采集得到的;
[0007] 对所述第一训练参数与所述第二训练参数进行融合,得到融合后的训练参数,并采用所述融合后的训练参数训练目标模型;其中,所述目标模型中设置有所述机器学习算
法,所述训练完成的目标模型用于进行交通流量预测。
[0008] 再一方面,本发明实施例提供了一种流式模型训练装置,包括:
[0009] 获取单元,用于获取流量样本数据;
[0010] 处理单元,用于采用机器学习算法训练所述流量样本数据,得到第一训练参数;其中,所述流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,且所述流
量样本数据属于第一数据拥有方;
[0011] 所述获取单元,还用于获取第二训练参数,所述第二训练参数是第二数据拥有方采用所述机器学习算法训练历史样本数据后得到的,所述历史样本数据是在先于所述指定
时间段内对第二交通场景进行数据采集得到的;
[0012] 所述处理单元,还用于对所述第一训练参数与所述第二训练参数进行融合,得到融合后的训练参数,并采用所述融合后的训练参数训练目标模型;其中,所述目标模型中设
置有所述机器学习算法,所述训练完成的目标模型用于进行交通流量预测。
[0013] 再一方面,本发明实施例提供了一种计算机设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存
储支持计算机设备执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理
器被配置用于调用所述程序指令,执行如下步骤:
[0014] 获取流量样本数据,并采用机器学习算法训练所述流量样本数据,得到第一训练参数;其中,所述流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,且
所述流量样本数据属于第一数据拥有方;
[0015] 获取第二训练参数,所述第二训练参数是第二数据拥有方采用所述机器学习算法训练历史样本数据后得到的,所述历史样本数据是在先于所述指定时间段内对第二交通场
景进行数据采集得到的;
[0016] 对所述第一训练参数与所述第二训练参数进行融合,得到融合后的训练参数,并采用所述融合后的训练参数训练目标模型;其中,所述目标模型中设置有所述机器学习算
法,所述训练完成的目标模型用于进行交通流量预测。
[0017] 再一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时,所述程序指令被处理器执行时,用
于执行如第一方面所述的流式模型训练方法。
[0018] 在本申请实施例中,计算机设备可在获取到流量数据后,可先采用机器学习算法对该流量数据进行训练,得到第一训练参数,并可获取由第二数据拥有方基于历史样本数
据训练得到的第二训练参数,进而该计算机设备则可基于得到的第一训练参数和第二训练
参数进行融合,得到融合后的训练参数,并采用融合后的训练参数进行模型训练,使得计算
机设备可有效利用流量样本数据,通过将每一规定时刻的流量样本数据及横向联邦学习机
制构建流式训练和流式预测,而且,基于横向联邦学习机制,使得计算机设备能将历史样本
数据和流量样本数据相结合,防止因流量样本数据不足而导致模型训练无解的问题,同时,
基于横向联邦学习机制,使得计算机设备能够在不进行历史样本数据和流量样本数据不合
并的情况下,基于训练参数的融合实现对历史样本数据的数据特征,及流量样本数据的数
据特征的结合,进而实现基于结合的特征对目标模型训练,能有效保证数据安全性,并能同
时保证训练得到的目标模型的准确性。

附图说明

[0019] 为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1是本发明实施例提供的一种流式模型训练系统的示意图;
[0021] 图2是本发明实施例提供的一种流式模型训练方法的示意流程图;
[0022] 图3是本发明实施例提供的一种区块链的示意图;
[0023] 图4是本发明实施例提供的另一种流式模型训练方法的示意流程图;
[0024] 图5是本发明实施例提供的一种流式模型训练和预测过程的示意图;
[0025] 图6是本发明实施例提供的一种流式模型训练装置的示意性框图;
[0026] 图7是本发明实施例提供的一种计算机设备的示意性框图。

具体实施方式

[0027] 本申请实施例提出了一种流式模型训练方法,使计算机设备在进行流式模型训练时,可在不直接将流量样本数据和历史样本数据进行合并的情况下,同时实现在模型训练
过程中对流量样本数据的数据特征和历史样本数据的数据特征进行参考,从而可使计算机
设备保证流量样本数据和历史样本数据的安全性的同时,也可有效保证计算机设备对目标
模型的训练过程,以避免因获取的样本数据不足而导致的无法训练出有效模型的问题。在
一个实施例中,流式模型训练也可称为流式训练,或在线学习(online training),一般的
模型训练是指采用一定数量的样本数据对模型进行迭代更新,直至模型收敛的过程,因此,
为了使训练得到的模型收敛,需要采集一定数量的样本数据输入到模型中,而流式模型训
练是指用于进行模型训练的样本数据不是一次性放入模型中进行学习的,而是被不断加入
模型中的,也就是说,流式模型训练将会在采集到新的样本数据后,基于采集到的新的样本
数据进行流式训练,从而实现对模型的不断优化,从而可保证训练得到的目标模型在后续
应用到预测阶段时的准确性。其中,计算机设备可在样本数据的安全性要求较高,或用于进
行模型训练的样本数据的更新较为频繁情况下,采用上述的流式训练方法进行模型训练,
其中,计算机设备可在样本数据的更新频率小于预设频率时,认为样本数据的更新较为频
繁,该预设频率例如可以是一周或者10天等,本申请实施例不做限定。
[0028] 采用上述的流式训练方法进行训练的模型具体可以是大数据场景下的模型、电商场景下的相关模型、或者车联网场景下的相关模型等,在本申请实施例中,主要以对车联网
场景下的相关模型进行流式训练的过程进行详细说明,对其他场景下的相关模型进行流式
训练的过程则可参见本申请实施例。该车联网场景下的相关模型可应用在智能交通系统
(Intelligent Traffic System,ITS)中,智能交通系统又称为智能运输系统(Intelligent 
Transportation System),是将先进的科学技术,如信息技术、计算机技术、数据通信技术、
传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等有效地综合运用于交通运
输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安
全、提高效率、改善环境、节约能源的综合运输系统。
[0029] 在一个实施例中,进行流式训练的样本数据是指在指定时段(即规定时间)内采集到的流量样本数据,那么,流式训练即是计算机设备使用在指定时段内的流量样本数据(或
流量数据)进行机器学习或深度学习训练的过程,为了避免计算机设备因采集到的流量样
本数据的数据量不足,而导致的无法得到训练完成的目标模型的情况,该计算机设备在进
行流式模型训练时,可通过联邦学习结合历史样本数据和流量样本数据来进行。其中,历史
样本数据是指先于流量样本数据采集到的样本数据,由于该流量样本数据是在指定时间段
内采集到的,那么,该历史样本数据则是在该指定时间段之前的时间内采集到的样本数据。
联邦学习是指通过将分布式机器学习、密码学、基于金融规则的激励机制和博弈论结合起
来,以解决分散数据的使用问题,联邦学习本质上是一种分布式机器学习技术或机器学习
框架,基于联邦学习实现的模型训练过程,可保证样本数据隐私安全和合法合规的基础上,
实现共同建模,从而可提升计算机设备的模型训练效果。在一个实施例中,由于流量样本数
据和历史样本数据可能是由不同的数据拥有方采集得到的,那么,根据各数据拥有方所采
集得到的样本数据,联邦学习可分为横向联邦学习,纵向联邦学习和联邦迁移学习,其中,
数据拥有方是指进行样本数据采集的设备,如采集到上述的流量样本数据的设备可为第一
数据拥有方,而采集到上述的历史样本数据的设备则为第二数据拥有方。
[0030] 在一个实施例中,横向联邦学习的本质是对样本数据(如上述的流量样本数据和历史样本数据)的联合,该横向联邦学习适用于相应对象重叠少,但对该对象进行数据采集
得到的样本数据的数据特征交集较多的联邦学习场景,该对象例如可以是车联网场景下的
交通工具,电商场景下的消费用户等,在车联网场景下,上述的流量样本数据和历史样本数
据是分别对不同交通场景中的不同交通工具进行数据采集后得到的,则该计算机设备可采
用横向联邦学习进行模型训练。另外,纵向联邦学习的本质是对数据特征的联合,纵向联邦
学习适用于对象重叠较多,但基于对象进行数据采集得到的样本数据的数据特征交集较少
的联邦学习场景,那么,在车联网场景下,上述的流量样本数据和历史样本数据则是对相同
交通场景中的相同交通工具进行数据采集后得到的,而联邦迁移学习则是指对象重叠较
少,且基于对象进行数据采集得到的样本数据的数据特征交集也较少的联邦学习场景,联
邦迁移学习是一种基于迁移学习思想的联邦学习,其中,迁移学习是指利用数据任务、或模
型之间的相似性,将在源领域学习过的模型,应用到目标领域的一种学习过程。
[0031] 在交通场景下,采集到的流量样本数据和历史样本数据通常是对象重叠少,但特征交集较多的数据,在本申请实施例中主要是采用横向联邦学习思想进行模型训练的。需
要说明的是,计算机设备在对该对象进行数据采集之前,均已从该对象获取到允许进行数
据采集的确认信息,也就是说,对该对象执行的数据采集过程是在获取到对象授权后执行
的。在一个实施例中,该流式模型训练方法可应用在如图1所示的流式模型训练系统中,其
中,如果在对车联网场景中的对象进行数据采集时,是由如图1中由10标记的计算机设备对
在指定时间段内的某个交通场景中的对象进行数据采集,那么,图1中由10标记的计算机设
备则为第一数据拥有方,而其他的第二数据拥有方则可以是如图1中由11标记的设备,该第
一数据拥有方对应的设备10在获取到流量样本数据后,则可基于目标模型中设置的机器学
习算法,得到针对该目标模型的第一训练参数,同样的,该第二数据拥有方对应的设备11在
获取到历史样本数据后,也可基于该目标模型中设置的机器学习算法,得到针对该目标模
型的第二训练参数。在第一数据拥有方对应的设备10得到该第一训练参数,以及第二数据
拥有方对应设备11得到第二训练参数后,该第一数据拥有方对应设备10和第二数据拥有方
对应设备11则可进一步基于数据协作方进行训练参数的交换融合,从而实现在不对样本数
据进行融合的情况下,实现对基于样本数据学习到的特征参数的融合,其中,该数据协作方
可以是如图1中由12标记的云服务器。基于第一数据拥有方对应设备10和第二数据拥有方
对应设备11之间的训练参数的交换融合,该第一数据拥有方对应设备10则可基于融合后的
训练参数对目标模型进行训练,并得到训练完成的目标模型。
[0032] 请参见图2,是本申请实施例提出的一种流式模型训练方法的示意流程图,该流式模型训练方法主要由第一数据拥有方对应的计算机设备执行,在本申请实施例中,主要是
以采用该流式模型训练对车联网场景相关的模型进行详细说明的,如图2所示,该方法可包
括:
[0033] S201,获取流量样本数据,并采用机器学习算法训练流量样本数据,得到第一训练参数。
[0034] 在车联网场景下,当各种交通设备(如车辆等)在行驶过程中进行地图导航时,对用于进行导航的模型的预测精度(或者预测效率)的要求较高,而目前的模型训练方法,都
是针对特定批次的样本数据进行静态的离线模型训练的,得到该批次数据下的模型训练结
果的,而对于下一次模型训练和测试,则需要使用下一批次样本数据进行训练测试,那么由
此可见,采用当前进行离线学习训练得到的模型,在对该特定批次下的样本数据进行预测
时,是可得到较好的预测效果的,而无法保证对其他批次下的样本数据进行预测时的效果。
所以,如果在车联网场景中,仍采用上述的模型训练预测方法,往往达不到后续较好的预测
效果,而由于车联网场景下的交通设备(或称为交通对象,或对象等)数量较多,且易于对该
对象进行采集并得到相关的样本数据,因此,可采用流式训练和流式预测的思想进行模型
训练,而计算机设备在对车联网场景下的相关模型进行流式训练时,可通过采集特定时间
段的流量样本数据进行流式训练。而为了避免出现流量样本数据对应数据量较少而出现的
模型训练不达标的情况,计算机设备在进行流式训练时,还可获取与流量样本数据不同批
次的历史样本数据,从而实现将流量样本数据和历史样本数据进行结合训练的目的。在一
个实施例中,由于流量样本数据和历史样本数据是不同批次的样本数据,那么,为了进一步
保证在模型训练过程中采集到的不同批次样本数据的数据安全性,可将联邦学习技术与模
型的流式训练和流式预测相结合,从而可实现在保证有效解决在线训练存在无解的问题的
同时,还能有效提升流量模型训练预测效率,同时还可利用联邦学习的特性有效增强数据
安全。
[0035] 在一个实施例中,该计算机设备为第一数据拥有方对应的设备,且该计算机设备获取的流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,该指定时间
段可以是指基于当前时间点确定出的时间段,如当前时间点的前后一小时所在的时间段,
或者,该指定时间段也可以是预定时间,如国庆节早8点 12点对应的时间段,或者,该指定
~
时间段也可以是基于当前时间规定的某个短时间范围,如30秒(S)、1分钟(min)、或者10min
等。该第一交通场景可以是后续进行预测的场景,或者也可以是其他交通场景,在本申请实
施例中,对采集到流量样本数据的第一交通场景不做限制。其中,该计算机设备在车联网中
采集到的流量样本数据是从在线流量数据中采集到的,其中,该计算机设备采集到的在线
流量数据包括以下一种或多种:交通设备在通过某一规定短时间内的数量、交通设备之间
的距离、交通设备的最高时速、交通设备的平均时速、交通设备的最低时速、该时间段内兴
趣点(Point Of Interest,POI)信息、经纬度信息等。
[0036] 在计算机设备获取到流量样本数据后,该计算机设备则可采用机器学习算法训练该流量样本数据,从而得到第一训练参数,其中,该计算机设备采用机器学习算法训练该流
量样本数据得到的第一训练参数包括流量梯度值和流量损失值,该计算机设备进行训练的
模型则为设置有该机器学习算法的目标模型。计算机设备在采用流量样本数据训练得到第
一训练参数后,还可获取由历史样本数据训练得到的第二训练参数,从而通过将第一训练
参数和第二训练参数的参数的融合,使计算机设备可实现在不直接对历史样本数据和流量
样本数据进行数据融合的情况下,将历史样本数据的数据特征和流量样本数据的数据特征
进行融合。
[0037] S202,获取第二训练参数,第二训练参数是第二数据拥有方采用机器学习算法训练历史样本数据后得到的。
[0038] 计算机设备获取到的第二训练参数是由第二数据拥有方对应设备采用上述的机器学习算法对历史样本数据进行训练后得到的,在一个实施例中,该历史样本数据是由第
二数据拥有方在先于指定时间段内对第二交通场景进行数据采集得到的数据,其中,该第
二数据拥有方在一般情况下与第一数据拥有方不同,也即是说,采集到该流量样本数据的
第一数据拥有方对应设备和采集到历史样本数据的第二数据拥有方对应设备是不同的设
备,而第二数据拥有方进行数据采集的第二交通场景可以是和第一交通场景相同的交通场
景,也可以是和第一交通场景不同的场景,在本申请实施例中不做限定。在一个实施例中,
第二数据拥有方对应设备获取到的历史样本数据,与第一数据拥有方对应设备(即上述的
计算机设备)获取到的流量样本数据是具有相同数据特征的不同交通设备的描述数据,如
该流量样本数据和历史样本数据均可以是对交通设备之间的距离特征进行描述的数据,或
者对交通设备的类型进行描述的数据,或者路段情况进行描述的数据等,那么,对应地,当
流量样本数据和历史样本数据均是对交通设备之间的距离特征进行描述的数据时,该流量
样本数据可以是在规定时间段内交通设备之间的距离,而该历史样本数据是指先于该规定
时间段的交通设备之间的平均距离等等。
[0039] 在一个实施例中,该第二数据拥有方对应设备获取到的历史样本数据可以是以下的一种或多种:交通设备对应的平均数、任意两交通设备之间的距离、交通设备的类型、交
通设备的数量、交通设备的最高时速、交通设备对应的排量、交通设备所在路段的路面情
况、交通设备在相应路段的平均速度、交通设备的POI数据、交通设备的经纬度信息、以及交
通设备的使用年限等。同样的,该第二数据拥有方对应设备在获得到该历史样本数据后,同
样可采用上述的机器学习算法对该历史样本数据进行训练,并得到第二训练参数,其中,该
第二数据拥有方对应设备训练得到的第二训练参数包括离线梯度值和离线损失值,而在第
二数据拥有方对应设备得到第二训练参数后,该第一数据拥有方则可获取得到该第二训练
参数。其中,历史样本数据可以用于分类模型训练与预测,也可以用于生成模型训练与预
测,当使用分类模型进行训练与预测时,样本数据为特征数据和分类标签数据,当使用生成
模型进行训练与预测时,样本数据为连续性特征数据和连续性因变量数据。
[0040] 在计算机设备(即第一数据拥有方对应设备)从第二数据拥有方获取该第二训练参数时,为了保证第一数据拥有方和第二数据拥有方中存储数据的数据隐私和数据安全,
该计算机设备可通过数据协作方进行第二训练参数的获取。在一个实施例中,该计算机设
备和第二数据拥有方对应设备均和数据协作方相连,且在该计算机设备基于流量样本数据
训练得到第一训练参数,第二数据拥有方对应设备基于历史样本数据训练得到第二训练参
数后,该数据协作方对应设备则可分别向该计算机设备和第二数据拥有方对应设备发送加
密密钥,那么,在该计算机设备和该第二数据拥有方对应设备获取到该加密密钥后,则可分
别采用该加密密钥对第一训练参数和第二训练参数进行加密处理,并分别得到加密后的第
一训练参数和加密后的第二训练参数,而在该计算机设备得到加密后的第一训练参数后,
则可将该加密后的第一训练参数发送给数据协作方对应设备,且在该第二数据拥有方对应
设备得到加密后的第二训练参数后,该第二数据拥有方对应设备也会将该加密后的第二训
练参数发送给数据协作方,从而可使得该数据协作方(或数据协作方对应设备)可在获取到
加密后的第一训练参数,以及加密后的第二训练参数后,分别采用相应的私钥对加密后的
第一训练参数进行解密处理并得到该第一训练参数,以及采用相应的私钥对加密后的第二
训练参数进行解密处理,并得到该第二训练参数。
[0041] 在数据协作方基于对加密后的第一训练参数和加密后的第二训练参数的解密处理,并得到第一训练参数和第二参数后,该计算机设备则可基于需求,从该数据协作方进行
第二训练参数的获取,而同样地,该第二数据拥有方也可基于需求从该数据协作方进行第
一训练参数的获取,从而可在保证第一数据拥有方和第二数据拥有方中的数据安全性的同
时,实现对该第一数据拥有方得到的训练参数和第二数据拥有方得到的训练参数的数据交
互。在一个实施例中,在计算机设备获取到由第二数据拥有方训练得到的第二训练参数后,
该计算机设备则可将获取到的第二训练参数与自身训练得到的第一训练参数进行融合,从
而实现将历史样本数据中的数据特征引入融合后的训练参数中,以提升后续模型训练的精
准度,即可转而执行步骤S203。
[0042] 在一个实施例中,该数据协作方对应设备可以是独立的第三方服务器,如云服务器等,该数据协作方为第一数据拥有方和第二数据拥有方发送的加密密钥可以是基于随机
数随机生成的,或者也可以是基于哈希算法随机生成的,在本申请实施例中,对数据协作方
生成相应加密密钥的方式不做限定。在一个实施例中,为了保证存储在数据协作方对应设
备中的训练参数的安全性,从而保证该计算机设备或者第二数据拥有方从数据协作方获取
得到的训练参数的真实性和有效性,该数据协作方还可通过部署区块链,并基于该数据协
作方所在的区块链网络进行加密密钥的下发,以及对加密的训练参数的解密存储,其中,在
数据协作方分别解密得到第一训练参数和第二训练参数后,可将该第一训练参数和第二训
练参数分别存储到区块链的不同区块中。在一个实施例中,区块链是由多个区块组成的,如
图3所示,区块链中的各区块包括区块头和区块主体,区块头中存储有输入信息特征值、版
本号、时间戳和难度值,区块主体中存储有输入信息(如上述的第一训练参数或第二训练参
数),由于每个区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特
征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区
块中存储的区块数据均与上一区块(即父区块)中存储的区块数据存在关联,保证了区块中
输入信息的安全性,而基于区块链进行数据存储时的安全性,也保证了基于区块链进行数
据获取时的安全性。需要说明的是,作为第一数据拥有方的计算机设备和第二数据拥有方
对应设备可以是两个独立的设备,或者,也可以是同一设备中的不同处理模块,在本申请实
施例中不做限定。
[0043] S203,对第一训练参数与第二训练参数进行融合,得到融合后的训练参数,并采用融合后的训练参数训练目标模型;其中,训练完成的目标模型用于进行交通流量预测。
[0044] 在计算机设备获取到第二数据拥有方对应设备基于历史样本数据训练得到的第二训练参数后,则可将该第二训练参数融合到第一训练参数中,得到融合后的训练参数(即
新的第一训练参数),可以理解,基于计算机设备对第二训练参数的融合,可实现在不直接
获取历史样本数据的情况下,获取到采用该历史样本数据进行模型得到的相关训练参数,
那么,在该计算机设备得到融合后的训练参数后,则可采用该融合后的训练参数进行目标
模型的训练,从而可实现在不直接将流量样本数据和历史样本数据进行融合的情况下,结
合该流量样本数据学习到的模型特征和历史样本数据学习到的模型特征对目标模型进行
训练,进而可提升计算机设备训练得到的目标模型的精准度。在一个实施例中,计算机设备
采用融合后的训练参数进行目标模型训练的过程,也即是该计算机设备基于融合后的训练
参数确定该目标模型的模型权重的过程,那么,该计算机设备在采用融合后的训练参数进
行目标模型的训练时,该计算机设备可先获取该目标模型的初始模型权重,从而可采用该
融合后的训练参数对该初始模型参数进行更新,从而可基于更新后的模型参数确定该目标
模型最终的模型参数,进而完成对目标模型的训练过程。
[0045] 计算机设备在采用融合后的训练参数对初始模型参数进行更新,得到更新后的模型参数后,该计算机设备可先采用该更新后的模型参数进行模型测试,并在该更新后的模
型参数通过模型测试时,将该更新后的模型参数作为该目标模型最终的目标模型权重,并
在后续进行交通流量预测时,采用取得该目标模型权重的目标模型来进行。在一个实施例
中,由于第二数据拥有方对应设备同样也可从数据协作方对应设备获取到第一训练参数,
因此,该第二数据拥有方对应设备在获取到该第一训练参数后,同样将基于该第一训练参
数对第二训练场参数进行融合,得到新的第二训练参数,那么,在计算机设备基于新的第一
训练参数进行目标模型的训练时,该第二数据拥有方对应设备也将基于新的第二训练参数
对目标模型进行训练,从而得到相应更新后的模型权重。可以理解,由计算机设备将第二训
练参数融合到第一训练参数后,得到的新的第一训练参数可被称为流量模型权重,而第二
数据拥有方对应设备基于第一训练参数融合更新第二训练参数后,所得到的新的第二训练
参数可被称为离线模型权重,那么,该计算机设备在得到流量模型权重后,并在该流量模型
权重通过模型测试时,将该流量模型权重作为最终的模型权重,而在该流量模型权重未通
过模型测试时,则可对第二数据拥有方得到的离线模型权重进行模型测试,并在通过测试
时,将该离线模型权重作为该目标模型最终的模型权重。计算机设备在确定出最终的模型
权重后,可将该最终的模型权重上传到在线数据库中,从而可在后续基于该目标模型进行
预测时,结合在线数据库中的模型权重和获取到的在线数据进行实时预测,其中,该在线数
据库可以是kafka(一种支持存储的数据库)、redis(另一种支持存储的数据库)等。
[0046] 在本申请实施例中,计算机设备可在获取到流量数据后,可先采用机器学习算法对该流量数据进行训练,得到第一训练参数,并可获取由第二数据拥有方基于历史样本数
据训练得到的第二训练参数,进而该计算机设备则可基于得到的第一训练参数和第二训练
参数进行融合,得到融合后的训练参数,并采用融合后的训练参数进行模型训练,使得计算
机设备可有效利用流量样本数据,通过将每一规定时刻的流量样本数据及横向联邦学习机
制构建流式训练和流式预测,而且,基于横向联邦学习机制,使得计算机设备能将历史样本
数据和流量样本数据相结合,防止因流量样本数据不足而导致模型训练无解的问题,同时,
基于横向联邦学习机制,使得计算机设备能够在不进行历史样本数据和流量样本数据不合
并的情况下,基于训练参数的融合实现对历史样本数据的数据特征,及流量样本数据的数
据特征的结合,进而实现基于结合的特征对目标模型训练,能有效保证数据安全性,并能同
时保证训练得到的目标模型的准确性。
[0047] 请参见图4,是本申请实施例提出的一种流式模型训练方法的示意流程图,该流式模型训练方法主要由第一数据拥有方对应的计算机设备执行,其中,在进行流式模型训练
完成后,可进行流式预测,整体的过程可包括如下十一个阶段:数据输入阶段、数据拥有方
构建阶段、离线梯度值和损失值计算阶段、流量梯度值和损失值计算阶段、协作者(即数据
协作方)数据交互阶段、离线梯度值和损失值更新阶段、流量梯度值和损失值更新阶段、流
量模型权重更新阶段、离线模型权重更新阶段、流量模型测试阶段、和流式预测阶段,具体
可如图5所示。在本申请实施例中,计算机设备可采用离线梯度值和离线权重值,分别对流
量梯度值及流量权重值进行更新,另外,第二数据拥有方可采用流量梯度值和流量权重值
分别更新离线梯度值及离线模型权重,并使用流量模型权重进行流量样本数据预测。如果
出现流量模型权重不达标或者数据不能训练出流量模型的情况,则将更新的离线模型权重
作为冷启动进行流量样本数据预测。下面,结合图4和图5,并主要以采用该流式模型训练对
车联网场景相关的模型进行训练的情况下的模型训练过程进行说明,具体可包括如下步
骤:
[0048] S401,获取流量样本数据,并采用机器学习算法训练流量样本数据,得到第一训练参数;其中,流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,第一训
练参数包括流量梯度值和流量损失值。
[0049] S402,获取第二训练参数,第二训练参数是第二数据拥有方采用机器学习算法训练历史样本数据后得到的,第二训练参数包括离线梯度值和离线损失值。
[0050] 在步骤S401和步骤S402中,计算机设备在获取的流量样本数据是从在线流量数据中随机采样得到的,该计算机设备在从在线流量数据中获取流量样本数据时,可采用无放
回的随机抽样方法,从在线流量数据中获取得到该流量样本数据,其中,若计算机设备获取
到的在线流量数据被记为数据集B,那么,该计算机设备则是采用的无放回随机抽样方法从
数据集B中获取的流量样本数据。在一个实施例中,该计算机设备获取到的流量样本数据是
用于进行流式模型训练的,因此,该计算机设备获取到的流量样本数据为训练样本,可记为
B_train,而基于计算机设备的随机抽取,在该数据集B中剩余的样本数据则可在后续用于
进行模型测试,因此,该数据集B中除该计算机设备获取到的流量样本数据外,剩余的样本
数据为测试样本,可记为B_test。而在计算机设备获取到该流量样本数据后,则可采用机器
学习算法进行训练,从而得到包括流量梯度值和流量损失值的第一训练参数,在具体实现
中,该计算机设备可先获取在目标模型中设置的机器学习算法(该机器学习算法可记为f);
其中,在该目标模型中设置的机器学习算法和目标模型相关联,当目标模型为分类模型时,
机器学习算法对应为分类算法,当目标模型为生成模型时,机器学习算法对应为回归算法;
那么,在计算机设备获取到该机器学习算法后,则可采用获取得到的机器学习算法对流量
样本数据进行训练,从而得到流量梯度值和流量损失值。可以理解,该计算机设备对流量样
本数据进行训练,即是采用该机器学习算法f计算训练样本B_train下的流量梯度值和流量
损失值,其中,该流量梯度值可记为DB_train,流量损失值可记为LB_train。
[0051] 在计算机设备获取流量样本数据的同时,第二数据拥有方对应设备也可基于自身获取到的历史样本数据进行第二训练参数的学习训练,其中,该历史样本数据是第二数据
拥有方从离线样本数据中获取到的,该离线样本数据被存储在离线数据库中。那么,该第二
数据拥有方则可在离线数据库中采用有放回随机抽样的方式对离线样本数据进行随机抽
样,从而得到历史样本数据,其中,得到的历史样本数据可被记为数据集A,进而,该第二数
据拥有方采用机器学习算法对获取的历史样本数据进行训练并得到第二训练参数的过程,
即是该第二数据拥有方采用该机器学习算法训练数据集A,并得到离线梯度值和离线损失
值的过程,其中,得到的离线梯度值可记为DA,得到的离线损失值可记为LA。需要说明的是,
计算机设备在基于流量样本数据训练得到第一训练参数的过程,以及该第二数据拥有方基
于历史样本数据训练得到第二训练参数的过程,可以是同时进行的,也可以是先后执行的,
在本申请实施例中不做限定,另外,该计算机设备和第二数据拥有方基于获取到的样本数
据进行训练参数的学习过程,也可以是实时进行或非实时进行的。
[0052] 在计算机设备训练得到第一训练参数,以及第二数据拥有方训练得到第二训练参数后,计算机设备和第二数据拥有方均可从数据协作方获取到加密公钥(即加密密钥),并
可基于获取到的加密公钥分别对自身学习到的训练参数进行加密处理。在具体实现中,该
计算机设备在从数据协作方获取到加密公钥后,可采用该加密公钥对第一训练参数进行加
密处理,得到第一训练参数的密文数据,在第二数据拥有方从该数据协作方获取到该加密
公钥后,则可采用该加密公钥对该第二训练参数进行加密处理,并得到第二训练参数的密
文数据。在一个实施例中,该计算机设备在采用加密公钥对第一训练参数进行加密处理时,
可以是采用该加密公钥分别对第一训练参数包括的流量梯度值和流量损失值进行加密处
理的,或者,也可以是直接采用该加密公钥对第一训练参数包括的流量梯度值和流量损失
值同时进行加密后得到的;同理,该第二数据拥有方在采用加密公钥对第二训练参数进行
加密处理时,也可以是采用该加密公钥分别对第二训练参数包括的离线梯度值和离线损失
值进行加密处理的,或者对第二训练参数包括的离线梯度值和离线损失值同时进行加密处
理后得到的。
[0053] 基于计算机设备对第一训练参数的加密处理后得到的密文数据,以及第二数据拥有方对第二训练参数的加密处理后得到的密文数据,该计算机设备可将该第一训练参数的
密文数据发送给数据协作方,以使该数据协作方对该第一训练参数的密文数据进行解密处
理,并得到该第一训练参数;且该第二数据拥有方也可将第二训练参数的密文数据发送给
数据协作方,以使该数据协作方对该第二训练参数的密文数据进行解密处理,并得到第二
训练参数,从而使该数据协作方可获取到该第一训练参数和第二训练参数,而基于数据协
作方对第一训练参数和第二训练参数的获取,可使计算机设备和第二数据拥有方可在不直
接进行数据交互的情况下,实现对训练参数的交换,通过构建独立的第三方协助者(即数据
协作方),能够有效保护数据集A和数据集B的数据隐私安全,同时也能在数据安全的情况
下,实现数据交互更新。那么,该计算机设备在由自身获取到的流量样本数据训练得到第一
训练参数后,还可从数据协作方获取由数据协作方对第二训练参数的密文数据进行解密得
到的解密数据,并将获取到的解密数据作为第二训练参数,从而实现对第二训练参数的获
取。
[0054] 在计算机设备获取到第一训练参数和第二训练参数后,则可基于第二训练参数包括的离线梯度值和离线损失值,分别对第一训练参数包括的流量梯度值和流量损失值进行
更新,从而基于更新后的流量梯度值和流量损失值进行模型的优化训练。
[0055] S403,采用离线梯度值对流量梯度值进行更新,得到更新后的流量梯度值,并采用离线损失值对流量损失值进行更新,得到更新后的流量损失值;其中,更新后的流量梯度值
和更新后的流量损失值为更新后的第一训练参数。
[0056] S404,将更新后的第一训练参数作为融合后的训练参数,并采用融合后的训练参数训练目标模型;其中,目标模型中设置有机器学习算法,训练完成的目标模型用于进行交
通流量预测。
[0057] 在步骤S403和步骤S404中,计算机设备在采用离线梯度值DA对流量梯度值DB_train进行更新时,可将离线梯度值DA叠加到流量梯度值DB_train,以实现对流量梯度值DB_train的更
新,其中,更新后的流量梯度值可记为 ,且该更新后的流量梯度值满足 =DA+
DB_train。同理,在该计算机设备采用离线损失值LA对流量损失值LB_train进行更新时,同样可
采用将离线损失值LA叠加到流量损失值LB_train的方法进行更新,那么,若更新后的流量损失
值记为 ,则更新后的流量损失值满足 =LB_train+LA,那么计算机设备得到的更
新后的流量损失值 和更新后的流量梯度值 则为更新后的第一训练参数。
在一个实施例中,由于第二数据拥有方也可从数据协作方获取得到第一训练参数,那么,第
二数据拥有方同样也可基于该第一训练参数中流量梯度值和流量损失值,对该第二训练参
数所包括的离线梯度值和离线损失值进行更新,其中,该第二数据拥有方在采用流量梯度
值DB_train对离线梯度值DA进行更新后,得到的新的离线梯度值可记为 ,且该新的离线梯
度值满足 =DA+DB_train,该第二数据拥有方采用流量损失值LB_train对离线损失值LA进行更
新,得到的新的离线损失值可记为 ,且得到的新的离线损失值 满足 =LB_train+LA,那
么第二数据拥有方得到的更新后的离线损失值 和更新后的离线梯度值 则为更新后
的第二训练参数。
[0058] 计算机设备和第二数据拥有方可以是对第一训练参数和第二训练参数同时进行更新的,或者也可以是先后更新的,本申请实施例不做限定,另外,在计算机设备基于第二
训练参数对第一训练参数进行更新时,也可采用加权叠加的方式,即在将离线损失值叠加
到流量损失值时,以及在将离线梯度值叠加到流量梯度值时,该计算机设备可采用加权求
和的方式进行叠加更新,同样的,第二数据拥有方同样也可采用加权叠加的方式对第二训
练参数进行更新。
[0059] 在计算机设备得到更新后的第一训练参数后,可将该更新后的第一训练参数作为融合后的训练参数,并进行目标模型的训练,在具体实现中,该计算机设备可先获取流量样
本数据对应的流量数据总量,其中,获取的流量数据总量可记为nB_train,在计算机设备得到
流量数据总量后,则可根据流量数据总量nB_train和更新后的流量梯度值 确定针对目
标模型的参数更新指标,进而可在计算机设备获取到目标模型的初始模型参数后,采用参
数更新指标对初始模型参数进行更新,得到流量模型参数,其中,训练完成的目标模型包括
取得流量模型参数的目标模型。在一个实施例中,该计算机设备基于流量数据总量nB_train
和更新后的流量梯度值 确定的参数更新指标为 /nB_train,那么,若计算机设备
获取的初始模型参数为w,基于该参数更新指标 /nB_train对初始模型参数为w进行更
新得到的流量模型参数可记为 ,流量模型参数 满足 =w‑ /nB_train。在一个实
施例中,在该计算机设备更新得到流量模型参数的过程中,第二数据拥有方也可基于更新
后的离线梯度值 ,以及历史样本数量对应的离线样本总量nA,更新得到离线模型参数
。其中,得到的离线模型参数 满足 =w‑ /nA。
[0060] 基于计算机设备得到的流量模型参数,该计算机设备可在该目标模型的模型参数取得流量模型参数的情况下对目标模型进行模型测试,其中,该计算机设备可在获取到模
型测试数据后,采用模型测试数据对训练完成的目标模型进行模型测试,并得到模型测试
结果,其中,模型测试数据是从在线流量数据中随机采样得到的,除流量样本数据之外的其
他在线流量数据,即该模型测试数据即是从上述的数据集B中确定出的在线流量数据B_
test。而在该计算机设备在采用模型测试数据对训练完成的目标模型进行模型测试时,该
计算机设备可在目标模型的模型参数为流量模型参数 的情况下,采用机器学习算法f对
模型测试数据进行处理,得到模型测试参数,那么当模型测试参数在预设阈值范围时,得到
的模型测试结果指示目标模型通过模型测试;否则,得到的模型测试结果指示目标模型未
通过模型测试。其中,在该目标模型为分类模型时,该机器学习算法对应为分类算法,那么,
得到的模型测试参数包括模型测试数据B_test对应的分类标签,以及在该模型测试数据下
的流量损失值,进而该计算机设备则可通过对比该模型测试数据下的流量损失值是否在设
定的阈值范围内,确定流量模型参数 是否通过测试。
[0061] 在一个实施例中,如果计算机设备确定流量模型参数 通过测试,则该计算机设备则可将该流量模型参数 发送到预测数据库(或在线数据库)中,并在后续基于预测样本
数据和流量模型参数 进行流式预测,即是,计算机设备在后续接收到交通流量预测的触
发操作时,可调用对应模型参数为流量模型参数的目标模型进行交通流量预测。在另一种
实现方式中,在流量模型参数 未通过测试的情况下,第二数据拥有方则可对离线模型参
数 进行测试,从而可在该离线模型参数 通过测试时,将通过测试的离线模型参数 上
传到预测数据库中,并在后续基于预测样本数据和离线模型参数 进行流式预测,即是,
计算机设备在后续接收到交通流量预测的触发操作时,将调用对应模型参数为离线模型参
数的目标模型进行交通流量预测。在基于预测样本数据和相应的模型权重进行预测时,可
将预测样本数据和相应的模型权重进行矩阵相乘,并通过机器学习算法转换,得到流量预
测结果,完成流量预测。
[0062] 在本申请实施例中,计算机设备在获取到流量样本数据后,则可采用机器学习算法对流量样本数据进行训练,从而得到第一训练参数,并可获取由历史样本数据训练得到
的第二训练参数,而在计算机设备则可基于该第二训练参数包括的离线损失值和离线梯度
值,对第一训练数据包括的流量损失值和流量梯度值进行更新,从而可实现基于横向联邦
学习方法,将历史样本数据和流量样本数据相结合,且在将历史样本数据和流量样本数据
进行交互时,有效保证了流量模型的有效性和稳定性。基于对流量损失值和流量梯度值和
更新,该计算机设备可采用更新后的流量损失值和流量梯度值进行模型训练,而基于计算
机设备单独使用历史样本数据计算静态的离线梯度,并基于离线梯度对流量样本数据训练
得到的流量梯度值的更新,可使计算机设备得到的流量模型权重是整合了历史样本数据的
数据特征和流量样本数据的数据特征的,可提升模型训练的准确性。
[0063] 基于上述流式模型训练方法实施例的描述,本发明实施例还提出了一种流式模型训练装置,该流式模型训练装置可以是运行于上述计算机设备中的一个计算机程序(包括
程序代码)。该流式模型训练装置可用于执行如图2和图4所述的流式模型训练方法,请参见
图6,该流式模型训练装置包括:获取单元601和处理单元602。
[0064] 获取单元601,用于获取流量样本数据;
[0065] 处理单元602,用于采用机器学习算法训练所述流量样本数据,得到第一训练参数;其中,所述流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,且所
述流量样本数据属于第一数据拥有方;
[0066] 所述获取单元601,还用于获取第二训练参数,所述第二训练参数是第二数据拥有方采用所述机器学习算法训练历史样本数据后得到的,所述历史样本数据是在先于所述指
定时间段内对第二交通场景进行数据采集得到的;
[0067] 所述处理单元602,还用于对所述第一训练参数与所述第二训练参数进行融合,得到融合后的训练参数,并采用所述融合后的训练参数训练目标模型;其中,所述目标模型中
设置有所述机器学习算法,所述训练完成的目标模型用于进行交通流量预测。
[0068] 在一个实施例中,所述流量样本数据是从在线流量数据中随机采样得到的,所述第一训练参数包括流量梯度值和流量损失值;所述处理单元602,具体用于:
[0069] 获取在目标模型中设置的机器学习算法;其中,所述机器学习算法和所述目标模型相关联,当所述目标模型为分类模型时,所述机器学习算法对应为分类算法,当所述目标
模型为生成模型时,所述机器学习算法对应为回归算法;
[0070] 采用获取得到的机器学习算法对从所述在线流量数据中随机采样得到的数据进行训练,得到所述流量梯度值和所述流量损失值。
[0071] 在一个实施例中,所述获取单元601,具体用于:
[0072] 从数据协作方获取由所述数据协作方对第二训练参数的密文数据进行解密得到的解密数据;其中,所述第二训练参数的密文数据是所述第二数据拥有方采用加密公钥对
得到的第二训练参数进行加密处理后发送到所述数据协作方的,所述加密公钥是所述第二
数据拥有方从所述数据协作方获取到的;
[0073] 将获取到的解密数据作为所述第二训练参数。
[0074] 在一个实施例中,所述第一训练参数包括流量梯度值和流量损失值,所述第二训练参数包括离线梯度值和离线损失值;所述处理单元602,具体用于:
[0075] 采用所述离线梯度值对所述流量梯度值进行更新,得到更新后的流量梯度值,并采用所述离线损失值对所述流量损失值进行更新,得到更新后的流量损失值;其中,所述更
新后的流量梯度值和所述更新后的流量损失值为更新后的第一训练参数;
[0076] 将所述更新后的第一训练参数作为融合后的训练参数。
[0077] 在一个实施例中,所述处理单元602,具体用于:
[0078] 获取所述流量样本数据对应的流量数据总量,并根据所述流量数据总量和所述更新后的流量梯度值,确定针对目标模型的参数更新指标;
[0079] 获取所述目标模型的初始模型参数;
[0080] 采用所述参数更新指标对所述初始模型参数进行更新,得到流量模型参数,其中,训练完成的目标模型包括取得所述流量模型参数的目标模型。
[0081] 在一个实施例中,所述处理单元602,具体用于:采用所述离线梯度值对所述流量梯度值进行加权,并将加权后的流量梯度值作为更新后的流量梯度值;
[0082] 所述处理单元602,具体用于:采用所述离线损失值对所述流量损失值进行加权,并将加权后的流量损失值作为更新后的流量损失值。
[0083] 在一个实施例中,所述获取单元601,还用于获取模型测试数据,所述模型测试数据是从在线流量数据中随机采样得到的,除所述流量样本数据之外的其他在线流量数据;
[0084] 所述处理单元602,还用于采用所述模型测试数据对所述训练完成的目标模型进行模型测试,并得到模型测试结果。
[0085] 在一个实施例中,所述处理单元602,具体用于:
[0086] 在所述目标模型的模型参数为流量模型参数的情况下,采用所述机器学习算法对所述模型测试数据进行处理,得到模型测试参数;
[0087] 当所述模型测试参数在预设阈值范围时,得到的模型测试结果指示所述目标模型通过模型测试;否则,得到的模型测试结果指示所述目标模型未通过所述模型测试。
[0088] 在一个实施例中,所述训练完成的目标模型包括对应模型参数为流量模型参数的目标模型;所述处理单元602,还用于若所述模型测试结果指示对应模型参数为流量模型参
数的目标模型通过模型测试,则在接收到交通流量预测的触发操作时,调用对应模型参数
为流量模型参数的目标模型进行交通流量预测;
[0089] 所述处理单元602,还用于若所述模型测试结果指示对应模型参数为流量模型参数的目标模型未通过模型测试,则在接收到交通流量预测的触发操作时,调用对应模型参
数为离线模型参数的目标模型进行交通流量预测;对应模型参数为离线模型参数的目标模
型由所述第二数据拥有方训练完成且已通过模型测试。
[0090] 在一个实施例中,所述处理单元602,具体用于:
[0091] 所述第二数据拥有方从数据协作方获取所述第一数据拥有方训练得到的第一训练参数,并采用所述第一训练参数对所述第二训练参数进行更新,得到更新后的第二训练
参数;
[0092] 所述第二数据拥有方采用所述更新后的第二训练参数对所述目标模型的初始模型参数进行更新,得到离线模型参数。
[0093] 在本申请实施例中,获取单元601在获取到流量数据后,处理单元602可先采用机器学习算法对该流量数据进行训练,得到第一训练参数,获取单元601可获取由第二数据拥
有方基于历史样本数据训练得到的第二训练参数,进而该处理单元602则可基于得到的第
一训练参数和第二训练参数进行融合,得到融合后的训练参数,并采用融合后的训练参数
进行模型训练,从而可有效利用流量样本数据,通过将每一规定时刻的流量样本数据及横
向联邦学习机制构建流式训练和流式预测,而且,基于横向联邦学习机制,能将历史样本数
据和流量样本数据相结合,防止因流量样本数据不足而导致模型训练无解的问题,同时,基
于横向联邦学习机制,能够在不进行历史样本数据和流量样本数据不合并的情况下,基于
训练参数的融合实现对历史样本数据的数据特征,及流量样本数据的数据特征的结合,进
而实现基于结合的特征对目标模型训练,能有效保证数据安全性,并能同时保证训练得到
的目标模型的准确性。
[0094] 请参见图7,是本发明实施例提供的一种计算机设备的结构示意性框图。如图7所示的本实施例中的计算机设备可包括:一个或多个处理器701;一个或多个输入设备702,一
个或多个输出设备703和存储器704。上述处理器701、输入设备702、输出设备703和存储器
704通过总线705连接。存储器704用于存储计算机程序,所述计算机程序包括程序指令,处
理器701 用于执行所述存储器704存储的程序指令。
[0095] 所述存储器704可以包括易失性存储器(volatile memory),如随机存取存储器(random‑access memory,RAM);存储器704也可以包括非易失性存储器(non‑volatile 
memory),如快闪存储器(flash memory),固态硬盘(solid‑state drive,SSD)等;存储器
704还可以包括上述种类的存储器的组合。
[0096] 所述处理器701可以是中央处理器(central processing unit,CPU)。所述处理器701还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application‑
specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,
PLD)等。该PLD可以是现场可编程逻辑门阵列(field‑programmable gate array,FPGA),通
用阵列逻辑(generic array logic,GAL)等。所述处理器701也可以为上述结构的组合。
[0097] 本发明实施例中,所述存储器704用于存储计算机程序,所述计算机程序包括程序指令,处理器701用于执行存储器704存储的程序指令,用来实现上述如图2和图4中相应方
法的步骤。
[0098] 在一个实施例中,所述处理器701被配置调用所述程序指令,用于执行:
[0099] 获取流量样本数据,并采用机器学习算法训练所述流量样本数据,得到第一训练参数;其中,所述流量样本数据是在指定时间段内对第一交通场景进行数据采集得到的,且
所述流量样本数据属于第一数据拥有方;
[0100] 获取第二训练参数,所述第二训练参数是第二数据拥有方采用所述机器学习算法训练历史样本数据后得到的,所述历史样本数据是在先于所述指定时间段内对第二交通场
景进行数据采集得到的;
[0101] 对所述第一训练参数与所述第二训练参数进行融合,得到融合后的训练参数,并采用所述融合后的训练参数训练目标模型;其中,所述目标模型中设置有所述机器学习算
法,所述训练完成的目标模型用于进行交通流量预测。
[0102] 在一个实施例中,所述流量样本数据是从在线流量数据中随机采样得到的,所述第一训练参数包括流量梯度值和流量损失值;所述处理器701被配置调用所述程序指令,用
于执行:
[0103] 获取在目标模型中设置的机器学习算法;其中,所述机器学习算法和所述目标模型相关联,当所述目标模型为分类模型时,所述机器学习算法对应为分类算法,当所述目标
模型为生成模型时,所述机器学习算法对应为回归算法;
[0104] 采用获取得到的机器学习算法对从所述在线流量数据中随机采样得到的数据进行训练,得到所述流量梯度值和所述流量损失值。
[0105] 在一个实施例中,所述处理器701被配置调用所述程序指令,用于执行:
[0106] 从数据协作方获取由所述数据协作方对第二训练参数的密文数据进行解密得到的解密数据;其中,所述第二训练参数的密文数据是所述第二数据拥有方采用加密公钥对
得到的第二训练参数进行加密处理后发送到所述数据协作方的,所述加密公钥是所述第二
数据拥有方从所述数据协作方获取到的;
[0107] 将获取到的解密数据作为所述第二训练参数。
[0108] 在一个实施例中,所述第一训练参数包括流量梯度值和流量损失值,所述第二训练参数包括离线梯度值和离线损失值;所述处理器701被配置调用所述程序指令,用于执
行:
[0109] 采用所述离线梯度值对所述流量梯度值进行更新,得到更新后的流量梯度值,并采用所述离线损失值对所述流量损失值进行更新,得到更新后的流量损失值;其中,所述更
新后的流量梯度值和所述更新后的流量损失值为更新后的第一训练参数;
[0110] 将所述更新后的第一训练参数作为融合后的训练参数。
[0111] 在一个实施例中,所述处理器701被配置调用所述程序指令,用于执行:
[0112] 获取所述流量样本数据对应的流量数据总量,并根据所述流量数据总量和所述更新后的流量梯度值,确定针对目标模型的参数更新指标;
[0113] 获取所述目标模型的初始模型参数;
[0114] 采用所述参数更新指标对所述初始模型参数进行更新,得到流量模型参数,其中,训练完成的目标模型包括取得所述流量模型参数的目标模型。
[0115] 在一个实施例中,所述处理器701被配置调用所述程序指令,用于执行:
[0116] 采用所述离线梯度值对所述流量梯度值进行加权,并将加权后的流量梯度值作为更新后的流量梯度值;
[0117] 在一个实施例中,所述处理器701被配置调用所述程序指令,用于执行:
[0118] 采用所述离线损失值对所述流量损失值进行加权,并将加权后的流量损失值作为更新后的流量损失值。
[0119] 在一个实施例中,所述处理器701被配置调用所述程序指令,用于执行:
[0120] 获取模型测试数据,所述模型测试数据是从在线流量数据中随机采样得到的,除所述流量样本数据之外的其他在线流量数据;
[0121] 采用所述模型测试数据对所述训练完成的目标模型进行模型测试,并得到模型测试结果。
[0122] 在一个实施例中,所述处理器701被配置调用所述程序指令,用于执行:
[0123] 在所述目标模型的模型参数为流量模型参数的情况下,采用所述机器学习算法对所述模型测试数据进行处理,得到模型测试参数;
[0124] 当所述模型测试参数在预设阈值范围时,得到的模型测试结果指示所述目标模型通过模型测试;否则,得到的模型测试结果指示所述目标模型未通过所述模型测试。
[0125] 在一个实施例中,所述训练完成的目标模型包括对应模型参数为流量模型参数的目标模型;所述处理器701被配置调用所述程序指令,用于执行:
[0126] 若所述模型测试结果指示对应模型参数为流量模型参数的目标模型通过模型测试,则在接收到交通流量预测的触发操作时,调用对应模型参数为流量模型参数的目标模
型进行交通流量预测;
[0127] 若所述模型测试结果指示对应模型参数为流量模型参数的目标模型未通过模型测试,则在接收到交通流量预测的触发操作时,调用对应模型参数为离线模型参数的目标
模型进行交通流量预测;对应模型参数为离线模型参数的目标模型由所述第二数据拥有方
训练完成且已通过模型测试。
[0128] 在一个实施例中,所述处理器701被配置调用所述程序指令,用于执行:
[0129] 所述第二数据拥有方从数据协作方获取所述第一数据拥有方训练得到的第一训练参数,并采用所述第一训练参数对所述第二训练参数进行更新,得到更新后的第二训练
参数;
[0130] 所述第二数据拥有方采用所述更新后的第二训练参数对所述目标模型的初始模型参数进行更新,得到离线模型参数。
[0131] 本发明实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处
理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机
设备执行上述如图2或图4所示的方法实施例。其中,所述的计算机可读存储介质可为磁碟、
光盘、只读存储记忆体(Read‑Only Memory,ROM)或随机存储记忆体(Random Access 
Memory,RAM)等。
[0132] 以上所揭露的仅为本发明的局部实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本发明权利
要求所作的等同变化,仍属于发明所涵盖的范围。