一种基于BP神经网络的孵房湿度控制方法转让专利

申请号 : CN201310214158.4

文献号 : CN103309370B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周国雄

申请人 : 中南林业科技大学

摘要 :

本发明公开了一种基于BP神经网络的孵房湿度控制方法,首先通过BP神经网络对孵房湿度进行预测,然后通过模糊控制器控制加湿器的阀门开度,模糊控制器的输入为期望湿度与BP神经网络输出的下一秒的孵房的湿度预测值进行相减所得湿度的偏差和偏差变化率,输出为加湿器的电磁阀阀门开度,当孵房湿度偏低时,加大加湿器阀门开度,加大加湿器喷水量,从而增大孵房湿度,否则减少加湿器阀门开度,从而控制加湿器的喷水量,控制孵房湿度在期望湿度上下极小范围内波动,从而稳定控制湿度,极大的提高了出雏率和雏禽品质。

权利要求 :

1.一种基于BP神经网络的孵房湿度控制方法,其特征在于,包括以下步骤:步骤1:采用BP神经网络预测孵房湿度,BP神经网络为三层双输入单输出模型,隐含层包含3个神经元,其中输入向量:x=(x1,x2),为通过温度数据采集模块和湿度数据采集模块采集的当前时刻的孵房温度和孵房湿度,隐含层输入向量:hi=(hi1,hi2,hi3),隐含层输出向量:ho=(ho1,ho2,ho3),输出层输入向量:yi,

输出层输出向量:yo,为当前时刻的下一秒的孵房湿度预测值,期望输出向量:do,期望湿度,为52.9,输入层到隐含层的连接权值:wih,

隐含层到输出层的连接权值:who,

隐含层各神经元的阈值:bh,为0.02,输出层神经元的阈值:bo,为0.01,激活函数: 其中nj为对应层神经元的输入向量,对于隐含层为hi=(hi1,hi2,hi3),对于输出层,为yi,误差函数:

预定精度:0.05,

预测过程如下:

(1)每隔1秒,通过温度数据采集模块采集孵房温度一次,通过湿度数据采集模块采集孵房湿度一次,将当前时刻采集的温度和湿度作为BP神经网络的输入x=(x1,x2);

(2)取0~1的随机数给BP神经网络各层连接权值赋初始值,计算隐含层和输出层各神经元的输入和输出,输出层的输出即为当前时刻的下一秒的孵房的湿度预测值,h=1,2,3,

hoh=f(hih),h=1,2,3,yo=f(yi);

(3)计算误差函数对各层神经元权值的偏导数其中

h=1,2,3

i=1,2

用-δ表示 误差函数对隐含层到输出层的连接权值who的偏导数为用-δh表示 误差函数对输入层到隐含层的连接权值wih的偏导数为i=1,2

(4)修正BP神经网络各层连接权值

隐含层到输出层的连接权值who的增加量为输入层到隐含层的连接权值wih的增加量为i=1,2

其中μ=0.01,η=0.5

(5)以下一秒采集的温度和湿度作为BP神经网络的输入,以修正的BP神经网络各层连接权值作为BP神经网络各层连接权值,再计算隐含层和输出层各神经元的输入和输出,再进行上述第(3)步和第(4)步操作,依此循环,共计算依次40秒采集的40组数据,修正各层连接权值40次,得到40个孵房预测湿度;

(6)计算全局误差:

其中k=1,2,3,…40,yo(k+1)为第k秒采集的温度和湿度作为BP神经网络的输入时,BP神经网络输出层输出向量,也即BP神经网络预测的第k+1秒时孵房湿度;

(7)判断全局误差E是否满足要求,当全局误差E小于或等于预定精度0.05时,BP神经网络结束学习,BP神经网络各层连接权值固定,孵房湿度预测模型确定,否则选取下一个

40秒采集的孵房温度和孵房湿度数据,返回到第(5)步,进入下一轮学习,直到全局误差E小于或等于预定精度0.05;

