APP下载

基于WT-CNN-LSTM的溶解氧含量预测模型

2020-10-29陈英义方晓敏梅思远于辉辉

农业机械学报 2020年10期
关键词:池化层溶解氧水产

陈英义 方晓敏 梅思远 于辉辉 杨 玲

(1.中国农业大学信息与电气工程学院, 北京 100083; 2.农业农村部农业信息获取重点实验室, 北京 100083;3.国家数字渔业创新中心, 北京 100083; 4.北京林业大学信息学院, 北京 100083)

0 引言

溶解氧含量是决定水产养殖产量的重要因素,它影响着水生物的生长速度和养殖的饲料比,是决定养殖成功与否的重要指标之一[1-2],过低或过高的溶解氧含量都会导致养殖生物死亡。由于它具有时序性、不稳定性和非线性等特点,且受多种因素影响,各因素之间存在复杂的耦合关系[3],所以难以建立具有普适性的模型,实现精准预测。以多层感知机(Multi-layer perceptron, MLP)、支持向量机(Support vector machine, SVM)和误差反向传播神经网络(Back propagation neural network, BPNN)为代表的浅层机器学习方法具有极大的局限性[4-5],易引入冗余数据,且针对复杂问题的泛化能力受到一定的制约,尤其是在大数据的处理方面鲁棒性差,不能完全学习到数据的本质特征[6],无法满足溶解氧预测的要求。

以长短时记忆神经网络(LSTM)为代表的深度学习方法因具备挖掘长距离时序数据信息的能力而被广泛应用于各个领域[7]。宋刚等[8]利用 LSTM对不同类型的股票股价进行预测,证明该模型能够很好地处理具有长期依赖关系、复杂的非线性问题。满春涛等[9]将3种影响因子的不同组合作为LSTM的输入,研究其对交通流量预测精度的影响。若影响因子过多,该试验方法将过于繁杂,并且输入越长,数据间包含的信息量就越大,传统的LSTM模型在训练过程中会表现出明显的不稳定性,出现梯度消失的现象。因此,传统的LSTM模型无法捕捉数据间长期的相互依赖性。针对以上问题,陆继翔等[10]利用卷积神经网络(CNN)有效提取负荷、气象、峰谷电价等之间的潜在关系,形成特征向量[11],以此向量构造时序序列,输入至LSTM中进行短期负荷预测,综合CNN和LSTM的优点,提高了短期负荷的预测精度。SUN等[12]利用CNN-LSTM预测了受到各种气候数据和环境数据影响的市县级季中和季末大豆产量,均取得了较好的效果。CNN-LSTM模型在处理具有多种影响因素的非线性时序序列预测问题时表现良好。目前,CNN-LSTM模型已广泛应用于语音识别和文本分类领域[13-16],但在水产养殖领域的应用较少。

本文提出混合WT-CNN-LSTM溶解氧预测模型,并将预测结果同门控神经网络(Gated recurrent unit, GRU)、LSTM、WT-GRU、WT-LSTM和WT-CNN-GRU 5种模型进行对比,探索具有较高准确度、适应性和泛化性能的水产养殖溶解氧预测模型,解决传统溶解氧预测模型易引入冗余数据、无法完全学习到数据的本质特征、鲁棒性差的问题,以进一步提高溶解氧长期预测精度。

1 数据获取

试验于浙江省湖州市吴兴区八里店现代农业综合开发区内的浙江省淡水水产养殖研究所综合试验基地进行。所选池塘长为30 m、宽为30 m、水深约1.2 m,养殖品种为杂交鲌鱼,池塘中央安装了一个叶轮式增氧机。结合已有设备和池塘情况,将4个溶解氧在线监测传感器分别置于水深0.6 m处。为了避开位于池塘中间的增氧机,4个传感器分别放置于图1所示的位置。传感器上传的变量包括溶解氧含量和水温。气象站放置于池塘东北角,上传的有效变量包括风速、风向和太阳辐射,共3种气象参数。试验时间为2017年7月15日—8月2日,由于夏季天气多变,试验期间包含了晴天、大风、阴雨、雷电、多云等多种复杂天气情况。

图1 池塘传感器分布图Fig.1 Distribution map of sensors in pond

2 模型构建

2.1 小波变换

数据的真实性和可靠性是模型预测性能的决定性因素,而水产养殖生物的排泄物、饲料残余、藻类等因素都会导致水体污浊[17],试验所使用的传感器在水体中放置时间过长会被污染物附着,从而导致采集的数据略有偏差,虽然定时清洗,但也无法避免少量噪声数据。另外,一些难以控制的系统误差、随机误差与人为误差等也会导致水质数据和气象数据存在噪声污染。因此,在训练模型前,对数据进行清洗降噪是必不可少的步骤。

