1、神经网络控制与模糊控制神经网络控制与模糊控制及其应用及其应用主讲:卢泽生主讲:卢泽生实际是自动控制理论在机械制造领域的应用的一部分,最为实际是自动控制理论在机械制造领域的应用的一部分,最为热门和广泛应用的一部分热门和广泛应用的一部分自动控制自动控制是在没有人直接参与的情况下,通过控制系统是被控对是在没有人直接参与的情况下,通过控制系统是被控对象自动地按照预定规律运行的控制过程。象自动地按照预定规律运行的控制过程。自动控制系统自动控制系统是由相互联系、相互依赖、相互作用的若干部分组是由相互联系、相互依赖、相互作用的若干部分组成,具有控制功能的有机整体。成,具有控制功能的有机整体。被控对象被控对象
2、是指工作状态需要给以控制的装置、设备和过程。是指工作状态需要给以控制的装置、设备和过程。给定量给定量也称控制量,表征被控量的希望运行规律,也是系统的输也称控制量,表征被控量的希望运行规律,也是系统的输入量。入量。扰动量扰动量也称干扰量,是引起被控量偏离预定运行规律的量。也称干扰量,是引起被控量偏离预定运行规律的量。从控制理论上而不是控制方法上说控制理论主要分两大类从控制理论上而不是控制方法上说控制理论主要分两大类经典控经典控制理论制理论和和现代控制理论。现代控制理论。经典控制理论经典控制理论是以传递函数为理论基础,解决单输入、单输出的是以传递函数为理论基础,解决单输入、单输出的线性控制系统的分
3、析与设计问题。线性控制系统的分析与设计问题。现代控制理论现代控制理论主要是以状态方程或模糊数学、神经网络等为理论主要是以状态方程或模糊数学、神经网络等为理论基础,解决多输入多输出的非线性时变控制系统的分析与设计问题。基础,解决多输入多输出的非线性时变控制系统的分析与设计问题。基本概念基本概念 时变系统时变系统是指其方程的系数是时间的函数,如是指其方程的系数是时间的函数,如宇宙飞船的控制系统,因为飞船的然联消耗和引力的宇宙飞船的控制系统,因为飞船的然联消耗和引力的变化都是时间的函数。变化都是时间的函数。)()()(2xcytybxtyax 系统系统是由相互联系、相互依赖、相互制约和相互是由相互联
4、系、相互依赖、相互制约和相互作用的若干部分组成,具有某种作用的若干部分组成,具有某种特定特定功能的有机整体。功能的有机整体。控制系统控制系统是由相互联系、相互依赖、相互制约和是由相互联系、相互依赖、相互制约和相互作用的若干部分组成,具有某种相互作用的若干部分组成,具有某种控制控制功能的有机功能的有机整体。整体。自动控制系统的分类自动控制系统的分类按按系统组成的物理性质分系统组成的物理性质分电气控制系统;机械控制系统;流体控制系统;电气电气控制系统;机械控制系统;流体控制系统;电气流体控制系统流体控制系统按系统的数学模型(微分方程)的性质分按系统的数学模型(微分方程)的性质分 线性定常系统;线性
5、定常系统;线性时变系统;线性时变系统;按给定量的变化规律分按给定量的变化规律分恒值控制系统;程序控制系统;随动控制系统恒值控制系统;程序控制系统;随动控制系统按输入、输出信号连续性分按输入、输出信号连续性分连续系统;离散系统连续系统;离散系统按控制量参数的性质分按控制量参数的性质分速度控制;位置控制;力和力矩控制;混合变量控制等系统速度控制;位置控制;力和力矩控制;混合变量控制等系统按系统有无反馈信号分按系统有无反馈信号分开环系统;闭环系统开环系统;闭环系统线性系统线性系统非线性系统非线性系统 神经网络控制及其应用神经网络控制及其应用1 1 神经网络控制产生的背景神经网络控制产生的背景 自动控
6、制面临着两个方面的技术问题自动控制面临着两个方面的技术问题(1)控制对象)控制对象越来越复杂越来越复杂,存在着多种不确定(随机性),存在着多种不确定(随机性)和难以确切描述的和难以确切描述的非线性非线性。(2)对控制系统的要求)对控制系统的要求越来越高越来越高,迫切要求提高控,迫切要求提高控 制系制系统的统的智能化智能化水平,即系统具有水平,即系统具有逻辑思维和推理判断逻辑思维和推理判断的能力。的能力。神经网络为处理和解决上述问题提供了一条新的途径神经网络为处理和解决上述问题提供了一条新的途径(1)神经网络源于)神经网络源于对脑神经的模拟对脑神经的模拟,所以具有很强的适应,所以具有很强的适应于
7、复杂环境和多目标控制要求的于复杂环境和多目标控制要求的自学习能力自学习能力。(2)具有以)具有以任意精度逼近任意非线性连续函数任意精度逼近任意非线性连续函数的特性。的特性。神经网络的应用神经网络的应用航空航空:高性能飞行器自动驾驶、飞行路径模拟、高性能飞行器自动驾驶、飞行路径模拟、飞行部件模拟、飞行部件故障检测飞行部件模拟、飞行部件故障检测汽车汽车:汽车自动导航仪汽车自动导航仪 国防国防:武器操纵、目标跟踪、面部识别、雷达武器操纵、目标跟踪、面部识别、雷达 和图像信号处理、新型传感器、声纳和图像信号处理、新型传感器、声纳 制造:制造:生产流程控制、过程和机器诊断、机生产流程控制、过程和机器诊断
8、、机器性能分析、化工流程动态建模、项目投器性能分析、化工流程动态建模、项目投标标 机器人:机器人:轨道控制、操作手控制、视觉系轨道控制、操作手控制、视觉系统统 语音:语音:语音识别、语音压缩语音识别、语音压缩 还有还有金融、保险、银行、医疗、交通、电讯、金融、保险、银行、医疗、交通、电讯、电子、石油天然气、有价证券、娱乐等行业。电子、石油天然气、有价证券、娱乐等行业。3 生物学的启示生物学的启示 轴突轴突突触突触细胞体细胞体树突树突图图1 生物神经元的简图生物神经元的简图 4 人工神经元人工神经元 j=1,2mi=1,2nyjQjXnX2fX1图图2 单神经元结构图单神经元结构图 输入输入 输
9、出输出 1niijijiIW x()jiyf I轴突轴突细胞体细胞体树突树突树树突突wij为简便起见,也可把网络的阈值以连接数值的形式表示为简便起见,也可把网络的阈值以连接数值的形式表示出来,即令,则出来,即令,则 式中式中 为其它神经元传至本神经元的输入信号,为其它神经元传至本神经元的输入信号,神经元神经元j的阈值,此阈值决定了该神经元的兴奋与否;的阈值,此阈值决定了该神经元的兴奋与否;表示从神经元表示从神经元i到神经元到神经元j的连接权值;的连接权值;称为激励函数(也有称为响应函数或传输函数)。称为激励函数(也有称为响应函数或传输函数)。权值权值表示相邻的神经元相互连接的程度表示相邻的神经
10、元相互连接的程度阈值阈值即决定神经元的兴奋与否,决定兴奋与抑制即决定神经元的兴奋与否,决定兴奋与抑制激励函数激励函数可为线性函数也可为非线性函数。它是可为线性函数也可为非线性函数。它是用来实现输入对输出函数关系的静态映射,它决用来实现输入对输出函数关系的静态映射,它决定了神经元的单元特性。定了神经元的单元特性。0niijiiIWx1,2,in()f ijWjix常用的神经元非线性函数常用的神经元非线性函数)(xfx10f(x)图图3 阶跃函数阶跃函数f(x)x1-1图图4 sgn函数函数 1=1f(x)0 x=0.2=5图图5 S状函数状函数10()00 xf xx(1)阶跃函数)阶跃函数 1
11、0sgn()10 xxx(2)Sgn函数函数 1()(0)1exp()f xx(3)S状函数状函数 4 神经网络模型的组成神经网络模型的组成 4.1神经网络连接的结构形式神经网络连接的结构形式 输出层输出层输入层输入层隐含层隐含层神经元神经元yny2y1XnX2X1图图6 前向网络前向网络 神经元神经元网络中神经元是分层排列,每个神经元网络中神经元是分层排列,每个神经元只与前一层的神经元相连接,分为只与前一层的神经元相连接,分为输入层输入层,隐隐含层含层(一层或多层)和(一层或多层)和输出层输出层。(1)前向网络)前向网络(2)反馈前向网络)反馈前向网络 网络本身是前向型,但从输出到输入有反馈
12、。网络本身是前向型,但从输出到输入有反馈。yny2y1XnX2X1图图7 反馈前向网络反馈前向网络 图图8 互连网络互连网络(3)互连网络)互连网络 任意两个神经元之间都可能有连接,因此输入信号任意两个神经元之间都可能有连接,因此输入信号要在神经元之间反复往返传递。要在神经元之间反复往返传递。4.2BP网络的结构网络的结构 BP网络网络是一单向传播的多层是一单向传播的多层前向网络前向网络,其结构图,其结构图如图如图6所示所示BP网络可看成是一从网络可看成是一从输入到输出的高度输入到输出的高度非线性映射网络非线性映射网络。(1)输入层神经元数)输入层神经元数(2)隐含层神经元数)隐含层神经元数(
13、3)隐含层数的确定)隐含层数的确定(4)输出层神经元数的确定)输出层神经元数的确定 BP网络各层的神经元数(即节点数)及隐含层层网络各层的神经元数(即节点数)及隐含层层数的确定如下:数的确定如下:5 神经网络的学习神经网络的学习 当神经网络的结构确定之后,关键问题是设计当神经网络的结构确定之后,关键问题是设计一个学习速度快,收敛性好的一个学习速度快,收敛性好的学习算法学习算法。要求网络本身必须具有学习功能,即能够从示要求网络本身必须具有学习功能,即能够从示教模式的学习中逐渐教模式的学习中逐渐调整权值调整权值,使网络整体具有近,使网络整体具有近似函数或处理信息的功能。似函数或处理信息的功能。(1
14、)有教师学习)有教师学习(2)无教师学习)无教师学习 5.1网络学习方式网络学习方式广泛应用的有教师学习的算法广泛应用的有教师学习的算法BP(Back Propagation)算法算法 BP算法即是误差反向传播算法算法即是误差反向传播算法,该方法已成为神经网络学习中最常用的方法之一。,该方法已成为神经网络学习中最常用的方法之一。BP算法一般是应用梯度下降原理,算法一般是应用梯度下降原理,样本输入信号样本输入信号在神经网络中在神经网络中正向传播正向传播,应用了多,应用了多层前向神经层前向神经网络具有网络具有的的以任意精度逼近非线性函数以任意精度逼近非线性函数的能力的能力。而而网络输出与样本给定网
15、络输出与样本给定输出值之差(误差)输出值之差(误差)在网络中在网络中是反向传播,用于网络的权值的训练。是反向传播,用于网络的权值的训练。输出层输出层LC隐含层隐含层LB输入层输入层LAWpqWpjWp1WiqWijWi1W1qW1jVnpVniVn1VhpVhiVh1V1pV1iW11V11a1ahanb1bibpc1cjcq1kAkhAknA1kCkjCkqC图图9 基本基本BP网络的拓扑结构网络的拓扑结构 5.2网络的计算网络的计算 对对BP控制网络进行控制网络进行训练训练时,首先要提供时,首先要提供训练样本训练样本,样本可以形式化为样本可以形式化为样本对样本对或称或称模式对模式对()其中
16、其中Ak为第为第k个样本的输入模式个样本的输入模式()Ck为希为希望输出模式望输出模式()它们分别对应于它们分别对应于LA层的层的n个神经元和个神经元和Lc层的层的q个神经元。个神经元。当网络的当网络的实际输出与希望输出一致时实际输出与希望输出一致时,学习过程结束学习过程结束。否则否则学习系统将根据实际输出和希望输出之间的误学习系统将根据实际输出和希望输出之间的误差,通过差,通过调整连接权值调整连接权值使网络的实际输出趋向于希使网络的实际输出趋向于希望输出。望输出。,kkA C12,kkknaaa12,kkkqCCC BP网络样本输入学习算法程序框图如图网络样本输入学习算法程序框图如图10所所
17、示。并以图示。并以图11三层(三层(LA,LB,LC)BP神经网络神经网络为例进行学习过程的演示为例进行学习过程的演示。结束结束输入学习样本输入学习样本求隐含层、输出层神经元的输出求隐含层、输出层神经元的输出计算实际输出值与目标值的误差计算实际输出值与目标值的误差误差满足误差满足要求?要求?反向计算调整权值和阈值反向计算调整权值和阈值YN初始化初始化 三层三层BP神经网络拓扑结构神经网络拓扑结构 W11V11b1W12W32W31W22W21V23V22V21V13V12U2=1U1=1a1a2b2b3c1c210kA 21kA 11kC 20kC ii jj 0404图图11 三层三层BP神
18、经网络拓扑结构神经网络拓扑结构 BP三层神经网络学习算法各种参数及计算公式见三层神经网络学习算法各种参数及计算公式见表表1。层名学习训练步骤如下:学习训练步骤如下:第第1步:网络初始化步:网络初始化输入层输入层LA到隐含层到隐含层LB的权值矩阵为的权值矩阵为 11121302122230.10.40.60.20.30.5VVVVVVV隐含层隐含层LB到输出层到输出层LC权值矩阵为权值矩阵为 11120212231320.10.40.60.20.50.3WWWWWWW隐含层隐含层LB各神经元阈值为各神经元阈值为 00.10.20.3Ti输出层输出层LC-各神经元阈值为各神经元阈值为 00.20.
19、4Tj以一个样本对即以一个样本对即k=1为例,样本输入为例,样本输入 ,样本输出样本输出 。1112(,)(0,1)AA1112(,)(1,0)CC第第2步:样本正向输入,进行前向计算步:样本正向输入,进行前向计算 输入样本为输入样本为 ,其输入层的输出为其输入层的输出为a1和和a2。对于输入层,给定每个神经元的权值对于输入层,给定每个神经元的权值 为为1,阈值阈值为为0,其激励函数为,其激励函数为S型函数,则型函数,则11120,1AA0hU0()khhhaf U A第第1个神经元的输出值为个神经元的输出值为 11 021 11110.511110.731061khhxU Aaeeeae 则
20、则 0.50.73106ha 根据(根据(8)式计算网络)式计算网络LB层某一神经的加权输入为层某一神经的加权输入为 21111 1212122212122212331312321net0.1 0.50.20.731060.196212net0.40.50.3 0.731060.419318net0.60.50.5 0.731060.66553hhhhhhhhhbV aV aV abV aV aV abV aV aV abi的实际输出根据(的实际输出根据(9)式和()式和(26)式为)式为 111222333(net)(0.1962120.1)(net)(0.4193180.2)(net)(0
21、.665530.3)bfbfbfbfbfbf根据(根据(7)式求激励函数为)式求激励函数为S型情况下的型情况下的b值为值为 10.09621220.21931830.3655310.524110.5546110.59041bebebe则则 0.5240.55460.5904b 根据(根据(5)式)式 计算第计算第k=1k=1样本对样本对L LC C层神层神经元的加权输入为经元的加权输入为 1netpjijijcW b111 121 231 3net()0.1 0.5240.60.55460.5 0.59040.68036cW bW bW b212 1222323net()0.40.5240.2
22、0.55460.3 0.59040.49764cW bW bW b根据(根据(6)式)式 求求L LC C层神经元的实际输层神经元的实际输出值出值 (net)jjjcfcr10.4803620.097641(0.680360.2)0.617811(0.497640.4)0.52441cfecfe则则 0.61780.5244c 第第3步:进行误差计算步:进行误差计算根据(根据(14)式)式 和样本期量值和样本期量值进行输出层进行输出层L LC C误差计算误差计算 (1)()kjjjjjdccCc11112222(1)(1)0.6178(10.6178)(10.6178)0.09025(1)(0
23、)0.5244(10.5244)(10.5244)0.1308dcccdccc 则则 0.09030.1308d 通过给定的精度系数可判断输出层通过给定的精度系数可判断输出层LC的误差值的误差值d是否是否满足要求,如果不满足,则需进行反向传播计算,满足要求,如果不满足,则需进行反向传播计算,通过修正权值和阈值使其逼近给定精度系数。通过修正权值和阈值使其逼近给定精度系数。第第4步:反向传播计算步:反向传播计算(1 1)隐含层)隐含层L LB B一般化误差的计算一般化误差的计算根据(根据(1919)式)式 计算隐含层计算隐含层L LB B一般化一般化误差为误差为 1(1)qiiijijjebbd
24、W21111112121(1)()0.524(10.524)(0.090250.10.13080.4)0.0108jebbd Wd W 222121222(1)()0.5546(10.5546)(0.09025 0.60.1308 0.2)0.0069ebbdWd W333131232(1)()0.5904(10.5904)(0.09025 0.50.1308 0.3)0.0014ebbdWd W则则 0.01080.00690.0014e(2)隐含层)隐含层Lb和输出层和输出层Lc权值的调整权值的调整根据(根据(20)式)式 调整其调整其LB至至LC权值,则权值,则按学习步长(也称学习率)的
25、范围:按学习步长(也称学习率)的范围:给给定定 。ijjiWd b010.9111 1122 1322 30.90.09025 0.5240.04260.9(0.1308)0.5240.06170.9(0.1308)0.59040.0695Wd bWd bWd b 则则 1112212231320.04260.06170.0450.06530.04790.0695WWWWWWW 根据(根据(21)式)式 调整调整LA至至LB权值权值,则则 hiihVe a按步长范围:按步长范围:,给定给定 010.9111 1122123220.9(0.0108)0.50.00490.90.00690.50.
26、00310.90.00140.7310610.0009Ve aVe aVe a 则则 1112132122230.00490.00310.00060.00710.00450.0009VVVVVVV(3)网络输出层)网络输出层Lc和隐含层和隐含层Lb阈值的调整值计算阈值的调整值计算根据(根据(22)式)式 调整调整L Lc c层阈值层阈值 jjd11220.90.090250.0812250.9(0.1308)0.11772dd 则则 0.0812250.11772j根据(根据(23)式)式 调整调整LB层阈值为层阈值为 iie1122330.9(0.0108)0.0090.90.00690.0
27、0620.90.00140.0013eee 则则 0.0090.00620.0013(4 4)计算调整后的权值和阈值)计算调整后的权值和阈值隐含层隐含层LBLB至输出层至输出层LCLC的权值,由(的权值,由(2525)和()和(3434)式得)式得00.10.40.04260.06170.14260.33830.60.20.0450.06530.64500.13470.50.30.04790.06950.54790.2305WWW 输入层输入层L LA A至隐含层至隐含层L LB B的权值,由(的权值,由(2424)和()和(3535)式得)式得00.20.0812250.2812250.40
28、.117720.28228jjj 00.10.40.60.00490.00310.00060.20.30.50.00710.00450.0009VVV 0.09510.40310.60060.19290.30450.5009输出层输出层LC阈值根据(阈值根据(27)和()和(36)式得)式得 隐含层隐含层LB阈值,根据(阈值,根据(26)和()和(37)式得)式得 00.10.0090.0910.20.00620.20620.30.00130.3013iii 经过上述计算在输出层经过上述计算在输出层LC的误差值的误差值d未满足精度要求未满足精度要求的情况下,完成了第的情况下,完成了第1次权值和
29、阈值的调整训练。经次权值和阈值的调整训练。经反向计算调整后需按程序框图反向计算调整后需按程序框图12的流程和上述计算方的流程和上述计算方法再计算输出层法再计算输出层LC误差值误差值d,其运算过程不再全部列其运算过程不再全部列出,只是直接给出将调整后出,只是直接给出将调整后LB层和层和LC层的输出值和误层的输出值和误差值差值。LB层的输出值层的输出值 0.52460.55430.5903b LB层的误差值层的误差值 0.00780.01010.0047eLC层的输出值层的输出值 0.753150.66354c LC层的误差值层的误差值 0.09070.1312d 在此根据在此根据LC层的误差值层
30、的误差值d判断是否满足给定的精度判断是否满足给定的精度系数,如果不满足再进行第系数,如果不满足再进行第2次的循环调整,再从次的循环调整,再从第第2步开始运行,以后为了简化只给出调整结果。步开始运行,以后为了简化只给出调整结果。第第2次循环调整次循环调整 LC层至层至LB层的权值调整层的权值调整 0.04280.0620.04520.06550.04820.0697W0.18540.27640.69030.06920.59610.1608W LB层至层至LA层的权值调整层的权值调整 0.0035 0.0045 0.00210.0052 0.0066 0.0031V 0.0916 0.4076 0
31、.60280.1877 0.3112 0.5040V LC层阈值的调整层阈值的调整 0.08160.11810.36280.1642LB层阈值的调整层阈值的调整 0.00710.00910.00420.08220.21530.3055LB层的输出值层的输出值 LB层的误差值层的误差值 0.52490.55380.5901b 0.00490.01330.008e第第3次循环调整次循环调整 LC层至层至LB层的权值调整层的权值调整 0.04330.06250.04560.06580.04860.0701W0.22720.15170.78130.06220.69320.0207W LB层至层至LA层
32、的权值调整层的权值调整 0.00080.00740.00510.00120.01090.0075V0.08860.42110.61150.18330.33080.5168V LC层阈值的调整层阈值的调整 0.08250.11890.52730.0733LB层阈值的调整层阈值的调整 0.00170.01490.01020.07720.24220.3230LB层的输出值层的输出值 0.52520.55320.5897b LB层的误差值层的误差值 0.00180.01650.0114eLC层的输出值层的输出值 0.61350.5306c LC层的误差值层的误差值 0.09160.1321d 第第99
33、9次循环调整次循环调整 LC层至层至LB层的权值调整层的权值调整 3.51273.26223.94463.42114.10963.6023WLB层至层至LA层的权值调整层的权值调整 3.70344.60485.02395.46866.44806.9682V LC层的阈值为层的阈值为 9.07588.8108 LB层的阈值为层的阈值为 7.30698.60979.1477LB层的输出值层的输出值 LB层的误差值层的误差值 0.18890.16890.1763b 0.000940.000940.00102e LC层的输出值层的输出值 LC层的误差值层的误差值 0.999070.00089c 0.0
34、00890.00093d BP神经网络样本神经网络样本输入信号正向传播输入信号正向传播和和误差反误差反向传播向传播的过程,就是在的过程,就是在不断地调整权值和阈值不断地调整权值和阈值的过程,可以的过程,可以使网络以任意精度逼近任意非线使网络以任意精度逼近任意非线性函数性函数,也就是随着循环调整次数的增加也就是随着循环调整次数的增加,其,其输出层的误差值输出层的误差值d在不断地减小,直至趋近于在不断地减小,直至趋近于零零,这是总的趋势,但不排除在训练过程中出,这是总的趋势,但不排除在训练过程中出现现d值增大的现象,特别是前些次调整,本例值增大的现象,特别是前些次调整,本例的最初几次调整的最初几次调整,d值可能有所增大。产生这种值可能有所增大。产生这种现象的原因是网络学习训练过程中出现振荡现现象的原因是网络学习训练过程中出现振荡现象。这与学习率象。这与学习率 和和 的取值有关,和的取值有关,和 的值取的值取的过大就会出现振荡现象。的过大就会出现振荡现象。6 基于基于BP神经网络线切割加工质量及效率控制神经网络线切割加工质量及效率控制 图图12 线切割加工质量及效率控制神经网络拓扑结构线切割加工质量及效率控制神经网络拓扑结构