掌桥专利:专业的专利平台
掌桥专利
首页

一种基于CNN-LSTM的氢气浓度快速预测方法

文献发布时间:2023-06-19 19:30:30


一种基于CNN-LSTM的氢气浓度快速预测方法

技术领域

本发明涉及气体浓度预测技术领域,具体涉及一种基于CNN-LSTM的氢气浓度快速预测方法。

背景技术

在人们生产生活中,对环境中的有毒有害气体进行准确快速的预测可以对气体危险事故的产生起到预警和防范作用,对人类健康安全、社会和谐安定具有重要意义。

气体浓度一般通过气体传感器检测,目前存在的问题是气体分子与气体传感器表面的反应缓慢,气体传感器响应时间较长,从气体传感器开始检测传感器的响应随时间增加逐渐增大,通常需要几分钟才能使检测值趋于稳定,称为检测饱和状态,该状态下检测得到的浓度即为气体的检测饱和浓度。因此,通过气体传感器响应曲线中的检测初始阶段预测气体的浓度对于实际应用至关重要。

发明内容

为了能够快速预测环境中氢气的浓度,本发明提供一种氢气浓度的预测方法,能够实现对环境氢气浓度的快速预测。

本发明提供的技术方案是:一种基于CNN-LSTM的氢气浓度快速预测方法,其中CNN指代卷积神经网络(Convolutional Neural Networks),LSTM指代长短期记忆(LongShort-Term Memory),即,通过神经网络模型,在氢气扩散初期预测环境中的氢气浓度,如图1所示,包括如下步骤:

(1)气体测试环境中设置氢气传感器Sensor1与氢气传感器Sensor2用于测试氢气浓度,温度传感器用于测试环境温度,湿度传感器用于测试环境湿度,获取各个传感器测得的数据;

设定测试环境的氢气浓度;

(2)将每个传感器测得的数据进行滤波处理;

(3)将步骤(2)处理后的数据进行归一化处理;

Sensor1在检测初始阶段的数据进行归一化后作为步骤(4)中模型的输入input_1;

Sensor2在检测初始阶段的数据进行归一化后作为步骤(4)中模型的输入input_2;

温度传感器数据和湿度传感器在检测初始阶段的数据分别进行归一化后作为步骤(4)中模型的输入input_3;

Sensor1在检测饱和状态下的数据进行归一化后作为步骤(4)中模型的输出output1;

Sensor2在检测饱和状态下的数据进行归一化后作为步骤(4)中模型的输出output2;

设定的测试环境的氢气浓度作为步骤(4)中模型的输出output3;

(4)构建神经网络模型,依次包括输入层、卷积层、LSTM层、全连接层与输出层,即输入层连接卷积层的输入,卷积层的输出作为LSTM层的输入,LSTM的输出作为全连接层的输入,全连接层的输出连接到输出层;

输入层包括输入input_1、input_2、input_3;

输出层包括输出output1、output2、output3;

(5)利用步骤(3)中的数据对步骤(4)中的神经网络模型进行重复训练,得到预测模型;

(6)将步骤(3)中的数据输入至预测模型,得到氢气浓度的预测值,设定的测试环境的氢气浓度作为真实值,计算真实值与预测值之间的预测误差用于评估模型。

作为优选,所述步骤(2)中,将每个传感器采集到的数据进行切割、对齐、异常值剔除,然后进行滤波处理。

作为优选,所述步骤(2)中,利用滑动平均滤波算法对传感器数据进行滤波处理,滑动平均滤波算法公式如下:

其中v

作为优选,所述步骤(3)中,归一化处理公式如下:

其中

作为优选,所述步骤(3)中,Sensor1和Sensor2在检测初始阶段的数据进行归一化后,再进行微分和积分,微分公式如下:

d

积分公式如下:

其中,x

Sensor1数据经微分和积分后作为步骤(4)中模型的输入input_4;

Sensor2数据经微分和积分后作为步骤(4)中模型的输入input_5;

所述步骤(4)中的输入层还包括输入input_4、input_5。

作为优选,经过步骤(3)处理后得到若干组数据,一部分作为训练数据用于步骤(5),一部分作为测试数据用于步骤(6)。

