APP下载

基于自注意力机制和CNN-LSTM深度学习的对虾投饵量预测模型

2022-05-23何津民张丽珍

大连海洋大学学报 2022年2期
关键词:投饵对虾特征提取

何津民,张丽珍,2*

(1.上海海洋大学 工程学院,上海 201306;2.上海海洋可再生能源工程技术研究中心,上海 201306)

近年来,中国的对虾养殖发展迅速[1-3],南美白对虾因其具有成活率高、生长速度快、适应范围广等特点,已成为中国主要的养殖虾种[4]。养殖过程中,过多的投饵量会导致养殖成本的增高及水环境的污染,反之,投饵量过少则无法满足对虾的基本生长需求,影响其生长速度[5-7]。

对虾养殖的投饵量大多通过养殖人员多年的养殖经验确定,但据此确定的投饵量往往存在主观性,会出现较大误差。因此,建立准确的预测模型对投饵量进行预测具有重要意义。由于养殖过程中投饵量受到诸如对虾质量、数量、水温和溶解氧含量等众多内外因素的影响,且各因素间存在复杂的相互关系,故难以建立传统的数学模型对投饵量进行预测。因此,研究人员使用基于BP神经网络的预测模型对水产养殖投饵量进行预测[8-10],如杨加庆[8]设计了一个用BP神经网络不断训练优化的对虾投饵量影响系数的模糊神经控制系统,以水温和溶解氧作为模型输入,以对虾投饵量的影响系数作为模型输出,在对虾生长模型基础上联合该输出计算得到对虾投饵量。然而,结合BP神经网络的投饵量预测方法存在一些共性缺点,就是容易过度学习,从而导致过拟合及预测模型的稳定性差。

近年来,深度学习进入快速发展时期,与传统的机器学习和BP神经网络方法相比,其具有更强的数据挖掘能力和泛化拟合能力。其中,长短期记忆网络(long short term memory,LSTM)因具有较好的保存记忆时间序列数据的能力而被广泛应用于各行业的时序预测,如天气预测、能源消耗预测及溶解氧预测等,Karevan等[11]提出了Transductive LSTM预测模型,利用局部信息进行数据驱动对天气进行预测,并取得了较好的效果。Dabrowski等[12]使用pH和水温作为模型输入,基于LSTM模型对溶解氧进行预测,与其他模型相比,LSTM的精度最高。Laib等[13]提出根据负载行为建立全面的LSTM模型预测天然气消耗,所提出的方法与一些传统方法相比,预测的准确性得到显著提高。陈英义等[14]提出了一种基于主成分分析的LSTM水产养殖溶解氧预测模型,满足了水产养殖溶解氧预测的基本要求。虽然这些预测模型都能满足基本的预测需求,但是输入的数据序列越长,LSTM特征提取能力越不足的缺点就会显现出来。针对以上问题, Huan等[15]首先使用梯度提升决策树对数据序列进行特征选择,然后将得到的序列数据输入至LSTM中对溶解氧进行预测,并使用交叉验证网格优化算法对模型参数优化,使该模型具有较好的预测效果和更高的预测精准性;Kim等[16]先使用卷积神经网络(convolutional neural network,CNN)提取影响能量消耗的复杂特征,再利用LSTM对不规则趋势的时间信息进行建模预测,提出的CNN-LSTM 方法实现了几乎完美的电能消耗预测性能。使用LSTM预测模型及其优化的预测模型在许多领域实现了准确度更高的时序预测任务。但目前鲜有基于LSTM模型在水产养殖投饵量预测的应用研究。由于对虾养殖投饵量的数据同样具有时序特征,且考虑到在对虾不同生长时期所需要的投饵量不同的规律,故可以在LSTM预测模型的基础上进行优化改进,搭建准确性更高的对虾投饵量预测模型。

本研究中,提出了基于自注意力机制(self-attention,ATTN)和CNN-LSTM对虾投饵量预测模型,以实验室的对虾养殖投饵量数据为试验数据来训练模型和评估模型性能,并将预测结果与3个基准模型进行对比,以期能得到稳定性更好的对虾养殖投饵量预测方法,为对虾养殖的投饵量管理调控提供参考依据。

