基于门控循环单元的神经网络模型的管网漏损识别方法转让专利

申请号 : CN201710998436.8

文献号 : CN108051035B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘书明郭冠呈吴雪

申请人 : 清华大学

摘要 :

本发明提供了一种基于门控循环单元的神经网络模型及其训练方法和应用。其中,基于门控循环单元的神经网络模型,包括:多个门控循环单元层,其被配置成接收供水管网在不同时间段的流量特征;第一全连接层,其与所述多个门控循环单元层并联构成输入层,所述第一全连接层被配置成接收供水管网的气象特征;与所述输入层以张量串联的模式连接的合并层;均与所述合并层以张量串联的模式连接的第二全连接层至第M全连接层,M为大于或等于2的整数;以及与所述第M全连接层以张量串联的模式连接的输出层,其被配置成输出供水管网在下一时刻的预测流量。

权利要求 :

1.一种基于门控循环单元的神经网络模型,用于识别供水管网的漏损事故,包括:多个门控循环单元层,其被配置成接收供水管网在不同时间段的流量特征;

第一全连接层,其与所述多个门控循环单元层并联构成输入层,所述第一全连接层被配置成接收供水管网的气象特征;

与所述输入层以张量串联的模式连接的合并层;

均与所述合并层以张量串联的模式连接的第二全连接层至第M全连接层,M为大于或等于2的整数;以及与所述第M全连接层以张量串联的模式连接的输出层,其被配置成输出供水管网在下一时刻的预测流量。

2.一种权利要求1所述的神经网络模型的训练方法,包括:构建所述神经网络模型;

将不同时间段的历史流量特征和历史气象特征按比例随机分为训练集和验证集;

将所述训练集中不同时间段的历史流量特征输入到所述多个门控循环单元层中,并将所述训练集中的历史气象特征输入到所述第一全连接层中,获取所述神经网络模型输出的训练流量;

将所述验证集中不同时间段的历史流量特征输入到所述多个门控循环单元层中,并将所述验证集中的历史气象特征输入到所述第一全连接层中,获取所述神经网络模型输出的验证流量;

基于所述训练集和训练流量生成训练曲线,并基于所述验证集和验证流量生成验证曲线,当所述训练曲线和验证曲线的均方误差值稳定在恒定值时,完成所述神经网络模型的训练。

3.根据权利要求2所述的训练方法,其特征在于,还包括获取所述不同时间段的历史流量特征,包括:获取待测供水管网的历史流量数据;以及

对所述历史流量数据进行提取处理和归一化处理得到所述历史流量特征。

4.根据权利要求3所述的训练方法,其特征在于,对所述历史流量数据进行提取处理包括,在供水管网的历史流量数据中,分别从第一时间段、第二时间段、第三时间段中以等间隔提取指定个数的流量数据,其中,在临近待预测时刻t之前选取第一时间段,

在所述第一时间段的起始时刻之前选取第二时间段,

在所述第二时间段的起始时刻之前选取第三时间段。

5.根据权利要求3或4所述的训练方法,其特征在于,还包括获取所述历史气象特征,包括:获取待测供水管网的历史气象数据;以及

对所述历史气象数据进行提取处理和归一化处理得到所述历史气象特征。

6.根据权利要求5所述的训练方法,其特征在于,对所述历史气象数据进行提取处理包括:对所述历史气象数据和所述历史流量数据进行Pearson相关性分析,选取相关系数大于或等于规定值的历史气象数据,得到提取处理后的历史气象数据。

7.根据权利要求6所述的训练方法,其特征在于,所述规定值为0.80-0.99。

8.一种供水管网的漏损事故的识别方法,包括,

特征获取步骤,在未发生漏损事故的规定时间内,获取待测供水管网的不同时间段的参考流量特征和参考气象特征;

预测流量获取步骤,将所述不同时间段的参考流量特征输入到权利要求1所述的神经网络模型的多个门控循环单元层中,并将所述参考气象特征输入到所述神经网络模型的第一全连接层中,获取所述神经网络模型输出的预测流量;

