智能控制 复习资料之第五章神经网络控制

本文详细介绍了生物神经网络和人工神经网络的原理与发展历程,包括大脑生物学模型、人工神经元的工作机制、人工神经网络的理论基础、发展历史以及典型模型。此外,还探讨了神经网络在智能控制中的应用,如神经控制器的设计和分类。重点内容包括感知器、BP神经网络以及RBF和Hopfield网络。
摘要由CSDN通过智能技术生成

@ZHANGQIANYI2020

一、生物神经网络

1. 大脑生物学模型

(1)人的大脑模型
神经元细胞,是神经系统最基本的结构和功能单位。
人的大脑由1012个神经元构成,神经元互相连接成神经网络。
(2)神经元模型
细胞体、突起、突触。

2. 生物神经元工作原理

(1)神经元功能
刺激、兴奋、传导、效应
(2)生物神经元具有两种状态:兴奋或抑制
(a)当传入的神经冲动使细胞膜电位升高超过阈值(threshold)时,细胞
进入兴奋状态,产生神经冲动并由轴突输出;
(b)当传入的神经冲动使膜电位下降低于阈值时,细胞进入抑制状态,没
有神经冲动输出。
(3)神经元工作原理
(a)生物神经网络(人脑)由大量的神经元组成;神经元是神经系统最
基本的结构和功能单位。
(b)单个神经元在外界(或上游神经元突触)刺激下能作出一系列动作电
位响应是神经系统实现其功能的基础。
(c)以此为灵感,参考神经元的非线性动力属性,可以人工模拟神经元
节点进行建模,设计人工神经网络,来解决各种复杂问题

二、人工神经网络

1. 人工神经网络理论基础

(1)什么是人工神经网络?
人工神经网络(简称神经网络,Neural Network)是模拟人脑思维方式的数学模型。
(2)人工神经网络有什么作用?
(a)神经网络是在现代生物学研究人脑组织成果的基础上提出的;
(b)用来模拟人类大脑神经网络的结构和行为;
(c)神经网络反映了人脑功能的基本特征,如并行信息处理、学习、联想、模式分类、记忆等。

2. 人工神经网络发展简史

(1)第一个神经网络数学模型的提出
(a)心理学:
1890年,W.James发表专著《心理学》,讨论了脑的结构和功能。情绪刺激引起身体的生理变化,而生理反应进一步导致情绪体验的产生。
(b)数学模型:
1943年,心理学家麦卡洛克McCulloch和数学家Pitts提出了描述脑神经细胞动作的数学模型,即M-P模型(第一个神经网络模型),是在分析和总结生物神经元基本特征的基础上提出
(2)M-P模型
是一个单神经元模型
(a)生物神经元的假定特点
每个神经元都是一个多输入单输出的信息处理单元;
神经元输入分兴奋性输入和抑制性输入两种类型;
神经元具有空间整合特性和阈值特性;
神经元输入与输出间有固定的时延,主要取决于突触延搁
(b)生物神经元的假定特点:
每个神经元都是一个多输入单输出的信息处理单元;
神经元输入分兴奋性输入和抑制性输入两种类型;
神经元具有空间整合特性和阈值特性;
神经元输入与输出间有固定的时延,主要取决于突触延搁
(3)赫布Hebb学习模型的提出
(a)神经网络的学习过程最终是发生在神经元之间的突触部位;
(b)突触的联结强度随着突触前后神经元的活动而变化;
(c)变化的量与两个神经元的活性之和成正比。
(4)感知器网络模型的提出
(a)1957年:F.Rosenblatt提出感知器网络(Perceptron)模型:在MP模型的“输入”位置添加神经元节点,标志其为“输入单元”,其余不变。感知器神经网络是一个拥有两层神经元的神经网络。
(b)地位:这是第一个完整的ANN模型;
(c)作用:用于模式识别、联想记忆;
(d)价值:引起NN研究的第一次高潮。
(5)感知器网络模型的提出
(a)1986年:在Rumelhart和McCelland等出版《Parallel Distributed Processing》一书,提出了一种著名的多层神经网络模型,即BP网络:BP神经网络是一个拥有多层神经元的神经网络。
(b)地位:一般认为BP网络,可以逼近任意连续函数。在医学、材料、AI、机器学习方面非常有着广泛的应用。该网络是迄今为止应用最普遍的神经网络。

3. 人工神经元工作原理