1 数据获取和预处理

1.1 数据获取

在对虾养殖中,对虾的质量和数量是影响对虾饵料消耗的主要内在因素,水温及溶解氧含量是影响对虾摄食的主要环境因素[17-18]。本研究中,选择对虾的质量、数量、水温及溶解氧含量作为模型的输入,并在对虾养殖投饵过程中记录这些数据。用于投饵量预测的试验数据,来自实验室对虾养殖水箱2020年7月1日—2020年9月15日的饵料投喂记录。试验系统如图1所示。

图1 试验系统

在进行试验之前,于2020年6月20日将虾苗放于水箱中,提前适应养殖环境。每日6:00和18:00各进行一次投饵。在每次投饵时,利用传感器采集水温及溶解氧含量。由于对虾的质量在短时间内变化不大,不需要在每次投饵时进行质量采集,故两天称重一次,记录对虾的平均体质量。由于对虾养殖期间会有死亡,故在每次投饵时记录对虾的数量。对虾自由游泳进行连续摄食,直到对虾对掉落的饵料无任何反应或者当饵料掉落水箱底部时停止投饵,最后将投饵前后饵料质量相减得到对虾投饵量。试验采集的部分数据如表1所示。

表1 试验期间采集的部分原始数据

1.2 数据归一化

不同类型的数据有着不同的度量范围,范围较大的数据会削弱范围较小的数据作用。如果用原始数据进行模型训练,不仅会影响模型的学习速度,还会影响模型的预测性能和稳定性。因此,在进行学习训练之前使用公式(1)将所有数据进行归一化处理,以降低不同度量范围数据对预测模型的影响。

x=(x′-xmin)/(xmax-xmin)。

(1)

其中:x′为原始数据;xmax和xmin分别为数据集中的最大值和最小值;x为处理之后得到的数据,取值范围为[0,1]。

2 模型构建

2.1 卷积神经网络(CNN)

CNN是一个参数少、局部链接的前馈神经网络。CNN的实质是利用滤波器对数据进行特征提取得到特征向量,并使用激活函数解决分类或者回归问题[19]。由于对虾投饵量的影响因素较多,且各因素间有着复杂的耦合关系,故本研究中使用CNN挖掘输入数据间的内在联系。首先使用卷积层提取和过滤输入的数据特征,然后使用池化层筛选数据特征,进而降低特征提取后的数据维度。其中,卷积层的激活函数选择RELU,因为RELU与其他的激活函数(sigmoid函数和tanh函数)相比可以抑制过拟合,且运算速度较快。RELU激活函数的表达式为

(2)

2.2 长短时记忆神经网络(LSTM)

LSTM是递归神经网络(recurrent neural network,RNN)的一个改进版本,LSTM通过引入门控结构控制信息传递的路径,从而有效记忆保存时序数据特征[15]。

图2 LSTM的神经元结构

it=σ(Wixt+Uiht-1+bi),

(3)

ft=σ(Wfxt+Ufht-1+bf),

(4)

ot=σ(Woxt+Uoht-1+bo),

(5)

(6)

(7)

htot=tanh☉ct。

(8)

其中:W、U为权重矩阵;b为偏差矩阵;σ为sigmoid激活函数;☉为向量元素乘;tanh为双曲正切激活函数;ft、it、ot分别为遗忘门、输入门和输出门。

2.3 自注意力机制(self-attention,ATTN)

注意力是人类的一种独有的认知能力,指人可以在关注某些信息的同时选择性地忽略一些非重要信息[16]。注意力机制是将有限的资源用来处理更加重要的有效信息,其核心是让神经网络在不同的时间节点上可以注意到它需要着重注意的地方,从而提高模型的准确性。自注意力是注意力机制的一种变体[20],尽可能地使用数据特征内部固有的信息进行注意力的交互,其基本结构如图3所示。

图3 自注意力机制的基本结构

(9)

本研究中的自注意力机制主要是为了获取对虾不同生长阶段时间序列数据的重要程度,进而提高对虾投饵量预测模型的准确性。