参考数据集确定步骤,获取在所述规定时间内的实测流量,每组处于相同时刻的预测流量与实测流量构成一个时间序列向量,将所述规定时间内的所有时间序列向量构成的矩阵作为参考数据集;

事故识别步骤,计算新增的时间序列向量相对于所述参考数据集中的每个时间序列向量的余弦距离,统计余弦距离小于距离阈值的时间序列向量的个数,当统计的个数小于或等于数量阈值时,确定发生了所述漏损事故;

其中,所述新增的时间序列向量为,在所述规定时间以外的时间段依照所述特征获取步骤、预测流量获取步骤、参考数据集确定步骤获得的时间序列向量。

9.根据权利要求8所述的识别方法,其特征在于,所述距离阈值为针对所述参考数据集中所有时间序列向量计算的所有余弦距离的中位数的0.1-0.5倍。

说明书 :

基于门控循环单元的神经网络模型的管网漏损识别方法

技术领域

[0001] 本发明涉及神经网络领域,具体涉及一种基于门控循环单元的神经网络模型及其训练方法和应用。

背景技术

[0002] 在管道老化、技术投入有限、监管体制落后等因素的影响下,我国城市供水管网漏损现象较为普遍。供水管网漏损不仅给自来水公司带来了巨大的经济损失,也造成了能源和资源的浪费。我国大部分自来水公司对于供水管网缺乏科学有效的管理办法,管网的基础数据也不完善,这些问题一直制约着自来水公司的管理效率和服务水平。因此,对待测管网进行漏损识别,辅助管理者的科学决策,及时发现和维护管网漏损区域,具有重要的经济意义和现实意义。
[0003] 常见的用于识别管网漏损的模型主要分为两大类:一类是基于实验室试验的物理机理研究模型;一类是基于计算机模拟的数据挖掘模型,包括统计模型、概率模型、机器学习模型等,通常需要大量的历史数据。随着云时代的来临,大数据吸引了越来越多的关注,已经在诸多领域取得了不错的成绩,因此第二类模型也成为目前的研究热点,尤其是机器学习模型。
[0004] 我国城市供水管网数据量大,基础数据质量不高,导致管网漏损的因素众多且关系复杂。现有的管网漏损识别模型,大多基于一些经典的传统算法对管网的正常流量或压力进行预测,例如多元线性回归、指数平滑法、反向传播(Back Propagation,简称BP)神经网络等,随后通过比较预测值和实际监测值识别漏损事故。这些传统的预测方法在处理大量复杂非线性数据方面的能力有限,不能较好的挖掘出抽象数据之间的隐含特征,存在预测精度不高的问题,这也使得漏损事故识别的准确性无从保障。

发明内容