本文采用具有自适应性的小波变换[18]对数据进行预处理,以实现在保留有效信息的前提下减少噪声[19],尽可能维持溶解氧含量数据的时序性、连续性和可靠性。小波变换能够通过不同分辨率对时间序列进行分解,将原始信号分解成不同频率的子信号,使得原始信号的时序概况和细节部分尽可能多地被发现,因此成为当前分析时间序列的有效工具[20]。其流程如图2所示。

图2 小波变换流程图Fig.2 Process of wavelet transform

具体步骤为:

(1)小波分解:根据不同变量的数据特征选择最佳小波函数对含噪信号进行分解,本文使用了常见的haar、coif、sym、db 4种小波。

(2)阈值量化:为分解后每一层的高频系数选择合适的阈值,本文采用的是全局阈值。

(3)小波重构:根据第1层至第N层的高频系数和第N层的低频系数进行小波重构,最终实现降噪。

(4)降噪效果评价:一般来说,信号的信噪比(Signal to noise ratio, SNR)与估计信号同原始信号的均方根误差(Root mean squared error, RMSE)是评价降噪效果的标准,SNR越大,RMSE越小,降噪效果越好。

2.2 CNN-LSTM模型

2.2.1卷积神经网络

针对溶解氧影响因素多,且影响因子间存在复杂的耦合关系这一特点,本文使用 CNN 来挖掘输入变量间的潜在信息。它采用局部连接和共享权值的方式,通过卷积层和池化层交替使用来获取原始数据的有效表征,自动提取原始数据的有用特征形成特征向量[21-22]。构建卷积层和池化层的具体步骤为:

(1)确定输入样本尺寸,初始化卷积层和池化层中的卷积核尺寸和数量。

(2)将降噪后的数据输入CNN模型。

(3)通过改变池化层中卷积核的尺寸,对比最终结果,选择池化层中卷积核的最佳尺寸。

2.2.2长短时记忆神经网络

LSTM网络是循环神经网络(Recurrent neural network, RNN)的改进版本。标准的RNN结构中只有一个神经元、一个tanh层进行重复学习,而LSTM引入了“门”的结构来去除或者增加信息到细胞状态的能力[23-24],具体架构如图3所示。

图3 LSTM结构图Fig.3 Structure diagram of LSTM

σ层输出0~1之间的数值,描述每个部分可以通过的量。LSTM拥有3个门,即输入门、输出门和遗忘门,来保护和控制细胞状态。遗忘门决定从“细胞”中丢弃的信息,输入门决定将要更新的值,输入门和遗忘门协同更新细胞的信息编码。LSTM模型相应计算公式为

ft=σ(Wf[ht-1,xt]+bf)

(1)

it=σ(Wi[ht-1,xt]+bi)

(2)

Ct=tanh(WC[ht-1,xt]+bC)

(3)

C′t=ftC′t-1+itCt

(4)

ot=σ(Wo[ht-1,xt]+bo)

(5)

ht=ottanh(C′t)

(6)

式中it、ft、ot——输入门、遗忘门、输出门

xt——t时刻的输入

σ(·)——sigmoid激活函数

tanh(·)——双曲正切激活函数

Wi、Wf、Wo——输入门、遗忘门、输出门权重

WC——候选向量权重

bi、bf、bo——输入门、遗忘门、输出门偏置

bC——候选向量偏置

Ct——t时刻的候选向量

C′t——t时刻的候选向量更新值

ht、ht-1——t、t-1时间点模型的所有输出

2.2.3CNN-LSTM模型构建

CNN多用于特征工程,而LSTM在时序序列上作用效果显著。本文结合两类模型的各自特性,在LSTM网络的隐藏层之前加入卷积层和池化层,如图4所示。将溶解氧和另外4个影响因子串联成向量表示,形成了一个全新的时序序列输入模型,在卷积层和池化层进行特征提取形成特征向量之后进入LSTM模型。由于本文所使用的数据集时间间隔为5 min,则预测2 h后的溶解氧含量的步长即为24,具体步骤为:

图4 CNN-LSTM结构图Fig.4 Structure diagram of CNN-LSTM

(1)首先将训练集输入原始的LSTM模型进行训练,找出最适宜的隐藏层节点数。

(2)根据输入样本尺寸,在LSTM的隐藏层之前加入卷积层和池化层,初始化卷积层和池化层中的卷积核尺寸和数量。