步骤2:采用加湿器喷水来调整孵房的湿度,加湿器的喷水时间为2秒,加湿器的喷水量由加湿器的电磁阀阀门开度控制,加湿器的电磁阀阀门开度采用模糊控制器控制,模糊控制器的输入量为期望湿度与步骤1中BP神经网络输出的下一秒的孵房的湿度预测值进行相减所得湿度的偏差Ef和偏差变化率EfC,输出为加湿器的电磁阀阀门开度U,湿度的偏差Ef的实际值范围为[40,62],语言变量为{NB,NM,NS,ZO,PS,PM,PB},分别表示负大、负中、负小、零、正小、正中、正大,其论域为:{-8,-7,-6,-5,-4,-3,-2,-1,0,1,

2,3,4,5,6,7,8},

湿度的偏差变化率EfC的实际值范围为[-20,20],语言变量为{NB,NM,ZO,PM,PB},其论域为:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},电磁阀阀门开度U的实际值范围为[0,1],语言变量为{NB,NM,NS,ZO,PS,PM,PB},其论域为:{-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8},湿度的偏差Ef,湿度的偏差变化率EfC,电磁阀阀门开度U的隶属度函数均为三角形隶属函数,模糊控制规则为:

采用面积重心法解模糊。

说明书 :

一种基于BP神经网络的孵房湿度控制方法

技术领域

[0001] 本发明属于孵化控制领域,涉及一种基于BP神经网络的孵房湿度控制方法。

背景技术

[0002] 随着人民生活水平的不断提高,家禽(如鸡、鸭、鹅、鸽子等)的需求大幅度上升。为了满足人们对肉禽的需求,需要进行大规模的肉禽孵化。孵化的任务是将受精种蛋尽可能多地变成优质的雏禽,在禽蛋的孵化过程中,温度和湿度是决定孵化成功与否的决定性因素,因此精确控制孵化过程的湿度,不仅能提高出雏率,而且还能提高雏禽品质。
[0003] 禽蛋孵化过程是一个具有高度非线性、大滞后、时变特性且强耦合性的农业生产过程,且禽蛋孵化过程的湿度经常会受到通风量、电网波动及周边设备等不确定性和随机性因素的影响,所以禽蛋孵化过程的精确数学模型很难建立,传统的控制方法不能很好的保证禽蛋孵化过程温度和湿度的稳定。因此研究禽蛋孵化过程工艺分析,建立禽蛋孵化过程预测模型,对于保证禽蛋孵化过程中温度和湿度的稳定控制具有关键作用。
[0004] 由于禽蛋孵化湿度不会发生突变,因此可以采用历史禽蛋孵化湿度数据对当前时刻禽蛋孵化湿度进行预测,从而反映出禽蛋孵化湿度数据的时间相关性。
[0005] BP网络是一种多层网络,其基本思想是将W-H学习规则一般化,对非线性的可微分函数训练权值。目前主要用于函数逼近、模式识别、分类和数据压缩。BP算法由信息的正向传递与偏差的反向传播两部分构成。其中在BP算法的正向传播过程中,输入的数据信息从输入层经隐含层逐步运算传给输出层,下一层神经元的状态只受到上一层神经元的状态的影响。如果期望的输出在输出层没有获得,则通过计算输出层的偏差变化值,然后进行转向传播,通过网络将偏差信号沿原来的连接通路,经过反向传回,再去修改各层神经元的权值直到期望目标达到。神经网络是由大量的、简单的神经元广泛地相互连接而形成的复杂网络系统。它无需预先给定公式,而是以实验数据为基础,经过有限次迭代计算而获得实验数据的内在规律,适合于研究非线性系统。因此,可采用BP神经网络对孵化湿度进行预测。
[0006] 因此研究禽蛋孵化过程工艺分析,采用BP神经网络预测孵化湿度,对于保证禽蛋孵化过程中湿度的稳定控制具有很好的效果。

发明内容