(1)几种常用的作用函数
(a)阈值型(硬限制型)
在这里插入图片描述
在这里插入图片描述

(b)线性型
全线性
在这里插入图片描述
在这里插入图片描述
正线性
在这里插入图片描述
在这里插入图片描述
(c)S型函数(Sigmoid)
对数正切
在这里插入图片描述
双曲正切
在这里插入图片描述

(d)辐射基函数
高斯函数
在这里插入图片描述

三角波函数
在这里插入图片描述
(2)作用函数的作用
(a)控制输入对输出的激活作用;
(b)对输入、输出进行函数转换;
(c)将无线域的输入变换成指定的有限范围内的输入;
#加粗样式# 4. 人工神经网络工作原理
(1)人工神经网络的基本结构
(a)人工神经网络由神经元模型构成,具有并行分布结构;
(b)每个神经元具有单一输出,能够与其它神经元连接;
(c)存在许多输出连接方法,每种对应一个连接权系数;
(d)人工神经网络是一种具有一定特性的有向图;
(2)人工神经网络的基本特性(有向图)
(a)对于每个节点i存在一个输出状态变量xi
(b)从节点j至节点i,存在一个连接权系数wij
(c)对于每个节点i,存在一个阈值θi
(d)对于每个节点i,定义一个变换函数
此函数一般形式: fi(∑WijXj - θi)

5. 典型的人工神经网络模型

(1)感知器神经网络
感知器(Perceptron)是由美国学者F.Rosenblatt于1957年提出的,是具有单层计算单元的神经网络,由线性阈值元件组成。

例:采用单一感知器神经元解决一个简单的分类问题:将四个输入 输入矢量分为两类,其中两个矢量对应的目标值为1,另两个矢量对应 的目标值为0,即
输入矢量: P=[-0.5 –0.5 0.3 0.0;-0.5 0.5 -0.5 1.0]
目标分类矢量:T=[1.0 1.0 0.0 0.0]

%Example perceptron.m
%NEWP —— 建立一个感知器神经元
%TRAIN —— 训练感知器神经元
%SIM —— 对感知器神经元仿真
pause % 敲任意键继续
clc
% P为输入矢量
P = [-0.5 -0.5 +0.3 +0.0;
-0.5 +0.5 -0.5 1.0];
% T为目标矢量
T = [1 1 0 0];
pause
% 绘制输入矢量图
plotpv(P,T);
% 定义感知器神经元并对其初始化
net=newp([-0.5 0.3;-0.5 1],1);
handle=plotpc(net.iw{1},net.b{1});
net.trainParam.epochs=10;
% 训练感知器神经元
net=train(net,P,T);
pause
% 绘制结果分类曲线
plotpv(P,T)
plotpc(net.iw{1,1},net.b{1});
Q=[0.6 0.9 -0.1;-0.1 -0.5 0.5]; % 已知待分类向量
Y=sim(net,Q); % 仿真
figure; % 新建图形窗口
Plotpv(Q,Y); % 画输入向量
handle=plotpc(net.iw{1},net.b{1}); % 画分类线

(2)BP神经网络
(a)误差反向传播的BP算法简称BP算法,其基本思想是梯度下降法。它采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。
(b)BP算法由两部分组成:信息的正向传播和误差的反向传播。
(c)BP算法的基本流程
在这里插入图片描述
例:两层XOR网络【模式分类】