2.4 CNN-LSTM-ATTN投饵量预测模型

在养殖过程中,对虾的投饵量是一组随着对虾生长时间变化且受到多因素影响而呈现非线性变化的时间序列数据,故在投饵量预测任务中,不仅需要考虑输入参数间的联系,还需考虑投饵量在时间维度的变化。由于LSTM在时间序列数据的预测能力较好,且有着较好的保存记忆非线性时间序列数据的能力,所以使用LSTM模型作为基准模型。为了解决由于输入参数较多使得模型的特征提取能力欠缺导致模型的稳定性不足,以及梯度爆炸或消失等问题,引入CNN模型,对输入的投饵量时间序列数据进行特征提取,并挖掘数据内部的深层联系。由于使用CNN进行特征提取后的时间序列数据仍然具有时间序列特性,所以将经过CNN特征提取得到的输出直接作为LSTM的输入。本模型以串联的方式将CNN和LSTM连接起来,构建CNN-LSTM预测模型。考虑到对虾在不同生长阶段的投饵量会呈现显著差异,而且自注意力机制可以全面获取时间序列数据信息,学习不同时间节点的时间序列的重要程度,最终降低模型非重要时间序列的影响力,提高模型的预测精准性,在上述构建的CNN-LSTM预测模型的基础上加入ATTN,以降低对虾在不同生长阶段的投饵量差异对预测模型造成的预测误差。具体预测流程如图4所示,使用该模型进行对虾投饵量预测的具体步骤如下:

图4 基于CNN-LSTM-ATTN的投饵量预测流程图

1)将通过养殖试验获取的数据进行归一化预处理,并按照8∶2的比例划分训练集和数据集。

2)设定网络的初始化超参数,将训练集输至CNN-LSTM-ATTN模型中,模型不断自适应优化参数,并进行特征提取和学习训练,直到损失函数趋向收敛,预测模型最精准时或者达到预设定的训练轮数时停止。

3)将划分的测试集输入至训练得到的模型,得到测试集的预测结果,将模型的性能评价指标与其他基准预测模型进行对比分析,得到预测性能最优的对虾投饵量预测模型。

2.5 模型性能评价指标

单一的评价标准在实际应用方面存在局限性,较难全面综合衡量评估模型。本研究中采用均方根误差(root mean square error,RMSE)、平均绝对误差(mean absolute error,MAE)和平均绝对百分误差(mean absolute percentage error,MAPE)这3个模型性能评价指标衡量不同模型的稳定性和性能,其计算公式为

(10)

(11)

(12)

RMSE、MAE和MAPE 指标的取值范围均为[0,+∞),RMSE值越小,表示模型的预测能力越好,更接近实际值,MAE和MAPE值越小,表示模型的稳定性越好。

3 对虾投饵量预测

3.1 模型结构和部分参数设置

CNN-LSTM-ATTN对虾投饵量预测模型主要由输入层、卷积层、LSTM层、ATTN层、全局平均池化层、全连接层和输出层组成。由于自适应矩估计(adaptive moment estimation,Adam)具有收敛速度快和学习能力好两个优点,故本预测模型均使用Adam优化算法对模型进行优化训练。为了减少人为因素对预测模型的影响,调整模型的参数进行多次训练试验,得到CNN-LSTM-ATTN预测模型的最优参数。

首先,使用对虾投饵量数据对传统LSTM模型进行训练,结果如表2所示。从表2可知,当LSTM层的神经元个数为16时,3个评价指标的值最小,此时LSTM模型的准确性和稳定性最好。然后,将卷积层和池化层顺序接在LSTM模型的前面,经过卷积层和池化层特征提取的数据直接作为LSTM的输入,构建CNN-LSTM预测模型,先将卷积步长设为1,调整卷积核个数后经过多次训练试验,结果如表3所示。

表2 不同神经元个数的LSTM模型对比

表3 不同卷积核个数的模型对比

从表3可知,当卷积步长为1,卷积核个数为16时,模型的预测性能最好。将卷积核个数设为16,调整卷积步长后进行训练试验,结果见表4。