(3)通过改变池化层中卷积核的尺寸,对比最终结果,选择池化层中卷积核的最佳尺寸,从而完成模型构建。

2.3 WT-CNN-LSTM模型

水产养殖溶解氧含量受多种因素影响且随时间呈非线性变化,为了捕捉因素间的长期依懒性,提高预测精度,结合以上算法,本文提出了基于WT-CNN-LSTM的水产养殖溶解氧预测模型,具体预测流程如图5所示。

图5 WT-CNN-LSTM流程图Fig.5 Flowchart of WT-CNN-LSTM

使用该模型进行水产养殖溶解氧预测的步骤为:

(1)设计试验方案,采集溶解氧含量、水温以及风速、风向、太阳辐射3种气象因子,总计5种参数作为数据集。

(2)依据该数据集中不同参数的特性选择合适的小波函数进行降噪处理。

(3)对数据集进行标准化,初步按照7∶3的比例分配训练集和测试集。

(4)初始化模型参数,将训练集输入至CNN-LSTM模型中,模型自身不断进行特征提取和参数优化,直至损失函数最小模型准确率最高或达到既定训练轮数时停止。

(5)输入测试集测试模型的性能,通过模型的评价指标,与其他模型进行对比,得出最优的水产养殖溶解氧预测模型。

2.4 对比模型

为了克服RNN无法对信息进行精细化处理的问题[25],HOCHREATER和SCHMIDHUBER在1997年提出了RNN的变体LSTM,而GRU[26]则是LSTM的一个变体。LSTM的重复网络模块的结构很复杂,它实现了3个门计算,即遗忘门、输入门和输出门,而GRU模型只包含2个门,如图6所示,分别为更新门(zt)和重置门(rt),结构更加简单。

图6 GRU结构图Fig.6 Structure diagram of GRU

更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多。重置门用于控制忽略前一时刻的状态信息的程度,重置门的值越小说明忽略得越多。GRU与LSTM十分相似,理论上来说,GRU比LSTM少一个门,这样就少几个矩阵乘法,在训练数据很大的情况下GRU能节省很多时间,但二者效果需要依不同应用场景而定。因此,本文将CNN-GRU、GRU、LSTM作为CNN-LSTM的对比模型,对模型的预测效果进行比较,最终得出最佳水产养殖溶解氧预测模型。

3 结果与分析

3.1 小波降噪

为了使每个变量的降噪效果达到最好,使用haar、coif、sym10和db5 4种小波函数分别对5种变量进行降噪处理,通过对比评价指标SNR和RMSE,寻找每个变量的最佳降噪小波函数,结果如表1所示。试验中,使用ddencmp函数获取序列在降噪过程中的默认阈值,此阈值为全局软阈值。

遵循SNR越高,RMSE越小,小波降噪效果越好的原则,依据表1得出的结果,最终确定的小波函数组合为:风向使用haar,风速和太阳辐射使用coif,溶解氧含量使用sym10,水温使用db5,降噪后的结果如图7所示。降噪后得到一个大小为9 681×5的数据集。

图7 基于组合小波函数的5种变量降噪的结果Fig.7 Results of noise reduction of five variables by combined wavelet function

表1 5种变量的降噪效果对比Tab.1 Comparison of noise reduction effects of five variables

3.2 试验结果分析

降噪后的数据集按照7∶3的比例分为训练集和测试集后,将训练集输入传统的LSTM模型中,设置不同的隐藏层节点数对比模型结果,如表2所示。模型的评价指标选择了平均绝对误差(Mean absolute error, MAE)、均方根误差(RMSE)和决定系数(R2)。R2越接近1,表明模型对数据拟合的效果越好。

从表2可以看出,当隐藏层节点数为1 000时,传统LSTM模型性能最好。然后,将卷积层和池化层添加至模型中,输入训练集,设置每次迭代时输入的样本数量为20,即batch_size 为20;由于采集数据的时间间隔为5 min,需要预测的是2 h后水产养殖溶解氧,因此本文设置每个输入样本的大小为24×5,即time_step 为24;卷积核个数设置为64个,即filters为64,且卷积核的大小都为5×1。对于每个输入样本,经过64个卷积核卷积之后样本从24×5变为24×1×64。本文选择的池化方式为最大池化,池化层尺寸对比结果如表3所示。

表2 隐藏层节点数对比Tab.2 Comparison of number of nodes in hidden layer

表3 池化层参数对比Tab.3 Comparison of parameters of pooling layer

从表3可以得出,当池化层尺寸为3时,模型拟合效果最好,因此,CNN-LSTM整个模型网络的结构如图8所示。