作为优选,所述步骤(3)中,Sensor1在达到检测饱和状态之后的数据进行归一化,然后取平均值作为步骤(4)中模型的输出output1;Sensor2在达到检测饱和状态之后的数据进行归一化,然后取平均值作为步骤(4)中模型的输出output2。

作为优选,检测初始阶段是指自检测开始10s-150s时间段,优选为自检测开始10s、30s、60s、90s、120s、150s。

作为优选,达到检测饱和状态之后的数据是指自达到检测饱和状态开始10s-150s时间段的检测数据,优选为自达到检测饱和状态开始10s、30s、60s、90s、120s、150s。

作为优选,所述步骤(4)中,卷积层为一维卷积网络Conv1D。

作为优选,所述步骤(4)中,LSTM层包括深度为4的LSTM连接。

作为优选,所述步骤(4)中,全连接层包括2层Dense层。

作为优选,所述步骤(5)中,通过调整学习率和迭代次数,得到预测模型。

作为优选,设置神经网络模型的优化器为Adam,Loss函数为MAPE,Batch设置为32,利用步骤(3)处理后的数据对神经网络模型进行重复训练,通过调整学习率和迭代次数,得到预测模型。

作为优选,所述步骤(5)中,利用平均绝对百分比误差评估模型,平均绝对百分比误差公式如下:

其中N是样本数量,y

作为优选,神经网络模型中,输入input_1、input_2分别通过一维卷积运算后,分别组合input_4、input_5,共同组合input_3,然后经过3层LSTM,再经过全连接层连接到输出层。

与现有技术相比,本发明构建神经网路模型,利用传感器检测环境中的氢气浓度、温度与湿度,将测得的数据进行滤波、归一化后作为模型的输入,将测得的氢气浓度的饱和数据与设定的氢气浓度作为模型的输出,然后利用测得的数据对模型进行重复训练,得到预测模型,并且利用测得的数据对预测模型进行评估,根据预测误差对预测模型进行调整,得到优化后的预测模型。利用该预测模型能够在氢气扩散初期利用传感器在检测初始阶段的数据预测环境中的氢气浓度,实现氢气浓度的快速预测,大幅度缩短检测时间。另外,本发明将环境的温度与湿度作为输入和测得的氢气浓度一起输入神经网络,减少了环境温湿度对测量结果的影响。,

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对实施例中需要使用的附图作简单地介绍,显而易见地,下述附图针对本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:

图1是本发明基于CNN-LSTM的氢气浓度快速预测方法的流程示意图。

图2是实施例1中两个氢气传感器对不同浓度氢气的响应图。

图3是实施例1中两个传感器响应饱和值分布示意图。

图4是实施例1中两个氢气传感器的响应随时间的变化图,其中(a)图是传感器Sensor1的变化图,(b)图是传感器Sensor2的变化图。

图5是实施例1-6中不同模型各输出的MAPE图。

图6是实施例5中model 5在不同检测初始阶段条件下预测结果MAPE图。

图7是model5中Sensor1预测值与真实值对比示意图。

图8是model5中Sensor1预测值与真实值对比示意图。

图9是model5中环境氢气浓度预测值与真实值对比示意图。

图10是实施例1中model 1模型结构图及各输出MAPE图。

图11是实施例2中model 2模型结构图及各输出MAPE图。

图12是实施例3中model 3模型结构图及各输出MAPE图。

图13是实施例4中model 4模型结构图及各输出MAPE图。

图14是实施例5中model 5模型结构图及各输出MAPE图。

图15是实施例6中model 6模型结构图及各输出MAPE图。

具体实施方式

下面结合实施例与附图对本发明进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。

实施例1:

(1)气体测试环境中设置氢气传感器Sensor1与氢气传感器Sensor2用于测试氢气浓度,温度传感器用于测试环境温度,湿度传感器用于测试环境湿度。

本实施例中,设置气体测试环境的环境温度分别为30℃、35℃、40℃、45℃、50℃;环境湿度分别为20%、30%、40%、50%、60%、70%;环境氢气浓度在0-20000ppm之间随机设定。

在同一温湿度下,通入浓度为2000ppm、6000ppm、10000ppm、14000ppm、18000ppm的氢气时两个氢气传感器的输出值如图2所示。

在不同温湿度下,通入不同浓度的氢气时两个氢气传感器达到检测饱和状态时输出值散点图如图3所示,散点变化体现了温湿度对输出值的影响。