从表4可知,当卷积核个数为16,卷积步长为1时,模型的预测性能最好。在上述试验训练中,模型训练的损失函数选择均方误差(mean square error,MSE)。当模型次数达到80次时,损失函数的误差均趋向于收敛。在上述CNN-LSTM预测模型基础上再加入ATTN,因为池化层顺序接至卷积层后,自注意力将无法进行输入,所以将池化层接在自注意力机制层的后面,该连接方法的作用与卷积层、池化层顺序连接所起的作用是相同的。综合上述训练试验,CNN-LSTM-ATTN预测模型的部分参数设置如表5所示。

表4 不同卷积步长的模型对比

表5 CNN-LSTM-ATTN预测模型参数设置

3.2 结果与分析

图5为本研究中提出的CNN-LSTM-LSTM模型的损失函数变化曲线,随着训练过程中训练次数的增加,训练集和测试集的损失变化曲线均为逐渐减小且最终趋向于0,当训练次数达到20次以上时,测试集的损失变化曲线不再下降,得到最终的预测模型。

图5 模型的损失函数变化曲线

在对虾投饵量预测的国内外研究中,多使用BP神经网络进行预测研究,为了验证本模型的优势,将CNN-LSTM-ATTN模型与LSTM、CNN-LSTM和BP 3个基本模型进行对比。图6为各预测模型投饵量的预测结果和实际投饵量(actual)的比较,其中,横坐标是样本数,共24组测试数据,纵坐标为投饵量。从图6可知,BP和LSTM模型的预测结果较为接近,经过CNN对数据进行特征提取后,CNN-LSTM的预测结果比单一的LSTM和BP模型更加接近实际值。在CNN-LSTM模型基础上加入自注意力机制后的CNN-LSTM-ATTN模型拟合度再次得到提高,尽管有个别样本的预测结果不如其他模型的预测结果,但总体上最接近实际投饵量曲线,拟合程度最优。

图6 4个模型的预测值和实际值的比较

4个模型的性能评价指标值如表6所示,BP模型与LSTM模型相比,BP模型的RMSE值略低于LSTM模型,但 MAE和MAPE值则均大于LSTM基准模型,由此可以看出,BP和LSTM这两个对虾预测模型的预测能力十分接近;相较于原始的LSTM预测模型,CNN-LSTM预测模型的RMSE、MAE及MAPE值都有一定程度的下降,因此,CNN-LSTM的预测精度得到了提高;CNN-LSTM-ATTN预测模型的性能评价指标RMSE、MAE和MAPE值在所有对比的模型中均为最低值,这说明CNN-LSTM-ATTN模型的投饵预测量最接近实际投饵量。

表6 不同模型的性能对比

4 讨论

4.1 模型的选择与构建

在深度学习发展高速时期,先后诞生了许多可以用于时序数据预测的神经网络模型,如循环神经网络(recurrent neural network,RNN)、LSTM、门控循环单元(gate recurrent unit,GRU)等。LSTM与RNN、GRU相比,不仅同样可以处理时间序列任务,而且还有更好的记忆能力以及可缓解其他模型在训练时存在的梯度爆炸问题,故可以选择LSTM作为基准模型。LSTM虽然在时序数据的记忆保存能力方面较为优秀,但对数据特征提取的能力稍显不足。Chen等[21]利用CNN的自动编码器与LSTM相结合,进行二维区域风速预测,该CNN-LSTM模型的RMSE值在LSTM模型基础上降低了18.9%。Yan等[22]利用基于时空聚类的CNN-LSTM模型,建立了北京市空气质量的多时间、多点预测模型。这些结果均表明,无论基于时间或空间的预测方法,CNN-LSTM通常比LSTM有着更好的预测性能。这些结果与本研究中结果一致,本研究中经过CNN特征提取后的CNN-LSTM预测模型的精准性优于LSTM预测模型。但是,本研究中的预测对象对虾投饵量有一个独有的特征,即在不同的生长阶段对虾的投饵量有显著增长变化,以往的预测模型并未考虑到这个特征。