[0007] 本发明所要解决的技术问题是提供一种基于BP神经网络的孵房湿度控制方法,能很好的对孵房湿度进行预测,并通过模糊控制,保证禽蛋孵化过程中的湿度在期望湿度上下极小范围内波动,从而稳定控制湿度,极大的提高了出雏率和雏禽品质。
[0008] 发明的技术解决方案如下:
[0009] 一种基于过程神经网络的孵房湿度控制方法,包括以下步骤:
[0010] 步骤1:采用BP神经网络预测孵房湿度,BP神经网络为三层双输入单输出模型,隐含层包含3个神经元,其中
[0011] 输入向量:x=(x1,x2),为通过温度数据采集模块和湿度数据采集模块采集的当前时刻的孵房温度和孵房湿度,
[0012] 隐含层输入向量:hi=(hi1,hi2,hi3),
[0013] 隐含层输出向量:ho=(ho1,ho2,ho3),
[0014] 输出层输入向量:yi,
[0015] 输出层输出向量:yo,为当前时刻的下一秒的湿度预测值,
[0016] 期望输出向量:do,期望湿度,为52.9,
[0017] 输入层到隐含层的连接权值:wih,
[0018] 隐含层到输出层的连接权值:who,
[0019] 隐含层各神经元的阈值:bh,为0.02,
[0020] 输出层神经元的阈值:bo,为0.01,
[0021] 激活函数: 其中nj为对应层神经元的输入向量,对于隐含层为hi=(hi1,hi2,hi3),对于输出层,为yi,
[0022] 误差函数:
[0023] 预定精度:0.05,
[0024] 预测过程如下:
[0025] (1)每隔1秒,通过温度数据采集模块采集孵房温度一次,通过湿度数据采集模块采集孵房湿度一次,将当前时刻采集的温度和湿度作为BP神经网络的输入x=(x1,x2);
[0026] (2)取0~1的随机数给BP神经网络各层连接权值赋初始值,计算隐含层和输出层各神经元的输入和输出,输出层的输出即为当前时刻的下一秒的孵房湿度预测值,[0027]
[0028] hoh=f(hih),h=1,2,3,
[0029]
[0030] yo=f(yi);
[0031] (3)计算误差函数对各层神经元权值的偏导数
[0032] 其中
[0033]
[0034]
[0035]
[0036]
[0037]
[0038] 用-δ表示 误差函数对隐含层到输出层的连接权值who的偏导数为
[0039]
[0040] 用-δh表示 误差函数对输入层到隐含层的连接权值wih的偏导数为
[0041]
[0042] (4)修正BP神经网络各层连接权值
[0043] 隐含层到输出层的连接权值who的增加量为
[0044]
[0045] 输入层到隐含层的连接权值wih的增加量为
[0046]
[0047] 其中μ=0.01,η=0.5
[0048] (5)以下一秒采集的温度和湿度作为BP神经网络的输入,以修正的BP神经网络各层连接权值作为BP神经网络各层连接权值,再计算隐含层和输出层各神经元的输入和输出,再进行上述第(3)步和第(4)步操作,依此循环,共计算依次40秒采集的40组数据,修正各层连接权值40次,得到40个孵房预测湿度;
[0049] (6)计算全局误差:
[0050]
[0051] 其中k=1,2,3,…40,yo(k+1)为第k秒采集的温度和湿度作为BP神经网络的输入时,BP神经网络输出层输出向量,也即BP神经网络预测的第k+1秒时孵房湿度;
[0052] (7)判断全局误差E是否满足要求,当全局误差E小于或等于预定精度0.05时,BP神经网络结束学习,BP神经网络各层连接权值固定,孵房湿度预测模型确定,否则选取下一个40秒采集的孵房温度和孵房湿度数据,返回到第(5)步,进入下一轮学习,直到全局误差E小于或等于预定精度0.05;
[0053] 步骤2:采用加湿器喷水来调整孵房的湿度,加湿器的喷水时间为2秒,加湿器的喷水量由加湿器的电磁阀阀门开度控制,加湿器的电磁阀阀门开度采用模糊控制器控制,[0054] 模糊控制器的输入量为期望湿度与步骤1中BP神经网络输出的下一秒的孵房的湿度预测值进行相减所得湿度的偏差Ef和偏差变化率EfC,输出为加湿器的电磁阀阀门开度U,
[0055] 湿度的偏差Ef的实际值范围为[40,62],语言变量为{NB,NM,NS,ZO,PS,PM,PB},分别表示负大、负中、负小、零、正小、正中、正大,其论域为:{-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8},
[0056] 湿度的偏差变化率EfC的实际值范围为[-20,20],语言变量为{NB,NM,ZO,PM,PB},其论域为:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},
[0057] 电磁阀阀门开度U的实际值范围为[0,1],语言变量为{NB,NM,NS,ZO,PS,PM,PB},其论域为:{-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8},[0058] 湿度的偏差Ef,湿度的偏差变化率EfC,电磁阀阀门开度U的隶属度函数均为三角形隶属函数,
[0059] 模糊控制规则为:
[0060]
[0061] 采用面积重心法解模糊。
[0062] 有益效果:
[0063] 本发明采用BP神经网络,能够在孵化过程中很好的预测孵房湿度,并采用模糊控制,根据期望湿度与预测值的偏差以及偏差的变化率,控制加湿器的电磁阀阀门开度,从而控制加湿器的喷水量,控制孵房内湿度紧紧跟踪期望湿度,上下波动小,极大的提高了出雏率和雏禽品质。

