植物工厂是指在密闭或者半密闭条件下,通过对环境的高精度控制,实现作物在垂直立体空间上周年计划生产的高效农业系统,是设施农业的最高发展阶段
[1-3]。在植物工厂中,可精准调控温度、湿度、光照和其他生长因素,保持作物的稳定种植,并在作物不同阶段提供其所需的营养物质,促进作物生长
[4-5]。生菜作为设施农业种植的首选
[6],其产量进行精准预估对我国人民生活品质保障格外重要。植物工厂中生菜生长发育受营养液配方、光照强度、湿度等因素影响。
为了准确预估作物的产量,以促进农业科技进步和优化资源配置,机器学习算法结合环境参数的方法也被使用在产量预估中,其中BP神经网络作为目前最为广泛的人工神经网络之一,被应用在多种作物的产量预测中
[7-9]。SUDHANSHU等
[10]以3 a的玉米光谱植被指数为基础使用神经网络的技术对玉米产量进行预测,之后通过图像处理技术提高产量的预测精度。陈远玲等
[11]对比遗传算法优化神经网络模型和传统BP神经网络模型对甘蔗产量的预测精度,得出经遗传算法优化过后的BNP神经网络具有较高预测精度的结论。孙少杰等
[12]以遥感数据为基础,结合卷积神经网络和BP神经网络,实现县级尺度下的冬小麦产量预测。戴建国等
[13]基于遥感数据,提出一种卷积神经网络和双向长短期记忆的混合模型,实现了时间序列的棉花产量预测。国内外学者通过将环境参数、生物参数等作物生长的相关参数作为输入变量,对小麦、马铃薯、甘蔗、番茄、棉花等产量的预测效果进行分析
[14-15]。但直接以种植数据为基础,对生菜生理指标预测的研究鲜有。本研究以植物工厂中实际种植作为基础,提出基于麻雀搜索算法优化BP神经网络技术的水培生菜生理指标预测方法,利用麻雀搜索算法对神经网络中阈值和权值寻优,最优权值和阈值情况下使用BP神经网络建立环境因素与生菜最长叶长、叶片数和株高之间的预测模型,以期为植物工厂条件下生菜生产的整体营养调整及决策提供技术支撑,推动数字农业精准化。
1 理论与方法
1.1 BP神经网络
BP神经网络是一种多层前馈神经网络。传统BP神经网络算法处理信息的神经元可分为3层:输入层、隐含层、输出层,每层的神经元相互连接,输入层的神经元将信息通过权值分配后传递给隐藏层中的每个神经元节点,之后根据问题的复杂程度,采用单层或多层的隐含层层数对信息进行非线性处理和转换,最后将信息传递到输出层的神经元,完成计算结果的输出。因此,隐含层节点数的选择是BP神经网络模型性能的关键之一,本试验采取经验公式与试错法确定隐含层节点数,公式为:
式中,为隐含层的节点数;为输入层的节点数;为输出层的节点数;C为1的常数。
BP神经网络具有很强的非线性映射能力,可映射任意复杂的非线性关系,但传统BP神经网络算法的权值和阈值是随机生成,可能会导致算法结果陷入局部最优
[16];且在训练时,大量重复试验和仿真用于确定神经网络的结构,易造成过度训练。
1.2 麻雀搜索方法
麻雀搜索算法(Sparrow search algorithm,SSA)是XUE等
[17]2020年提出的一种全新群体智能优化算法。以麻雀捕食行为和逃避被捕食行为启发而设计,主要原理为:麻雀在捕食过程中为保证获取食物的最高效率,自身在发现者、加入者以及侦察者3个身份中更换,利用三者间的关系实现优化搜索的目的
[18]。与近年来新型算法相比,麻雀搜索算法具有较好的全面搜索性且在寻优过程中具有非常快的收敛速度的优点
[19]。使用麻雀搜索算法对神经网络中权值和阈值寻优,优化传统BP神经网络权值和阈值随机生成的问题,避免BP神经网络算法结果陷入局部最优。
2 试验方案
为获取模型训练所需的样本数据,本试验以生菜为供试材料,在云南农业大学植物方舱进行水肥耦合试验。
2.1 试验方舱概况
在种植方舱中,使用空调为植物工厂补充新鲜空气,维持温度为(23±2 ℃),相对湿度为65%±5%,试验期间营养液pH维持在5.5~6.5,营养液EC值为1 800~2 200 μs/cm,营养液由水泵从营养液母箱抽出的方式循环,所有处理的生菜均在同一个处理室进行培植。
2.2 试验材料
本试验结球生菜由河北青丰农业科技有限公司提供。将种子播种于提前进行过充分湿润的黑色凹坑定植海绵(25 mm×25 mm×25 mm)中。当生菜育苗至两叶一心时,选取长势一致的幼苗进行移植。
2.3 试验设计
试验采用深液流水培DFT(Deep Flow Technique)的栽培技术。试验共设置5个处理,以霍格兰氏营养液处理作为对照,在不改变总氮含量的条件下改变霍格兰氏液中硝态氮和铵态氮的含量,具体的营养液配方见
表1,微量元素配方见
表2。使用浓硫酸和稀盐酸调节营养液pH值。每层生菜作为一个处理,每层生菜4个种植盘,每盘30株,每个处理做4个重复,每隔3 d对营养液的pH值及EC值进行1次测定以及充氧,根据营养液的消耗情况使用营养液或是蒸馏水对营养液进行调整。
2.4 数据获取
于定植后每3 d对每一株生菜进行1次生理指标的测定,使用游标卡尺测量最长叶片长度、株高,并记录叶片数;使用便携式光谱仪对每1株生菜进行光照强度的测定(测定每株生菜垂直方向上的光照强度)。数据采集到生菜定植30 d为止。
2.5 SSA-BP预测模型的建立与评价
本试验以植物工厂中影响生菜生长发育的可控因素作为BP神经网络的输入,生菜的株高、最长叶长和叶片数作为输出,采用3层网络。拓扑结构中输入层节点数根据试验确定;隐含层节点数根据上述经验公式和试验确定;输出层节点数为1,分别是株高、最长叶长和叶片数,并以此为基础确定相连层之间的权值与阈值,最后完成BP神经网络的初始化,对麻雀算法进行网络参数配置。BP神经网络模型的建立和SSA-BP模型建立均在Matlab2021a中进行。为验证SSA对神经网络的优化效果,将试验得到的数据分别用传统BP神经网络和SSA-BP神经网络进行预测,以预测值与真实值的误差作为验证标准,以验证其预测性能,同时引用拟合值(R)、平均绝对误差(Mean Absolute Error,MAE)、均方误差(Mean Square Error,MSE)、均方根误差(Root Mean Square Error,RMSE)和平均绝对百分比误差(Mean Absolute Percentage Error,MAPE)作为精度指标,对试验结果进行分析和评价。R越接近1,说明模型具有很好的拟合效果。其余参数保持默认状态。
本试验最终采集样本数据963组,按照一定比例将数据划分为训练集和测试集,其中778组为训练集,占80%;185组为测试集,占20%。试验选取试验天数、光照强度、铵态氮含量、硝态氮含量、钙浓度5个特征作为模型的输入;隐藏层的节点数是模型性能的关键因素,经试验得知,当采用11层BP神经网络进行建模时,相应的均方误差最小,为0.011 478,则BP神经网络拓扑结构均为5-11-1,如
图1所示。将训练次数设置为1 000,学习效率为0.01,训练目标最小误差设置为0.000 001。
以试验得到的数据为基础,将传统BP神经网络和SSA优化后的神经网络对生菜生理指标预测的学习结果评价指标进行对比(
表3)。从
表3可以看出,在2种模型中,SSA优化过的模型对于生菜最长叶长、叶片数、株高的均方根误差分别为11.991、0.774、10.521,SSA-BP的均方根误差均小于BP神经网络,均方根误差值越小表明模型的泛化能力越强;通过SSA优化过的神经网络模型的平均绝对百分比误差与BP神经网络相比,均不同程度得到降低,表明经SSA优化过后的模型具有更好的预测能力。
3 结果与分析
3.1 不同铵态氮、硝态氮对生菜形态指标的影响
由
图2可知,定植后0~30 d各处理生菜的最长叶长随处理时间的增长呈现逐渐升高的趋势,与CK、B处理相比,C、D、E处理下的生菜在定植后的30 d内呈现稳定增长,生长趋势相对吻合。B、C、D、E处理的生菜在12~15 d时增长率有明显的增大趋势,之后缓和,同期CK的增长率没有明显变化,但CK下的生菜在15~21 d有一个明显的增幅且在之后的生长期里增长率趋于稳定,表明适当的增加营养液中硝态氮的含量可以将生菜生长的周期提前;15 d时CK显著低于其他处理,说明在生长中期,提高硝态氮在营养液中的含量有利于生菜的生长。各处理情况下生菜30 d的最长叶长大小顺序为D>C>E>B>CK,CK的生菜最长叶长显著低于其他处理,为190.421 mm,仅为D处理的83.73%。与CK相比,B、C、D、E处理的生菜最长叶长分别增长了4.89%、17.78%、19.43%和13.55%。表明保持营养液配方中的总氮含量且适当增加营养液配方中硝态氮的含量,可以对生菜生长有促进作用。
从
图2可以看出,不同处理下生菜的叶片数在定植24 d前没有明显的变化。在24~30 d时,CK与其他处理间叶片数呈显著差异,各处理生菜叶片数表现为E>B>C>D>CK,E、B、C和D处理下生菜叶片数差异不显著,且B、C处理下的生菜叶片数仅相差0.1%,表明在总氮含量不变的情况下,增加营养液中的硝态氮含量、减少铵态氮的用量可以显著提高生菜的叶片数。
由
图3可知,随着时间的增长各处理的生菜株高都在稳定增长。D处理下的生菜在6、12、18、30 d都是最大值,分别是35、68.8、113.8、202.6 mm,且显著高于同时期的CK,B在12~24 d时有比较明显的增幅,且在24 d时与其他处理间存在显著的差异(
P<0.05),分别高于CK10.95%、高于C13.19%、高于D4.09%、高于E5.54%。在30 d时,叶片数依次为C>D>E>B>CK,与CK相比,B、C、D和E处理分别增长了0.32%、10.02%、6.86%、1.05%,CK仅为186.75 mm,显著低于C和D处理,说明在不改变总氮的情况下,适宜增加营养液中硝态氮的含量可以增加生菜的株高,对生菜的生长可以起到促进作用。因此,将铵态氮、硝态氮的含量以及随硝态氮增加而改变的钙离子浓度作为后续试验的输入参数进行预测。
3.2 SSA-BP预测结果及分析
由
图4可知,在2种模型中SSA优化过的模型对于生菜最长叶长、叶片数、株高的所有样本拟合值均达到0.98,
接近1,表明SSA-BP模型对水培试验数据表现出良好的拟合效果
[20]。
SSA-BP对生菜生理指标的最长叶长、叶片数、株高的预测结果较好,训练集效果中R都在0.98以上,测试集R达到了0.97以上,其中由于叶片数在生长周期中会表现出特定的数量,所以,模型对于叶片数的预测效果也是最佳,其测试集R达到了0.99以上,表明经麻雀搜索算法优化后的神经网络对生菜生理指标的预测具有良好的效果。
据
图5可知,SSA-BP模型对株高、叶片数、最长叶长的预测上具有较好的精度,测试集预测结果中预测值和真实值相近,但也存在个别测试数据存在较大偏差,株高中第167个测试样本中出现了SSA-BP最大误差(28.999),而BP在预测第130个样本时出现最大误差(43.774);叶长中第167个测试样本中出现了SSA-BP最大误差(32.313),而BP在预测第168个样本时出现最大误差(40.978);叶片数中第181个测试样本中出现了SSA-BP最大误差(3.260),而BP在预测第168个样本时出现最大误差(3.483)。从整体来看,生菜的3个生理指标预测结果都比较好,说明对于生菜生理指标的预测,SSA-BP具有较好的适应性。
从
图6可以看出,传统BP神经网络预测和SSA-BP神经网络预测在对生菜生理指标的预测上会有相对较大的误差。株高中2种模型对比,SSA-BP模型中的误差明显小于BP模型中的误差,最大误差范围缩小10;2种神经网络模型在对生菜最长叶长的预测上具有较大的误差波动,经麻雀算法优化后的叶长预测中大部分试验数据误差在20
-20波动,相较传统BP神经网络模型的预测误差较为稳定;对于叶片数的预测,SSA-BP预测与传统BP神经网络预测误差中大部分数据误差在2
-2波动,BP最大误差为-3.483,而经麻雀算法优化后的叶片数预测中,最大误差为-3.260,较传统BP神经网络模型预测有了一定的提升。
4 结论与讨论
本研究表明,通过麻雀搜索算法优化BP神经网络,可以更深入地发掘生菜不同生育期长势与环境因子的关联关系,从生菜生理指标的预测情况来看,该方法具有较好的可靠性。
铵态氮和硝态氮施用不仅影响生菜产量,而且影响其品质。王瑞莹等
[21]研究发现,过多的铵态氮会使作物地下部常常遭受铵毒害,使正常的生理功能难以发挥,养分吸收受阻,并进而使植株生长受到抑制,与本试验结果符合。在保证总氮不变的情况下,适量的增加硝态氮的含量会提高生菜的株高、最长叶长、叶片数等生理指标,促进生菜的生长发育。
麻雀搜索算法提供最优的权值和阈值,能有效地避免BP神经网络陷入局部最优解的情况,进而提高模型的性能,其中隐藏层节点数为11时,SSA-BP模型性能最佳。预测值与实际值的拟合值在0.97以上,由于生菜叶片数涨幅在整个生育期中较株高与叶长的涨幅相对稳定,故SSA-BP神经网络对生菜叶片数的拟合值也最高,平均绝对百分比误差也最小。该方法可为叶菜类作物预测研究提供参考。
从整理的预测精度来看,相较于单独使用BP神经网络预测,SSA-BP预测误差有较小程度的提升,在预测中个别数据具有较大误差出现,是因为用于训练及测试的数据为所有采集到的生菜数据,其中有部分异常数据的存在,但总体预测的误差百分比控制在20%以下,表明该方法可以满足生菜生理指标的预测需求。
就试验对象以及数据时间尺度而言,本试验对象仅为多种生菜品种中的一种,且数据采集的间隔时间为3 d,不能完整呈现生长生理指标全生育期的动态变化。所以,试验数据可能会影响SSA-BP神经网络的预测精度。此外,相比与本文提取影响因素,还可以提取植物工厂中其他环境因素以及水肥因子作为模型输入,更多的输入可能会进一步提高模型的预测精度。