基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录

本篇文章主要为学习其模型思想。

引言

卷积神经网络( CNN) 作为在图像处理、计算机视觉等领域被广泛应用的模型,其特殊的网络结构通过共享权重的特性可以很好地处理高维稀疏特征,对非时序特征的空间结构关系进行有效建模。将时序概念引入网络结构的门控循环单元神经网络( GRU) 和长短期神经网络( LSTM) 作为循环神经网络( RNN) 的特殊变种,被广泛地应用到了各个领域,并取得了不错的效果。不仅很好地解决了 RNN 的梯度消失和梯度爆炸的问题,而且能够充分挖掘时间序列数据的时序性、非线性的关系。但是难以较好地表达非时序性特征的空间结构,影响了预测的精度。
为了精准预测出菇房内多点温湿度的空间分布情况,本文提出一种基于 CNN-GRU 的菇房多点温湿度预测模型。通过传感器网络采集出菇房不同区域的环境数据,将室外历史气象数据、室内小气候历史数据、环境分布特征、加湿特征及通风特征按照时间序列构造二维矩阵作为输入,采用 CNN 挖掘数据中蕴含反映温室环境数据相互联系的高维有效特征,将提取的特征向量构造为时间序列,输 入 到GRU 网络进行多点温湿度预测。

CNN-GRU 环境预测模型

卷积神经网络

卷积神经网络主要包括卷积层、池化层和全连接层,采用局部连接和权值共享的方式。卷积层对原始数据中更高层次、更抽象的特征进行提取,充分
挖掘数据的内部联系,池化层又称为下采样层,可以有效降低网络的复杂度,减少训练参数的数目,对特征进行降维。CNN 网络结构如图1 所示。
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第1张图片

门控循环单元神经网络

为 了 克 服 RNN 的长期依赖问题HOCHREITER 等在 1997 年提出了长短期记忆神经网络( LSTM) ,通过将隐藏层的神经元替换成具有 3 个门结构的特殊细胞状态控制信息,从而解决了梯度消失、梯度爆炸等问题,实现了信息的记忆和更新。
由于 LSTM 的内部结构非常复杂会导致训练的时间过长,CHO 等在 LSTM 的基础上提出新变体门控循环单元神经网络( GRU) ,它具有更加简洁的模型结构,在保证预测精度的同时减少了网络训练的参数,收敛速度更快。GRU 相对于 LSTM 的内部结构最大的改进在于将 LSTM 中的 3 个门结构简化为更新门和重置门 2 个门结构,具有更高的计算效率。更新门主要决定被添加到当前状态信息中的历史信息量,传递的历史信息越多其值越大。重置门主要决定历史信息被遗忘的程度,被忘记的历史信息越多其值越小。GRU 内部结构单元如图2 所示。
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第2张图片
门控循环单元神经网络计算公式为:
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第3张图片
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第4张图片

CNN-GRU 网络混合模型

影响出菇房内各点温湿度的因素包括室外空气温度、室外空气相对湿度、室外风速、室内基质温度、室内光照强度等相互独立的时间序列特征以及环境
分布特征、通风特征、加湿特征等非时序性特征。为了耦合这些影响温室出菇房内温湿度的特征信息,充分挖掘这些特征的内部潜在联系及空间规律,对温室出菇房的温湿度空间分布情况进行精准预测,本文将卷积神经网络( CNN) 与门控循环单元神经网络( GRU) 相结合,构建了基于 CNN-GRU 的菇房多点温湿度预测模型,网络结构如图 3 所示。
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第5张图片

( 1) 输入层。将出菇房内某一时刻的温湿度与其相关的室外空气温度、室外空气相对湿度、室外风速、室内基质温度、室内光照强度、环境分布特征、通风特征和加湿特征串联成全新的时间序列特征向量,将出菇房室外的历史气象数据、室内的历史小气候数据表达为时间步长 × 特征向量的二维矩阵,对其预处理后输入预测模型中。
( 2) CNN 层。CNN 层主要捕捉输入的历史序列中深层次的时间、空间特征规律,根据输入数据非线性、稀疏 性、强耦合性的特点,设 计 4 层 卷 积 层
( Conv2D) ,卷积核数目依次为 16、16、32、32,并选取ReLU 激活函数进行激活。每经过 2 次连续卷积进行一次最大池化( MaxPooling2D) ,对提取的高维特征进行降维,压缩数据,加快运行效率。为了充分利用现有的出菇房室外气象数据、室内环境分布数据、非时序多特征数据,将卷积核尺寸设为 3 × 3,池大小为 2,最后通过 Flatten 操作,将其提取的深层次抽象特征转换为全局特征向量作为 GRU 层的输入。
( 3) GRU 层。GRU 层对 CNN 层提取的全局特征向 量 进 行 学 习,经过不断改进可得,构 建 2 层GRU 结构达到了最好的预测效果,激活函数采用
ReLU 激活函数,神经元数目分别为 64、128,最后将全连接层( Dense) 的输出经过反归一化得 20 min 后的温湿度。

