为什么两层感知机 异或不能解决异或问题

时间: 09:46:31
&&&& 阅读:68
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&一.感知机概述
感知机适用于:线性可分的数据,用于二分类
目的:找到分离超平面,完全分离不同的类
感知机公式:,一元多维的函数
感知机学习策略:通过求min(所有误分类点到超平面距离),即损失函数,来确定权重和偏置
求解方法:梯度下降法
求解步骤:1.初始化权重和偏置
     2.任选点(x,y)
     3.若yi*(w*x+b)&=0,则更新w(new)=w(old)+eta*yi*xi,b(new)=b(old)+eta*yi ,其中0&eta&=1(这里通常我们令eta=1)
迭代收敛说明:Novikoff定理证明出误分类次数是有上界的,经有限次搜索可以找到分离超平面,感知机因初始值的选择有很多解。
下面是具体代码实现:
#感知机处理线性可分数据
import numpy as np
import random
import matplotlib.pyplot as plt
def getdata(num):#生成间隔大些的数据,需要输入数据量
for i in range(num):
idata=[random.randint(0,20),random.randint(0,20)]
if sum(idata)&=20:
idata=[i+5 for i in idata]
if not idata in xdata:
xdata.append(idata)
ydata=[1 if sum(i)&=20 else -1 for i in xdata]
return xdata,ydata
def per(xdata,ydata,w,b):#求解w,b
while any([ydata[i]*(w[0]*xdata[i][0]+w[1]*xdata[i][1]+b)&=0 for i in range(len(xdata))]):
for i in range(len(xdata)):
while ydata[i]*(w[0]*xdata[i][0]+w[1]*xdata[i][1]+b)&=0:
w=[w[j]+ydata[i]*xdata[i][j] for j in range(2)]
b=b+ydata[i]
return w,b
def pic(w=[0,0],b=0,num=100):#画图
xdata, ydata = getdata(num)
xdata1 = [i[0] for i in xdata]
xdata2 = [i[1] for i in xdata]
plt.scatter(xdata1, xdata2, c=["r" if i == 1 else "b" for i in ydata],s=5)
plot_x = [1, 25]
w,b=per(xdata,ydata,w,b)
plot_y = [(-1) * (b + w[0] * plot_x[0]) / w[1], (-1) * (b + w[0] * plot_x[1]) / w[1]]
plt.plot(plot_x, plot_y)
  效果如图所示:
二.证明感知机不能处理异或问题
对于异或问题:
首先,我们假设异或问题是线性可分的,则有:
三,利用感知机处理异或问题
虽然感知机不能直接用来处理异或问题,但是我们可以通过激活函数来实现非线性问题的分类
这里我受到adaboost的启发,即多个弱分类器组合成为一个强分类器,我们可以如下构造:
下面是代码实现:
#处理线性不可分数据,异或
import numpy as np
xdata=[[0,0,0,1],[0,1,1,1],[1,0,1,1],[1,1,1,0]]#初始化数据
ydata=[-1,1,1,-1]#初始化数据
def per(xdata,ydata,w=[0,0,0,0],b=0):#求解w,b
while any([ydata[i]*(w[0]*xdata[i][0]+w[1]*xdata[i][1]+w[2]*xdata[i][2]+w[3]*xdata[i][3]+b)&=0 for i in range(len(xdata))]):
for i in range(len(xdata)):
while ydata[i]*(w[0]*xdata[i][0]+w[1]*xdata[i][1]+w[2]*xdata[i][2]+w[3]*xdata[i][3]+b)&=0:
w=[w[j]+ydata[i]*xdata[i][j] for j in range(4)]
b=b+ydata[i]
return w,b
  结果为:
&([-2, -1, 4, 3], -4)
&标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:/danning13/p/7476660.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!第5章神经网络_伤城文章网
第5章神经网络
神经网络控制技术 Neural network Control授课教师 石庆升
智能控制内容提要智能控制概述专家系统 模糊控制神经网络控制 遗传算法河南工业大学电气工程学院 2 智能控制: 第五章 神经网络控制第五章 神经网络控制? ? ? ? ?5.1人工神经网络 5.2 神经网络的基本知识 5.3 几种类型的神经网络 5.4 神经网络控制系统5.5 MATLAB神经网络工具箱介绍河南工业大学电气工程学院 5.1 人工神经网络ANNs?什么是人工神经网络? T.Koholen的定义:?人工神经网络是由具有 适应性的简单单元组成的广泛并行互连的网络?,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。? ANNs研究的目的和意义(1)通过揭示物理平面与认知平面之间的映射,了 解它们相互联系和相互作用的机理,从而揭示思 维的本质,探索智能的本源。 (2)争取构造出尽可能与人脑具有相似功能的计算机,即ANN计算机。(3)研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。 研究ANN方法(1)生理结构的模拟:用仿生学观点,探索人脑的生理结构,把对人 脑的微观结构及其智能行为的研究结合起来即人 工神经网络(Artificial Neural Netwroks,简称 ANNs)方法。(2)宏观功能的模拟:从人的思维活动和智能行为的心理学特性出发 ,利用计算机系统来对人脑智能进行宏观功能的 模拟,即符号处理方法。 ANN的研究内容(1)理论研究:ANN模型及其学习算法,试图从数 学上描述ANN的动力学过程,建立相应的ANN模型 ,在该模型的基础上,对于给定的学习样本,找出 一种能以较快的速度和较高的精度调整神经元间互 连权值,使系统达到稳定状态,满足学习要求的算 法。 (2)实现技术的研究:探讨利用电子、光学、生物 等技术实现神经计算机的途径。 (3)应用的研究:探讨如何应用ANN解决实际问题 ,如模式识别、故障检测、智能机器人等。 人工神经网络研究的兴起与发展人工神经网络的研究经历了不少的曲折,大体上 可分为四个阶段:?产生时期(20世纪50年代中期之前)1943年,心理学家Mcculloch和数理逻辑学家Pitts在分 析、总结神经元基本特性的基础上首先提出神经元的数学 模型。(先驱) 1948年,冯? 诺依曼在研究工作中比较了人脑结构与 存储程序式计算机的根本区别,提出了以简单神经元构成 的再生自动机网络结构。 ?高潮时期(20世纪50年代中期到20世纪60年代末期)50年代末,F? Rosenblatt设计制作了“感知机” 。这项 工作首次把人工神经网络的研究从理论探讨付诸工程实践 。当时,世界上许多实验室仿效制作感知机,分别应用于 文字识别、声音识别、声纳信号识别以及学习记忆问题。然而,以下两个原因使得此项研究陷入低潮: 1)当时数字计算机的发展处于全盛时期许多人误以为 数字计算机可以解决人工智能、模式识别、专家系统等方 面的一切问题,使感知机的工作得不到重视 ; 2)当时的电子技术工艺水平比较落后要制作在规模上 与真实的神经网络相似是完全不可能的; ?低潮时期(20世纪60年代末到20世纪80年代初期)随着人们对感知机兴趣的衰退,神经网络的研究沉寂了相当长的时间。?蓬勃发展时期(20世纪80年代以后)80年代初期,模拟与数字混合的超大规模集成电路制 作技术提高到新的水平,完全付诸实用化,此外,数字计 算机的发展在若干应用领域遇到困难。 美国的物理学家Hopfield于1982年和1984年在美国科 学院院刊上发表了两篇关于人工神经网络研究的论文,引 起了巨大的反响。人们重新认识到神经网络的威力以及付 诸应用的现实性。 脑神经信息活动的特征(1)巨量并行性。 (2)信息处理和存储单元结合在一起。(3)自组织自学习功能。 智能控制: 第五章 神经网络控制生物神经网络 智能控制: 第五章 神经网络控制生物神经网络人工神经网络三层前馈网络uy 智能控制: 第五章 神经网络控制生物神经网络人工神经网络全局递归型神经网络u(t)y(t) 智能控制: 第五章 神经网络控制生物神经网络人工神经网络基本Elman网络?? 智能控制: 第五章 神经网络控制生物神经网络人工神经网络改进型Elman网络u (t )y (t ? 1) 智能控制: 第五章 神经网络控制生物神经网络人工神经网络局部递归型神经网络uy 智能控制: 第五章 神经网络控制生物神经网络人工神经网络连续型Hopfield网络? 智能控制: 第五章 神经网络控制生物神经网络人工神经网络小脑模型神经网络(CMAC)+ 智能控制: 第五章 神经网络控制生物神经网络人工神经网络PID神经网络PuI IyD 智能控制: 第五章 神经网络控制5.2 神经网络的基本知识5.2.1 人工神经网络模型 ? 人工神经网络是对人或动物脑神经若干基本特性的 抽象和模拟。 ? 生物神经元的模型: 生物神经元由细胞体、树突和轴突组成轴突另一个 神经元细胞体树突河南工业大学电气工程学院 21 智能控制: 第五章 神经网络控制树突和轴突负责传入和传出信息,兴奋性的冲 动沿树突抵达细胞体,在细胞膜上累积形成兴奋性 电位;相反,抑制性冲动到达细胞膜则形成抑制性 电位。两种电位进行累加,若代数和超过某个阈值, 神经元将产生冲动。电脉冲 输 入 树 突 细胞体 信息处理 形成 轴突 传输 突 触 输 出图 12.2 生物神经元功能模型河南工业大学电气工程学院人工神经网络基本模型22 智能控制: 第五章 神经网络控制模仿生物神经元产生冲动的过程,可以建立一个典 型的人工神经元数学模型: x1 w1x w22?xn?-θ 1nf ???ywny ? f (? xi wi ? ? )i ?1众多的人工神经元连接在一起就构成了人工 神经网络,简称神经网络。河南工业大学电气工程学院 23 智能控制: 第五章 神经网络控制基本人工神经元模型x0 = +1 x1Input signalw0w1 w2Activation functionx2?weightsLocal Fieldvf( )Outputo?xn?wn SynapticSumming function输入维数增加一维x0,则把域值-θ包括进去W0=-θ 智能控制: 第五章 神经网络控制?人工神经元模拟生物神经元的一阶特性。? ? ? ? ? ?输入:X=(x1,x2,…,xn)联接权:W=(w1,w2,…,wn)T网络输入:net=∑xi wi -θ向量形式:net=XW- θ激活函数:f网络输出: o=f(net) 智能控制: 第五章 神经网络控制典型激活函数 oO a+b O γc=a+b/2o11 0o c net net netnet 0 -γ 硬限函数( Hard Limiter Function 高斯函数( Function )) 线性函数(Gauss Liner Function ) (a net) =k*net+c f(netf) = 1 net≥0-λnet) S形函数 f(net)=(1-e-λnet)/(1+e 非线性斜面函数( Ramp Function) 或称为饱和线性函数 f(net)=(|net+1|-|net-1|)/2-θ(0,c)o-1θnet-net2/λ2 f(net) = e -1 或0 net&0 激活函数的典型应用??? ? ?硬限函数 线性函数 饱和线性 Sigmoid函数 Gauss 函数分类 函数逼近 分类 分类、函数逼近或优化 径向基函数神经网络(RBF网络) 举例:用MP神经元实现两个输入的逻辑与、或、异或? ?激活函数 f 采用硬限函数。 两个输入的逻辑与或异或的逻辑真值表? ??? ?x1 0 0 1 11x2 0 1 0 1θ=2yAND 0 0 0 1θ=2x1 y x2 2yOR 0 1 1 1x1 -1 y -1 x2 2 2θ=2yXOR 0 1 1 0m1 2 θ=2 2 m2 θ=2 yx1 x212 分析: 逻辑与: net=x1×1+x2×1-θ={-2 -1 -1 0} y=f(net)={0 0 0 1} 逻辑或: net=x1×2+x2×2-θ={-2 0 0 2} y=f(net)={0 1 1 1} 异或: net1=x1×2+x2×(-1)-2={-2 -3 0 -1} net2=x1×(-1)+x2×2-2={-2 0 -3 -1} m1=f(net1)={0 0 1 0} m2=f(net2)={0 1 0 0} net=m1×2+m2×2-2={-2 0 0 -2} y=f(net)={0 1 1 0}上述结果与真值表对比结果一致。 智能控制: 第五章 神经网络控制5.2.2 人工神经网络基本特性及表示(1)分布存储和容错性。信息在神经网络中的存 储是按内容分布于许多神经元中的,部分神经 元的损坏不会影响整个网络的信息恢复。 (2)自适应性与自组织性。神经元之间的连接具 有多样性,各神经元之间的连接强度具有可调 性,这使得神经网络可以通过学习和训练进行 自组织。河南工业大学电气工程学院 30基 本 特 性 智能控制: 第五章 神经网络控制基本特性(3)并行处理性。网络的各单元可以同时进行类 似的处理过程,整个网络的信息处理方式是大 规模并行的,处理速度快。 (4)能以任意精度逼近任意的非线性函数关系。河南工业大学电气工程学院31 智能控制: 第五章 神经网络控制神 经 网 络 表 示信号流图(有向图)表示。信号流图是由一些带方向的连接和节点组成。 信号沿连接线按箭头方向流动。连接线:突触连接和函数连接 节点:求和节点和分送节点河南工业大学电气工程学院32 智能控制: 第五章 神经网络控制5.2.3 神经网络的结构从连接方式分为前馈型网络和反馈型网络。 前馈网络:只有前后相邻两层之间神经元相互联接, 各神经元之间没有反馈。每个神经元从前一层接 收输入,发送输出给下一层。………… 输入层隐层输出层33河南工业大学电气工程学院 智能控制: 第五章 神经网络控制反馈网络:从输出层到输入层有反馈,每一个 神经元同时接收外来输入和来自其它神经元 的反馈输入,其中包括神经元输出信号引回 自身输入的自环反馈。输出……输入河南工业大学电气工程学院 34 神经网络工作过程? ??? ?两个阶段 第一阶段学习期 各计算单元状态不变,各连线权 用于模式识别和函数逼近 值可通过学习来修改。 第二阶段工作期各连线权值固定,计算单元状态 变化,以达到某种稳定状态。 作用效果分析:前馈网络主要是函数映射 反馈网络按对能量函数的极小点的利用分类: 所有极小点都起作用:用作各种联想存储器 全局极小点起作用:用作求解最优化问题 智能控制: 第五章 神经网络控制神经网络的学习方式/网络①感知器、误差反传网络( BP)、小脑模型连接控 ①有导师学习(监督学习)神经网络:为神经网络提供 制器( CMAC)、模块(组合)网络、增强学习 样本数据,对网络进行训练,使网络的输入输出 网络 关系逼近样本数据的输入输出关系。 ②竞争学习和 网络、 Hopfield网络、双向联 ②无导师学习Kohonen (非监督学习) 神经网络:不为神经网络 想存贮器( BAM)、Boltzman机 提供样本数据,学习过程中网络自动将输入数据 的特征提取出来。 ③ GA ③强化学习 (再励学习)神经网络是有导师学习的特例。 只对输出结果给评价,系统通过强化受奖励的输 出改善自身性能。河南工业大学电气工程学院 36 智能控制: 第五章 神经网络控制举例:典型网络结构x1 w11 w1m x2 w2m … xn 输入层 … wn1 … on 输出层 o2 o1简 单 单 级 网wnm 智能控制: 第五章 神经网络控制单级横向反馈网x1 w11 w1m o2 w2m … xn 输入层 输出层 wn1 … … omneto1x2 智能控制: 第五章 神经网络控制多级网x1 o1x2o2… xn………………om输入层隐藏层输出层 智能控制: 第五章 神经网络控制循环网o1x1x2o2… xn……………… om输入层隐藏层输出层 智能控制: 第五章 神经网络控制5.2.4最简单的神经网络:感知器 (Perceptron)模型 该模型的结构:Perceptron模型是美国学者 Rosenblutt在1957年提出的,首次使 神经网络具有了学习的能力,后来 的神经网络模型都是在此模型的基 础上进行的改进和推广。x1 w x w212?x wnn?-θ1f ???y权值或连接强度,可调该模型的数学模型: n , y ? f (? xi wi ? ? ) 令wn+1=-θ,xn+1=1,则:i ?1?1 x ? 0 f ( x) ? ? ?0 x ? 0y ? f (? xi wi )i ?1河南工业大学电气工程学院 41n ?1 智能控制: 第五章 神经网络控制Perceptron模型的学习方法: 输入一学习样本X=(x1,x2,……xn,1)和它的希望输出d。 计算网络的实际输出:y (t ) ? f (? xi wi (t ))i ?1n ?1用下式对权值w进行修正:wi (t ? 1) ? wi (t ) ? ?[d ? y(t )]xi反复修改, 直至w稳定不变其实是最优化方法的最速梯度下降法,目标是使函数J ? 1 / 2(d ? y(t ))2最小,也就是使网络的输出尽可能地逼近希望输出d。河南工业大学电气工程学院 42 智能控制: 第五章 神经网络控制上述模型可以看出神经网络通过一组状态方程 和一组学习方程加以描述。 状态方程描述每个神经元的输入、输出、权值间 的函数关系; 学习方程描述权值应该怎样修正。神经网络通过 修正这些权值来进行学习,从而调整整个神经 网络的输入输出关系。河南工业大学电气工程学院43 单层感知器???用于两类模式分类时,相当于在高维样本空间 中,用一个超平面将两类样本分开。 已证明 若输入的两类模式是线性可分集合(指存在 一个超平面能将其分开),则算法一定收敛。 局限性 若输入模式为线性不可分集合,网络的学习 算法不收敛,不能进行正确分类。 举例 线性可分集合(1) 二维平面上的两类模式,见表。 用图所示二输入/单输出单层感知器,输入输出描述: ? 1 , ??0 y ? f (w1u1 ? w2u 2 ? ? ) ? f (?) ? ? ? 0 , ??0 即?1 , w1u1 ? w2u2 ? ? y?? ?0 , w1u1 ? w2u2 ? ?可见:输入输出为线性可分集合,因此一定可找到一 条直线,将输入模式分为两类,此直线方程: y ? w1u1 ? w2 u2 ? ? ? 0?则 u2 ? ? ? w1 u 见图,此直线与权值及阈值有关。 1w2 w2 举例 线性可分集合0 1表 3-1u1 u20 0 1 1y0 0 0 1平面上的两类模式分类u0 ? 1 w1 w0 ? ??u20 1u1 u?w2yu12(a) 分类器结构 图 2-3-2(b) 平面上两类模式分界线平面上两类模式分类 (2) 三维空间上的两类模式?用图所示三输入/单输出的单层感知器,输入输出:? ? ? ??即 可见,输入输出为线性可分集合,一定可找到一个平面, 将输入模式分为两类,平面方程: y ? w1u1 ? w2u2 ? w3u3 ? ? ? 0 则 w w ? u3 ? ? 1 u1 ? 2 u 2 w3 w3 w3 此平面与权值及阈值有关,见图。? 1 , ??0 y ? f (w1u1 ? w2u2 ? w3u3 ? ? ) ? f (?) ? ? ? 0 , ??0 ?1 , w1u1 ? w2 u 2 ? w3u3 ? ? y?? ?0 , w1u1 ? w2 u 2 ? w3u3 ? ? u0 ? 1w0 ? ?? u1 u2 u w1表 3-2u1u10 0u20 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1u3y0 0 0 0 1 1 1 1w2?y0 0 13w3u21 1图 2-3-3 三维空间上的两类模式分类1(3) 可引伸到n&3维空间上的线性可分集合,一定可找 到一超平面,将输入模式分为两类。由n输入/单输出的单层 感知器实现。 对二维平面上的另一类模式――异或(XOR)问题 见表。 二维平面中不存在一条直线,将输入模式分为两 类,此输入模式称线性不可分集合,见图。 可见:单层感知器不能解决异或问题。表 3-3u1 u2y0 0 0 1 1 0 1 10 1 1 0u2u1图 3-4 异或问题 智能控制: 第五章 神经网络控制感知器是前馈(正向传输)网络,所有节点都是线性的.x1 x2 xn● ● ● ● ● ● ● ● ● ●感知器网络y1 y2 ym●●权向量WBP网络与感知器的主要差别在于: BP网络的节点是非线性的。采用广义 ? 学习规则。 智能控制: 第五章 神经网络控制输入与输出的关系:XW ? yW ? ( X T X )?1 X T yT k权矩阵可以按下式求解: 学习规则:Wk ?1 ? Wk ? ? ( yk ? W X k ) X k 或 ?Wk ? ??k X kT k?? k ? ( yk ? W X k )是学习因子代表输入与输出的差别。这学习规则即是著名的?学习规则。? k ? 0 保证网络的收敛。 随着学习迭代次数k的增加, 智能控制: 第五章 神经网络控制小结通过向环境学习而获取知识并改进自身性能是神经网络的 一个重要特点。 一般情况下是按某种预定的度量通过冻结自身参数(如权 值)逐步达到的。 智能控制: 第五章 神经网络控制5.3 几种类型的神经网络5.3.1 前向多层BP神经网络 训练算法 信息的传播方向权值修正x1 x2(1) w11f (?) f (?)( 2) w11? ? ?y1 y2BP算法 d +(1) wijwf (?)( 2) jk……wxnym(1) nl( 2) wlm输入层隐层输出层53河南工业大学电气工程学院 智能控制: 第五章 神经网络控制?网络的结构沿信息的传播方向,给出网络的状态方程,用 In j 和 Out 表示 j 第i层第j个神经元的输入和输出,则网络的各层输入输出关 系可描述为: 第一层(输入层):将输入引入网络Out i(1) ? Ini(1) ? xi(i ) (i )i ? 1,2,?, n连接强度第二层(隐层):? ? w ? Out i ?1 j ? 1,2,?, l ( 2) ( 2) Out j ? f ( In j ) In( 2) j (1) ij (1) i河南工业大学电气工程学院 54n 智能控制: 第五章 神经网络控制其中,f ( x)S函数:为激活函数,可以取不同的形式,如:1 f ( x) ? 1 ? e?x? ( x ? a) 2 ? f ( x) ? exp ? ? 2 b ? ?高斯基函数:径向基函数、样条基函数、小波函数等河南工业大学电气工程学院55 智能控制: 第五章 神经网络控制第三层(输出层):yk ? Out( 3) k? In( 3) k? ? w ? Outj ?1 ( 2) jkl( 2) jk ? 1,2,?, m?网络的学习学习的基本思想是:通过一定的算法调整网络的权值,使网 络的实际输出尽可能接近期望的输出。在本网络中,采用误差反传(BP)算法来调整权值。河南工业大学电气工程学院56 智能控制: 第五章 神经网络控制假设当网络的输入为X=(x1,x2,……,xn)时,网络的实际 输出为Y=(y1,y2,……,ym),网络的期望输出为D=(d1, d2,……,dm)。则定义学习的目标函数为:m 1 m 1 2 2 J ? ? (d i ? yi ) ? ? ei 2 i ?1 2 i ?1平均方差BP算法通过下列公式来调整权值,使目标函数最小:?J w(t ? 1) ? w(t ) ? ? ?w学习率最速梯度下降法河南工业大学电气工程学院57 智能控制: 第五章 神经网络控制具体说来,有:(1) (1) wij (t ? 1) ? wij (t ) ? ?1?J (1) ?wij ?J 2) ?w(jk2) 2) w(jk (t ? 1) ? w(jk (t ) ? ?1其中:( 3) ?yk ?Out k(3) ?Ink ?J ?J ? ? ? ? ( 2) ( 2) ( 3) ( 3) ?w jk ?yk ?Out k ?Ink ?w jk偏差逐步反传( 2) ( 2) ( 3) ? m ? ? Out ? In ? y ? In ?J ? J j j k k ? ? ? ? ? ? ? ? (1) ( 3) ( 2) (1) ? ?wij ?Out (j 2) ? ? In ? w k ?1 ? ?y k ?Ink j ij ?河南工业大学电气工程学院58 智能控制: 第五章 神经网络控制? 学习的流程: 假设已知输入为X时,期望输入为D,则网络学习的流程为:输入X,根据网络的状态方程沿信号传 播方向计算出网络输出Y 计算目标函数1 m 1 m 2 2 J ? ? (d i ? yi ) ? ? ei 2 i ?1 2 i ?1J&ε? Noyes训练完成修正权值w(t ? 1) ? w(t ) ? ??J ?w59河南工业大学电气工程学院 智能控制: 第五章 神经网络控制● 多层前向神经网络的结构图 一个输入层,一个输出层,多个隐层。 隐层 xpOp1 wj1p1 p d pk? ? x pn?1( h) h) Opj S (jpj Op2 wj pm? ? ?d pm输入层隐层O pnn输出层信息流 智能控制: 第五章 神经网络控制多层前向神经网络的BP算法隐层节点j输出和输入节点p的关系:( h) h) ( h) S pj ? ? w( x O ji pi ipj? f( h) j(S( h) pj)输出节点k和隐层输出节点p的关系:(o) (o) ( h) S pk ? ? wkj Opj O(o) jpk(o) ? f k(o) (S pk )学习过程:? pk ? (d pk ? O )(o) pk定义输出误差 ? pk 智能控制: 第五章 神经网络控制学习的目的是要使以下定义的误差平方和最小:1 m 2 1 (o) 2 E p ? ? ? pk ? ? (d pk ? O pk ) 2 k ?1 2 k因此,要求以下的偏导,?E p(o) ?wkj (o) ?S pk (o) ?wkj引入误差,最后得到二个权值改变的重要公式:(o) (o) (o) (k ) wkj (t ? 1) ? wkj (t ) ? ?? pk O pj (h) h) (o) wkj (t ? 1) ? w(ji (t ) ? ?? pj x pj 智能控制: 第五章 神经网络控制初始化加输入和期望输出 计算隐层和输出层的输出调节输出层和隐层的连接权值(o) (o) (o) (k ) wkj (t ? 1) ? wkj (t ) ? ?? pk O pj (h) h) (o) wkj (t ? 1) ? w(ji (t ) ? ?? pj x pj改变训练样本No训练要终止?y迭代次数加1No迭代终止?yBP算法的基本流程 举例:用BP网络逼近非线性函数f (u) ? e[ ?1.9( u?0.5)] sin(10u)取BP网络,隐节点作用函数选对称型S函数,输出节点为 线性; BP算法,取; (1)训练输入样本集u=-0.5:0.05:0.45,图(a)‘*’; 训练输出样本集,图(b)‘*’, 样本集长度; (2)测试输入集u1=-0.48:0.05:0.47,图(a)中‘+’; 测试数据集,图(b)中‘+’;? ? ? ? ?
(3)取随机非零初始权系,t=1 500 次训练, 网络输出 y(‘o’)与训练输出样本集 d(‘*’)比较见图(c); (4)在测试集 u1 输入时, 网络输出 y1(‘o’)与测试数据集 d1(‘+’)比较见图(d); 由图(c)知:网络的训练误差在第 L=20 个样本处(最后一个样本)最小。 (5)网络泛化能力见图,J (t )训练集目标函数(实线); 测试集目标函数(虚线), t=1~1500;由图知:1000次训练 J 1( t ) 后,再训练: 网络的 J (t )已几乎不减小,说明网络的权系值已几乎 不调整了。2 1.8J J11.6 1.4 1.2 1 0.8 0.6 0.40500 (e)1 0001 500BP网络训练例 智能控制: 第五章 神经网络控制5.3.2 Hopfield 网络(反馈网络) y1y2y3y4wn1wnn?1w21fw12fv1 (k )……w2 n ?1 w1n?1fw2 n w1nfvn ?1 (k )x1x2xn ?1xnHopfield网络有离散与连续两种类型。河南工业大学电气工程学院 68 连续Hopfield网结构见图。用模 拟电路(电阻、电容和运算 放大器)实现网络的神经元 (节点)。 Hopfield单层反馈非线性网,每 一节点的输出反馈至输入。Ii RiRijui Cif (?)Vif (?)Vj(b)连续型Hopfield网络 网络的描述x ? u,V ? y , ? ? Ri' Ci ,? ? I C 1 1 ? dxi ? ? xi ? wij y j ? ? i ? ? ? Ci j 则 ? dt ?y ? f (x ) i ? i 1 ? e?x wij ? w ji 。 f ( x) ? 式中 , 且 1 ? e?x 可见: (1) Ri 与Ci 的并联模拟了生物神经元的时间常数; 1 (2) Rij 模拟了神经元间突触特性;设(3)运算放大器模拟了神经元的非线性特性; I i 相当于阈值。 (4)偏置电流 智能控制: 第五章 神经网络控制? 网络的状态方程可以描述为y j (k ? 1) ? f [? wij (k ) yi (k ) ? x j (k )]i ?1 nj ? 1,2,?, n? 网络的学习 假设d(k+1)是网络的期望输出,定义目标函数为:1 m E ? ? [d i (k ? 1) ? yi (k ? 1)]2 2 i ?1同样可以根据BP算法来对网络权值进行训练:w(k ? 1) ? w(k ) ? ? ?E ?w(k )71河南工业大学电气工程学院 有关的几个问题(1) 联想记忆 因网络能收敛于稳态,故可用于联想记忆。若将稳态视为一个记忆,则由 初态向稳态收敛的过程就是寻找记忆的过程,初态认为是给定的部分信息,收 敛过程可认为是从部分信息找到了全部信息,实现了联想记忆的功能。 联想记忆模型的一个重要特性:由噪声输入模式,反映出训练模式。 (2) 优化计算 若将稳态视为某一优化计算问题目标函数的极小点,则由初态向稳态收敛 的过程就是优化计算过程。 (3) 联想记忆与优化计算的关系 网络用于计算时 W 已知,目的是为了寻找稳态;用于联想记忆时稳态是给定 的,由学习求得权系值。因此,二者是对偶的。 (4) 网络渐近稳定的前提 前提是wij ? w ji,否则,系统的运动无准则。(5)网络的应用 该网络多用于控制系统的设计中,求解约束优化问题;在系统辨识中,也 有应用。 对于具有N个神经元的网络,其状态可以用向量S来确定: T S ? s1, s2 ,...,sn??S是N位二进制信息,满足以下条件: 1)时间t趋近无限,允许回归网络达到稳态; 2)在非线性函数的原点,斜率无穷大,具有硬限幅器特性。工作过程1)存贮阶段。确定权值矩阵。设要存贮的向量为:? ? ? | ? ? 1, 2, .... p?则按外积规则,神经元i到神经元j的连接权定义为:1 w ji ? N?? ? ? ?? ?1jpi写成向量形式: W ? 1 N?p? ?? ? T ?? ?1p Ip N 2)第二阶段 信息检索输入信息,进行随机的、异步的迭代,直到网络达到稳定,这时单元的输出 为: N y i ? Sgn( ? w ji y i ? ? i)j ?1稳定条件也称匹配条件。状态向量满足匹配条件的称系统相 空间的稳定点或固定点,检索完成,Hopfield收敛到稳态。 举例: 由3个神经元组成的Hopfield网络,有2个基本存贮器,存贮2个 向量[1,-1,1]和[-1,1,-1],设计权连接矩阵。 按公式:?1? 1? ? W ? ?? 1? 3? ? ?1? ? 0 1? ? ?? 2 3? ? 2 ? ?1? ?1 1? ? 2? ?1 ? 1 1? ? ? 1 ? ?? 1 1 ? 1? ? ?0 3? ? 3? ? 1 ? ? ?0 ?2 2 ? ? 0 ? 2? ?2 0 ? ?10 1 00? ? ? 1? ?相应的连接图形如右:-2/3 -2/3 +2/3 -2/32+2/33-2/3 满足匹配条件的固定点或向量计算如下:?0 1 WY ? ? ?2 3? ? ?2 ?0 1 WY ? ? ?2 3? ? ?2 ?2 2? 0 ? 2? ? ?2 0 ? ? ?2 2 ? 0 ? 2? ? ?2 0 ? ? ?1? ?4? ?1? ?- 1? ? 1 ?? 4? ? ?- 1? ? y 1 ? ? 3? ? ? ? ? ? ? ?1? ? ?4? ? ?1? ? ?- 1? ? ? 4? ?- 1? ?1? ? 1 ? 4 ? ? ?1? ? y 2 ? ? 3? ? ? ? ? ? ? ?- 1? ? ? ? 4? ? ?- 1? ?其它点都是不稳定的点,例如,对[1,1,1],和[1,1,-1],迭代结果 都移向稳定点。 对[1,1,1]? 0 ? 2 2 ? ?1? ?0? ?1? 1 ? ?1? ? 1 ?? 4? ? ?- 1? WY ? ? ? 2 0 ? 2 ?? ? 3? ? ? ? 3? ? ? ? ? 2 ?2 0 ? ?? ?1? ? ?0? ? ?1? ?? 0 1? WY ? ?? 2 3 ? ? 2 ?2 0 ?2 2 ?? 1 ? ? ? 4? ?- 1? 1 ? 1 ? ? ? 4 ? ? ?1? ? 2? ?? ? 3 ? ? ? ? ? ? ? ? ? ? 0 ? ?? 1? ? 0 ? ?- 1? ?对[1,1,-1] 此过程可用图 表示如右:●关于Hopfield网络的稳定性问题N设定网络的能量函数:1 N N E ? ? ? ? w ji si s j 2 i ?1 j ?1i? j保证:?E ? ??s j ?Wij si ?0i ?1 j ?i 讨论Hopfield网络的工作过程有4个步骤: 1)存贮(学习),异步、随机。 2)初始化,加入初始试样,然后移走。 3)迭代直至收敛4)输出,得到稳定点。有能量函数,保证迭代过程能量的增量为负。 连续Hopfield网络具有同样的性质。●双向联想存贮器BMA是一个双层回归联想存贮器,是Hopfield网络的扩展, 也是内容编址存贮器,但各单元可以有自反馈。 (一)全反馈型神经网络反馈型神经网络(RNN)也称互联型网络,是具有反馈的 网络, 是动态网。 分为两种: 全反馈型与局部反馈型。u1 (t ) ?xi (t ? 1)u(t)y(t)uq (t )??yi (t ? 1)if (?)y1 (t ) ? yl (t )全反馈型(RNN)网络 网络结构n 。每一神经元与网中所有神经元有连接。 全递归型神经网络:神经元=n,连接权=图 2-9-1,神经元 n=3,连接权=n =9。 设网络输入输出时间序列{u(t ) ,y(t ) },则每一节点 i 的状态方程、输出方程:2 2xi (t ? 1) ? ? wil y l (t ) ? ? wiq uq (t ) ? ? i ? ? wij I j (t ) ? ? il q jyi (t ) ? f ( xi (t ))yl (t ) :在时刻 t,节点 l 的输出(l 可以是 i); I j (t ) f (?) :非线性作用函数;:在时刻 t,节点 i 的第 j 个输入(j 可以是 l、i、q); 网络的学习算法:有导师的学习已知希望的输入/输出时间序列,在时间t=t0~t之间 ,使所定的评价函数(误差平方和函数)最小的权系搜 索问题。 这一问题,归结到非线性系统的参数最优化问题。 有两种算法: 沿时间BP(BPTT)算法 实时递归学习(RTRL)算法 由于该网络权值多,稳定性与收敛性很难调试,故控 制中很少用。 (二)Elman网络是典型的局部递归内时延反馈型神经网络,有基本型与改进型。 (1)基本 Elman 网络 网络结构见图,特点:除了输入、输出和隐节点外,还有与隐节点数相同的 反馈节点,其输入是隐节点输出的一步延迟。 y(t ) ,则网络输 设反馈层输出y c (t ) ,网络在外部输入序列 u(t)下的输出序列 出 y (t ) : x o (t ? 1)? H W yc (t ? 1)? 1 W u(t )? 1 θy c (t ) ? o(t ? 1) ? f1 (x o (t ? 1)) y (t ) ? f 2 ( 2 W o(t )? 2 θ)u (t )y c (t )o(t ? 1) y (t ? 1)??图 基本Elman网络 (2)改进型Elman网络 网络结构见图,与基本Elman比较,反馈节点有增益为 的自反馈连接,该网络能模拟更高阶动态系统。反馈层 输出:?y c (t ) ? o(t ? 1) ? ?y c (t ? 1)图 改进型Elman网络 (三)外时延反馈型网络外时延反馈网络(输出时延反馈网)组成: 多层前馈网、输出时延反馈、按拍延迟线。结构见图。 u(t ) ,输出序列为 以单输入单输出网络为例,设网络的外部输入序列为 y (t ) ,多层前馈网的输入有两部分: u(t ? 1), u(t ? 2),? , u(t ? m) 与输出反馈 y (t ? 1), y (t ? 2),? , y (t ? n) 由按拍延迟线(TDL)实现。u (t ) z ?1 z ?1 z ?1?? u (t ? m) y (t ? n)多 层 前 馈 网 络y (t )z ?1图 局部递归网络――外时延反馈型 网络用BP算法调整权值:(1)在时刻 t,多层前馈网的输入/输出样本对: u(t ? 1), u(t ? 2),? , u(t ? m) , y (t ? 1), y (t ? 2),? , y (t ? n) / yd (t ) (2)网络的输出: y (t ) ? N [ y (t ? 1),?, y (t ? n), u (t ? 1),?, u (t ? m); W] (3)目标函数: 1 u (t ) J ( t ) ? ? E (? ) ? ? ( y d (? ) ? y (? )) 2 2 ? ? z ?1 ? ? ? 1,2,? , L ,L 样本长度。 (4)网络训练: J ?? 用节 2-4 中 BP 算法训练网络,直到 。 局部递归型网络用于非线性系统辨识与控制中。z ?1 z ?1 z ?1?u (t ? m) y (t ? n)多 层 前 馈 网 络y (t )图 外时延反馈型网络 智能控制: 第五章 神经网络控制5.3.3 小脑神经网络(CMAC)小脑模型关节控制器(CMAC)是由Albus最初于1975年基于 神经生理学提出的,它是一种基于局部逼近的简单快速的神经 网络, CMAC是一种联想网络,对每一输出只有一小部分神经 元与之相关,它的联想具有局部泛化能力。与感知器相似,适 合非线性映射。特点: 1)具有局部逼近能力,每次修正的权值极少,学习速度快,适 合于在线学习。 2)一定的泛化能力,相近输入给出相近输出,不同输入给出不 同输出。 3)具有连续输入输出能力。 4)具有寻址编程方式。在利用计算机仿真时,响应速度加快。河南工业大学电气工程学院 86 智能控制: 第五章 神经网络控制1. CMAC的原理CMAC是一种模仿人类小脑的学习结构,其一般结构 如下图所示。输入向量M/AC杂散编码AP(W)y+输出U输入空间CMAC结构
?在这种技术里,每个状态变量被量化并且问题空间 被划分成离散状态。 量化的输入构成的向量指定了一个离散状态并且被 用于产生地址来激活联想单元中存储的联想强度从 而恢复这个状态的信息。组合 量化??加法器 输入空间 状态空间 联想单元 hash单元输出 智能控制: 第五章 神经网络控制对于输入空间较大的情况,为了减少存储空间, 几个联想单元可以通过hash映射被分配同一个存 储单元(hash单元)。这时,联想单元中只存储 hash单元的散列地址编码,而hash单元中才存储 真正的联想强度。由于hash映射增加了分析 CMAC行为的难度,所以只有当存储器空间不够 时才使用hash映射。河南工业大学电气工程学院90 智能控制: 第五章 神经网络控制下图描述了双变量CMAC的空间划分和量化机制。超立方体 联想单元b f d4 34 3 2 1 1 C E8 7 6 5 2 A12 11 10 9 3 D F16 15 14 13 4 B量化的第1种方式 量化的第2种方式 量化的第3种方式V2e c量化的第3种方式 量化的第2种方式 量化的第1种方式a2 1V1“块”91河南工业大学电气工程学院 智能控制: 第五章 神经网络控制这个简单的例子有两个状态变量(V1和V2),每 个变量在论域上被划分为几个离散的区域叫做“块”。 块的宽度影响CMAC的概括能力。 为了能够用较简洁的矩阵形式来描述CMAC的机 制和特性,在这里我们将块的数量限定为2。譬如, V1被划分为A、B;V2被划分为a、b。区域Aa, Ab, Ba和Bb被称作“超立方体”(hypercubes)。河南工业大学电气工程学院92 智能控制: 第五章 神经网络控制通过将每个变量以相同的方式平移一小段间隔(称 为“元素”,如图中1,2,3,4),可以获得不同的超 立方体。例如,V1通过平移后的区域C,D和V2的c,d组 成一层新的超立方体Cc,Cd,Dc,Dd。我们规定,相同的划分方式组成一层超立方体,例 如V1的第p种划分方式与V2的第p种划分方式对应组成第p 层超立方体。用上述方法分解,我们可以得到一共有3层 的超立方体,其中每一层对应一种划分方式。河南工业大学电气工程学院93 智能控制: 第五章 神经网络控制从图中可看出,两变量的每一种状态组合(1,2,…,16) 在每一层都被一个超立方体覆盖,则对应所有的划分方 式,一共被3个不同的超立方体覆盖。 也就是说,两变量的每一种状态将激活3个不同的超 立方体,CMAC为每个超立方体分配一个物理的存储单 元(联想单元),每个联想单元中存储着相应的超立方 体对于输出的影响强度(联想强度),这样,两变量的 每一种状态将激活Ne个不同的联想单元,这被激活的Ne 个联想单元又以不同的联想强度影响输出。河南工业大学电气工程学院94 智能控制: 第五章 神经网络控制2 CMAC学习的数学推导? 无hash映射的CMAC在CMAC中,每个量化的状态属于Ne个超立方体 (联想单元)。假设Nh是总的联想单元的数量。用 CMAC技术,第s个状态对应的输出数据ys可以被表 示为:ys ? CsTW ? [cs ,1 cs , 2 ? w1 ? ? w ? Nh 2 ? cs , N h ] ? ? ? ? cs , j w j ? ? ? j ?1 ? ? ? ? wN h ? ?式中,W是代表存储内容(联想强度)的向量,Cs是 存储单元激活向量,该向量包含Ne个1。河南工业大学电气工程学院 95 智能控制: 第五章 神经网络控制在决定了空间的划分方式后,对于指定的状态,单 元激活向量Cs也随之确定。例如,对于图中的CMAC, 有16个离散状态,并且安排了标号。有12个联想单元 分别对应超立方体Aa, Ab, Ba, Bb, Cc, Cd, Dc, Dd, Ee, Ef, Fe和Ff,这些单元从1到12按升序排列。则第1个 状态被超立方体Aa、Cc、Ee覆盖,将激活与这三个 超立方体相对应的联想单元,对应于该状态的激活向 量因此为T C1? [1 0 0 0 1 0 0 0 1 0 0 0]河南工业大学电气工程学院96 智能控制: 第五章 神经网络控制?有hash映射的CMAChash映射将几个联想单元和一个物理存储位Z(hash单 元)相对应。hash单元中存储联想强度,而此时的联想 单元是虚拟的存储空间,只存储hash单元的散列地址编 码。有hash映射的CMAC特别适用于存储空间小于超 立方体数量时的情况。用有hash映射的CMAC技术, 第s个状态对应的输出数据ys可以被表示为:? h11 ? ?? ? ?h ? N h ,1 ? w1 ? ? h1,M p ? ? ? ? ? w2 ? ??? ? ? ? hN h ,M p ? ? ? ? w ? ? Mp ? ?97ys ? CsT HW ? cs ,1 cs , 2 ? cs , N h??河南工业大学电气工程学院 式中,Mp是hash单元的数量,它小于联想单元数 Nh。hij=1表示联想单元i激活hash单元j。由于每 个联想单元仅仅和一个hash单元相对应,所以 hash矩阵H的每一行仅有一个单元等于1,其余的 都等于0。 没有hash映射的公式和有hash映射的公式可以 合并为一个式子:T y s ? As W ? a s,1T ? C ? T s As ?? T ? ?C s H?a s,2? a s, Nh W?无hash 映射 有hash 映射 智能控制: 第五章 神经网络控制CMAC 学习方法:⑴ 给定期望的输出函数 F 即: P? = F(S ) p?i = F (si ) P? 为期望函数 ⑵ 对输入空间每一点,计算实际输出 pK= F(si) k = 1,2,…,n (输出向量的维数) i = 1, 2,…,N (输入向量的维数) P = F(S )PK = AKWTKAK =(a1K ,a2K ,…ank) Wk = (w1k , w2k ,…,wnk) 对 n 维输出 P 向量,应有 n 个实际存贮器。 智能控制: 第五章 神经网络控制⑶比较 Pk 和 P?k 使 | pk - p?k | ? ek 如果不满足,按下式更改和修正权值 W:k Wl k ? W ?1 l ??? ?P* kn k ? ?1 ? j W jk / N ? mk???k ?W k ? Wl k ? W ?1 l其中:是地址 W k 中第 l ? 1 次迭代的权值(新) W l k 是地址 W k 中第 l 次迭代的权值(旧) 括号中是平均误差 m k 是修正因子。Wlk ?1⑷ 重复以上步骤,直至误差达到规定值。 5.4 神经网络控制系统5.4.1 神经网络控制待解决的问题1. 神经网络的稳定性与收敛性问题。 2. 神经网络的研究,在逼近非线性函数问题 上, 现在的理论,只解决了存在性问题。 3. 神经网络的学习速度一般都比较慢,为满足实 时控制的需要,必需予以解决。 4. 对于控制器及辨识器,如何选择适合的神经网 络模型及确定模型的结构。 5. 神经网络控制系统,稳定性、收敛性的分析难 度大。 智能控制: 第三章 神经网络控制5.4.2 神经网络控制的多种结构神经网络控制发展的历史虽不长,但,神经网络已 在多种控制结构中得到应用: PID控制 模型参考自适应控制 前馈反馈控制 内模控制 预测控制 ...... 神经网络控制的多种结构神经直接自校正控制? 神经控制器 NNC 与对象串联,实现 P 的逆模型P不足:开环控制结构,不能有效的抑制扰动。r u y?1,且能在线调整。输出 y 跟踪输入 r 的精度,取决于逆模型的精度。? ?1 ) NNC ( P)对象-? ?1 ) NNiI ( P神经直接自校正控制 神经网络控制的多种结构神经间接自校正控制由神经辨识器NNI在线估计对象参数,用调节器(或控制器)实现参数的自 动整定相结合的自适应控制。NNI控制器设计r 自校正控制器uy对象神经自校正控制框图 神经网络控制的多种结构神经PID控制由辨识器NNI在线辨识对象,对控制器NNC的权系进行实时调整,使系统具 有自适应性,从而达到控制目的。-PID 控制器r eNNCu对象y学习算法NNI? y学习算法 -e2-e1神经 PID 控制框图 神经网络控制的多种结构神经直接模型参考自适应控制构造一个参考模型,使其输出为期望输出,控制的目的是使y跟踪r。参考模型yMr NNCur对象-y-神经直接模型参考自适应控制 神经网络控制的多种结构神经间接模型参考自适应控制构造一个参考模型,使其输出为期望输出,控制的目的,是使y跟踪r。 对象特性非线性、不确定、不确知时采用。参考模型yMe2r NNC u 对象 -ye1NNI-? y神经间接模型参考自适应控制 神经网络控制的多种结构神经内模控制具有结构简单、性能良好的优点。r e_滤波器F ( z)g内模 控制器D( z )u对象P( z )? ?y ? y ?内部模型 e1? ( z) P神经内模控制 神经网络控制的多种结构PID神经网络单变量控制PID神经网络控制器与单变量对象一起作为广义网络 ,不需辨识复杂的非线性 被控对象,可对其实现有效的控制。PID神经网络单变量控制结构 神经网络控制的多种结构PID神经网络多变量控制PID神经网络控制器与多变量对象一起作为广义网络 ,不需辨识复杂的非 线性被控对象,可对其实现有效的控制。 神经网络控制的多种结构CMAC直接逆运动控制CMAC用于逆运动控制例――机械手控制问题。x?? ? f ?1 (x)末端位置 理想轨迹 CMAC??? x机械手末端位置 实际轨迹CMAC 直接逆运动控制 神经网络控制的多种结构CMAC前馈控制由CMAC实现前馈控制,由常规控制器实现闭环反馈控制,整个控制 结构是前馈反馈控制。NNC---CMAC 存储器 网络训练xd设定值 发生器xi网络回想 常规 控制器un+ 对象_ucuxCMAC 前馈控制 神经网络控制的多种结构动作―评价学习神经控制依据被控对象的当前状态与再励反馈信号,给出评价信号,对当前的控制进 行评价,确定下步的控制。评价网络P (x)控制 网络?e (k ) ru (k )re (k )对象x( k ) 动作―评价学习神经控制 神经网络控制的多种结构神经预测控制预测控制是一种基于模型的控制, 特点:预测模型、滚动优化和反馈校正。 神经预测控制由神经网络实现预测模型NNP。r 非线性优化器u对象yNNP 滤波器-神经预测控制 5.4.3 神经网络控制(NNC)系统从控制的观点来看,神经网络(NN)可以被看作是一个多输入多输出 的非线性动力学系统,并通过一组状态方程和一组学习方程加以描述。状 态方程描述每个神经元的兴奋或抑制水平与它的输入及输入通道上的连接 强度间的函数关系,而学习方程描述通道的连接强度应该怎样修正。神经 网络通过修正这些连接强度来进行学习,从而调整整个神经网络的输入输 出关系。 神经网络的主要特点有: (1)能够充分逼近任意复杂的非线性系统; (2)能够学习和适应严重不确定性系统的动态特性; (3) 很强的容错性; (4)采用并行分布处理方法,使得快速进行大量运算成为可能。 由于神经网络的这些特点,用它作为控制器时不需要被控对象精确的数学 模型,并且对于外界环境和系统参数的变化它也表现出具有很强的自适应 性。这使得神经网络特别适用于不确定性系统的辨识和控制。河南工业大学电气工程学院 115 ? 根据控制系统的结构的不同,神经网络控制系统可以划分为以下几种类型: (1)神经网络直接控制系统r+ -eNNC 目标函数u被控对象y在这种控制系统中,神经网络被直接用作误差闭环系统的反馈控制器, 神经网络控制器首先利用其它已有的控制样本进行离线学习,而后以系 统误差的均方差为评价函数进行在线学习。2 2 1 E?1 e ? [ r ( t ) ? y ( t )] 2 2 ?E , ?E ? ?E ? ?y (t ) ? ?u (t ) w(t ? 1) ? w(t ) ? ? ?w(t ) ?w(t ) ?y(t ) ?u (t ) ?w(t )当被控对象模型不确定时, ?y (t ) ? y (t ? 1) ? y (t )?u (t ) u (t ? 1) ? u (t )河南工业大学电气工程学院 116 智能控制: 第三章 神经网络控制(2)神经网络直接自适应控制 逆动力学rNNCe 目标函数u被控对象y图中e=r-y,直接自适应控制中,NN先离线学习对象的逆动力学特 性,然后被用作前馈控制器,并在线继续学习逆动力学特性。这种 方法的思想是,如果NN充分逼近机器人的逆动力学特性,则从NN 的输入端至对象的输出端的传递函数近似为1。河南工业大学电气工程学院117 (3)神经网络间接自适应控制r+ -e控制器u被控对象yNN估计器间接自适应控制系统由NN估计器和反馈控制器构成。在系统中,NN 被用作机器人动力学特性的在线估计器,反馈控制器则根据NN的估 计结果进行修正。反馈控制器可以是常规控制器、也可以是NN控制 器。河南工业大学电气工程学院118 智能控制: 第三章 神经网络控制(4) 模型参考自适应控制 模型参考自适应控制也可以分为模型参考直接自适应控制和模型 参考间接自适应控制,其结构分别如图中的(a)和(b)所示。 在两种系统中,都是以对象的实际输出和参考模型输出的误差e 来修正NN控制器的网络权值。在(a)中,NN控制器需事先离 线学习机器人的逆动力学模型;而在(b)中,机器人的逆动力 学模型由专门的NN估计器来在线辩识。参考模型 逆动力学rqre+ r控制器参考模型qr +e -NNCu被控对象yu被控对象yNN估计器-+119河南工业大学电气工程学院 (5)神经网络学习控制 NN需要一个过程来进行学习,如果未经学习而直接用于系统,则系统的初 始响应不能令人满意。为提高系统的初始鲁棒性,神经网络学习控制系统 将神经网络与常规误差反馈控制结合起来,首先用NN学习对象的逆动力学 模型,然后用NN作为前馈控制器与误差反馈控制器构成复合控制器来控制 对象。系统以反馈控制器的输出作为评价函数来调节神经网络的权值。这 样,在控制之初,反馈控制器的作用较强,而随着控制过程的进行,NN得 到越来越多的学习,反馈控制器的作用越来越弱,NN控制器的作用越来越 强。神经网络学习控制系统的结构如图所示。NN控制器r+ -e反馈控制器++u被控对象y河南工业大学电气工程学院120 神经网络控制的优点: (1)由于神经网络能够充分逼近任意复杂的非线性系统,可以用神经网络来 在线辨识复杂的具有不确定性的被控对象,构成自适应控制系统; (2)能够以系统误差为目标函数进行学习,通过调整网络的权值使控制系统 的误差达到最小,从而达到最优控制; (3) 系统具有很强的容错性; (4)采用并行分布处理方法,使得快速进行大量运算成为可能,从而提高实 时性。 神经网络控制的缺点: (1)网络结构的设计缺乏系统的方法,主要靠经验和试凑;(2)网络的权值没有明确的物理意义,初始化较困难;(3)网络的学习算法大多为局部最优算法,如果网络的权值初始值选 择不恰当,很容易使系统陷入局部最优,而不能取得好的控制效果。河南工业大学电气工程学院121 5.4.4 神经控制的设计与实现控制系统分析DD正问题求解: (1)已知控制系统中各环节结构、参数; (2)已知被控对象所处的环境 求解控制系统的稳定性、动态、稳态特性。 控制系统设计(综合)DD逆问题求解: 有多种解法,可选择不同的控制结构, 确定不同的准则函数。 神经网络控制的设计 1. 确定性系统与环境 (1)已知对象特性及外加扰动是确定性的,时不变的; (2)已知系统期望输出r,要求的性能指标。 控制系统的设计: 设计控制器,校正对象的特性,使控制系统达到要求的 性能指标,即,使控制系统在r作用下,由控制器给出的 控制量u作用 于对象,使其输出y跟踪r 。 对于确定性系统与环境,选择某种控制结构,可设计出 确定参数的控制器。 ?r e控制器u对象?y- 2.不确定、不确知系统与环境对处于不确定、不确知环境中的复杂的非线 性不确定、不确知系统的设计问题,是控制领域 研究的核心问题。神经控制是解决问题的一条途 径。 在已知被控对象的一些先验知识情况下: (1)由神经网络做辨识器,在线识别对象模型, 由于网络的学习能力,辨识器的参数可随着对象、 环境的变化而自适应的改变。 (2)由神经网络做控制器,其性能随着对象、 环境的变化而自适应的改变(通过神经辨识器)。 神经控制结构之一例(下图)。该例神经控制的设计是 神经辨识器、控制器结构的选择DD动态网络种类、结构的选择,可能需经多次试探过程, 在 L2 意义下,即以准则函数:1 2 ?1 2 ? ? ? y ( k ) ? y ( k ) ? e1 (k ) ? ?1 , NNI ? ?2 2 E (k ) ? ? 1 2 ? 1 ?r (k ) ? y ? (k )?2 ? e2 (k ) ? ? 2 , NNC ? 2 ?2其权系由学习,搜索寻优。-PID 控制器r eNNCu对象y控制结构有两个网络,在高维空间搜索 寻优,训练时,需调整的权系值多,且收 敛速度与所选的学习算法、初始权系有关, 因此,系统设计还是有相当难度的。学习算法NNI? y学习算法 -e2-e1图 4-4-1 神经 PID 控制框图 神经网络控制的实现神经控制是数字控制,用数字量实现对被控对象的控制, 讨论连续对象用数字计算机实现的神经控制问题。 1. 神经控制系统的组成 (1)硬件 以单输入输出系统为例,见图 ① 连续被控对象 ② 神经控制器 ③ 模拟输入通道 ④ 模拟输出通道 ⑤ 实时时钟实时时钟r (t )e(t )采样 开关 A/D 神经控制器 D/A 保持器u (t )y (t )对象 (过程)模拟输入通道 模拟输出通道 (2)软件① 主程序:功能是进行系统初始化设置。 ② 控制子程序:实现神经控制算法, 若既有辩识器又有控制器的控制结构, 则,神经控制算法包括这两部分。起 始主程序:初始化设置否 采 样 ? 控 制 子 程 序 控制算法 是 数据采集?t1 ?t2 ?t3控制量的输出和存储图 4-2-4 神经控制软件流程 对于多输入多输出神经控制: 可配置多路模拟输入、输出通道,由一台数字机进行分 时控制,见图。 2. 实时控制神经控制是实时控制,即,控制器要在采样周 期 T 内完成一个控制步的操作(程序实现)。 单输入单输出(SISO)系统,控制步的操作: (1)数据采集:需时 ?t1起 始 主程序:初始化设置(2)由设计的控制规律求控制量, 需时 ?t 2 (3)控制量的输出和存储,需时 实时控制的条件为T ? ?t1 ? ?t 2 ? ?t 3?t 3否 采 样 ? 控 制 子 程 序 控制算法 是 数据采集?t1 ?t2 ?t3n输入n输出(MIMO)系统,实时控制的条件为T ?控制量的输出和存储? (?t i1 ? ?t i 2 ? ?t i 3 )i ?1n图 4-2-4 神经控制软件流程 5.5 MATLAB神经网络工具箱介绍}

我要回帖

更多关于 神经网络解决异或问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信