自注意力机制已经在图像处理、目标检测及机器翻译等领域都表现出极为出色的能力,并能提高许多深度学习模型的性能,但是目前尚未见结合其他深度学习模型进行时序数据预测的相关报道。本研究中,使用自注意力机制突出自身数据特征信息在不同时间节点上重要程度的能力,进一步优化CNN-LSTM模型来契合对虾养殖投饵量的规律,并对投饵量进行预测,结果显示,CNN-LSTM-ATTN模型的性能评价指标RMSE、MAE和MAPE值在所有进行对比的模型中均为最低值,分别比未经过自注意力机制优化的CNN-LSTM预测模型降低了36.15%、27.32%和25%。由此可见,与其他模型相比,CNN-LSTM-ATTN模型确实有着更高的准确性及更好的稳定性。

4.2 对虾养殖投饵量模型的可行性

目前,确定水产养殖的投饵量往往依据试验数据,即进行多次投饵试验,将多次的试验结果进行比对得到最优的投饵量,这些试验得到的投饵量反映不出投饵量与影响因素间的映射关系,结果容易受到投饵者的主观经验影响。为解决上述问题,陆天辰[9]设计了以投饵时对虾的声音信号计算得到的摄食量,即以当次投饵量和摄食时间为输入,下次投饵量为输出的BP神经网络。但是该方法使用的数据时长较短,并不确定是否可以满足对虾整个生长周期的需求。Chen等[10]提出来一个基于思维进化算法(mind evolutionary algorithm,MEA)的BP投饵量预测模型(MEA-BP),通过MEA优化BP神经网络的权重和阈值对虹鳟投饵量进行预测,该方法的RMSE、MAE和MAPE分别为6.89、6.17和0.04。本研究中提出的CNN-LSTM-ATTN预测模型的RMSE、MAE和MAPE值分别为0.816、0.681和0.018,均优于之前提出的投饵量预测模型。

本研究中的预测模型是使用深度学习模型对对虾养殖整个生长周期投饵量进行预测研究的首次尝试,该模型的优势是可以挖掘影响对虾投饵量的几个主要影响因素间的内在联系,然后对这些影响因素进行特征提取,以便于模型后续的学习训练,且模型不易在学习训练过程丢失特征提取得到的数据信息,可以较好地契合对虾投饵量的规律。经过试验数据学习训练预测模型,最终验证了该模型拥有更加优秀的回归拟合能力及更加可靠的模型稳定性,实现了实验室对虾养殖投饵量预测的初始目标。该预测模型可以自动建立和学习对虾投饵量与影响因素间的映射关系,避免了传统方法的主观性。这说明,利用CNN-LSTM-ATTN模型预测对虾养殖投饵量是切实可行的,不仅可以为池塘对虾养殖的投饵量管理调控提供参考依据,而且还可以促进水产养殖和人工智能多学科交叉研究发展,加速智能化养殖的进步。

5 结论

1)本研究中提出的CNN-LSTM-ATTN预测模型,可以对对虾投饵量的多种影响因子特征进行自动提取和长期保存记忆,根据对虾在不同生长周期所需投饵量不同这一规律,较为精准地预测了12 h之后的对虾养殖投饵量,预测精准度和模型的稳定性较高,为水产养殖投饵量预测提供了一种全新思路。

2)CNN-LSTM-ATTN预测模型仅仅考虑了几个主要的影响对虾投饵量的因素,没有考虑其他一些次要影响因子,如pH、盐度、投饵频率等。因此,在后续的研究中,可以加入更多的输入变量进一步优化预测模型,提高对虾投饵量预测精度。此外,本研究中仅使用了实验室养殖池的养殖数据来验证模型,下一步可收集生产性虾塘养殖的数据验证该模型在虾塘养殖环境的可行性。

猜你喜欢

投饵对虾特征提取
同步定位与建图特征提取和匹配算法研究
对虾养殖弱势群体的管理
对虾吃料慢的原因分析和处理
斗 虾
观赏鱼喂食须知
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
可爱的对虾
基于曲率局部二值模式的深度图像手势特征提取
高效养鱼投饵技术要点
淡水鱼苗放养与饲养管理技术