一种基于自编码器与全连接层的氢气快速检测方法
未命名
10-08
阅读:82
评论:0

1.本发明属于基于气体传感器的气体检测技术领域,具体涉及一种基于自编码器与全连接层的氢气快速检测方法。
背景技术:
2.近年来,随着氢能技术应用的快速发展,氢气检测越来越受到重视。通常基于电化学或电阻信号的商用氢气传感器的响应时间从几十秒到几分钟不等,通过改进传感器的设计原理和封装来减少气体传感器的响应时间是一项具有挑战性的任务。由于氢气具有易燃易爆、无色无味的性质,迫切需要具有快速响应的氢气传感器进行氢气泄漏检测,因此基于气体传感器的初始响应实现氢气泄漏的快速检测,是一种值得探索的方法。利用气体传感器的响应
–
恢复曲线中的响应初始阶段,神经网络可以实现气体快速检测。如申请号为202211628182.8的中国专利,其公开了一种基于cnn-lstm(卷积神经网络-长短期记忆网络)的氢气浓度快速预测方法,该方法提取了氢气传感器的响应
–
恢复曲线的前30s响应初始阶段,实现了氢气浓度预测10%左右的平均相对误差。但是,该方法的平均相对误差较大,时间较长,达不到理想效果。因此,有必要寻求一种速度更快、误差更小、置信度更高的氢气快速检测方法。
技术实现要素:
3.针对上述现有技术中存在的技术问题,本发明提出了一种基于自编码器与全连接层的氢气快速检测方法,实现氢气浓度的快速检测。
4.本发明所采用的技术方案如下:
5.一种基于自编码器与全连接层的氢气快速检测方法,其特征在于,包括以下步骤:
6.s1、通过气体传感器对氢气进行测试,采集气体传感器的响应数据,将气体传感器分别在氢气和空气中的电阻变化曲线作为响应-恢复曲线;通入不同浓度的氢气,得到由不同氢气浓度与对应的响应-恢复曲线组成的原始数据;
7.s2、对原始数据中的各响应-恢复曲线,获取响应起始点,并提取从响应起始点开始后t时间内的电阻信号;将一个氢气浓度与对应的电阻信号组成一个样本点,获得样本集s;
8.s3、对样本集s中的各电阻信号进行漂移补偿,获得样本集s
′
;再分别对样本集s
′
中的各电阻信号和氢气浓度进行归一化,获得样本集s
″
;
9.s4、对样本集s
″
添加高斯噪声,获得扩充后的噪声样本集s
noise
;对样本集s
″
进行等比例扩充,获得扩充后的样本集s
original
;具体为:
10.随机产生k个均值为0、标准差为0.1且符合高斯分布的噪声,将各噪声分别添加至样本集s
″
中,共得到k个扩充前的噪声样本集,组合后得到扩充后的噪声样本集s
noise
,样本量为样本集s
″
的k倍;将k个相同的样本集s
″
进行组合,得到扩充后的样本集s
original
;
11.s5、构建由编码器和解码器组成的自编码器,编码器和解码器共用瓶颈层;以样本
集s
noise
为编码器的输入,样本集s
original
为解码器的输出,对自编码器进行训练,得到训练后的自编码器,并提取包括瓶颈层的编码器的神经网络结构及权值;
12.s6、构建氢气浓度预测模型,其神经网络的隐藏层由s5提取的包括瓶颈层的编码器及一层全连接层构成,并采用s5提取的权值,最后连接至输出层;
13.s7、以样本集s
″
中的电阻信号为输入,氢气浓度为输出,对氢气浓度预测模型进行训练,得到训练后的氢气浓度预测模型;
14.s8、将待测试氢气通入气体传感器,实时采集响应数据,提取响应-恢复曲线中从响应起始点开始后t时间内的电阻信号,归一化后得到待测试氢气的电阻信号,输入至训练后的氢气浓度预测模型,输出待测试氢气的浓度。
15.进一步地,s2中t的取值为6~10,根据采用的采样频率,由t的取值确定对应的电阻信号个数m。
16.进一步地,s2中所述样本集s={(r1,y1),(r2,y2),...,(rn,yn)};其中,n为样本点总数,根据待测试氢气的浓度范围确定;ri=(r
i(1)
,r
i(2)
,...,r
i(m)
),i=1,2,...,n为第i个样本点的电阻信号,r
i(j)
,j=1,2,...,m,i=1,2,...,n为第i个样本点中第j个电阻信号的电阻值;yi,i=1,2,...,n为第i个样本点的氢气浓度。
17.进一步地,s3中对样本集s中的各电阻信号进行漂移补偿的具体过程为:
18.s31、获得样本集s中各电阻信号的第一个电阻值r
i(1)
,i=1,2,...,n,并计算所有第一个电阻值r
i(1)
,i=1,2,...,n的平均值
19.s32、计算第i个样本点的电阻信号的第一个电阻值r
i(1)
,i=1,2,...,n与平均值的差值resi,i=1,2,...,n,再计算第i个样本点的电阻信号ri=(r
i(1)
,r
i(2)
,...,r
i(m)
),i=1,2,...,n与resi,i=1,2,...,n的差值,作为漂移补偿后的第i个样本点的电阻信号ri′
=(ri′
(1)
,ri′
(2)
,...,ri′
(m)
),i=1,2,...,n;
20.s33、遍历样本集s中所有样本点,重复s32过程,完成对样本集s中所有电阻信号的漂移补偿,获得样本集s
′
。
21.进一步地,s4中k取值区间为50~100。
22.进一步地,s5中自编码器的结构包括:
23.1层输入层,神经元个数为m;
24.1层输出层,神经元个数为m;
25.隐藏层的结构参数有如下3种:
26.(1)1层隐藏层,神经元个数区间为15~20;
27.(2)3层隐藏层,神经元个数区间分别为20~30、10~20、20~30;
28.(3)5层隐藏层,神经元个数区间分别为25~30、15~20、10~15、15~20、25~30;
29.其中,随着隐藏层层数的增加,预测模型的误差相对减小,层数增加到一定程度(5层)后误差改善不明显。
30.进一步地,s6中氢气浓度预测模型的全连接层的神经元个数区间为5~10。
31.本发明的有益效果为:
32.1、本发明提出了一种基于自编码器与全连接层的氢气快速检测方法,通过提取响应初始阶段的电阻信号,在自编码器中实现特征提取,降低维数去除冗余特征,最后通过由编码器连接全连接层组成的氢气浓度预测模型,对电阻信号特征进行更精细的学习,即可
实现待测试氢气的氢气浓度快速预测;
33.2、本发明通过在电阻信号中添加噪声,提高了氢气浓度预测模型的泛化能力,能够容忍数据中异常点或气体传感器漂移特性带来的误差影响;
34.3、在算法硬件化实现中,本发明使用自编码器提取数据特征,固定自编码器中的编码器及其权值,网络结构简单,大大缩短了训练过程,节省了训练时间,简化了硬件实现难度。
附图说明
35.图1为实施例1采用的获取响应-恢复曲线中响应起始点的示意图;
36.图2为实施例1构建的自编码器的结构图;
37.图3为实施例1构建的氢气浓度预测模型的结构图;
38.图4为实施例1的氢气浓度预测的相对误差直方图及拟合正态分布曲线。
具体实施方式
39.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图与实施对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
40.实施例1
41.本实施例提出了一种基于自编码器与全连接层的氢气快速检测方法,具体包括以下步骤:
42.s1、通过气体传感器对氢气进行测试,采集气体传感器的响应数据,将气体传感器分别在氢气和空气中的电阻变化曲线作为响应-恢复曲线;通入不同浓度的氢气,得到由不同氢气浓度与对应的响应-恢复曲线组成的原始数据;
43.s2、对原始数据中的各响应-恢复曲线,采用如图1所示的方法获取响应起始点,并提取从响应起始点开始后t时间内(单位s)的电阻信号;将一个氢气浓度与对应的电阻信号组成一个样本点,获得由n=300个样本点组成的样本集s={(r1,y1),(r2,y2),...,(rn,yn)};
44.其中,n为样本点总数,根据待测试氢气的浓度范围确定;ri=(r
i(1)
,r
i(2)
,...,r
i(m)
),i=1,2,...,n为第i个样本点的电阻信号,r
i(j)
,j=1,2,...,m,i=1,2,...,n为第i个样本点中第j个电阻信号的电阻值;yi,i=1,2,...,n为第i个样本点的氢气浓度;本实施例中t取8,m取40;
45.s3、对样本集s中的各电阻信号进行漂移补偿,获得样本集s
′
,具体为:
46.s31、获得样本集s中各电阻信号的第一个电阻值r
i(1)
,i=1,2,...,n,并计算所有第一个电阻值r
i(1)
,i=1,2,...,n的平均值
47.s32、计算第i个样本点的电阻信号的第一个电阻值r
i(1)
,i=1,2,...,n与平均值的差值resi,i=1,2,...,n,再计算第i个样本点的电阻信号ri=(r
i(1)
,r
i(2)
,...,r
i(m)
),i=1,2,...,n与resi,i=1,2,...,n的差值,作为漂移补偿后的第i个样本点的电阻信号ri′
=(ri′
(1)
,ri′
(2)
,...,ri′
(m)
),i=1,2,...,n;
48.s33、遍历样本集s中所有样本点,重复s32过程,完成对样本集s中所有电阻信号的
漂移补偿,获得样本集s
′
;
49.s4、分别对样本集s
′
中的各电阻信号和氢气浓度进行最大最小归一化,归一化公式为获得样本集s
″
;其中,x为各电阻信号或氢气浓度,max(x)为所有x中的最大值,min(x)为所有x中的最小值,x
′
为归一化后的x;
50.s5、对样本集s
″
添加高斯噪声,获得扩充后的噪声样本集s
noise
;对样本集s
″
进行等比例扩充,获得扩充后的样本集s
original
;具体为:
51.随机产生k个均值为0、标准差为0.1且符合高斯分布的噪声,将各噪声分别添加至样本集s
″
中,共得到k个扩充前的噪声样本集,组合后得到扩充后的噪声样本集s
noise
,样本量为样本集s
″
的k倍;将k个相同的样本集s
″
进行组合,得到扩充后的样本集s
original
;本实施例中k取100;
52.s6、构建由编码器和解码器组成的自编码器,编码器和解码器共用瓶颈层,自编码器的结构如图2所示,包括:
53.1层输入层,神经元个数为40;
54.5层隐藏层,神经元个数分别为28、16、10、16、28;
55.1层输出层,神经元个数为40;
56.其中,输入层、隐藏层和输出层的激活函数均为leaky relu(带泄漏线性整流)函数,alpha(超参数)设置为0.2;
57.以样本集s
noise
为编码器的输入,样本集s
original
为解码器的输出,对自编码器进行训练,得到训练后的自编码器,并提取包括瓶颈层的编码器的神经网络结构及权值;
58.s7、构建氢气浓度预测模型,其神经网络的隐藏层由s6提取的包括瓶颈层的编码器及一层全连接层构成,并采用s6提取的权值,最后连接至输出层;氢气浓度预测模型的结构如图3所示,包括:
59.1层输入层,神经元个数为40;
60.4层隐藏层,神经元个数分别为28、16、10、9;
61.1层输出层,神经元个数为1;
62.其中,输入层、隐藏层和输出层的激活函数均为leaky relu函数,alpha设置为0.2;
63.s8、以样本集s
″
中的电阻信号为输入,氢气浓度为输出,对氢气浓度预测模型进行训练,得到训练后的氢气浓度预测模型;
64.s9、将待测试氢气通入气体传感器,实时采集响应数据,提取响应-恢复曲线中从响应起始点开始后t时间内的电阻信号,归一化后得到待测试氢气的电阻信号,输入至训练后的氢气浓度预测模型,输出待测试氢气的浓度。
65.本实施例采用adam优化器对氢气浓度预测模型的反向传播进行优化,氢气浓度预测模型训练的最佳参数如表1所示。经十折交叉验证后,氢气浓度预测结果通过相对误差的直方图展示,如图4所示,由拟合的正态分布曲线可得相对误差95%置信区间为[-2.92,3.03],精度较高,预测效果良好。在实际应用中,利用气体传感器在响应开始后8s内的电阻信号即可预测环境中的氢气浓度,平均相对误差仅为0.05%,实现氢气快速检测。
[0066]
表1氢气浓度预测模型训练的最佳超参数
[0067][0068]
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。
技术特征:
1.一种基于自编码器与全连接层的氢气快速检测方法,其特征在于,包括以下步骤:s1、通过气体传感器对氢气进行测试,采集气体传感器的响应数据,将气体传感器分别在氢气和空气中的电阻变化曲线作为响应-恢复曲线;通入不同浓度的氢气,得到由不同氢气浓度与对应的响应-恢复曲线组成的原始数据;s2、对原始数据中的各响应-恢复曲线,获取响应起始点,并提取从响应起始点开始后t时间内的电阻信号;将一个氢气浓度与对应的电阻信号组成一个样本点,获得样本集s;s3、对样本集s中的各电阻信号进行漂移补偿,获得样本集s
′
;再分别对样本集s
′
中的各电阻信号和氢气浓度进行归一化,获得样本集s
″
;s4、对样本集s
″
添加高斯噪声,获得扩充后的噪声样本集s
noise
;对样本集s
″
进行等比例扩充,获得扩充后的样本集s
original
;具体为:随机产生k个均值为0、标准差为0.1且符合高斯分布的噪声,将各噪声分别添加至样本集s
″
中,共得到k个扩充前的噪声样本集,组合后得到扩充后的噪声样本集s
noise
,样本量为样本集s
″
的k倍;将k个相同的样本集s
″
进行组合,得到扩充后的样本集s
original
;s5、构建由编码器和解码器组成的自编码器,编码器和解码器共用瓶颈层;以样本集s
noise
为编码器的输入,样本集s
original
为解码器的输出,对自编码器进行训练,得到训练后的自编码器,并提取包括瓶颈层的编码器的神经网络结构及权值;s6、构建氢气浓度预测模型,其神经网络的隐藏层由s5提取的包括瓶颈层的编码器及一层全连接层构成,并采用s5提取的权值,最后连接至输出层;s7、以样本集s
″
中的电阻信号为输入,氢气浓度为输出,对氢气浓度预测模型进行训练,得到训练后的氢气浓度预测模型;s8、将待测试氢气通入气体传感器,实时采集响应数据,提取响应-恢复曲线中从响应起始点开始后t时间内的电阻信号,归一化后得到待测试氢气的电阻信号,输入至训练后的氢气浓度预测模型,输出待测试氢气的浓度。2.根据权利要求1所述基于自编码器与全连接层的氢气快速检测方法,其特征在于,s2中t的取值为6~10,根据采样频率,由t的取值确定对应的电阻信号个数m。3.根据权利要求2所述基于自编码器与全连接层的氢气快速检测方法,其特征在于,s2中所述样本集s={(r1,y1),(r2,y2),...,(r
n
,y
n
)};其中,n为样本点总数,根据待测试氢气的浓度范围确定;r
i
=(r
i(1)
,r
i(2)
,...,r
i(m)
),i=1,2,...,n为第i个样本点的电阻信号,r
i(j)
,j=1,2,...,m,i=1,2,...,n为第i个样本点中第j个电阻信号的电阻值;y
i
,i=1,2,...,n为第i个样本点的氢气浓度。4.根据权利要求3所述基于自编码器与全连接层的氢气快速检测方法,其特征在于,s3中对样本集s中的各电阻信号进行漂移补偿的具体过程为:s31、获得样本集s中各电阻信号的第一个电阻值r
i(1)
,i=1,2,...,n,并计算所有第一个电阻值r
i(1)
的平均值s32、计算第i个样本点的电阻信号的第一个电阻值r
i(1)
与平均值的差值res
i
,i=1,2,...,n,再计算第i个样本点的电阻信号r
i
=(r
i(1)
,r
i(2)
,...,r
i(m)
)与res
i
的差值,作为漂移补偿后的第i个样本点的电阻信号r
i
′
=(r
i
′
(1)
,r
i
′
(2)
,...,r
i
′
(m)
),i=1,2,...,n;s33、遍历样本集s中所有样本点,重复s32过程,完成对样本集s中所有电阻信号的漂移
补偿,获得样本集s
′
。5.根据权利要求1所述基于自编码器与全连接层的氢气快速检测方法,其特征在于,s4中k取值区间为50~100。6.根据权利要求1所述基于自编码器与全连接层的氢气快速检测方法,其特征在于,s5中自编码器的结构包括:1层输入层,神经元个数为m;1层输出层,神经元个数为m;隐藏层的结构参数有如下3种:(1)1层隐藏层,神经元个数区间为15~20;(2)3层隐藏层,神经元个数区间分别为20~30、10~20、20~30;(3)5层隐藏层,神经元个数区间分别为25~30、15~20、10~15、15~20、25~30。7.根据权利要求1所述基于自编码器与全连接层的氢气快速检测方法,其特征在于,s6中氢气浓度预测模型的全连接层的神经元个数区间为5~10。
技术总结
本发明提供的一种基于自编码器与全连接层的氢气快速检测方法,属于基于气体传感器的气体检测技术领域,通过气体传感器获取响应-恢复曲线,提取响应起始阶段的电阻信号,与对应氢气浓度构成样本点,经漂移补偿、归一化后,添加高斯噪声得到噪声样本集,等比例扩充后获得扩充后样本集,构建由编码器和解码器组成的自编码器,训练后获得编码器的神经网络结构及权值,基于编码器和全连接层构建氢气浓度预测模型,训练后用于对待测试氢气进行快速检测。本发明可实现对待测试氢气的氢气浓度快速预测,并容忍数据中异常点或气体传感器漂移特性带来的误差影响。带来的误差影响。带来的误差影响。
技术研发人员:太惠玲 李娟 袁震 吴援明 段再华 蒋亚东
受保护的技术使用者:电子科技大学
技术研发日:2023.07.06
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/