摘要
针对小样本数据下氨氮浓度模型预测精度不高、收敛速度较慢的问题,采用长短期记忆网络(long short-term memory,LSTM)建立氨氮浓度预测模型,并利用贝叶斯优化算法和元学习机制对模型进行优化。其中贝叶斯优化算法用来优化预测模型的超参数,同时给出模型参数的初始值,再使用Meta-LSTM算法学习模型梯度并允许优化器之间进行参数共享和更新,最终实现对氨氮浓度预测模型的优化。将该方法与LSTM、GRU和RNN模型进行对比试验,结果显示,研究所建模型对氨氮浓度预测的均方根误差、平均绝对误差和均方误差分别为0.027 6、0.023 9和0.000 76,均优于其他预测模型。表明基于贝叶斯和元学习的氨氮浓度预测模型对小样本数据建模有效,可以实现网络快速收敛,精度满足水产养殖中氨氮浓度预测需求。
关键词
水产养殖是渔业发展中必不可少的部分,渔业的快速发展对养殖技术的要求不断提
国内外学者在水质预测领域已有很多研究成果。如王魏
近年来,随着信息技术的发展,数据可以实时获取,部分学者从数据预处理和优化模型参数入手提高模型精度。如李先鹏
本试验中使用的数据来源于2017-2019年大连某养殖企业,每天监测1组,
日期 Data | 温度/°C Temperature | 盐度/% Salinity | pH | 亚硝酸盐质量浓度/(mg/L) Nitrite concentration | 氨氮质量浓度/(mg/L) Ammonia nitrogen concentration |
---|---|---|---|---|---|
2017/08/11 | 26.00 | 31.00 | 7.80 | 0.017 1 | 0.099 7 |
2017/08/12 | 27.00 | 32.00 | 7.80 | 0.009 5 | 0.113 3 |
2017/08/13 | 26.60 | 30.00 | 7.80 | 0.013 7 | 0.074 5 |
. | . | . | . | . | . |
. | . | . | . | . | . |
. | . | . | . | . | . |
2019/12/29 | 13.20 | 34.00 | 7.40 | 0.047 8 | 0.079 3 |
2019/12/30 | 13.20 | 35.00 | 7.50 | 0.084 3 | 0.065 9 |
2019/12/31 | 13.20 | 36.00 | 7.40 | 0.091 4 | 0.036 5 |
数据集包含日期、温度、盐度、亚硝酸盐质量浓度、氨氮质量浓度。基于前期文
1) LSTM神经网络的工作原理。氨氮浓度预测采用LSTM进行建模,相比传统循环神经网络,LSTM神经网络增加了记忆单元,并且引入3个门控单元实现记忆的更替。其原理图如

