发明内容
本发明提供一种基于多方数据协同的预测模型训练、数据预测方法和装置,用以解决现有技术中通信开销大、训练难度高、训练效率低等缺陷。
本发明提供一种基于多方数据协同的预测模型训练方法,包括:
各电力部门系统拉取协同方数据后,在本地将本部门电力数据与协同方数据进行数据对齐,并构建训练数据;
在当前轮全局训练时,各电力部门系统基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数;各电力部门系统将所述模型参数训练值和所述候选剪枝参数传送至数据中心;
数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,并将所述当前参数值以及实际剪枝参数传递给各电力部门系统,开启下一轮全局训练;各电力部门系统在下一轮全局训练时,会将所述当前参数值作为所述用电量预测模型的初始参数值并将所述实际剪枝参数置0。
根据本发明提供的一种基于多方数据协同的预测模型训练方法,所述训练数据包括测试集和训练集;其中,所述测试集中的每个训练样本中协同方数据所在位置被置为0;
所述基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数,具体包括:
基于所述训练集对所述用电量预测模型进行本地多轮迭代训练,得到所述用电量预测模型在当前轮全局训练的模型参数训练值;
基于所述测试集对所述用电量预测模型进行本地多轮迭代训练,确定所述用电量预测模型中所有未剪枝参数在每一轮本地训练的参数值,并将每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数。
根据本发明提供的一种基于多方数据协同的预测模型训练方法,所述基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,具体包括:
获取各电力部门系统传递的候选剪枝参数对应的参数值变化幅度;
将各电力部门系统传递的参数值变化幅度小于全局阈值的候选剪枝参数作为实际剪枝参数,和/或,将各电力部门系统传递的重复次数超过预设次数的候选剪枝参数作为实际剪枝参数。
根据本发明提供的一种基于多方数据协同的预测模型训练方法,在当前轮全局训练时,所述用电量预测模型的模型参数矩阵被分解为固定子矩阵和待优化子矩阵;所述固定子矩阵在各电力部门系统之间共享;各电力部门系统在本地训练得到的所述模型参数训练值为所述待优化子矩阵中各参数的参数值,确定得到的候选剪枝参数为所述待优化子矩阵中的参数。
根据本发明提供的一种基于多方数据协同的预测模型训练方法,所述基于所述训练集对所述用电量预测模型进行本地多轮迭代训练,得到所述用电量预测模型在当前轮全局训练的模型参数训练值,具体包括:
基于当前轮本地训练中所述待优化子矩阵的当前值与所述固定子矩阵,确定所述用电量预测模型的模型参数矩阵的当前值;基于所述模型参数矩阵的当前值和所述训练集中的当前轮训练样本进行预测,得到当前轮训练样本的预测结果,并基于当前轮训练样本的预测结果与当前轮训练样本的标签值之间的差异对所述待优化子矩阵进行参数值更新,得到更新后的待优化子矩阵用于进行下一轮本地训练;
待所有轮本地训练结束后,将最后更新得到的待优化子矩阵中各参数的参数值作为当前轮全局训练的模型参数训练值。
根据本发明提供的一种基于多方数据协同的预测模型训练方法,所述基于所述测试集对所述用电量预测模型进行本地多轮迭代训练,确定所述用电量预测模型中所有未剪枝参数在每一轮本地训练的参数值,并将每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数,具体包括:
获取所述待优化子矩阵中所有未剪枝参数在每一轮本地训练的参数值,并将所述待优化子矩阵中每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数。
根据本发明提供的一种基于多方数据协同的预测模型训练方法,所述数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,具体包括:
对各电力部门系统传递的模型参数训练值分别展开后得到相应的参数向量,并对各电力部门系统对应的参数向量进行聚类,将孤立的参数向量删除,再对剩余的参数向量进行聚合,得到所述当前参数值;
或,基于各电力部门系统传递的模型参数训练值确定同一参数的参数值,将所述同一参数的参数值按照由大到小或由小到大的顺序排列后,删除排名在前的多个参数值以及排名在后的多个参数值,再确定剩余的参数值中的中位数作为所述同一参数的聚合参数值,各个参数的聚合参数值构成所述当前参数值。
本发明还提供一种基于多方数据协同的数据预测方法,包括:
获取待预测区域的区域电力数据以及区域协同方数据并进行数据对齐,得到区域对齐数据;
将所述区域对齐数据输入至用电量预测模型进行用电量预测,得到所述待预测区域的预计用电量数据;
其中,所述用电量预测模型是基于如上述任一种所述基于多方数据协同的预测模型训练方法训练得到的。
本发明还提供一种基于多方数据协同的预测模型训练装置,包括:
数据获取单元,用于各电力部门系统拉取协同方数据后,在本地将本部门电力数据与协同方数据进行数据对齐,并构建训练数据;
本地训练单元,用于在当前轮全局训练时,各电力部门系统基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数;各电力部门系统将所述模型参数训练值和所述候选剪枝参数传送至数据中心;
聚合单元,用于数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,并将所述当前参数值以及实际剪枝参数传递给各电力部门系统,开启下一轮全局训练;各电力部门系统在下一轮全局训练时,会将所述当前参数值作为所述用电量预测模型的初始参数值并将所述实际剪枝参数置0。
本发明还提供一种基于多方数据协同的数据预测装置,包括:
待预测对象获取单元,用于获取待预测区域的区域电力数据以及区域协同方数据并进行数据对齐,得到区域对齐数据;
用电量预测单元,用于将所述区域对齐数据输入至用电量预测模型进行用电量预测,得到所述待预测区域的预计用电量数据;
其中,所述用电量预测模型是基于如上述任一种所述基于多方数据协同的预测模型训练方法训练得到的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于多方数据协同的预测模型训练方法或基于多方数据协同的数据预测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于多方数据协同的预测模型训练方法或基于多方数据协同的数据预测方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于多方数据协同的预测模型训练方法或基于多方数据协同的数据预测方法。
本发明提供的基于多方数据协同的预测模型训练、数据预测方法和装置,通过在每轮全局训练过程中,各电力部门系统在本地对用电量预测模型进行训练得到模型参数训练值的同时,还确定用电量预测模型的候选剪枝参数,以供数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,并基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,以开启下一轮全局训练,使各电力部门系统在进行本地训练时可以不必考虑上述实际剪枝参数,大大降低了需要进行参数更新的参数量,降低了训练难度和训练成本;同时,当各电力部门系统结束本地训练后,生成的新一轮的模型参数训练值仅包含用电量预测模型中除当前轮对应的实际剪枝参数以外的其他参数的参数值,降低了各电力部门系统上传至数据中心的参数量,从而降低了数据中心与各电力部门系统之间的通信开销。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的基于多方数据协同的预测模型训练方法的流程示意图,如图1所示,该方法包括:
步骤110,各电力部门系统拉取协同方数据后,在本地将本部门电力数据与协同方数据进行数据对齐,并构建训练数据;
步骤120,在当前轮全局训练时,各电力部门系统基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数;各电力部门系统将所述模型参数训练值和所述候选剪枝参数传送至数据中心;
步骤130,数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,并将所述当前参数值以及实际剪枝参数传递给各电力部门系统,开启下一轮全局训练;各电力部门系统在下一轮全局训练时,会将所述当前参数值作为所述用电量预测模型的初始参数值并将所述实际剪枝参数置0。
具体地,用电量预测模型在训练以及实际预测时,除了电力部门系统内部的电力数据外,还可以引入其他机构(例如银行、气象部门等)的协同方数据,以提升输入数据的语义丰富程度,从而提升用电量预测模型的预测精度。其中,电力数据可以包括任一区域的负荷侧电量历史数据、供给侧发电量历史数等;协同方数据可以包括任一区域的气象数据、收费数据等。各电力部门系统拉取本部门对应区域的协同方数据后,可以在本地将本部门电力数据与协同方数据进行数据对齐,并构建训练数据。此处,任一电力部门系统可以将本部门电力数据和协同方数据按区域进行对齐,将属于同一区域在同一计量时间(例如同一天或同一星期等)的电力数据和协同方数据进行组装,得到相应的组装数据。随后构建训练数据,训练数据中包括各个区域在各个计量时间的组装数据以及相应的用电量数据(即标签值),作为后续模型训练的各个训练样本。
在对用电量预测模型进行联邦学习时,需要进行多轮全局训练。在每一轮全局训练过程中,数据中心会将用电量预测模型中各参数的当前参数值下发至各个电力部门系统,各电力部门系统会将用电量预测模型的当前参数值作为初始参数值,基于本地的训练数据对用电量预测模型的各参数进行反向更新,得到各电力部门系统自身训练得到的用电量预测模型的模型参数训练值。其中,完成本地训练过程后,各电力部门系统可以计算训练后的各参数的参数值与各参数的初始值间的差值作为模型参数训练值上传至数据中心。
然而,由于存在着多轮全局训练的过程,并且每轮全局训练的过程中数据中心都需要下发海量参数数据至众多电力部门系统并接收众多电力部门系统上传的海量参数数据,因此带来了极为巨大的通信开销。此外,每轮全局训练过程中,各电力部门系统本地还需要进行多轮本地训练,当用电量预测模型的参数量极为巨大时,为了保障训练精度,需要利用大量的训练样本进行训练,在参数量和训练样本均十分庞大的双重影响下,大大提升了电力部门系统的训练负载,提高了训练难度和训练成本。
对此,在每轮全局训练时,各电力部门系统除了基于训练数据进行本地训练以更新用电量预测模型中各参数的参数值外,还可以基于训练效果确定用电量预测模型的候选剪枝参数。其中,可以选取对于训练效果提升不明显的参数作为上述候选剪枝参数,供数据中心抉择是否将其剪枝。本地训练结束后,各电力部门系统将自身训练得到的模型参数训练值和候选剪枝参数上传至数据中心。
数据中心接收到各电力部门系统传递的模型参数训练值和候选剪枝参数后,一方面可以对各电力部门系统传递的模型参数训练值进行聚合,得到用电量预测模型中各参数的当前参数值。其中,聚合方式可以采用求取平均值或加权平均值等方式,本发明实施例对此不作具体限定。另一方面,还可以基于各电力部门系统传递的候选剪枝参数,综合确定对于用电量预测模型预测性能影响不明显的参数,作为实际剪枝参数。在下一轮全局训练时各电力部门系统可以将该实际剪枝参数进行剪枝,即将实际剪枝参数的参数值置0,使各电力部门系统在进行本地训练时可以不必考虑上述实际剪枝参数,大大降低了需要进行参数更新的参数量,降低了训练难度和训练成本。进一步地,在下一轮全局训练过程中,当各电力部门系统结束本地训练后,生成的新一轮的模型参数训练值为用电量预测模型中除当前轮对应的实际剪枝参数以外的其他参数的参数值。可见,在下一轮全局训练过程中各电力部门系统上传至数据中心的参数量相较于当前轮全局训练过程有所减少,从而降低了数据中心与各电力部门系统之间的通信开销。
可见,本发明实施例提供的训练方法中,通过在每轮全局训练过程中,各电力部门系统在本地对用电量预测模型进行训练得到模型参数训练值的同时,还确定用电量预测模型的候选剪枝参数,以供数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,并基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,以开启下一轮全局训练,使各电力部门系统在进行本地训练时可以不必考虑上述实际剪枝参数,大大降低了需要进行参数更新的参数量,降低了训练难度和训练成本;同时,当各电力部门系统结束本地训练后,生成的新一轮的模型参数训练值仅包含用电量预测模型中除当前轮对应的实际剪枝参数以外的其他参数的参数值,降低了各电力部门系统上传至数据中心的参数量,从而降低了数据中心与各电力部门系统之间的通信开销。
基于上述实施例,所述训练数据包括测试集和训练集;其中,所述测试集中的每个训练样本中协同方数据所在位置被置为0;
如图2所示,所述基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数,具体包括:
步骤121,基于所述训练集对所述用电量预测模型进行本地多轮迭代训练,得到所述用电量预测模型在当前轮全局训练的模型参数训练值;
步骤122,基于所述测试集对所述用电量预测模型进行本地多轮迭代训练,确定所述用电量预测模型中所有未剪枝参数在每一轮本地训练的参数值,并将每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数。
具体地,当前轮全局训练时,在任一电力部门系统内部,可以将训练数据划分为测试集和训练集。其中,训练集和测试集中均包含有本部门电力数据和协同方数据组装而成的组装数据以及对应的标签值,区别在于测试集中将协同方数据所在位置的数据置为了0。
此处,训练集用于对用电量预测模型进行常规的本地多轮迭代训练,得到相应的模型参数训练值。为了提升训练精度,因此训练集中包含有本部门电力数据和协同方数据,以提升数据多样性。测试集用于确定用电量预测模型中可被剪枝的参数,具体可以利用上述测试集对用电量预测模型进行本地多轮迭代训练,并记录每一轮本地训练结束后用电量预测模型中所有未剪枝参数(即当前轮全局训练开启时数据中心传递的实际剪枝参数以外的参数)的参数值。
其中,在选择用电量预测模型中的候选剪枝参数时,输入数据的维度越多,进行参数分析时的复杂度越高,越难选出合适的候选剪枝参数,另外,还考虑到在进行用电量预测时,虽会引入其他外部机构的协同方数据以提升数据多样性,但电力数据在用电量预测时的重要性高于协同方数据,因此在训练用电量预测模型时,电力数据相对于模型参数和模型性能的影响更甚于协同方数据。因此,在确定候选剪枝参数时,利用其中协同方数据被置为0的测试集进行训练以进行参数分析,可以在保障选出的候选剪枝参数的准确性时兼顾降低参数分析的复杂程度。具体在基于测试集进行参数分析时,可以基于每一轮本地训练结束后用电量预测模型中所有未剪枝参数的参数值,将每一轮本地训练的参数值的参数值变化幅度(例如方差或相邻参数值间差值的平均值等)小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数,保证可能被剪枝掉的候选剪枝参数不会对模型精度产生重要影响,保障用电量预测模型的训练效果。
需要说明的是,本发明实施例不对步骤121和步骤122的执行顺序作任何限定,步骤121和步骤122可以以任意顺序先后执行,也可以同时执行。
基于上述任一实施例,所述基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,具体包括:
获取各电力部门系统传递的候选剪枝参数对应的参数值变化幅度;
将各电力部门系统传递的参数值变化幅度小于全局阈值的候选剪枝参数作为实际剪枝参数,和/或,将各电力部门系统传递的重复次数超过预设次数的候选剪枝参数作为实际剪枝参数。
具体地,当数据中心接收到各电力部门系统传递的候选剪枝参数后,为了选取合适的参数进行实际剪枝,可以综合考虑各电力部门系统传递候选剪枝参数对应的参数值变化幅度,选取参数值变化幅度小于全局阈值的候选剪枝参数作为实际剪枝参数。或者,还可以利用投票机制,选取各电力部门系统传递的重复次数超过预设次数的候选剪枝参数,作为实际剪枝参数。
基于上述任一实施例,在当前轮全局训练时,所述用电量预测模型的模型参数矩阵被分解为固定子矩阵和待优化子矩阵;所述固定子矩阵在各电力部门系统之间共享;各电力部门系统在本地训练得到的所述模型参数训练值为所述待优化子矩阵中各参数的参数值,确定得到的候选剪枝参数为所述待优化子矩阵中的参数。
具体地,利用上述剪枝方式对用电量预测模型进行参数剪枝后,可以一定程度上减轻数据中心与各电力部门系统之间的通信开销。然而,参数剪枝时为了保证不显著影响用电量预测模型的性能,剪去的参数量有限,在某些复杂场景下用电量预测模型参数量过大时,上述通信开销仍旧较大,因此需要进一步优化通信开销。
为了进一步降低通信开销,本发明实施例将用电量预测模型的模型参数矩阵(记为Hd1*d2)分解为固定子矩阵(记为Ad1*k)和待优化子矩阵(记为Bk*d2)。其中,模型参数矩阵的维度为d1*d2,固定子矩阵的维度为d1*k,待优化子矩阵的维度为k*d2且Hd1*d2 = Ad1*k * Bk *d2。
此处,固定子矩阵在各电力部门系统之间共享,且该矩阵中的各参数值在当前轮全局训练过程中保持不变。固定子矩阵中的各参数值可以由各电力部门系统和数据中心共享的随机种子产生,并可以在每轮全局训练开始时重新初始化。各电力部门系统在本地训练时,可以通过反向调整待优化子矩阵中参数值的方式优化用电量预测模型,其训练得到的模型参数训练值为待优化子矩阵中各参数的参数值,确定得到的候选剪枝参数为待优化子矩阵中的参数。相应地,数据中心对各电力部门系统传递的模型参数训练值进行聚合后得到的当前参数值也为待优化子矩阵中各参数的参数值。可见,数据中心与各电力部门系统之间传递的数据量由d1*d2下降为k*d2,通信开销下降了d1/k。
基于上述任一实施例,如图3所示,所述基于所述训练集对所述用电量预测模型进行本地多轮迭代训练,得到所述用电量预测模型在当前轮全局训练的模型参数训练值,具体包括:
步骤1211,基于当前轮本地训练中所述待优化子矩阵的当前值与所述固定子矩阵,确定所述用电量预测模型的模型参数矩阵的当前值;基于所述模型参数矩阵的当前值和所述训练集中的当前轮训练样本进行预测,得到当前轮训练样本的预测结果,并基于当前轮训练样本的预测结果与当前轮训练样本的标签值之间的差异对所述待优化子矩阵进行参数值更新,得到更新后的待优化子矩阵用于进行下一轮本地训练;
步骤1212,待所有轮本地训练结束后,将最后更新得到的待优化子矩阵中各参数的参数值作为当前轮全局训练的模型参数训练值。
具体地,任一电力部门系统在本地进行常规的本地多轮迭代训练时,可以对待优化子矩阵中的参数进行反向调整。在每一轮本地训练过程中,可以基于待优化子矩阵中各参数的当前值与固定子矩阵,计算用电量预测模型的模型参数矩阵中各参数的当前值。其中,可以采用上述Hd1*d2 = Ad1*k * Bk*d2方式计算模型参数矩阵中各参数的当前值。需要说明的是,在进行第一轮本地训练时,待优化子矩阵中各参数的当前值为数据中心传递来的当前参数值,从第二轮本地训练开始,待优化子矩阵中各参数的当前值为前一轮本地训练更新后的参数值。
随后,基于模型参数矩阵的当前值和训练集中的当前轮训练样本进行预测,得到当前轮训练样本的预测结果,并基于当前轮训练样本的预测结果与当前轮训练样本的标签值之间的差异对待优化子矩阵进行参数值更新,得到更新后的待优化子矩阵用于进行下一轮本地训练。
待所有轮本地训练结束后,该电力部门系统可以将最后更新得到的待优化子矩阵中各参数的参数值作为当前轮全局训练的模型参数训练值传递至数据中心。
基于上述任一实施例,所述基于所述测试集对所述用电量预测模型进行本地多轮迭代训练,确定所述用电量预测模型中所有未剪枝参数在每一轮本地训练的参数值,并将每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数,具体包括:
获取所述待优化子矩阵中所有未剪枝参数在每一轮本地训练的参数值,并将所述待优化子矩阵中每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数。
具体地,将待优化子矩阵作为参数剪枝的对象,在基于测试集对用电量预测模型进行本地多轮迭代训练的过程中,记录每一轮本地训练结束后待优化子矩阵中所有未剪枝参数的参数值,并将待优化子矩阵中每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数传送给数据中心。
基于上述任一实施例,所述数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,具体包括:
对各电力部门系统传递的模型参数训练值分别展开后得到相应的参数向量,并对各电力部门系统对应的参数向量进行聚类,将孤立的参数向量删除,再对剩余的参数向量进行聚合,得到所述当前参数值;
或,基于各电力部门系统传递的模型参数训练值确定同一参数的参数值,将所述同一参数的参数值按照由大到小或由小到大的顺序排列后,删除排名在前的多个参数值以及排名在后的多个参数值,再确定剩余的参数值中的中位数作为所述同一参数的聚合参数值,各个参数的聚合参数值构成所述当前参数值。
具体地,由于在对用电量预测模型进行联邦学习时,众多参与方在本地进行训练,其训练过程对数据中心不可见。因此,大量的参与方中可能有少数节点因为单点故障等问题导致训练过程出错,上传错误的模型参数训练值参与聚合,但是数据中心并不能感知到训练过程的错误,从而导致聚合结果产生错误。因此,为了提升联邦学习的鲁棒性,本发明实施例在数据中心聚合各电力部门系统上传的模型参数训练值时进行异常处理。
一方面,考虑到异常的模型参数训练值是随机产生的值,与正常训练得到的模型参数训练值在统计特征上有较大区别。因此,可以对各电力部门系统传递的模型参数训练值分别展开后得到相应的参数向量,并对各电力部门系统对应的参数向量进行聚类,将孤立的参数向量删除,再对剩余的参数向量进行聚合,得到当前参数值。其中,可以基于各参数向量之间的欧式距离进行聚类,通过排除与多数参数向量在距离上偏差较大的异常参数向量,聚合距离相近的大部分参数向量,使得即使在部分模型参数训练值是异常值的情况下,聚合后的当前参数值的准确率不受影响。
另一方面,由于上述参数向量维数越多时欧式距离计算开销越大,以上方法可能难以满足对实时性要求较高的部分应用场景,基于各电力部门系统传递的模型参数训练值按维度聚合,确定同一参数在不同电力部门系统传递的模型参数训练值中的参数值。将同一参数的参数值按照由大到小或由小到大的顺序排列后,删除排名在前的多个参数值以及排名在后的多个参数值,再确定剩余的参数值中的中位数作为上述同一参数的聚合参数值,而各个参数的聚合参数值构成上述当前参数值。
图4是本发明提供的基于多方数据协同的数据预测方法的流程示意图,如图4所示,该方法包括:
步骤410,获取待预测区域的区域电力数据以及区域协同方数据并进行数据对齐,得到区域对齐数据;
步骤420,将所述区域对齐数据输入至用电量预测模型进行用电量预测,得到所述待预测区域的预计用电量数据;
其中,所述用电量预测模型是基于如上述任一实施例提供的基于多方数据协同的预测模型训练方法训练得到的。
具体地,获取待预测区域的区域电力数据和该区域的区域协同方数据,并进行数据对齐,得到该区域的区域对齐数据。其中,区域电力数据和区域协同方数据的数据类型与用电量预测模型在训练过程中使用的训练数据相一致。将上述区域对齐数据输入至用电量预测模型进行用电量预测,可以得到待预测区域的预计用电量数据。其中,用电量预测模型是基于如上述任一实施例提供的基于多方数据协同的预测模型训练方法训练得到的。
基于上述任一实施例,图5是本发明提供的基于多方数据协同的预测模型训练装置的结构示意图,如图5所示,该装置包括:数据获取单元510、本地训练单元520和聚合单元530。
其中,数据获取单元510用于各电力部门系统拉取协同方数据后,在本地将本部门电力数据与协同方数据进行数据对齐,并构建训练数据;
本地训练单元520用于在当前轮全局训练时,各电力部门系统基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数;各电力部门系统将所述模型参数训练值和所述候选剪枝参数传送至数据中心;
聚合单元530用于数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,并将所述当前参数值以及实际剪枝参数传递给各电力部门系统,开启下一轮全局训练;各电力部门系统在下一轮全局训练时,会将所述当前参数值作为所述用电量预测模型的初始参数值并将所述实际剪枝参数置0。
本发明实施例提供的训练装置,通过在每轮全局训练过程中,各电力部门系统在本地对用电量预测模型进行训练得到模型参数训练值的同时,还确定用电量预测模型的候选剪枝参数,以供数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,并基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,以开启下一轮全局训练,使各电力部门系统在进行本地训练时可以不必考虑上述实际剪枝参数,大大降低了需要进行参数更新的参数量,降低了训练难度和训练成本;同时,当各电力部门系统结束本地训练后,生成的新一轮的模型参数训练值仅包含用电量预测模型中除当前轮对应的实际剪枝参数以外的其他参数的参数值,降低了各电力部门系统上传至数据中心的参数量,从而降低了数据中心与各电力部门系统之间的通信开销。
基于上述任一实施例,所述训练数据包括测试集和训练集;其中,所述测试集中的每个训练样本中协同方数据所在位置被置为0;
所述基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数,具体包括:
基于所述训练集对所述用电量预测模型进行本地多轮迭代训练,得到所述用电量预测模型在当前轮全局训练的模型参数训练值;
基于所述测试集对所述用电量预测模型进行本地多轮迭代训练,确定所述用电量预测模型中所有未剪枝参数在每一轮本地训练的参数值,并将每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数。
基于上述任一实施例,所述基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,具体包括:
获取各电力部门系统传递的候选剪枝参数对应的参数值变化幅度;
将各电力部门系统传递的参数值变化幅度小于全局阈值的候选剪枝参数作为实际剪枝参数,和/或,将各电力部门系统传递的重复次数超过预设次数的候选剪枝参数作为实际剪枝参数。
基于上述任一实施例,在当前轮全局训练时,所述用电量预测模型的模型参数矩阵被分解为固定子矩阵和待优化子矩阵;所述固定子矩阵在各电力部门系统之间共享;各电力部门系统在本地训练得到的所述模型参数训练值为所述待优化子矩阵中各参数的参数值,确定得到的候选剪枝参数为所述待优化子矩阵中的参数。
基于上述任一实施例,所述基于所述训练集对所述用电量预测模型进行本地多轮迭代训练,得到所述用电量预测模型在当前轮全局训练的模型参数训练值,具体包括:
基于当前轮本地训练中所述待优化子矩阵的当前值与所述固定子矩阵,确定所述用电量预测模型的模型参数矩阵的当前值;基于所述模型参数矩阵的当前值和所述训练集中的当前轮训练样本进行预测,得到当前轮训练样本的预测结果,并基于当前轮训练样本的预测结果与当前轮训练样本的标签值之间的差异对所述待优化子矩阵进行参数值更新,得到更新后的待优化子矩阵用于进行下一轮本地训练;
待所有轮本地训练结束后,将最后更新得到的待优化子矩阵中各参数的参数值作为当前轮全局训练的模型参数训练值。
基于上述任一实施例,所述基于所述测试集对所述用电量预测模型进行本地多轮迭代训练,确定所述用电量预测模型中所有未剪枝参数在每一轮本地训练的参数值,并将每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数,具体包括:
获取所述待优化子矩阵中所有未剪枝参数在每一轮本地训练的参数值,并将所述待优化子矩阵中每一轮本地训练的参数值的参数值变化幅度小于预设阈值的未剪枝参数作为当前轮全局训练的候选剪枝参数。
基于上述任一实施例,所述数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,具体包括:
对各电力部门系统传递的模型参数训练值分别展开后得到相应的参数向量,并对各电力部门系统对应的参数向量进行聚类,将孤立的参数向量删除,再对剩余的参数向量进行聚合,得到所述当前参数值;
或,基于各电力部门系统传递的模型参数训练值确定同一参数的参数值,将所述同一参数的参数值按照由大到小或由小到大的顺序排列后,删除排名在前的多个参数值以及排名在后的多个参数值,再确定剩余的参数值中的中位数作为所述同一参数的聚合参数值,各个参数的聚合参数值构成所述当前参数值。
基于上述任一实施例,图6是本发明提供的基于多方数据协同的数据预测装置的结构示意图,如图6所示,该装置包括:待预测对象获取单元610和用电量预测单元620。
其中,待预测对象获取单元610用于获取待预测区域的区域电力数据以及区域协同方数据并进行数据对齐,得到区域对齐数据;
用电量预测单元620用于将所述区域对齐数据输入至用电量预测模型进行用电量预测,得到所述待预测区域的预计用电量数据;
其中,所述用电量预测模型是基于如上述任一实施例提供的基于多方数据协同的预测模型训练方法训练得到的。
图7是本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、存储器(memory)720、通信接口(Communications Interface)730和通信总线740,其中,处理器710,存储器720,通信接口730通过通信总线740完成相互间的通信。处理器710可以调用存储器720中的逻辑指令,以执行基于多方数据协同的预测模型训练方法,该方法包括:各电力部门系统拉取协同方数据后,在本地将本部门电力数据与协同方数据进行数据对齐,并构建训练数据;在当前轮全局训练时,各电力部门系统基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数;各电力部门系统将所述模型参数训练值和所述候选剪枝参数传送至数据中心;数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,并将所述当前参数值以及实际剪枝参数传递给各电力部门系统,开启下一轮全局训练;各电力部门系统在下一轮全局训练时,会将所述当前参数值作为所述用电量预测模型的初始参数值并将所述实际剪枝参数置0。
处理器710还可以调用存储器720中的逻辑指令,以执行基于多方数据协同的数据预测方法,该方法包括:获取待预测区域的区域电力数据以及区域协同方数据并进行数据对齐,得到区域对齐数据;将所述区域对齐数据输入至用电量预测模型进行用电量预测,得到所述待预测区域的预计用电量数据;其中,所述用电量预测模型是基于如上述提供的基于多方数据协同的预测模型训练方法训练得到的。
此外,上述的存储器720中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于多方数据协同的预测模型训练方法,该方法包括:各电力部门系统拉取协同方数据后,在本地将本部门电力数据与协同方数据进行数据对齐,并构建训练数据;在当前轮全局训练时,各电力部门系统基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数;各电力部门系统将所述模型参数训练值和所述候选剪枝参数传送至数据中心;数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,并将所述当前参数值以及实际剪枝参数传递给各电力部门系统,开启下一轮全局训练;各电力部门系统在下一轮全局训练时,会将所述当前参数值作为所述用电量预测模型的初始参数值并将所述实际剪枝参数置0。
当所述程序指令被计算机执行时,计算机还能够执行上述各方法所提供的基于多方数据协同的数据预测方法,该方法包括:获取待预测区域的区域电力数据以及区域协同方数据并进行数据对齐,得到区域对齐数据;将所述区域对齐数据输入至用电量预测模型进行用电量预测,得到所述待预测区域的预计用电量数据;其中,所述用电量预测模型是基于如上述提供的基于多方数据协同的预测模型训练方法训练得到的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于多方数据协同的预测模型训练方法,该方法包括:各电力部门系统拉取协同方数据后,在本地将本部门电力数据与协同方数据进行数据对齐,并构建训练数据;在当前轮全局训练时,各电力部门系统基于所述训练数据在本地对用电量预测模型进行训练,得到模型参数训练值,并确定所述用电量预测模型的候选剪枝参数;各电力部门系统将所述模型参数训练值和所述候选剪枝参数传送至数据中心;数据中心对各电力部门系统传递的模型参数训练值进行聚合,得到当前参数值,基于各电力部门系统传递的候选剪枝参数确定实际剪枝参数,并将所述当前参数值以及实际剪枝参数传递给各电力部门系统,开启下一轮全局训练;各电力部门系统在下一轮全局训练时,会将所述当前参数值作为所述用电量预测模型的初始参数值并将所述实际剪枝参数置0。
该计算机程序被处理器执行时还可以执行上述各提供的基于多方数据协同的数据预测方法,该方法包括:获取待预测区域的区域电力数据以及区域协同方数据并进行数据对齐,得到区域对齐数据;将所述区域对齐数据输入至用电量预测模型进行用电量预测,得到所述待预测区域的预计用电量数据;其中,所述用电量预测模型是基于如上述提供的基于多方数据协同的预测模型训练方法训练得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。