[0005] 为了节约水资源,降低供水管网的漏损率,减少经济损失,符合可持续发展的理念,我们需要利用现有技术深入挖掘出供水管网数据的隐含特征,建立精度高、稳定性好的模型来识别管网漏损区域。针对现有技术的不足,本发明旨在提供一种新的基于门控循环单元的神经网络模型及其训练方法和应用,通过构建区别于传统的神经网络模型的新型神经网络,可处理大量数据、挖掘非线性关系、并综合评估模型效果,将其应用于供水管网的漏损事故识别,能够提高漏损识别的准确率,以便日常管理者能够及时发现管网漏损区域,减少经济损失,节约水资源,辅助自来水公司做出科学合理的决策。
[0006] 本发明一方面提供一种基于门控循环单元的神经网络模型,用于识别供水管网的漏损事故,包括:
[0007] 多个门控循环单元(Gated Recurrent Unit,简称GRU)层,其被配置成接收供水管网在不同时间段的流量特征;
[0008] 第一全连接层,其与所述多个门控循环单元层并联构成输入层,所述第一全连接层被配置成接收供水管网的气象特征;
[0009] 与所述输入层以张量串联的模式连接的合并层;
[0010] 均与所述合并层以张量串联的模式连接的第二全连接层至第M全连接层,M为大于或等于2的整数;以及
[0011] 与所述第M全连接层以张量串联的模式连接的输出层,其被配置成输出供水管网在下一时刻的预测流量。
[0012] 本发明所提供的门控循环神经网络(Gated Recurrent Unit Network,简称GRUN)是对现有循环神经网络的改进。这种网络的特点在于利用记忆模块代替普通的隐含节点,确保梯度在传递跨越很多时间步骤之后不会消失或爆炸,从而克服传统循环神经网络训练中遇到的困难,本发明采用的记忆模块是门控循环单元(GRU)。图1显示了本发明的一个实施方式中的基于门控循环单元的神经网络模型的拓扑结构图。
[0013] 本发明另一方面提供一种上述神经网络模型的训练方法,包括,[0014] 构建所述神经网络模型;
[0015] 将不同时间段的历史流量特征和历史气象特征按比例随机分为训练集和验证集;
[0016] 将所述训练集中不同时间段的历史流量特征输入到所述多个门控循环单元层中,并将所述训练集中的历史气象特征输入到所述第一全连接层中,获取所述神经网络模型输出的训练流量;
[0017] 将所述验证集中不同时间段的历史流量特征输入到所述多个门控循环单元层中,并将所述验证集中的历史气象特征输入到所述第一全连接层中,获取所述神经网络模型输出的验证流量;
[0018] 基于所述训练集和训练流量生成训练曲线,并基于所述验证集和验证流量生成验证曲线,当所述训练曲线和验证曲线的均方误差值稳定在恒定值时,完成所述神经网络模型的训练。
[0019] 该训练方法充分考虑了在训练过程中梯度下降方向的随机性和模型的泛化能力,提高了模型的收敛速度和训练效率,充分挖掘数据之间的有效信息。
[0020] 在本发明的一个优选的实施方式中,上述训练方法还包括获取所述不同时间段的历史流量特征,包括:
[0021] 获取待测供水管网的历史流量数据;以及
[0022] 对所述历史流量数据进行提取处理和归一化处理得到所述历史流量特征。
[0023] 根据本发明,所述历史流量数据可获取自自来水公司的独立计量区域(district metered areas,简称为DMA)供水管网的历史流量数据。
[0024] 在本发明的一个更优选的实施方式中,对所述历史流量数据进行提取处理包括,在供水管网的历史流量数据中,分别从所述第一时间段、第二时间段、第三时间段中以等间隔提取指定个数的流量数据,其中,
[0025] 在临近待预测时刻t之前选取第一时间段,
[0026] 在所述第一时间段的起始时刻之前选取第二时间段,
[0027] 在所述第二时间段的起始时刻之前选取第三时间段。
[0028] 根据本发明,考虑流量时间序列的趋势性,提取临近待预测时刻t时刻的流量数据,即第一时间段的流量数据。考虑流量时间序列的周期性,提取与待预测时刻t相隔一段时间的流量数据,可考虑按天划分为两个时间段,即第二时间段和第三时间段的流量数据。
[0029] 在本发明的一个具体的实施方式中,在包括第一时间段、第二时间段和第三时间段的整个时间段内,以采样频率k次/h进行平均采样,则整个时间段内包括的流量数据包括t-24k·d、t-24k·d+1……t-2、t-1时刻的流量数据,其中d表示天数,从中获取t-m至t-1时刻的流量数据,其中m的取值范围为2-24的整数,优选为5,作为第一时间段的流量数据;获取t-h1至t-h2时刻的流量数据,其中h1和h2的取值范围为24k-2至24k+20的整数,优选地,h1为24k+2,h2为24k-2;获取t-h3至t-h4时刻的流量数据,其中h3和h4的取值范围为48k-2至48k+20的整数,优选地,h3为48k+2,h4为48k-2。
[0030] 优选地,k为1-12的整数,优选为3-5。
[0031] 在本发明的另一个优选的实施方式中,上述训练方法还包括获取所述历史气象特征,包括:
[0032] 获取待测供水管网的历史气象数据;以及
[0033] 对所述历史气象数据进行提取处理和归一化处理得到所述历史气象特征。
[0034] 根据本发明,所述历史气象数据可获取自中国气象数据网的历史气象数据,包括最高温度、最低温度、相对湿度、降水量等。
[0035] 在本发明的一个更优选的实施方式中,对所述历史气象数据进行提取处理包括对所述历史气象数据和所述历史流量数据进行Pearson相关性分析,选取相关系数大于或等于规定值V的历史气象数据,得到提取处理后的历史气象数据。
[0036] 在本发明的一个更优选的实施方式中,所述规定值V为0.80-0.99。
[0037] 根据本发明,所述归一化处理包括,将原始数据的数值转化到[0,1]范围内,归一化处理的公式如式(1)所示,
[0038]
[0039] 式(1)中,y代表归一化处理后的数据,x代表输入的原始数据,xmax和xmin分别代表输入数据的最大值和最小值。
[0040] 根据本发明,各网络层的激活函数选择tanh、ReLU或者Linear。
[0041] 本发明再一方面提供一种供水管网的漏损事故的识别方法,包括,[0042] 特征获取步骤,在未发生漏损事故的规定时间T内,获取待测供水管网的不同时间段的参考流量特征和参考气象特征;
[0043] 预测流量获取步骤,将所述不同时间段的参考流量特征输入到所述神经网络模型的多个门控循环单元层中,并将所述参考气象特征输入到所述神经网络模型的第一全连接层中,获取所述神经网络模型输出的预测流量;
[0044] 参考数据集确定步骤,获取在所述规定时间T内的实测流量,每组处于相同时刻的预测流量与实测流量构成一个时间序列向量,将所述规定时间T内的所有时间序列向量构成的矩阵作为参考数据集;
[0045] 事故识别步骤,计算新增的时间序列向量相对于所述参考数据集中的每个时间序列向量的余弦距离,统计余弦距离小于距离阈值D的时间序列向量的个数n,当n小于或等于数量阈值N时,确定发生了所述漏损事故。
[0046] 根据本发明,所述新增时间序列向量为,在所述规定时间T以外的时间段依照所述特征获取步骤、预测流量获取步骤、参考数据值确定步骤获得的时间序列向量。
[0047] 根据本发明,通过式(2)来计算新增时间序列向量相对于所述参考数据集中的每个时间序列向量的余弦距离。
[0048]
[0049] 式(2)中,i为新增时间序列向量,j为参考数据集中的时间序列向量,‖i‖和‖j‖为向量的模。
[0050] 根据本发明,待测供水管网的不同时间段的参考流量特征和参考气象特征的获取方式与上文的训练方法中,历史流量特征和历史气象特征的获取方式一致。
[0051] 根据本发明,在上述识别方法中,设定所述时间T为2天,即48小时,设定数据的采集频率为k次/h(即一个小时内获得k个时间序列向量),则参考数据集中所包含的时间序列向量的个数为48k个。
[0052] 在本发明的另一个优选的实施方式中,所述距离阈值D为为针对所述参考数据集中所有时间序列向量计算的所有余弦距离的中位数的0.1-0.5倍,优选为0.4-0.5倍。
[0053] 与现有城市供水管网漏损识别方法相比,本发明的识别方法的优势在于:
[0054] 第一,区别于传统的神经网络模型,本发明把多个GRU层和全连接层通过并联或者串联的方式连接,形成一个复杂的深度神经网络。GRUN具有较强的处理非线性数据的能力,尤其是对于序列数据的处理能力较强,能够产生对过去数据的记忆状态,并建立不同时段数据之间的依赖关系。其次,GRUN的拟合能力较强,在学习过程中更容易收敛,不易陷入局部极小状态。所以采用GRUN能够更加精确的预测管网流量,从而对管网漏损进行识别,提高了管网漏损识别的准确率。
[0055] 第二,本发明在使用GRUN精确预测流量后,使用基于余弦距离的异常值检测方法识别漏损事故,通过分析比较时间序列向量(由预测值和实测值构成)间的余弦距离判定是否发生漏损事故。一方面,余弦距离的使用消除了管网监测数据波动范围大对异常值检测造成的影响;另一方面,相较于分析预测值与实测值间的绝对差值,多个时间序列向量间余弦距离的比较避免了判定漏损事故时的主观性,准确度更高。

