训练方法、数据生成方法、装置、电子设备以及存储介质
技术领域
本公开涉及人工智能
技术领域
,尤其涉及机器学习领域。背景技术
集中供热系统主要包括一级供热对象(即热源)、二级供热对象(即换热站)和取热对象(即用户)。一级供热对象通过一次管网将热能传输至二级供热对象,二级供热对象通过二次管网将热能传输至取热对象。
热量的供给与需求是一个动态平衡过程。供热量不足会造成系统供热质量的降低,用户的投诉率上升,而供热量过高会造成供热成本上升,用户的舒适感下降。
随着云计算、大数据和机器学习等的发展,基于机器学习模型构建负荷预测模型可以有效地对供热量进行预测,以实现按需供给。
发明内容
本公开提供了一种训练方法、数据生成方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种数据生成模型的训练方法,包括:利用生成对抗网络模型的生成器生成自造供热数据集,其中,上述生成对抗网络模型包括上述生成器和判别器;利用训练供热数据集和上述自造供热数据集,对上述生成器和上述判别器进行交替训练,得到训练完成的生成器和判别器;以及,将上述训练完成的生成器确定为上述数据生成模型。
根据本公开的另一方面,提供了一种数据生成方法,包括:获取预设随机噪声数据;将上述预设随机噪声数据输入数据生成模型,得到目标供热数据集,其中,上述数据生成模型是利用如上上述的方法训练的。
根据本公开的另一方面,提供了一种数据生成模型的训练装置,包括:生成模块,用于利用生成对抗网络模型的生成器生成自造供热数据集,其中,上述生成对抗网络模型包括上述生成器和判别器;第一训练模块,用于利用训练供热数据集和上述自造供热数据集,对上述生成器和上述判别器进行交替训练,得到训练完成的生成器和判别器;以及,第一确定模块,用于将上述训练完成的生成器确定为上述数据生成模型。
根据本公开的另一方面,提供了一种数据生成装置,包括:获取模块,用于获取预设随机噪声数据;获得模块,用于将上述预设随机噪声数据输入数据生成模型,得到目标供热数据集,其中,上述数据生成模型是利用如上上述的装置训练的。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行如上所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行如上所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现如上所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的可以应用数据生成模型的训练方法、数据生成方法及装置的示例性系统架构;
图2示意性示出了根据本公开实施例的数据生成模型的训练方法的流程图;
图3示意性示出了根据本公开实施例的利用训练供热数据集和第一自造供热数据集对判别器进行训练的流程图;
图4示意性示出了根据本公开实施例的数据生成模型的训练过程的示意图;
图5示意性示出了根据本公开实施例的在训练过程中,利用生成器生成的自造供热数据集的变化过程的示意图;
图6示意性示出了根据本公开实施例的利用测试供热数据集对训练完成的生成器和判别器的模型性能进行测试,得到性能测试结果,根据性能测试重新对生成网络模型进行训练的流程图;
图7示意性示出了根据本公开实施例的数据生成方法的示意图;
图8示意性示出了根据本公开实施例的数据生成模型的训练装置的框图;
图9示意性示出了根据本公开实施例的数据生成装置的框图;以及
图10示出了根据本公开实施例的适用于数据生成模型的训练方法或数据生成方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
供热数据的数据量较少,这一方面是受限于供热季时长,另一方面是由于供热数据的采集频率较低导致的。例如,采集频率为小时级别。如果使得供热数据的采集频率较高,则将增加采集成本,例如,通信成本、耗电成本和设备成本。针对设备成本,如果高频采集供热数据,则将较为严重地损耗设备(例如传感器)的使用寿命,由此增加了设备成本。
在实现本公开构思的过程中,发现可以利用线性回归等对数据量要求不大的机器学习模型来构建用于预测供热量的负荷预测模型,而线性回归模型难以捕获数据的不同维度数据之间的非线性关系,难以真实地反映不同维度数据之间的内在规律。并且,基于上述方式构建的负荷预测模型主要利用的是单一维度数据,即,室外温度,而影响供热量的因素还可以包括实际工况、设备损耗和天气等,上述使得负荷预测模型的预测效果欠佳。如果需要考虑其他因素对供热量的影响,则需要相关专家先在供热城市进行数据采集,再利用机理模型确定出修正系数,最后利用修正系数对室外温度进行修正后,构建负荷预测模型。上述方式耗时费力,成本较高。
虽然深度学习或强化学习等其他机器学习模型具有良好的对非线性关系的表达能力,并且无需人工进行特征工程,便能提取出有效的特征,泛化能力更强,但是为了使得基于上述方式构建的负荷预测模型具有较好的泛化性能,需要依赖于较大数量的数据量和较高的数据质量。但是由于供热数据的数据量较少,因此,深度学习或强化学习等其他机器学习模型难以应用于供热行业。
为了使得深度学习或强化学习等其他机器学习模型能够应用于供热行业,需要有较多的数据量。为此,本公开实施例提出了一种利用生成对抗网络模型来生成与训练供热数据分布相符合的供热数据的方案。这是由于生成对抗网络模型具有学习数据分布并生成全新数据的能力,因此,使用生成对抗网络模型来进行供热数据的生成任务是可行的。该方案能够在产生较多的数据量的基础上,降低供热数据采集成本和周期。同时,降低了深度学习或强化学习等其他机器学习模型应用于供热行业的门槛,有利于供热行业的转型与数字化发展。
本公开实施例提供了一种数据生成模型的训练方法、数据生成方法、装置、电子设备、存储有计算机指令的非瞬时计算机可读存储介质及计算机程序产品。该数据生成模型的训练方法包括:利用生成对抗网络模型的生成器生成自造供热数据集,其中,生成对抗网络模型包括生成器和判别器,利用训练供热数据集和自造供热数据集,对生成器和判别器进行交替训练,得到训练完成的生成器和判别器,并将训练完成的生成器确定为数据生成模型。
图1示意性示出了根据本公开实施例的可以应用数据生成模型的训练方法、数据生成方法及装置的示例性系统架构100。
需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用数据生成模型的训练方法、数据生成方法及装置的示例性系统架构可以包括终端设备,但终端设备可以无需与服务器进行交互,即可实现本公开实施例提供的数据生成模型的训练方法、数据生成方法及装置。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的内容提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
服务器105可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(Virtual Private Server,VPS)中,存在的管理难度大,业务扩展性弱的缺陷。服务器105也可以为分布式系统的服务器,或者是结合了区块链的服务器。
需要说明的是,本公开实施例所提供的数据生成模型的训练方法和数据生成方法一般可以由终端设备101、102、或103执行。相应地,本公开实施例所提供的数据生成模型的训练装置和数据生成装置也可以设置于终端设备101、102、或103中。
或者,本公开实施例所提供的数据生成模型的训练方法和数据生成方法一般也可以由服务器105执行。相应地,本公开实施例所提供的数据生成模型的训练装置和数据生成装置一般可以设置于服务器105中。本公开实施例所提供的数据生成模型的训练方法和数据生成方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据生成模型的装置和数据生成装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
例如,服务器105利用生成对抗网络模型的生成器生成自造供热数据集,生成对抗网络模型包括生成器和判别器,利用训练供热数据集和自造供热数据集,对生成器和判别器进行交替训练,得到训练完成的生成器和判别器,并将训练完成的生成器确定为数据生成模型。或者由能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群利用训练供热数据集和自造供热数据集,对生成器和判别器进行交替训练,并获得数据生成模型,即,训练完成的生成器。
服务器105获取预设随机噪声数据,将预设随机噪声数据输入数据生成模型,得到目标供热数据集。或者由能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群将预设随机噪声数据输入数据生成模型,得到目标供热数据集。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的数据生成模型的训练方法200的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,利用生成对抗网络模型的生成器生成自造供热数据集,其中,生成对抗网络模型包括生成器和判别器。
在操作S220,利用训练供热数据集和自造供热数据集,对生成器和判别器进行交替训练,得到训练完成的生成器和判别器。
在操作S230,将训练完成的生成器确定为数据生成模型。
根据本公开的实施例,生成对抗网络模型可以包括深度卷积生成对抗网络模型、基于推土机距离的生成对抗网络模型或条件性生成对抗网络模型等。生成对抗网络模型可以包括生成器和判别器。生成器和判别器可以包括神经网络模型。生成器可以用于生成自造供热数据集,并通过不断训练生成器使学习到训练供热数据集的数据分布,从而能够从无到有生成与训练供热数据集的数据分布相符合的样本,并尽可能的去混淆判别器。判别器可以用于对训练供热数据集和自造供热数据集进行区分。
根据本公开的实施例,利用训练供热数据集和自造供热数据集对生成器和判别器进行迭代交替训练,使得生成器和判别器通过它们之间的博弈,实现各自的优化,最终使得判别器无法准确区分训练供热数据集和自造供热数据集,即,达到纳什平衡。在此情况下,可以认为生成器学习到了训练供热数据集的数据分布,将训练完成的生成器确定为数据生成模型。
根据本公开的实施例,利用训练供热数据集和自造供热数据集对生成器和判别器进行迭代交替训练可以包括:在每次迭代过程中,在保持生成器的模型参数不变的情况下,利用训练供热数据集和自造供热数据集训练判别器,以完成该次迭代针对判别器设定的训练次数。在完成该次迭代针对判别器设定的训练次数之后,在保持判别器的模型参数不变的情况下,利用自造供热数据集训练生成器,以完成该次迭代针对生成器设定的训练次数。需要说明的是,在执行每次训练过程中,可以利用生成器生成与该次对应的自造供热数据集。上述生成器和判别器的训练方式仅是示例性实施例,但不限于此,还可以包括本领域已知的训练方式,只要能够实现生成器和判别器的训练即可。
根据本公开的实施例,可以根据实际业务需求选择合适的训练策略,在此不作限定。例如,训练策略可以包括以下之一:在每次迭代中,生成器的训练次数和判别器的训练次数为一次、生成器的训练次数为一次且判别器的训练次数为多次训练、生成器的训练次数为多次且判别器的训练次数为一次、生成器的训练次数为多次且判别器的训练次数为多次。
根据本公开的实施例,通过利用生成对抗网络模型的生成器生成自造供热数据集,利用训练供热数据集和自造供热数据集,对生成对抗网络模型的生成器和判别器进行交替训练,得到训练完成的生成器和判别器,并将训练完成的生成器确定为数据生成模型,实现了生成器能够产生大量符合实际情况的供热数据,进而降低了供热数据的采集成本和周期。同时,降低了深度学习或强化学习等其他机器学习模型应用于供热行业的门槛,有利于供热行业的转型与数字化发展。
根据本公开的实施例,自造数据集包括第一自造供热数据集和第二自造供热数据集。利用训练供热数据集和自造供热数据集,对生成器和判别器进行交替训练,得到训练完成的生成器和判别器,可以包括如下操作。
利用训练供热数据集和第一自造供热数据集对判别器进行训练。利用第二自造供热数据集对生成器进行训练。交替执行对判别器进行训练的操作和对生成器进行训练的操作,直至满足生成对抗网络模型的收敛条件。将在满足生成对抗网络模型的收敛条件的情况下得到的生成器和判别器,确定为训练完成的生成器和判别器。
根据本公开的实施例,生成对抗网络模型的收敛条件可以包括生成器收敛、生成器和判别器均收敛或迭代达到终止条件,迭代达到终止条件可以包括迭代次数等于预设迭代次数。
根据本公开的实施例,利用生成器生成自造供热数据集可以包括:可以将第一随机噪声数据输入生成器,得到第一自造供热数据集。将第二随机噪声数据输入生成器,得到第二自造供热数据集。第一随机噪声数据和第二随机噪声数据的形式可以包括高斯噪声。
根据本公开的实施例,交替执行对判别器进行训练的操作和对生成器进行训练的操作可以理解为:在第t次迭代过程中,在保持生成器的模型参数不变的情况下,利用训练供热数据集和第一自造供热数据集对判别器进行训练,重复上述过程,以完成该次迭代针对生成器设定的训练次数。在每次训练过程中,可以利用生成器生成与该次对应的第一自造供热数据集。
根据本公开的实施例,在完成该次迭代针对判别器设定的训练次数之后,在保持判别器的模型参数不变的情况下,利用第二自造供热数据集对生成器进行训练,重复上述过程,以完成该次迭代针对生成器设定的训练次数。在每次训练过程中,可以利用生成器生成与该次对应的第二自造供热数据集。1≤t≤T,T表征预设迭代次数,t和T为正整数。
根据本公开的实施例,针对第t次迭代,在保持生成器的模型参数不变的情况下中的生成器的模型参数是指在完成第t-1次迭代中针对生成器的最后一次训练之后得到的生成器的模型参数。在保持判别器的模型参数不变的情况下中的判别器的模型参数是指在完成第t次迭代中针对判别器的最后一次训练之后得到的判别器的模型参数。
根据本公开的实施例,训练供热数据集包括的训练供热数据的维度数据和/或测试供热数据集包括的测试供热数据的维度数据包括以下至少一项:与天气相关的天气数据、与一级供热对象相关的设备参数数据、与二级供热对象相关的设备参数数据和与取热对象相关的设备参数数据。
根据本公开的实施例,训练供热数据的维度可以包括一个或多个。测试供热数据的维度可以包括一个或多个。供热数据的每个维度可以称为维度数据。
根据本公开的实施例,可以利用天气数据接口,以第一预设采集频率采集与天气相关的天气数据。可以将与天气相关的天气数据存储至目标数据库,例如,目标数据库可以包括时序时空数据库(Time Series Database,TSDB)。
根据本公开的实施例,可以利用第一数据采集装置以第二预设采集频率采集与一级供热对象相关的设备参数数据,即,获取由第一数据采集装置以第二预设采集频率采集的与一级供热对象相关的设备参数数据。可以利用第二数据采集装置以第三预设采集频率采集与二级供热对象相关的设备参数数据,即,获取由第二数据采集装置以第三预设采集频率采集的与二级供热对象相关的设备参数数据。可以利用第三数据采集装置以第四预设采集频率采集与取热对象相关的设备参数数据,即,获取由第三数据采集装置以第四预设采集频率采集的与取热对象相关的设备参数数据。此外,可以将上述设备参数数据存储至目标数据库。
根据本公开的实施例,可以通过如下方式将上述设备参数数据存储至目标数据库,即,数据采集装置可以基于PLC(Programmable Logic Controller,可编程逻辑控制器)协议将采集的设备参数数据发送至智能网关,通过智能网关将设备参数数据发送至物联网核心套件,物联网核心套件利用规则引擎将设备参数数据存储至目标数据库。
根据本公开的实施例,与天气相关的天气数据包括以下至少一项:气温数据、室外湿度数据、降水量数据和与风力相关的数据。
与一级供热对象相关的设备参数数据包括以下至少一项:一网供水压力数据、一网回水压力数据、一网供热流量数据、一网供水温度数据、一网回水温度数据、一级供热对象累积电量数据、一级供热对象循环泵耗水量数据和一级供热对象热量数据。
与二级供热对象相关的设备参数数据包括以下至少一项:二网供水压力数据、二网回水压力数据、二网供热流量数据、二网供水温度数据、二网回水温度数据、二级供热对象累积电量数据、二级供热对象循环泵耗水量数据和二级供热对象热量数据。
与取热对象相关的设备参数数据包括以下至少一项:室内温度数据和室内湿度数据。
根据本公开的实施例,第一数据采集装置可以包括第一压力传感器、第一温度传感器、第一流量计、第一水表、第一电表和第一热表中的至少一项。可以利用第一压力传感器采集一网供水压力数据和一网回水压力数据。可以利用第一温度传感器采集一网供水温度数据和一网回水温度数据。可以利用第一流量计采集一网供热流量数据。可以利用第一水表采集一级供热对象循环泵耗水量数据。可以利用第一电表采集一级供热对象累积电量数据。可以利用第一热表采集一级供热对象热量数据。
根据本公开的实施例,第二数据采集装置可以包括第二压力传感器、第二温度传感器、第二流量计、第二水表、第二电表和第二热表中的至少一项。可以利用第二压力传感器采集二网供水压力数据和二网回水压力数据。可以利用第二温度传感器采集二网供水温度数据和二网回水温度数据。可以利用第二流量计采集二网供热流量数据。可以利用第二水表采集二级供热对象循环泵耗水量数据。可以利用第二电表采集二级供热对象累积电量数据。可以利用二热表采集二级供热对象热量数据。
根据本公开的实施例,第三数据采集装置可以包括第三温度传感器和/或湿度传感器。可以利用第三温度传感器采集室内温度数据。可以利用湿度传感器采集室内湿度数据。
根据本公开的实施例,上述数据生成模型的训练方法还可以包括如下操作。
利用数据预处理得到训练供热数据集和/或测试供热数据集,其中,数据预处理包括以下至少一项:数据异常值剔除、数据缺失值补充、数据聚合和数据离散化。
根据本公开的实施例,为了提高数据质量,可以利用数据预处理对初始供热数据集进行处理,得到训练供热数据集和/或测试供热数据集。
根据本公开的实施例,数据异常值剔除可以包括孤立森林算法、聚类算法、拉依达准则或格拉布斯准则等。例如,利用数据异常值剔除处理得到训练供热数据集和/或测试供热数据集可以包括:针对供热数据集的每个维度,确定该维度的第一四分位数(即Q1)与第三四分位数(即Q3),确定第三四分位数与第一四分位数之间的差值(即IQR),根据差值确定区间范围,根据区间范围确定目标维度数据,将与目标维度数据对应的供热数据确定为异常数据,将异常数据删除。即,IQR=Q3-Q1,区间范围可以为[Q1-1.5IQR,Q3+1.5IQR]。
根据本公开的实施例,数据采集装置的差异和受外界扰动的影响,使得采集到的维度(即字段)可能会存在缺失值,对于存在缺失值的维度,可以利用数据缺失值补充进行缺失值补充。数据缺失值补充可以包括线性插值。
根据本公开的实施例,由于采集与天气相关的天气数据、与采集与一级供热对象相关的设备参数数据、与二级供热对象相关的设备参数数据和与取热对象相关的设备参数数据的采集频率可能不同,因此,可以利用数据聚合实现按照统一的采集频率对数据进行聚合,以达到数据对齐的目的。数据聚合可以包括均值聚合、最值聚合或中位数聚合等。
例如,采集与天气相关的天气数据的采集频率为5分钟,而采集与一级供热对象相关的设备参数数据、与二级供热对象相关的设备参数数据和与取热对象相关的设备参数数据采集频率为30秒。针对上述情况,可以使得数据采集装置以30秒的采集频率采集设备参数数据,确定10个采集周期的设备参数数据的平均值,将平均值确定为设备参数数据,以实现与天气相关的天气数据的数据对齐。设备参数数据可以包括与一级供热对象相关的设备参数数据、与二级供热对象相关的设备参数数据或与取热对象相关的设备参数数据。
根据本公开的实施例,针对训练供热数据集和/或测试供热数据集中的连续型的维度数据,例如,大多数的设备参数数据。由于连续型变量的搜索空间维度较高,并且不同维度数据的数据分布可能不同,数据尺度也可能不同,因此,可以对训练供热数据集和/或测试供热数据集中的连续型变量进行离散化处理,增强特征对异常数据的鲁棒性,并将不同维度数据变换到相似的数据尺度上。针对连续型变量的数据离散化可以包括等频分箱方法。
针对训练供热数据集和/或测试供热数据集中的类别型的维度数据,可以利用独热编码进行数据离散化处理。例如,可以利用独热编码对表征天气情况的维度数据(雨、雪、晴或雾霾等)进行数据离散化处理。
下面参考图3~图6,结合具体实施例对图2所示的方法做进一步说明。
图3示意性示出了根据本公开实施例的利用训练供热数据集和第一自造供热数据集对判别器进行训练300的流程图。
根据本公开的实施例,训练供热数据集可以包括多个训练供热数据,第一自造供热数据集可以包括多个第一自造供热数据。
如图3所示,该方法包括操作S310~S330。
在操作S310,将训练供热数据集中的每个训练供热数据输入判别器,得到与训练供热数据对应的判别结果。
在操作S320,将第一自造供热数据集中的每个第一自造供热数据输入判别器,得到与第一自造供热数据对应的判别结果。
在操作S330,基于与训练供热数据对应的判别结果和与第一自造供热数据对应的判别结果对判别器进行训练。
根据本公开的实施例,判别器实际上属于分类器,在将训练供热数据和第一自造供热数据分别输入判别器之后,根据与训练供热数据对应的判别结果和与第一自造供热数据对应的判别结果训练判别器,使得判别器无法准确确定输入其中的是训练供热数据还是第一自造供热数据,即,使得与训练供热数据对应的判别结果与第一自造供热数据对应的判别结果尽可能相同。
根据本公开的实施例,基于与训练供热数据对应的判别结果和与第一自造供热数据对应的判别结果对判别器进行训练,可以包括如下操作。
在保持生成器的模型参数不变的情况下,基于第一损失函数,利用与训练供热数据对应的判别结果和与第一自造供热数据对应的判别结果,得到第一输出值。根据第一输出值调整判别器的模型参数,得到调整后的判别器的模型参数。
利用第二自造供热数据集对生成器进行训练,可以包括如下操作。
在保持调整后的判别器的模型参数不变的情况下,基于第二损失函数,利用第二自造供热数据集,得到第二输出值。根据第二输出值调整生成器的模型参数。
根据本公开的实施例,在第t次迭代过程中,在保持生成器的模型参数不变的情况下,将与训练供热数据对应的判别结果和与第一自造供热数据对应的判别结果输入第一损失函数,得到第一输出值。根据第一输出值调整判别器的模型参数,重复上述过程,以完成该次迭代针对生成器设定的训练次数。
根据本公开的实施例,在完成该次迭代针对判别器设定的训练次数之后,在保持判别器的模型参数不变的情况下,将第二自造供热数据集包括的每个第二自造供热数据输入第二损失函数,得到第二输出值。根据第二输出值调整生成器的模型参数,重复上述过程,以完成该次迭代针对判别器设定的训练次数。
根据本公开的实施例,生成对抗网络模型包括基于推土机距离的生成对抗网络模型。
根据本公开的实施例,基于推土机距离的生成对抗网络模型可以解决生成器和判别器的训练不同步、训练不收敛和模式崩溃的问题,提高了数据生成模型的模型质量。
根据本公开的实施例,基于推土机距离的生成对抗网络模型的训练过程如下:预先设定学习率、批处理数量(即训练供热数据集包括的训练供热数据的数量)、神经网络模型的模型参数范围、最大迭代次数和每次迭代的训练次数。
根据本公开的实施例,对生成器与判别器的模型参数进行初始化,得到初始化的生成器和判别器。
根据本公开的实施例,在每次迭代过程中,在保持生成器的模型参数不变的情况下,先对判别器进行设定的训练次数的训练。每次训练过程中,获取包括批处理数量的训练供热数据,并将第一随机噪数据输入生成器生成批处理量的第一自造供热数据。将第一自造供热数据作为负样本,训练供热数据作为正样本分别输入第一损失函数,得到第一输出值。基于第一输出值,利用RMSProp(Root Mean Square Propagation)方法对判别器的模型参数进行调整,同时对判别器的模型参数的大小进行限制。
根据本公开的实施例,在完成预设的训练测试的训练之后,在保持判别器的模型参数不变的情况下,对生成器进行训练,每次训练过程中,将第二随机噪数据输入生成器生成批处理量的第二自造供热数据,第二自造供热数据输入第二损失函数,得到第二输出值。基于第二输出值,利用RMSProp方法对生成器的模型参数进行调整,同时对生成器的模型参数的大小进行限制。
根据本公开的实施例,在生成器收敛或迭代达到终止条件的情况下,训练完成,得到训练完成的生成器和判别器。
图4示意性示出了根据本公开实施例的数据生成模型的训练过程400的示意图。
如图4所示,在每次迭代过程中,在保证生成器402的模型参数不变的情况下,将第一随机噪声数据401输入生成器402,得到第一自造供热数据集403。
将训练供热数据集404中的每个训练供热数据输入判别器405,得到与训练供热数据对应的判别结果406。将第一自造供热数据集403中的每个第一自造供热数据输入判别器405,得到与第一自造供热数据对应的判别结果407。
将与训练供热数据对应的判别结果406和与第一自造供热数据对应的判别结果407输入第一损失函数408,得到第一输出值409。根据第一输出值409调整判别器405的模型参数。重复上述过程,直至完成该次迭代针对判别器405的训练次数。
在完成该次迭代针对判别器405的训练次数之后,在保持判别器405的模型参数不变的情况下,将第二随机噪声数据410输入生成器402,得到第二自造供热数据集411。将第二自造供热数据集411中的每个第二自造供热数据输入第二损失函数412,得到第二输出值413。根据第二输出值调整生成器402的模型参数。重复上述过程,直至完成该次迭代针对生成器402的训练次数。
交替执行上述对判别器405和生成器402的训练过程,直至满足生成网络模型的收敛条件,训练完成。
图5示意性示出了根据本公开实施例的在训练过程中,利用生成器生成的自造供热数据集的变化过程500的示意图。
图5中自造供热数据集是根据图4所示的数据生成模型的训练方式得到的。如图5所示,粗点虚曲线表征训练供热数据集的数据分布,实线曲线表征自造供热数据集的数据分布,细点虚曲线表征判别器的判别结果。
图5中最左侧部分表征训练初期,虽然自造供热数据集的数据分布和训练供热数据集的数据分布在同一特征空间,但是自造供热数据集和训练供热数据集的数据分布差异较大,自造供热数据集不足以欺骗判别器。
图5中中间靠左部分表征训练中期1,判别器对于输入的区分能力得到了提升。
图5中中间靠右部分表征训练中期2,随着不断训练,自造供热数据集的数据分布逐渐开始拟合训练供热数据的数据分布,判别器对于输入已经难以区分。
图5中最右侧部分表征训练完成,生成器学习到了训练供热数据集的数据分布,判别器对于输入已经无法区分,生成对抗网络模型达到了纳什平衡。
图6示意性示出了根据本公开实施例的利用测试供热数据集对训练完成的生成器和判别器的模型性能进行测试,得到性能测试结果,根据性能测试重新对生成网络模型进行训练600的流程图。
如图6所示,该方法包括操作S640~S670。
在操作S640,利用测试供热数据集对训练完成的生成器和判别器的模型性能进行测试,得到性能测试结果。
在操作S650,在确定性能测试结果不满足预设条件的情况下,对与训练完成的生成器和判别器对应的模型超参数进行调整。
在操作S660,基于调整后的模型超参数,利用训练供热数据集和自造供热数据集,重新对生成器和判别器进行交替训练,得到新的训练完成的生成器和判别器。
在操作S670,将新的训练完成的生成器确定为数据生成模型。
根据本公开的实施例,模型性能可以泛化能力来表征。性能测试结果可以用泛化误差来表征。预设条件可以指泛化误差大于或等于泛化误差阈值。模型超参数可以包括学习率和/或生成器和判别器的网络模型的层数等。
根据本公开的实施例,利用测试供热数据集对训练完成的生成器和判别器进行性能测试,得到性能测试结果可以包括:利用训练完成的生成器和判别器对测试供热数据集进行处理,得到第一处理结果。利用训练完成的生成器和判别器对训练供热数据集进行处理,得到第二处理结果。根据第一处理结果和第二处理结果,得到性能测试结果。
根据本公开的实施例,利用训练完成的生成器和判别器对测试供热数据集进行处理,得到第一处理结果可以包括:可以将第三随机噪声数据输入训练完成的生成器,得到第三自造供热数据集,将测试供热数据集中的每个测试供热数据输入训练完成的判别器,得到与测试供热数据对应的判别结果,将第三自造供热数据集中的每个第三自造供热数据输入训练完成的判别器,得到与第三自造供热数据对应的判别结果,将与测试供热数据对应的判别结果和与第三自造供热数据对应的判别结果输入第一损失函数,得到第三输出值。将第三自造供热数据集中的每个第三自造供热数据输入第二损失函数,得到第四输出值。将第三输出值和第四输出值确定为第一处理结果。
根据本公开的实施例,利用训练完成的生成器和判别器对训练供热数据集进行处理,得到第二处理结果可以包括:可以将第四随机噪声数据输入训练完成的生成器,得到第四自造供热数据集,将训练供热数据集中的每个训练供热数据输入训练完成的判别器,得到与训练供热数据对应的判别结果,将第四自造供热数据集中的每个第四自造供热数据输入训练完成的判别器,得到与第四自造供热数据对应的判别结果,将与训练供热数据对应的判别结果和与第四自造供热数据对应的判别结果输入第一损失函数,得到第五输出值。将第四自造供热数据集中的每个第四自造供热数据输入第二损失函数,得到第六输出值。将第五输出值和第六输出值确定为第二处理结果。
根据本公开的实施例,根据第一处理结果和第二处理结果,得到性能评价结果可以包括:根据第三输出值、第五输出值、第四输出值和第六输出值,确定泛化误差,将泛化误差确定为性能测试结果。
根据本公开的实施例,确定性能测试结果是否满足预设条件,如果确定性能测试结果不满足预设条件,则可以说明训练完成的生成对抗网络模型存在过拟合现象,由此,可以对与训练完成的对抗生成网络模型的模型超参数进行调整,以便基于调整后的模型超参数,利用训练供热数据集和自造供热数据集,重新对生成器和判别器进行交替训练。
图7示意性示出了根据本公开实施例的数据生成方法700的示意图。
如图7所示,该方法包括操作S710~S720。
在操作S710,获取预设随机噪声数据。
在操作S720,将预设随机噪声数据输入数据生成模型,得到目标供热数据集,其中,数据生成模型是利用本公开实施例所述的数据生成模型的训练方法训练的。
根据本公开的实施例,通过将预设随机噪声数据输入数据生成模型,得到目标供热数据集,数据生成模型是利用生成对抗网络模型的生成器生成自造供热数据集,利用训练供热数据集和自造供热数据集,对生成对抗网络模型的生成器和判别器进行交替训练,得到训练完成的生成器和判别器,并将训练完成的生成器确定为数据生成模型,实现了生成器能够产生大量符合实际情况的供热数据,进而降低了供热数据的采集成本和周期。
图8示意性示出了根据本公开实施例的数据生成模型的训练装置800的框图。
如图8所示,数据生成模型的训练装置800可以包括生成模块810、第一训练模块820和第一生成模块830。
生成模块810,用于利用生成对抗网络模型的生成器生成自造供热数据集,其中,生成对抗网络模型包括生成器和判别器。
第一训练模块820,用于利用训练供热数据集和自造供热数据集,对生成器和判别器进行交替训练,得到训练完成的生成器和判别器。
第一确定模块830,用于将训练完成的生成器确定为数据生成模型。
根据本公开的实施例,所述自造数据集包括第一自造供热数据集和第二自造供热数据集;
所述第一训练模块820可以包括第一训练子模块、第二训练子模块、交替执行子模块和确定子模块。
第一训练子模块,用于利用训练供热数据集和第一自造供热数据集对判别器进行训练。
第二训练子模块,用于利用第二自造供热数据集对生成器进行训练。
交替执行子模块,用于交替执行对判别器进行训练的操作和对生成器进行训练的操作,直至满足生成对抗网络模型的收敛条件。
确定子模块,用于将在满足生成对抗网络模型的收敛条件的情况下得到的生成器和判别器,确定为训练完成的生成器和判别器。
根据本公开的实施例,训练供热数据集包括多个训练供热数据,第一自造供热数据集包括多个第一自造供热数据。
第一训练子模块可以包括第一获得单元、第二获得单元和训练单元。
第一获得单元,用于将训练供热数据集中的每个训练供热数据输入判别器,得到与训练供热数据对应的判别结果。
第二获得单元,用于将第一自造供热数据集中的每个第一自造供热数据输入判别器,得到与第一自造供热数据对应的判别结果。
训练单元,用于基于与训练供热数据对应的判别结果和与第一自造供热数据对应的判别结果对判别器进行训练。
根据本公开的实施例,训练单元可以包括获得子单元和调整子单元。
获得子单元,用于在保持生成器的模型参数不变的情况下,基于第一损失函数,利用与训练供热数据对应的判别结果和与第一自造供热数据对应的判别结果,得到第一输出值。
调整子单元,用于根据第一输出值调整判别器的模型参数,得到调整后的判别器的模型参数。
第二训练子模块可以包括第三获得单元和调整单元。
第三获得单元,用于在保持调整后的判别器的模型参数不变的情况下,基于第二损失函数,利用第二自造供热数据集,得到第二输出值。
调整单元,用于根据第二输出值调整生成器的模型参数。
根据本公开的实施例,上述数据生成模型的训练装置800还可以包括测试模块、调整模块、第二训练模块和第二确定模块。
测试模块,用于利用测试供热数据集对训练完成的生成器和判别器的模型性能进行测试,得到性能测试结果。
调整模块,用于在确定性能测试结果不满足预设条件的情况下,对与训练完成的生成器和判别器对应的模型超参数进行调整。
第二训练模块,用于基于调整后的模型超参数,利用训练供热数据集和自造供热数据集,重新对生成器和判别器进行交替训练,得到新的训练完成的生成器和判别器。
第二确定模块,用于将新的训练完成的生成器确定为数据生成模型。
根据本公开的实施例,训练供热数据集包括的训练供热数据的维度数据和/或测试供热数据集包括的测试供热数据的维度数据包括以下至少一项:与天气相关的天气数据、与一级供热对象相关的设备参数数据、与二级供热对象相关的设备参数数据和与取热对象相关的设备参数数据。
根据本公开的实施例,与天气相关的天气数据包括以下至少一项:气温数据、室外湿度数据、降水量数据和与风力相关的数据。其中,与一级供热对象相关的设备参数数据包括以下至少一项:一网供水压力数据、一网回水压力数据、一网供热流量数据、一网供水温度数据、一网回水温度数据、一级供热对象累积电量数据、一级供热对象循环泵耗水量数据和一级供热对象热量数据。其中,与二级供热对象相关的设备参数数据包括以下至少一项:二网供水压力数据、二网回水压力数据、二网供热流量数据、二网供水温度数据、二网回水温度数据、二级供热对象累积电量数据、二级供热对象循环泵耗水量数据和二级供热对象热量数据。其中,与取热对象相关的设备参数数据包括以下至少一项:室内温度数据和室内湿度数据。
根据本公开的实施例,上述数据生成模型的训练装置800还可以包括处理模块。
处理模块,用于利用数据预处理得到训练供热数据集和/或测试供热数据集,其中,数据预处理包括以下至少一项:数据异常值剔除、数据缺失值补充、数据聚合和数据离散化。
根据本公开的实施例,生成对抗网络模型包括基于推土机距离的生成对抗网络模型。
图9示意性示出了根据本公开实施例的数据生成装置900的框图。
如图9所示,数据生成装置900可以包括获取模块910和获得模块920。
获取模块910,用于获取预设随机噪声数据。
获得模块920,用于将预设随机噪声数据输入数据生成模型,得到目标供热数据集,其中,数据生成模型是利用根据本公开实施例所述的数据生成模型的训练装置训练的。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的方法。
根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如上所述的方法。
根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如上所述的方法。
图10示出了根据本公开实施例的适用于数据生成模型的训练方法或数据生成方法的电子设备1000的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储电子设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
电子设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许电子设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如数据生成模型的训练方法或数据生成方法。例如,在一些实施例中,数据生成模型的训练方法或数据生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到电子设备1000上。当计算机程序加载到RAM1003并由计算单元1001执行时,可以执行上文描述的数据生成模型的训练方法或数据生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据生成模型的训练方法或数据生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。