附图说明

[0064] 图1为基于BP神经网络的孵房湿度控制过程框图;
[0065] 图2为BP神经网络孵房湿度预测模型;
[0066] 图3为模糊控制中湿度偏差Ef、湿度偏差变化率EfC、加湿器的电磁阀阀门开度U的隶属度函数图。

具体实施方式

[0067] 以下将结合附图和具体实施例对发明做进一步详细说明:
[0068] 实施例1:
[0069] 如图1所示,为本发明基于BP神经网络的孵房湿度控制过程框图,根据该过程框图,实施步骤如下:
[0070] 步骤1:采用BP神经网络预测孵房湿度,BP神经网络为三层双输入单输出模型,隐含层包含3个神经元,其中
[0071] 输入向量:x=(x1,x2),为通过温度数据采集模块和湿度数据采集模块采集的当前时刻的孵房温度和孵房湿度,
[0072] 隐含层输入向量:hi=(hi1,hi2,hi3),
[0073] 隐含层输出向量:ho=(ho1,ho2,ho3),
[0074] 输出层输入向量:yi,
[0075] 输出层输出向量:yo,为当前时刻的下一秒的孵房湿度预测值,
[0076] 期望输出向量:do,期望湿度,为52.9,
[0077] 输入层到隐含层的连接权值:wih,
[0078] 隐含层到输出层的连接权值:who,
[0079] 隐含层各神经元的阈值:bh,为0.02,
[0080] 输出层神经元的阈值:bo,为0.01,
[0081] 激活函数: 其中nj为对应层神经元的输入向量,对于隐含层为hi=(hi1,hi2,hi3),对于输出层,为yi,
[0082] 误差函数:
[0083] 预定精度:0.05,
[0084] 预测过程如下:
[0085] (1)每隔1秒,通过温度数据采集模块采集孵房温度一次,通过湿度数据采集模块采集孵房湿度一次,将当前时刻采集的温度和湿度作为BP神经网络的输入x=(x1,x2);
[0086] (2)取0~1的随机数给BP神经网络各层连接权值赋初始值,计算隐含层和输出层各神经元的输入和输出,输出层的输出即为当前时刻的下一秒的孵房的湿度预测值,[0087]
[0088] hoh=f(hih),h=1,2,3,
[0089]
[0090] yo=f(yi);
[0091] (3)计算误差函数对各层神经元权值的偏导数
[0092] 其中
[0093]
[0094]
[0095]
[0096]
[0097]
[0098] 用-δ表示 误差函数对隐含层到输出层的连接权值who的偏导数为
[0099]
[0100] 用-δh表示 误差函数对输入层到隐含层的连接权值wih的偏导数为
[0101]
[0102] (4)修正BP神经网络各层连接权值
[0103] 隐含层到输出层的连接权值who的增加量为
[0104]
[0105] 输入层到隐含层的连接权值wih的增加量为
[0106]
[0107] 其中μ=0.01,η=0.5
[0108] (5)以下一秒采集的温度和湿度作为BP神经网络的输入,以修正的BP神经网络各层连接权值作为BP神经网络各层连接权值,再计算隐含层和输出层各神经元的输入和输出,再进行上述第(3)步和第(4)步操作,依此循环,共计算依次40秒采集的40组数据,修正各层连接权值40次,得到40个孵房预测湿度;
[0109] (6)计算全局误差:
[0110]
[0111] 其中k=1,2,3,…40,yo(k+1)为第k秒采集的温度和湿度作为BP神经网络的输入时,BP神经网络输出层输出向量,也即BP神经网络预测的第k+1秒时孵房湿度;
[0112] (7)判断全局误差E是否满足要求,当全局误差E小于或等于预定精度0.05时,BP神经网络结束学习,BP神经网络各层连接权值固定,孵房湿度预测模型确定,否则选取下一个40秒采集的孵房温度和孵房湿度数据,返回到第(5)步,进入下一轮学习,直到全局误差E小于或等于预定精度0.05;
[0113] 本实施例中第一个40秒采集的温度和湿度数据如下:
[0114]
[0115]
[0116] 经过BP神经网络学习,计算得到全局误差为0.061,因此以本40秒中最后修正的BP神经网络各层连接权值作为BP神经网络各层连接权值,选取下一个40秒采集的孵房温度和孵房湿度数据,进入下一轮学习,直到经过4轮的学习,也就是160秒后,得到全局误差为0.048,小于0.05,因此BP神经网络结束学习,BP神经网络各层连接权值固定,孵房湿度预测模型确定。
[0117] 步骤2:采用加湿器喷水来调整孵房的湿度,加湿器的喷水时间为2秒,加湿器的喷水量由加湿器的电磁阀阀门开度控制,加湿器的电磁阀阀门开度采用模糊控制器控制,[0118] 模糊控制器的输入量为期望湿度与步骤1中BP神经网络输出的下一秒的孵房的湿度预测值进行相减所得湿度的偏差Ef和偏差变化率EfC,输出为加湿器的电磁阀阀门开度U,
[0119] 湿度的偏差Ef的实际值范围为[40,62],语言变量为{NB,NM,NS,ZO,PS,PM,PB},分别表示负大、负中、负小、零、正小、正中、正大,其论域为:{-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8},
[0120] 湿度的偏差变化率EfC的实际值范围为[-20,20],语言变量为{NB,NM,ZO,PM,PB},其论域为:{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},
[0121] 电磁阀阀门开度U的实际值范围为[0,1],语言变量为{NB,NM,NS,ZO,PS,PM,PB},其论域为:{-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8},[0122] 湿度的偏差Ef,湿度的偏差变化率EfC,电磁阀阀门开度U的隶属度函数均为三角形隶属函数,
[0123] 模糊控制规则为:
[0124]
[0125] 采用面积重心法解模糊。
[0126] 本实施例中期望湿度为52.9,当外界因素造成孵化湿度的巨大波动时,模糊规则的建立能够使得湿度快速回到期望湿度0.04范围内,加湿器的喷水时间为2秒,因此加湿器的电磁阀阀门开度直接决定了喷水量的大小,也就是决定了孵房的湿度。当孵房湿度偏低时,加大加湿器阀门开度,加大加湿器喷水量,从而增大孵房湿度,否则减少加湿器阀门开度。
[0127] 当湿度大于52.9时,可以通过打开窗户和风扇,提高空气对流,从而降低孵房湿度,因而本发明针对的孵房湿度控制方法,是针对孵房湿度低于期望湿度52.9时,对其进行调节,从而控制孵房内湿度紧紧跟踪期望湿度,极大的提高了出雏率和雏禽品质。