图8 CNN-LSTM模型网络结构图Fig.8 Structure diagram of CNN-LSTM network

模型构建完成后,为了研究训练集的尺寸对模型性能的影响,使用不同尺寸的训练集对模型进行如表4所示的试验。从表中可以看出,当训练集尺寸为8 500时,模型的性能最好。

图9 6个模型的预测结果Fig.9 Prediction results of six models

表4 训练集尺寸对比Tab.4 Comparison of size of training set

建立的WT-CNN-LSTM预测模型以及5个对比模型(WT-CNN-GRU、WT-LSTM、WT-GRU、LSTM、GRU)的性能对比如表5所示,6个模型的预测结果如图9所示,图中纵坐标表示的是将溶解氧含量标准化处理后的数值。可以看出,对LSTM模型来说,经过WT进行数据降噪后,模型的MAE和RMSE降低了11.86%和14.14%,R2提高了2.52%;再经过CNN对数据进行特征提取后,模型的MAE和RMSE降低了19.30%和8.03%,R2提高了2.03%,提高了模型的预测准确率。对GRU模型来说,WT使得模型的MAE和RMSE降低了14.42%和17.68%,R2提高了4.15%;然后加入CNN使得模型的MAE和RMSE降低了20.11%和16.41%,R2提高了1.94%。结果表明,6种模型中,WT-CNN-LSTM的性能最优,其MAE、RMSE和R2分别为0.138、0.229(比传统LSTM模型分别优化了28.87%、21.03%)和0.954,对数据的拟合效果(R2)依次比其他5种模型高0.85%、2.03%、2.80%、4.61%和7.07%。因此,本文提出的WT-CNN-LSTM模型能够很好地避免噪声影响,充分挖掘数据间的隐藏信息,较理想地预测2 h后的水产养殖溶解氧含量,为水产养殖溶解氧含量的预测预警提供了可靠的决策依据。

表5 模型性能对比Tab.5 Comparison of model performance

3.3 讨论

以上结果表明,本文提出的WT-CNN-LSTM表现出良好的预测性能。在未来的研究中,可以从以下3方面入手,进一步改进水产养殖溶解氧预测模型:①由于溶解氧含量受气象因素的影响较大,本次试验时间较短,难以保证气候情况的多样性,因此,下一步还需要设计长期或具有周期性的试验方案,构建更完善的数据集,增强模型的泛化能力。②由于溶解氧在不同季节的变化趋势不同,对预测模型的准确率也有一定影响[27],因此,采集数据时可分季节采集。同时,可为每个传感器配备专用的自动清洗装备,从根源处减少冗余数据。③与CNN和LSTM同属于第三代人工智能神经网络的脉冲神经网络(Spiking neural network, SNN)[28]被认为是能接近仿生机制的神经网络模型,其模型基础和运算方式与哺乳动物脑更为接近。SNN在特征工程上也被广泛应用,并取得了较理想的效果[29-31]。未来可探索SNN在水产养殖溶解氧预测中的可行性。

4 结束语

为了解决溶解氧影响因子过多、预测困难的问题,提出了WT-CNN-LSTM预测模型,进一步挖掘因子间的长期依赖性,提高预测精度。针对水产养殖溶解氧的时序性和非线性,选择广泛应用于时间序列预测、且性能优越的长短时记忆神经网络(LSTM),预测2 h后的溶解氧含量;针对数据采集过程中存在的由环境因素、人为因素和系统因素产生的噪声数据,提出了基于不同小波函数组合的小波变换(WT)方法,尽可能减少数据集中的噪声,为建立精准预测模型提供可靠数据支持。结果表明,降噪后,模型对数据的拟合精度 (R2)提高了2.52%;使用卷积神经网络(CNN)挖掘并保存各变量与水产养殖溶解氧之间的潜在信息,将模型的拟合精度提高了2.03%, WT-CNN-LSTM模型预测效果良好,其MAE、RMSE和R2分别为0.138、0.229和0.954,比传统LSTM模型分别优化了28.87%、21.03%和4.61%。

猜你喜欢

池化层溶解氧水产
搞养殖,我们都看《当代水产》
搞养殖,我们都看《当代水产》
加油!水产人!
东平湖溶解氧及影响因素分析
改进深度卷积神经网络及其在变工况滚动轴承故障诊断中的应用
如何保证精养池塘充足的溶解氧
基于卷积神经网络的纸币分类与点钞
浅析水中溶解氧的测定
基于深度学习卷积神经网络的人体行为识别研究
大咖点评:2020年水产动保谁主沉浮?