实验

实验数据获取

实验地点为北京市农林科学院日光温室出菇房,共 4 间,每间面积约 90 m2
,总高度约 6 m,室内装有加湿喷雾设备。实验期间相邻 2 间出菇房内栽
植不同基质的平菇,出菇方式为袋装,采用的码堆栽培方式有普通式、架杆式、花式 3 种,每种码堆方式堆 3 ~ 4 层菌袋,行与行之间的走道间距为 0. 5 m 左右,适宜的温度为 5 ~ 30℃,适宜的空气相对湿度为85% ~ 90% 。为符合平菇的种植要求,防止病害发生,出菇房内需常开窗进行换气通风,如遇持续恶劣天气时需人工进行关闭,出菇房内的加湿喷雾设备的阈值设定为 90% ,当相对湿度高于 90% 时,加湿喷雾设备自动关闭。有时会在临近傍晚时分将加湿器关闭以减少电力消耗,同时关闭窗户盖下保温被保持室内温湿度,在第 2 天清晨或中午时卷起保温被并同时开窗通风。如果白天开窗通风换气或天气恶劣,相对湿度可能达不到所需的需求,需根据实际情况进行人工喷湿。

实验数据预处理

异常数据处理

温室出菇房内的相对湿度较大,长时间放置于出菇房内进行监测的传感器的精度会受到一定的影响。同时由于白天的通风换气、外界气候变化使得
出菇房的相对湿度达不到所需的要求,因此会根据实际情况进行人工喷湿,存在着人为干扰,加上网络传输的质量、设备故障等问题,使得传感器在进行数据采集的过程中出现数据异常、数据缺失等情况。这些因素都会对预测模型的精度造成一定的影响,因此针对短时数据的缺失采用线性插值法进行插补,即
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第6张图片
若数据连续缺失较多或其缺失时间跨度较大,则将天气状况相同或者相临近几天中同一时刻的数据对其进行填补。对于数据异常处理则采用均值法
对数据进行平滑修复,即
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第7张图片

归一化处理

为了消除出菇房室内外环境参数量纲的差异对预测的精度造成不良影响,本文对各影响因子和目标变量进行归一化处理。计算公式为:
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第8张图片

模型评价指标

为了评估模型的预测效果与精度,选用平均绝对误差( MAE) 、均方根误差( RMSE) 、平均绝对百分比误差( MAPE) 3 个指标对其进行评价[31],MAE、RMSE、MAPE 越小,表明模型的预测结果更加精准。MAE、RMSE、MAPE 的计算公式为:
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第9张图片
式中 N———预测结果总个数
yi———第 i 个采样点实际温湿度
yi———第 i 个采样点预测温湿度
为了比较各模型方法的预测效率,本文选取训练时间作为其评价标准,在模型训练的损失函数值趋于稳定时将其记录,训练时间越短其效率越高,损
失函数采用均方误差。
实验所使用的计算机硬件配置如下: 处理器为Intel( R) Core( TM) i5-8250U,内存 8 GB,操作系统为 64 位 Windows 10 系 统,GPU 显 卡 NVIDIA
GeForce MX150 2G。软件框架结构为 Keras 深度学习工 具,以 Tensorflow 深 度 学 习 框 架 ( 版 本 为GPU2. 0) 作为后端支持,编程语言为 Python( 版本为3. 7) ,集成开发环境( IDE) 为 Pycharm。

模型训练

采用 CNN-GRU 神经网络构建温室出菇房多点温湿度预测模型,作为评价出菇房的整体环境状态。对于时间步长的选取,若时间步长过长则会造成数
据冗余,影响模型的收敛速度,若时间步长过短,则不能对模型的输出进行完全充分的表达,影响其预测精度,设置时间步长为 9。利用 Adam 优化算法不断地调整模型参数,使模型的性能达到最优。为了避免模型陷入局部最小值,经过多次实验,初始学习率设置为 0. 001,每迭代 100 次学习率调整为原来的 10% ,迭代 200 次后损失值趋于稳定值,效果达到最优。

实验结果

通过对比实验,分别使用BP,LSTM,GRU与CNN-GRU对比得出结果。
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录_第10张图片

你可能感兴趣的:(学习记录,cnn,gru,学习)