% BP神经网络解决异或问题
% 采用的一个2-2-1的网络
clear
clc
BP_LEARNING = 0.1; % 学习速率为0.1
wish_error = 0.002; % 期望误差
studytimes = 20000; % 定义最大学习次数
% 生成一个矩阵,存放最后的输出结果
result=zeros(1,4); 
P = [0 0 1 1;
0 1 0 1];
T = [0 1 1 0];
% 初始化神经网络隐含层的权值和域值
% 根据权值下标,例如weight12表示第一个
输入对隐含层第二个神经元的权值
weight11 = rands(1);
weight21 = rands(1);
weight12 = rands(1);
weight22 = rands(1);
b1 = rands(1);
b2 = rands(1);
% 初始化输出层的权值和域值
weight1 = rands(1);
weight2 = rands(1);
b = rands(1);
Pause;
% 开始训练网络
for i=1:studytimes;
real_error = 0;
% 初始化中间变量:修改权值的变量的累加值
change_b1=0;change_b2=0;change_b=0; 
change_weight11=0;change_weight21=0;cha
nge_weight12=0;change_weight22=0; 
change_weight1=0;change_weight2=0;
for j=1:4;
%% 前向计算
% 隐含层第一个神经元的输出
hidelayer1 = weight11*P([1],[j]) + 
weight21*P([2],[j]) + b1 
S_hidelayer1 = 1/(1+exp(-hidelayer1));
% 经过 S 函数之后的输出
% 隐含层第二个神经元的输出
hidelayer2 = weight12*P([1],[j]) + 
weight22*P([2],[j]) + b2 
% 经过 S 函数之后的输出
S_hidelayer2 = 1/(1+exp(-hidelayer2)) 
% 输出层的输出-线性输出
outlayer = weight1*S_hidelayer1 + 
weight2*S_hidelayer2 + b 
% 计算误差
deta =T(j)-outlayer
% 计算输出层加权值 W1,W2,偏置值b的修正量
change_weight1 = change_weight1 + BP_LEARNING*S_hidelayer1*deta
change_weight2 = change_weight2 + BP_LEARNING*S_hidelayer2*deta
change_b = change_b + BP_LEARNING*deta
% 计算隐含层第一个神经元权值的deta1 
deta1 = S_hidelayer1*(1-S_hidelayer1)*weight1*deta
% 计算隐含层第二个神经元权值的deta2
deta2 = S_hidelayer2*(1-S_hidelayer2)*weight2*deta
% 计算输出层加权值 W11,W21, W12,W22,偏置值b1,b2的修正量
% 偏置值b1,b2修正量的累加
change_b1 = change_b1 + BP_LEARNING*deta1
change_b2 = change_b2 + BP_LEARNING*deta2
%权值 W11,W21, W12,W22修正量的累加
change_weight11 = change_weight11 + BP_LEARNING*P([1],[j])*deta1
change_weight21 = change_weight21 + BP_LEARNING*P([2],[j])*deta1
change_weight12 = change_weight12 + BP_LEARNING*P([1],[j])*deta2
change_weight22 = change_weight22 + BP_LEARNING*P([2],[j])*deta2
real_error = real_error + (T(j)-outlayer)*(T(j)-outlayer) % 判断误差
end
% 开始调整权值
b1 = b1 + change_b1
b2 = b2 + change_b2
b = b + change_b
weight11 = weight11 + change_weight11
weight21 = weight21 + change_weight21
weight12 = weight12 + change_weight12
weight22 = weight22 + change_weight22
weight1 = weight1 + change_weight1
weight2 = weight2 + change_weight2 
if real_error < wish_error
break;
end;
end;
% 输出最后结果
for j=1:4;
hidelayer1 = weight11*P([1],[j]) + weight21*P([2],[j]) + b1; % 第一个隐含层神经元
的输出
S_hidelayer1 = 1/(1+exp(-hidelayer1)); % 经过 S 函数之后的输出
hidelayer2 = weight12*P([1],[j]) + weight22*P([2],[j]) + b2; % 第二个隐含层神经元
的输出
S_hidelayer2 = 1/(1+exp(-hidelayer2)); % 经过 S 函数之后的输出
outlayer = weight1*S_hidelayer1 + weight2*S_hidelayer2 + b; % 输出层的输出
result([j]) = outlayer;
end; 
clc
real_error,i,result

(3)RBF神经网络
(4)Hopfield网络

三、神经网络与智能控制

1. 神经网络与智能控制

(1)神经网络在控制中的作用
将神经网络算法与智能控制相结合,发挥神经网络算法的作用
(a)基于精确模型的各种控制结构中充当对象的模型:通过神经网络模型模拟被控对象
(b)在反馈控制系统中直接充当控制器的作用:直接控制被控对象
(c) 在传统控制系统中起优化计算作用;
(d)在与其它智能控制方法和优化算法相融合中, 为其提供对象模型、优化参数、推理模型及故障诊断等

2. 神经网络控制器分类

神经控制器的结构方案常规分类
在这里插入图片描述

3. 神经控制器的设计

(1)建立模型:建立受控对象的数学计算模型或知识表示模型。
(2)设计结构:设计神经控制器,包括控制器结构、功能表示与推理。
(3)选择算法:选择神经网络及其算法,进行初步辨识与训练。
(4)训练仿真:进行控制系统仿真试验,并通过试验结果改进设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值