1、二、B-P模型 1、B-P模型 B-P(Back-Propagation)模型是一种用于前向多层神经网络的反传学习算法,它是目前应用最广且最重要的一种训练前向神经网络的学习算法。 B-P网络模型由输入层、隐层和输出层三部分组成,其中隐层含有一层或多层。B-P算法主要用于B-P网络的训练。B-P网络的工作原理是:当有信息向网络输入时,信息首先由输入层传至隐层节点,经特性函数作用后,再传至下一隐层,直到最终传至输出层进行输出,其间每经过一层都要由相应的特性函数进行变换。节点的特性函数要求是可微的,通常选用S型函数,即,2、B-P算法 下面讨论B-P算法的学习过程:学习的目的是对网络的连接权值进行调
2、整,使得对任何一个输入都能得到所期望的输出。学习的方法是用一组训练样例对网络进行训练,每一个样例都包括输入及期望的输出两部分。学习训练过程:首先,把样例的输入信息输入到网络中,由网络自第一个隐层开始逐层地进行计算,并向下一层传递,直到传至输出层,其间每一层神经元只影响到下一层,神经元的状态。然后,以其输出与样例的期望输出进行比较,如果它们的误差不能满足要求,则沿着原来的连接通路逐层返回,并利用两者的误差按一定的原则对各层节点的连接权值进行调整,使误差逐步减小,直到满足要求为止。由上述训练过程不难看出:B-P算法的学习过程是由正向传播与反向传播组成的。正向传播用于进行网络计算,对某一输入求出它的
3、输出;反向传播用于逐层传递误差,修改连接权值,以便网络能进行正确的计算。,B-P算法学习的具体步骤: (1)从训练样例集中取一样例,把输入信息输入到网络中。 (2)由网络分别计算各层节点的输出。 (3)计算网络的实际输出与期望输出的误差。 (4)从输出层反向计算到第一个隐层,按一定原则向减小误差方向调整网络的各个连接权值。 (5)对训练样例集中的每一个样例重复以上步骤,直到对整个训练样例集的误差达到要求时为止。以上步骤中,关键是第(4)步,必须确定如何沿减小误差的方向调整连接权值。,设: 为节点 的输出,;为节点 的输入;为节点 到节点 的连接权值;, 分别为输出层上节点k的实际输出(由网络计
4、算得到的输出)及期望输出;为输入到输出的变换函数;和 分别为时刻 和 从节点 到节点 的连接权值;为权值的变化量;为增益因子,或称为学习率。,则:对于节点输入为:输出为:误差函数为:连接权值的修改由下式计算:下面采用梯度下降法来确定 ,即连接权值的变化沿着 的梯度变化方向调整,一般取,其中:由于 所以有:设 所以有:,下面分两种情况计算 (1)节点 是输出层上的节点 此时 则,由于,所以,(1),(2)节点不是输出层上的节点其中其中 表示输出节点 所以 (2),这表明:内层节点的 值是通过上一层节点的 值来计算的。也就是说:首先由(1)式计算出输出层上各节点的 值,并将它反传到较低层上,然后用
5、(2)式计算出各较低层上节点的 值。下面给出一个简单反传网络,来说明反传时的 值的计算方法。,由图可以看出:(1)计算,(2)计算,同样可以按照上述权值的学习方式对阀值 进行学习,只要把 设想为神经元的连接权值,其输入信号总是单位值1就可以了。 B-P算法是一个有效的算法,许多问题都可以用它来解决。由于它具有理论依据坚实,推导过程严谨、物理概念清晰及通用性好等优点,使它至今仍然是前向网络学习的主要算法,但BP算法也存在一些不足之处。 该学习算法的收敛速度非常慢,常常需要成千上万次迭代,而且随着训练样例维数的增加网络性能变差。 从数学上看它是一种梯度最速下降法,这就有可能出现局部极小问题。当局部
6、极小点产生时,B-P算法所求得的解就不是问题的解,故B-P算法是不完备的。,网络中隐节点个数的选取尚无理论上的指导。 当有新样例加入时,将会影响到已学习过的样例,而且要求刻画每个输入样例的特征数目相同。 三、Hopfield模型及算法 1、Hopfield模型Hopfield模型是Hopfield分别于1982年和1984年提出的两个神经网络模型,一个是离散的,一个是连续的,它们都属于反馈网络,即从输入层至输出层都有反馈存在,如图为一个单层反馈神经网络。,Hopfield提出的离散网络模型是一个离散时间系统,每个神经元只有1和-1(或1和0)两种状态,由连接权值 所构成的矩阵是一个零对角的对称
7、矩阵,即在该网络中,每当有信息进入输入层时,在输入层不做任何计算,直接将输入信息分布地传递给下一层各有关节点。若用 表示节点 在时刻 的状态,则该节点在下一时刻的状态由下式决定:,其中 为从节点 到节点 的连接权值为节点 的阀值Hopfield离散网络模型有异步和同步两种工作方式,异步方式是指在任一时刻 只有一个神经元 发生状态变化,而其它 个神经元保持状态不变,即同步方式是指在任何一时刻,至少有多于一个神经元同时改变状态。,在反馈网络中,由于网络的输出要反复地作为输入送入网络中,这就使得网络的状态在不断改变,因而就提出了网络的稳定性问题。一个网络是稳定的,是指从某一时刻开始,网络的状态不再改
8、变。设用 表示网络在时刻 的状态,如果从 的任一初态 开始,存在一个有限的时刻 ,使得从此时刻开始神经网络的状态不再发生变化,即, 就称该网络是稳定的。 若输出层只有两个节点,并用1和0分别表示每个节点的状态,则整个网络共有四种状态,即00、01、10、11。若输出层有三个节点,则整个网络共有八种状态,每个状态是一个三位二进制数。,立方体的每一个顶角代表一个网络状态。一般来说,如果在输出层有n个神经元,则网络就有 个状态,它可以与一个n维超立体的顶角相联系。当有一个输入向量输入到网络后,网络的迭代过程就不断地从一个顶角转向另一个顶角,直至稳定于一个顶角为止。如果网络的输入不完全或只有部分正确,
9、则网络将稳定于所期望顶角附近的一个顶角那里。,2、Hopfield模型的算法 (1)设置互连权值其中 为S类样例的第 个分量,可取值为(或1和0),样例类别数为 ,节点数为 。 (2)未知类别样本初始化其中 为节点 在时刻 的输出, 就是节点 的初始值, 为输入样本的第 个分量。,(3)迭代直到收敛该过程将一直重复进行,直到进一步的迭代不再改变节点的输出为止。 (4)转(2)继续进行。Hopfield网络是一种非线性的动力学网络,它通过反复运算这一动态过程求解问题。Hopfield网络可用于复杂优化问题的求解,例如TSP(旅行推销员问题Traveling Salesman Problem)。T
10、SP是指给定N个城市,要求找出一条能够到达各个城市但又可重复询问的最短路径。对该问题,若用穷尽搜索的方法求解,则运算将随城市数N的增加呈指数性,增长,若用Hopfield网络求解这个问题,就可把最短路径问题化为一个网络能量求极小的问题,这个动态系统的最后运行结果就是问题的解。用这种方法求解的解不一定最优,而是某条较短路径。 Hopfield模型的不足之处是:(1)很难精确分析网络的性能;(2)其动力学行为比较简单。,神经网络直接控制器的设计 ANN控制器设计,(1) 传统PID作教师训练网络,uNN=f(w *F(w * xi)uPID=u(t)+Kp*e(t)+KIe(t)+KD .,(2)
11、 ANN自学习控制,u (t)=u*(t) * KP=KP*f(w1*F(w2*E),二、神经网络间接间控控器设计 ANN自适应控制 ANN模型预测控制 ANN专家系统控制 模糊神经网络控制 混合神经网络控制 ANN自适应控制(自适应控制) 原理:用一个神经网络做控制器, 用另一个神经网络建模,ANN2,R,+,_,e=x,u(t),z,ZZ,y,y,+,_,e,结构:,工作过程:ANN1控制器: (1)ANN2模型: (2)其中 W1,W2表示控制器网络的权值V1,V2表示模型网络的权值X=(e1(t),e2(t),en(t))控制网络输入信号Z=(u(t),u(t-1),y(t-1),y(t-n))模型网络的输入 定义学习信号(3)(4),权值修正学习算法:(5)(6) 计算步骤: (1)给定期望值 ,初值W(0),V(0), (2)采样:实时采样数据yd, y(t) (3)计算:用(1)式计算控制量u(t)用(2)式计算模型网络输出计算 : (4)用(3),(4)式计算误差E,用(5),(6)式计算权值W,V (5)判断 EM转到(2),直到TyTu,