在同一温湿度下,通入浓度为2000ppm、6000ppm、10000ppm、14000ppm、18000ppm的氢气时两个氢气传感器的输出值随时间的变化如图4所示,可以看出每个氢气传感器对环境中氢气浓度的检测需要一定时间,从每个氢气传感器开始检测(即检测起始时刻为0),传感器的响应随时间增加逐渐增大,尤其是在检测初始阶段(如图3中自检测起始时刻30s、60s、90s、120s、150s时间段)增大幅度较大,直至检测时刻为T时传感器的输出值稳定,即达到检测饱和状态,自检测起始时刻至达到检测饱和状态的时刻T称为检测饱和时间。本实施例中,检测饱和时间大约需要12分钟,检测时间=检测饱和时间+30s。

在整个检测时间内采集各个传感器在不同时刻测得的数据,即氢气传感器Sensor1测得的氢气浓度、氢气传感器Sensor2测得的氢气浓度,温度传感器测得的环境温度以及湿度传感器测得的环境湿度。

(2)将每个传感器采集的数据进行切割、对齐、异常值剔除,并使用滑动平均滤波算法对每个传感器数据进行滤波处理,滑动平均滤波算法公式如下:

其中v

(3)将步骤(2)得到的滤波后的数据进行归一化处理,归一化处理公式如下:

其中

是滤波后的传感器数据中的最大值,x

对各传感器数据中检测初始阶段的数据进行归一化,本实施例中,选用图4中0-30s时间段作为检测初始阶段。归一化后的Sensor1数据作为步骤(4)中模型的输入input_1,归一化后的Sensor2数据作为步骤(4)中模型的输入input_2,归一化后的温度传感器数据和湿度传感器数据分别作为步骤(4)中模型的输入input_3。

对Sensor1数据与Sensor2数据中达到饱和状态之后30s时间段的数据进行归一化,然后取平均值作为Sensor1与Sensor2在检测饱和状态下的数据,称为饱和数据。将Sensor1的饱和数据作为步骤(4)中模型输出output1,Sensor2的饱和数据作为步骤(4)中模型输出output2。

将输入input_1、input_2、input_3以及输出output1、output2作为一组样本数据,本实施例中实验测试得到228组样本数据,68组作为测试样本数据,160组作为训练样本数据。

(4)构建神经网络模型,模型的输入为input_1、input_2、input_3,模型的输出为output1、output2、output3。输入input_1、input_2、input_3以及输出output1、output2分别如步骤(3)所述,输出output3为测试环境的真实氢气浓度,即,步骤(1)设定的测试环境的氢气浓度。

本实施例中,神经网络模型记作model1,model1结构如图10-(a)所示,input_1、input_2、input_3连接合并后经过1层LSTM运算,LSTM的输出共同输出到3个全连接节点,全连接节点分别连接到模型输出output1、output2、output3。

(5)为了评估不同参数对预测效果的影响,找到最优参数,设置模型的优化器为Adam,Loss函数为MAPE,Batch设置为32,利用步骤(3)中的训练样本数据对该神经网络模型model1进行训练,通过调整学习率和迭代次数,重复训练得到预测模型。

(6)将步骤(3)中的测试样本数据输入至预测模型,得到预测模型输出的预测氢气浓度,利用平均绝对百分比误差评估模型,平均绝对百分比误差公式如下:

其中N为样本数量,y

model 1模型的output1在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为26.95%,如图10-(b)所示。

model 1模型的output2在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为25.20%,如图10-(c)所示。

model 1模型的output3在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为28.70%,如图10-(d)。

实施例2:

(1)与实施例1中的步骤(1)相同。

(2)与实施例1中的步骤(2)相同。

(3)与实施例1中的步骤(3)相同。

(4)构建神经网络模型,模型的输入为input_1、input_2、input_3,模型的输出为output1、output2、output3。输入input_1、input_2、input_3以及输出output1、output2分别如步骤(3)所述,output3为测试环境的真实氢气浓度,即,步骤(1)设定的测试环境的氢气浓度。

本实施例中,神经网络模型记作model 2,model 2结构如图11-(a)所示,input_1,input_2分别经过一维卷积(Conv1D ReLU),并分别组合(Concatenate)input_3输入到LSTM(LSTM Sigmoid)层,经过全连接层(Dense Sigmoid)后连接到模型输出output1、output2、output3。