附图说明

[0056] 图1为本发明的一个实施方式中的基于门控循环单元的神经网络模型的拓扑结构图。
[0057] 图2为本发明的一个实施方式中训练基于门控循环单元的神经网络模型的流程图。
[0058] 图3为表示本发明的实施例1中训练曲线和验证曲线的均方误差的图。
[0059] 图4为利用本发明的一个实施方式中的神经网络模型进行供水管网的漏损事故识别的流程图。

具体实施方式

[0060] 为更好的理解和实施本发明,下面将结合附图和具体实施例对本发明进行详细阐述。应当理解的是,虽然对本发明的实施方式进行了说明,但是显然,本发明不限定于上述实施方式,可以在不脱离其主旨的范围内进行各种变形。
[0061] 在以下实施方式中,利用Python 2.7软件作为模型的开发平台,并采用Numpy和Pandas库来读取、存储、分析数据,采用Matplotlib库来做数据的可视化,采用Keras库来搭建神经网络模型,大大提高了开发效率。
[0062] 实施例1训练神经网络模型
[0063] 1)按照图1构建神经网络模型
[0064] 由3个GRU层和第一全连接层并联构成输入层(设定3个GRU层和第一全连接层的节点数分别为48,32,32,8,GRU层的激活函数为tanh和ReLU,第一全连接层的激活函数为ReLU);
[0065] 以张量串联的模式使3个GRU层和第一全连接层分别与合并(Merge)层连接;
[0066] 以张量串联的模式使合并层与第二全连接层、第三全连接层、第四全连接层、第五全连接层、第六全连接层、第七全连接层连接(设定第二全连接层至第七全连接层的节点数为64,32,16,8,4,2,激活函数为ReLU);
[0067] 以张量串联的模式使第七全连接层与输出层连接(输出层的激活函数为Linear,学习率为0.02,batch_size为60)。
[0068] 2)生成训练集和验证集
[0069] 2-1)对自来水公司的CZ市某DMA供水管网从2016年2月1日到2017年1月31日间的流量数据以采集频率为4次/h进行平均采样,即获取每隔15min的流量数据,对获取的数据进行预处理:包括清洗非自然因素(第三方、人为)导致事故的流量数据;修正录入错误,清洗明显异常数据等。然后,从中提取第一时间段、第二时间段、第三时间段的历史流量数据,并根据式(1)进行归一化处理,获取不同时间段的历史流量特征,其中,[0070] 第一时间段的流量数据包括t-75min、t-60min、t-45min、t-30min、t-15min时刻的流量数据;
[0071] 第二时间段的流量数据包括t-24.5h、t-24.25h、t-24h、t-23.75h至t-23.5h时刻的流量数据;
[0072] 第三时间段的流量数据包括t-48.5h、t-48.25h、t-48h、t-47.75h至t-47.5h时刻的流量数据。
[0073] 2-2)从中国气象数据网获取历史气象数据,包括最高温度、最低温度、相对湿度和降水量,对获取的数据进行预处理:包括清洗非自然因素(第三方、人为)导致事故的流量数据;修正录入错误,清洗明显异常数据等。将其与步骤2-1)中的历史流量数据进行Pearson相关性分析,发现最高温度、最低温度与流量的相关性显著,相关系数大于0.8,因此将最高温度、最低温度的归一化处理结果,作为历史气象特征。
[0074] 2-3)将不同时间段的历史流量特征和历史气象特征组成建模所需样本,先把样本随机打乱,然后把样本分为10份,随机抽取1份作为验证集,其余9份作为训练集,训练集22500个样本,验证集2500个样本。
[0075] 3)训练模型
[0076] 按照图2的流程图进行神经网络模型的训练,具体地,将训练集和验证集的历史流量特征和历史气象特征分别输入神经网络模型的输入层中,获取输出的训练流量和验证流量。每完成一轮训练,训练集中的样本都会被随机打乱一次。
[0077] 表1
[0078]
[0079] 4)验证模型
[0080] 基于所述训练集和训练流量生成训练曲线,并基于所述验证集和验证流量生成验证曲线。如图3所示,横坐标表示训练的轮数,每一轮训练迭代了375次;纵坐标表示训练集和验证集的均方误差。可以看出,当训练曲线和验证曲线的均方误差稳定在恒定值时,说明模型稳定,拟合较好,适于作为识别的神经网络模型。
[0081] 另一方面,若两条曲线的均方误差没有稳定在恒定值,则说明模型不稳定,拟合较差,训练数据太少或者模型参数还需要优化。
[0082] 在本例中,经训练得到的神经网络模型可示例性的表示为:
[0083] Qt=Qt-i×W+b
[0084] 上式中,Qt为待预测时刻t的需水量;
[0085] Qt-i为t-i时刻的历史需水量,i=1,2,3…;
[0086] W为权值矩阵;
[0087] b为偏置项。
[0088] 实施例2漏损事故识别
[0089] 已知,2017年2月1日至2月10日未发生任何漏损事故,以2017年2月1日-2月2日的流量数据构建参考数据集,并用于识别2017年2月3日到2月10日的漏损事故。
[0090] 为了验证识别效果,人为的给2017年2月4日、5日和6日的流量数据分别增加该DMA日均流量(79m3/h)的5%、10%和15%。
[0091] 按照图4所示的流程图进行漏损事故的识别,具体地,
[0092] 步骤一,按照实施例1中步骤2)的方式获得在未发生漏损事故的2017年2月1日-2017年2月2日的48h内的参考流量特征和参考气象特征。
[0093] 步骤二,将步骤一获得的不同时间段的参考流量特征输入到实施例1训练完成的神经网络模型的多个门控循环单元层中,并将步骤一获得的参考气象特征输入到所述第一全连接层中,获取输出的预测流量。
[0094] 步骤三,获取2017年2月1日-2017年2月2日的48h内的实测流量数据,将每一实测流量与处于相同时刻的步骤二获得的预测流量构成一个时间序列向量。那么,在这两天时间内,共构成192个时间序列向量(48h,采集频率为4次/h),将这192个时间序列向量构成的矩阵作为参考数据集,表2为参考数据集的一部分的示例。
[0095] 表2
[0096]
[0097] 步骤四,按照上述步骤一至步骤三的方式,将2017年2月3日到2月10日的流量数据处理为768个新增时间序列向量(192h,采集频率为4次/h)。
[0098] 基于式(2),计算每个新增时间序列向量相对于步骤三获得的参考数据集中的每个时间序列向量的余弦距离,在每个新增时间序列向量所计算出的192个余弦距离中,统计余弦距离小于距离阈值D的时间序列向量的个数n。在本例中,距离阈值D为192个余弦距离中位数的0.45倍,即0.00133,数量阈值N为42。
[0099] 当n大于数量阈值N时,认定该新增时间序列向量为正常向量,代表该时间识别到没有漏损事故发生;当n在数量阈值N以下时,认定该新增时间序列向量为异常向量,代表该时间识别到有漏损事故发生。
[0100] 表3识别结果
[0101]
[0102] 理论上来说,在2017年2月3日到2月10日共计8天的768个新增时间序列中,应有480个正常向量和288个异常向量。根据表3的识别结果可知,实施例1的神经网络模型可以识别出流量较小的漏损(+5%的DMA日均流量),但不敏感;而对于流量较大的漏损(+10%、+
15%的DMA日均流量)可以实现准确识别,准确率在85%以上。
[0103] 以上结果说明,基于门控循环单元的神经网络模型,能够较为准确的识别出供水管网的漏损事故,并且该方法的实用性较强。本发明扩展了现有的管网漏损识别模型的研究内容,为自来水公司做出科学合理的决策提供了一种新的思路。
[0104] 虽然本发明已作了详细描述,但对本领域技术人员来说,在本发明精神和范围内的修改将是显而易见的。此外,应当理解的是,本发明记载的各方面、不同具体实施方式的各部分、和列举的各种特征可被组合或全部或部分互换。在上述的各个具体实施方式中,那些参考另一个具体实施方式的实施方式可适当地与其它实施方式组合,这是将由本领域技术人员所能理解的。此外,本领域技术人员将会理解,前面的描述仅是示例的方式,并不旨在限制本发明。