图1 LSTM神经网络原理图
Fig.1 Schematic diagram of LSTM neural network
LSTM神经网络由3个门控单元组成:
遗忘门:对记忆单元中的信息进行筛选:
(1) |
输入门:对每个神经元的状态进行更新:
(2) |
(3) |
式(
记忆更新是通过输入门和遗忘门一起完成,新记忆主要涉及遗忘门当中留下的记忆以及输入门引入的记忆:
(4) |
输出门:对神经元当前的状态进行更新,以确定下一个神经元的记忆:
(5) |
(6) |
式(
2) 基于贝叶斯和元学习的LSTM模型。为了实现对养殖水质数据的预测,划分数据为训练集、测试集及验证集,训练集数据的作用是对LSTM神经网络进行训练,通过L2正则化方法来避免网络出现过拟合的问题,验证集主要作为LSTM神经网络超参数的优化基础,测试集主要是针对训练之后的LSTM网络进行精度的预测。该模型主要包括3个阶段,首先是进行LSTM模型的训练,其次是在贝叶斯优化模型中将有优化需求的超参数传入以完成超参数的优化,同时完成优化的超参数对LSTM神经网络进行训练以获得初始化参数,然后在LSTM优化器中传入,通过LSTM元学习器针对性地优化参数,最后对完成优化的模型进行精度预测,

图2 基于贝叶斯和元学习的LSTM模型
Fig. 2 LSTM model based on Bayesian and Meta-learning
3) 贝叶斯优化算法。LSTM神经网路中,有一些是人为设置的超参数,比如学习率以及隐含层层数等,这些参数会对神经网络中的预测性能以及拓扑结构产生直接影响。由于调整LSTM模型参数时无法直接确定相应的目标函数,因此部分传统优化算法不适用。贝叶斯优化(BO)算法属于黑盒子优化算法,不要求目标函数的明确表达式,适用于LSTM模型的微调。
基于已知观测点和目标函数先验概率分布来进行后验概率分布的更新,再以此来寻找下一个极小值点,以确保极小值能够持续减小,保证超参数最优。贝叶斯优化目标定义为:
(7) |
设待优化超参数为X={x1,x2,...xn},贝叶斯优化迭代后数据集为Dt={(x1,f(x1)),(x2,f(x2))...(xn,f(xn))}。假设高斯过程观测点服从高斯分布,表达式为:
(8) |
(9) |
由贝叶斯定理可知:
(10) |
持续迭代更新使xmin=xt+1,最终确保超参数最优。算法流程如下:
输入:目标函数f,采集函数a;
输出:超参数向量x*;
① 初始化超参数向量x1;
② for t=1,2...,T do
③ 最大化采集函数,得到下一个评估点:xt+1=argxϵXmaxa(x|D);
④ 评估目标函数值yt+1=f(xt+1)+ϵt+1;
⑤ 整合数据:Dt+1=D∪(xt+1,yt+1),同时更新概率代理模型;
⑥ end for
4)元学习机制。元学习训练过程中,用训练集(DMeta-train)训练元学习器,使得LSTM神经网络优化器在测试集(DMeta-test)中得到较好的效果。元学习的数据集中包含多个训练集和测试集,训练集用于优化模型参数,测试集用于对模型参数和泛化能力进行评估。
元学习在训练集中进行训练,更新后的网络参数为:
(11) |
元学习的更新和LSTM单元状态的更新相似,具体公式如(4)所示。如果令ft=1,ct-1=θt-1,it=αt以及ct=▽θt-1Lt,就与元学习的更新公式相同。
因此,用LSTM作为元学习器进行训练网络中的更新规则的学习。把LSTM中的单元状态视为元学习器参数(Ct=θt),候选的单元状态是:ct=▽θt-1Lt。定义了输入门it和遗忘门ft,使元学习器基于各种更新进行学习率以及遗忘门最优参数值的确定,经过学习初始值,元学习器能够完成对最佳初始权重的确定,加快模型优化,对于输入门it,它的作用相当于学习率αt;对于遗忘门ft,它代表上一轮参数所占的权重,元学习器参数的状态为局部最优时,需要收缩当前参数并且遗忘之前的参数,才能更快地远离这个局部最优解,这样不仅学习了新的优化过程,还能对最优参数作为氨氮浓度模型的初始化参数进行学习,该初始化参数充当训练的最佳起点,能使优化过程加快。具体公式如式(
(12) |
(13) |
式(
5)基于贝叶斯和元学习的氨氮浓度预测模型。模型流程图如

图3 基于贝叶斯和元学习的氨氮浓度预测模型流程图
Fig.3 Flow chart of ammonia nitrogen concentration prediction model based on Bayesian and Meta-learning
整体模型流程图能够划分成超参数优化、输入层、隐藏层、输出层以及Meta-LSTM网络训练5个部分。在超参数优化部分使用贝叶斯优化算法寻找超参数,数据在输入层完成预处理,也就是划分数据集以及归一化。输出层进行输出的反归一化,计算模型的均方误差和平均绝对误差。
1)模型环境搭建及试验。基于贝叶斯和元学习的预测模型环境搭建采用机器学习中的SciPy、NumPy、Matplotlib、Pandas、Scikit-learn库和深度学习中的Theano、TensorFlow、Keras库。其中LSTM元学习器(Meta-learner)进行学习率以及遗忘门值的计算,并在更新参数的值返回,每次迭代计算测试集损失,在对LSTM元学习器进行训练时,基于贝叶斯优化的LSTM模型中的权重初始化LSTM元学习器,遗忘门的偏置设为1,用于启动梯度更新,同时让LSTM元学习器使用在贝叶斯优化后所得到的学习率进行初始训练。第1组试验采用Adam-LSTM算法、SGD算法与Meta-LSTM算法进行对比,同时将LSTM模型、基于贝叶斯优化的LSTM模型(LSTM-BO)以及基于元学习的LSTM模型(LSTM-MAML)与本研究所提出的模型进行预测结果对比;第2组试验采用RNN、GRU和本研究所提出的模型进行对比。第3组试验将支持向量机(SVM)、灰色预测模型(GM)与本研究所提出的模型进行对比。建立模型之后,使用TensorFlow中的函数保存训练完成的模型参数,方便直接使用。
2)数据归一化与参数共享。本研究采用的是多输入模型,为了避免量纲所带来的影响,使取值范围不断缩小,防止过大因数值给结果带来影响,对数据做归一化,具体公式为:
(14) |
(15) |
式(
数据归一化处理分为两步:第一标准化,对每列数据与最小值的间距以及该列数据最小值与最大值间距比例进行计算;第二在给定区间当中映射标准化数据。
为了避免元学习器(Meta-learner)的参数爆炸,本研究的模型使用一种参数在基学习器(Task-learner)的梯度坐标上共享,每个梯度坐标对应当前时刻的隐状态和单元状态值,这样LSTM元学习器学出来的更新规则使得每个维度的参数共享一套更新规则。由于共享参数,而每个维度的大小不一致,需要对此进行预处理,将维度大小进行标准化处理来调整梯度和损失的比例,公式如下:
(16) |
超参数优化以验证集的均方误差作为目标函数。超参数范围由经验及实验测得,隐藏层神经元数为2~20个,迭代次数为10~150次,学习率为0.000 1~0.5,网络层数为1~5层。贝叶斯优化算法初始点设置为20个,迭代次数设置10次;同时构建网格搜索法(grid search, GS)和随机搜索法(random search, RS)进行对比,每次优化取最优值作为结果。考虑运行时间,对比4次试验不同方法验证集目标函数值,结果如
试验次数 Times | GS | RS | BO |
---|---|---|---|
1 | 0.027 | 0.025 | 0.025 |
2 | 0.036 | 0.032 | 0.030 |
3 | 0.041 | 0.039 | 0.037 |
4 | 0.056 | 0.055 | 0.051 |
从
根据以上优化结果,确定本研究的模型参数为:Batch_size=16,学习率为0.001,epoch为30,并将优化器的L2系数设为0.01。
第1次试验采用温度、盐度、pH作为输入变量建立氨氮浓度预测模型,为了验证少量数据下Meta-LSTM算法优化效果,与 Adam-LSTM、SGD算法进行对比,Meta-LSTM算法优化后的氨氮浓度预测模型在小样本预测中有一定优势,结果如

图4 以氨氮质量浓度为输出的各优化算法预测结果
Fig.4 Prediction results of each optimization algorithm with ammonia as the output
同时将本研究所提模型(LSTM-BO-MAML)与LSTM模型、基于贝叶斯优化的LSTM模型(LSTM-BO)以及基于元学习的LSTM模型(LSTM-MAML)预测结果进行对比,本研究所提出的模型在优化超参数以及模型参数之后,预测精度有所提高,结果如

图5 以LSTM为基础的各改进模型预测结果
Fig.5 Prediction results of various improved models based on LSTM
为了评估模型的预测效果,第2次试验将本研究所提出的模型(LSTM-BO-MAML)与LSTM、RNN、GRU模型预测结果进行对比(

图6 常用深度网络模型预测结果
Fig.6 Prediction results of commonly used deep network models
试验中加入全部样本数据对模型进行训练后,LSTM神经网络模型的损失函数如

图7 损失函数图
Fig.7 Loss function diagram
为了进一步验证本研究所建模型(LSTM-BO-MAML)在小样本数据下的预测精度,与支持向量机模型(SVM)、灰色预测模型(GM)进行对比,将温度、盐度、pH作为输入变量,氨氮质量浓度为输出变量,LSTM-BO-MAML模型预测结果较SVM和GM模型更准确,表明本研究所建模型在小样本数据下的预测精度较高,结果如

图8 常用少样本学习算法预测结果
Fig.8 Prediction results of commonly used few sample learning algorithms
模型评价采用均方根误差(RMSE)、平均绝对误差(MAE)、均方误差(MSE),公式如下:
X | (17) |
(18) |
(19) |
在预测值以及真实值之间,这些指标主要是从误差的比例以及大小来对模型进行分析,可以使预测误差特征得到整体体现。通过这3个指标来对本研究提出的预测模型进行评估,各模型的具体评价结果见
模型 Model | 均方根误差RMSE | 平均绝对误差MAE | 均方误差MSE |
---|---|---|---|
GM | 0.028 1 | 0.024 1 |
0.000 79
|
SVM | 0.027 8 | 0.023 7 | 0.000 77 |
RNN | 0.035 3 | 0.028 9 | 0.001 20 |
GRU | 0.031 6 | 0.025 9 | 0.000 99 |
LSTM | 0.031 1 | 0.025 5 | 0.000 96 |
LSTM-BO | 0.029 9 | 0.024 9 | 0.000 89 |
LSTM-MAML | 0.027 9 | 0.024 2 | 0.000 78 |
LSTM-BO-MAML | 0.027 6 | 0.023 9 | 0.000 76 |
与常用小样本学习算法灰色预测模型(GM)和支持向量机(SVM)进行模型预测结果对比,可以看出,几种模型在少样本数据下预测精度相差不大,灰色预测模型(GM)均方根误差较LSTM模型降低了9.64%,支持向量机(SVM)均方根误差较LSTM 模型降低了10.6%,本文所建模型均方根误差较LSTM模型降低了11.25%。但本研究提出的模型通过较少迭代次数就达到收敛效果,模型误差较低,更适用于长期模型的建立与修正。与常用深度网络RNN、GRU模型进行对比评价,LSTM模型的均方根误差低于RNN模型和GRU模型,本研究提出的模型误差较RNN模型、GRU模型和LSTM模型均有所下降,表明预测效果更好。
由于海水养殖中水质环境复杂,对预测准确度要求严格,同时在数据不足的情况下,模型无法做到精确的预测,本研究提出了基于贝叶斯与元学习的氨氮浓度预测模型。相比于其他预测模型,LSTM-BO-MAML模型既有快速的收敛能力又有较高的预测精度,通过对LSTM模型超参数和模型参数进行优化,提高了循环神经网络模型的预测精度和泛化能力,通过较少迭代次数达到收敛效果,模型训练30次后损失函数趋于平稳。本研究提出的方法更加适合于小样本数据,然而水质环境的影响因素还有很多,如何进一步获取其他可测因子,提高模型精度和模型优化的改进方法也是下一步要研究的课题。本研究所提出的建模和优化方法主要针对水产养殖过程,能否拓展到其他领域还需要进一步验证。
参考文献References
王静香,李纪岳,李树君,等.我国水产养殖标准化探索[J].中国水产,2019(4):31-34.WANG J X,LI J Y,LI S J,et al.Exploration on standardization of aquaculture in China[J].China fisheries,2019(4):31-34 (in Chinese). [百度学术]
张成林,徐皓,王世明,等.基于大型渔业平台的深远海渔业发展现状与思考[J].中国农学通报,2020,36(25):152-157.ZHANG C L,XU H,WANG S M,et al.Offshore fisheries based on large-scale fishery platform:development status[J].Chinese agricultural science bulletin,2020,36(25):152-157 (in Chinese with English abstract). [百度学术]
朱日同.集约化养殖水体氨氮危害及调控措施[J].河南水产,2018(3):5-7.ZHU R T.The harm and controlling measures of ammonia nitrogen in intensive aquaculture water[J].Henan fisheries,2018(3):5-7 (in Chinese with English abstract). [百度学术]
刘桂芳.水产养殖中氨氮和亚硝酸盐氮的危害及防治[J].养殖与饲料,2018(5):37-38.LIU G F.Harm and prevention of ammonia nitrogen and nitrite nitrogen in aquaculture[J].Animals breeding and feed,2018(5):37-38 (in Chinese). [百度学术]
王魏,郭戈.基于随机配置网络的海水养殖氨氮浓度软测量模型[J].农业机械学报,2020,51(1):214-220.WANG W,GUO G.Soft measurement model for ammonia nitrogen concentration in marine aquaculture based on stochastic configuration networks[J].Transactions of the CSAM,2020,51(1):214-220 (in Chinese with English abstract). [百度学术]
ZHOU J E,QI G H,LIU C Z.A chaotic parallel artificial fish swarm algorithm for water quality monitoring sensor networks 3D coverage optimization[J/OL].Journal of sensors,2021,2021:5529527[2022-09-30].https://doi.org/10.1155/2021/5529527. [百度学术]
DEHGHAN-SHOAR M H,ORSI A A,PULLANAGARI R R,et al.A hybrid model to predict nitrogen concentration in heterogeneous grassland using field spectroscopy[J/OL].Remote sensing of environment,2023,285:113385[2022-09-30].https://doi.org/10.1016/j.rse.2022.113385. [百度学术]
李先鹏,吴若男,王魏,等.基于小波降噪和LSTM的海参养殖氨氮预测[J].控制工程,2022,29(4):587-592,626.LI X P,WU R N,WANG W,et al.Prediction of ammonia nitrogen concentration in sea cucumber aquaculture water based on wavelet denoising and LSTM[J].Control engineering of China,2022,29(4):587-592,626(in Chinese with English abstract). [百度学术]
冯良记,唐军.改进遗传算法在高非线性水质模型参数估值中的应用研究[J].水利与建筑工程学报,2009,7(2):11-13.FENG L J,TANG J.Research on application of modified genetic algorithm in parameter estimation of highly non-linear water quality model[J].Journal of water resources and architectural engineering,2009,7(2):11-13 (in Chinese with English abstract). [百度学术]
唐亦舜,徐庆,刘振鸿,等.基于优化非线性自回归神经网络模型的水质预测[J].东华大学学报(自然科学版),2022,48(3):93-100.TANG Y S,XU Q,LIU Z H,et al.Prediction of water quality based on the optimized nonlinear auto-regressive neural network model[J].Journal of Donghua University (natural science edition),2022,48(3):93-100(in Chinese with English abstract). [百度学术]
王魏,邓长辉,关晓燕,等.水产养殖溶氧浓度软测量模型研究进展[J].渔业现代化,2015,42(6):26-30.WANG W,DENG C H,GUAN X Y,et al.Research progress on the soft-sensing model fordissolved oxygen in aquaculture[J].Fishery modernization,2015,42(6):26-30 (in Chinese with English abstract). [百度学术]