(5)为了评估不同参数对预测效果的影响,找到最优参数,设置模型的优化器为Adam,Loss函数为MAPE,Batch设置为32,利用步骤(3)中的训练样本对该神经网络模型model2进行训练,通过调整学习率和迭代次数,重复训练得到预测模型。

(6)将步骤(3)中的测试样本数据输入至预测模型,得到预测模型输出的预测氢气浓度,利用平均绝对百分比误差评估模型,平均绝对百分比误差公式如下:

其中N为样本数量,y

model 2模型的output1在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为20.8%,如图11-(b)所示。

model 2模型的output2在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为15.95%,如图11-(c)所示。

model 2模型的output3在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为19.25%,如图11-(d)。

实施例3:

(1)与实施例1中的步骤(1)相同。

(2)与实施例1中的步骤(2)相同。

(3)将步骤(2)得到的滤波后的数据进行归一化处理,归一化处理公式如下

其中

对各传感器数据中检测初始阶段的数据进行归一化,本实施例中,选用图4中0-30s时间段作为检测初始阶段。Sensor1归一化后的数据作为步骤(4)中模型的输入input_1,Sensor2归一化后的数据作为步骤(4)中模型的输入input_2,温度和湿度分别归一化后的数据作为步骤(4)中模型的输入input_3。

计算Sensor1数据和Sensor2数据的微分和积分,微分公式如下:

d

积分公式如下:

其中,x

Sensor1数据经微分和积分后作为步骤(4)中模型的输入input_4;

Sensor2数据经微分和积分后作为步骤(4)中模型的输入input_5;

将输入input_1、input_2、input_3、input_4、input_5以及输出output1、output2作为一组样本数据,本实施例中实验测试得到228组样本数据,68组作为测试样本数据,160组作为训练样本数据。

(4)构建神经网络模型,模型的输入为input_1、input_2、input_3、input_4、input_5,模型的输出为output1、output2、output3。输入input_1、input_2、input_3以及输出output1、output2分别如步骤(3)所述,output3为测试环境的真实氢气浓度,即,步骤(1)设定的测试环境的氢气浓度。

本实施例中,神经网络模型记作model 3,model 3结构如图12-(a)所示,input_1、input_2分别通过一维卷积运算后,分别组合input_4、input_5,共同组合input_3经过1层LSTM、全连接层连接到输出output1、output2、output3。

(5)为了评估不同参数对预测效果的影响,找到最优参数,设置模型的优化器为Adam,Loss函数为MAPE,Batch设置为32,利用步骤(3)中的训练样本对该神经网络模型model3进行训练,通过调整学习率和迭代次数,重复训练得到预测模型。

(6)将步骤(3)中的测试样本数据输入至预测模型,得到预测模型输出的预测氢气浓度,利用平均绝对百分比误差评估模型,平均绝对百分比误差公式如下:

/>

其中N为样本数量,y

model 3模型的output1在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为18.80%,如图12-(b)所示。

model 3模型的output2在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为14.40%,如图12-(c)所示。

model 3模型的output3在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为16.60%,如图12-(d)。

实施例4:

(1)与实施例3中的步骤(1)相同。

(2)与实施例3中的步骤(2)相同。

(3)与实施例3中的步骤(3)相同。

(4)构建神经网络模型,模型的输入为input_1、input_2、input_3、input_4、input_5,模型的输出为output1、output2、output3。输入input_1、input_2、input_3以及输出output1、output2分别如步骤(3)所述,output3为测试环境的真实氢气浓度,即,步骤(1)设定的测试环境的氢气浓度。

本实施例中,神经网络模型记作model 4,model 4结构如图13-(a)所示,input_1、input_2分别通过一维卷积运算后,分别组合input_4、input_5,共同组合input_3经过2层LSTM,再经过全连接层连接到模型输出output1、output2、output3。

(5)为了评估不同参数对预测效果的影响,找到最优参数,设置模型的优化器为Adam,Loss函数为MAPE,Batch设置为32,利用步骤(3)中的训练样本对该神经网络模型model1进行训练,通过调整学习率和迭代次数,重复训练得到预测模型。

(6)将步骤(3)中的测试样本数据输入至预测模型,得到预测模型输出的预测氢气浓度,利用平均绝对百分比误差评估模型,平均绝对百分比误差公式如下:

其中N为样本数量,y

model 4模型的output1在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为16.50%,如图13-(b)所示。

model 4模型的output2在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为13.90%,如图13-(c)所示。

model 4模型的output3在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为15.25%,如图13-(d)。

实施例5:

(1)与实施例3中的步骤(1)相同。

(2)与实施例3中的步骤(2)相同。

(3)与实施例3中的步骤(3)相同。

(4)构建神经网络模型,模型的输入为input_1、input_2、input_3、input_4、input_5,模型的输出为output1、output2、output3。输入input_1、input_2、input_3以及输出output1、output2分别如步骤(3)所述,output3为测试环境的真实氢气浓度,即,步骤(1)设定的测试环境的氢气浓度。

本实施例中,神经网络模型记作model 5,model 5结构如图14-(a)所示,input_1、input_2分别通过一维卷积运算后,分别组合input_4、input_5,共同组合input_3后经过3层LSTM,再经过全连接层连接到模型输出output1、output2、output3。

(5)为了评估不同参数对预测效果的影响,找到最优参数,设置模型的优化器为Adam,Loss函数为MAPE,Batch设置为32,利用步骤(3)中的训练样本对该神经网络模型model1进行训练,通过调整学习率和迭代次数,重复训练得到预测模型。

(6)将步骤(3)中的测试样本数据输入至预测模型,得到预测模型输出的预测氢气浓度,利用平均绝对百分比误差评估模型,平均绝对百分比误差公式如下:

其中N为样本数量,y

model 5模型的output1在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为13.7%,如图14-(b)所示。

model5模型的output2在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为10.8%,如图14-(c)所示。

model 5模型的output3在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为12.8%,如图14-(d)。

实施例6:

(1)与实施例3中的步骤(1)相同。

(2)与实施例3中的步骤(2)相同。

(3)与实施例3中的步骤(3)相同。

(4)构建神经网络模型,模型的输入为input_1、input_2、input_3、input_4、input_5,模型的输出为output1、output2、output3。输入input_1、input_2、input_3以及输出output1、output2分别如步骤(3)所述,output3为测试环境的真实氢气浓度,即,步骤(1)设定的测试环境的氢气浓度。

本实施例中,神经网络模型记作model 6,model 6结构如图15-(a)所示,input_1、input_2分别通过一维卷积运算后,分别组合input_4、input_5,共同组合input_3后经过4层LSTM,再经过全连接层连接到模型输出output1、output2、output3。

(5)为了评估不同参数对预测效果的影响,找到最优参数,设置模型的优化器为Adam,Loss函数为MAPE,Batch设置为32,利用步骤(3)中的训练样本对该神经网络模型model1进行训练,通过调整学习率和迭代次数,重复训练得到预测模型。

(6)将步骤(3)中的测试样本数据输入至预测模型,得到预测模型输出的预测氢气浓度,利用平均绝对百分比误差评估模型,平均绝对百分比误差公式如下:

其中N为样本数量,y

model 6模型的output1在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为18.50%,如图15-(b)所示。

model 6模型的output2在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为14.15%,如图15-(c)所示。

model 6模型的output3在不同的学习率和迭代次数对应的平均绝对百分比误差最小结果为16.15%,如图15-(d)。

对于实施例1-6在同一数据集的情况下,不同模型的预测结果如图5所示,得出实施例5中的model 5的误差最小,即model 5是最佳模型。

针对模型model 5,在不改变模型结构的情况下增加检测初始阶段时间,如图4所示,分别选择前30s、60s、90s、120s、150s作为检测初始阶段,如图6所示,各输出预测结果的平均绝对百分比误差逐渐降低。在初始检测阶段选用不同时间长度时各输出预测结果的散点图如图7-9所示,图7为Sensor1预测值与真实值对比示意图;图8为Sensor2预测值与真实值对比示意图;图9为环境氢气浓度预测值与真实值对比示意图。

在实际应用中,利用model 5在氢气扩散初期利用传感器在检测初始阶段的数据预测环境中的氢气浓度,实现氢气浓度的快速预测,大幅度缩短检测时间。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

相关技术
  • 一种基于CNN-LSTM的湿法脱硫出口SO2浓度预测方法
  • 一种安全壳卸压排气后氢气浓度的快速预测方法
技术分类

06120115931808