神经网络及其PID控制
一、人工神经元模型
1、突触权值(连接权)
每一个突触都由其权值作为特征表征,各个神经元之间的连接强度由突触权值来表示。与神经元相连的突触上,连接的输入信号通过权值的加权进入神经元的求和单元。
2、求和单元
求和单元用于求取各输入信号的突触加权和,这个操作构成一个线性组合器。
3、激活函数
激活函数起非线性映射的作用,并用来限制神经元输出振幅。激活函数也称限制函数,或传输函数。通常一个神经元输出的正常范围在[0, 1]区间或[−1, 1]区间。
4、外部偏置
此外,神经元模型还包括一个外部偏置,或外部偏置称为阀值,偏置的作用是根据其为正或负,相应的增加或者降低激活函数的网络输入。
5、一对方程描述神经元
6、激活函数
(1)阶跃函数
(2)分段线性函数
(3)Sigmoid函数
(4)双曲正切函数:
二、神经网络的结构
1、前馈型网络
这类网络将每一层的神经元串联起来,一层的输出是下一层的输入,网络中没有反馈连接
(1)节点分类
节点有输入单元、计算单元和输出单元三类
(2)层级分类
输入层:源节点构成输入层,输入层没有计算,直接将输入信号传递到下一层的计算单元
可见层:输入、输出节点直接与外界相连,可直接受外界环境影响
隐含层:中间层与外界无直接联系,所以称为隐含层
(3)前馈型网络常常可以有多个隐含层,从而构成多层前馈网络,图中是一个n-p-q的三层前馈网络
前馈型网络是一类静态非线性映射,通过简单非线性处理的复合映射可获得复杂的非线性处理能力。但是,从计算的观点看,前馈型网络并非是一种强有力的计算系统,不具备丰富的动力学行为
2、反馈型网络
在反馈型网络中,输入信号决定反馈系统的初始状态,然后系统经过一系列状态转移后,逐渐收敛于平衡状态,这样的平衡状态就是反馈型网络经计算后输出的结果,需要注意的是通常有多个平衡态。因此,稳定性是反馈网络最重要的问题之一。如果能找到网络的李雅普诺夫(Lyapunov)函数,就能保证网络从任意初始状态都能收敛到局部最小点,即求得局域最优解。
3、如何确定网络结构
(1)网络的输入个数 = 应用问题的输入数
(2)输出层神经元的数目 = 应用问题的输出数目
(3)输出层的传输函数选择至少部分依赖于应用问题的输出描述
三、神经网络的学习
1、概述
对于神经网络具有首要意义的性质是网络能从环境中学习的能力,并通过学习改善其行为。在学习过程中,神经网络的突触权值和偏置(阀值)水平随时间依据某一规定的度量不断修改,理想情况下,神经网络在每一次重复学习过程后对它的环境便有更多的了解。在神经网络的背景中,关于学习的定义如下:
学习是一个过程,通过这个过程神经网络的自由参数在其嵌入的环境机理过程之下得到调节。学习类型由参数改变的方式决定。这个学习过程的定义隐含着如下的事实:神经网络被一个环境所激励;作为这个激励的结果,神经网络的自身参数发生变化;由于神经网络内部的改变而以新的方式响应环境。
2、学习方式
(1)有监督学习
有监督学习也称有导师学习,这种学习需要外界存在一个“导师”,它可以根据自身掌握的一些知识为神经网络提供对输入训练样本的期望响应。期望响应一般代表着神经网络的最优输出结果。当输入作用到网络时,神经网络的期望响应和实际响应相比较,产生误差信号,根据误差信号逐步而又反复地调整网络的权值和阀值,从而使网络的实际输出不断地接近于期望输出,最终目的是使神经网络模拟导师,在某种统计意义上,这种模拟是最优的。利用这种学习方式,导师对环境掌握的知识就可以通过训练最大限度地传授给神经网络,当条件成熟时,就可以将导师排除在外,让神经网络完全自主地应对环境。
(2)无监督学习
无监督学习时不存在外部导师,学习系统完全按照环境所提供数据的某些统计规律来调节自身参数或结构,这是一种自组织过程,以表示外部输入的某种固有特性(如聚类,或某种统计上的分布特征)。在无监督学习中,仅仅根据网络的输入调整网络的权值和阀值,它没有目标输出。乍一看这种学习似乎不可行,不知道网络的目的是什么,还能够训练网络吗?实际上,大多数这种类型的算法是要完成某种聚类操作,学会将输入模式分为有限的几种类型。这种功能特别适合于诸如向量量化等应用问题。
(3)增强式学习
增强式学习也称再励学习。在这种学习方式中学习系统建立在一个评价的基础上,评价将从外部环境中接收到的原始增强信号转换成一种启迪增强信号的高质量增强信号。需要注意的是,外部环境对学习系统的输出结果给出的是评价(奖或惩),而不是正确答案,学习系统通过强化那些受到奖励的动作来改善自身性能。增强式学习与有监督学习有类似的地方,只是它不像有监督学习那样为每个输入提供相应的目标输出,而仅仅是给出一个级别(评价),这个级别是对网络在某些输入序列上的性能度量。当前,增强式学习比有监督学习少见,它最适合控制系统应用领域。
3、学习方式
(1)误差修正学习-学习规则
学习规则利用神经元的期望输出与实际输出之间的误差进行学习,通过调整突触权值,使误差减小
(2)Hebb学习规则
(3)竞争学习规则
(4)Boltzmann学习规则
神经网络及其PID控制的更多相关文章
- PID控制及整定算法
一.PID控制算法 PID是比例.积分.微分的简称,PID控制的难点不是编程,而是控制器的参数整定.参数整定的关键是正确地理解各参数的物理意义,PID 控制的原理可以用人对炉温的手动控制来理解.阅读本 ...
- 【iCore3应用开发平台】发布 iCore3 应用开发平台PID控制代码
说明:1.本代码包包含FPGA和STM32F407两部分内容2.FPGA工程为出厂代码FPGA工程,版本为REV43.STM32F407为只含PID控制的ARM工程4.在使用风扇过程中,请勿将手伸入扇 ...
- 两轮自平衡小车双闭环PID控制设计
两轮自平衡小车的研究意义 ...
- 数字式PID控制的应用总结
PID控制是一个二阶线性闭环控制器,通过调整比例.积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能.PID控制优点:a. 技术成熟,b. 易被人们熟悉和掌握,c. 不需要建立数学模型 ...
- PID控制学习笔记(二)
不管是基本的PID控制还是变形的PID控制算法,其核心都是对输入信号(设定值信号.测量信号或者偏差信号等)做基本的比例.积分.微分运算,最终提供给被控过程良好的调节信号. 在过程控制仪表,特别是在数字 ...
- SLAM+语音机器人DIY系列:(四)差分底盘设计——5.底盘PID控制参数整定
摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...
- MATLAB-离散系统的数字PID控制仿真
%PID Controller clear all; close all; ts=0.001; %采样时间=0.001s sys=tf(,]); %建立被控对象传递函数 dsys=c2d(sys,t ...
- 了解PID控制
@2019-03-07 [小记] 了解PID控制 比例 - 积分 - 微分 积分 --- 记忆过去 比例 --- 了解现在 微分 --- 预测未来
- PID控制最通俗的解释与PID参数的整定方法
转自->这里 PID是比例.积分.微分的简称,PID控制的难点不是编程,而是控制器的参数整定.参数整定的关键是正确地理解各参数的物理意义,PID控制的原理可以用人对炉温的手动控制来理解.阅读本文 ...
随机推荐
- python基础回顾1
定义 tuple(元组), list (表) #!/usr/bin/env python # encoding: utf-8 a = 10 #定义一直变量,无需声明 s1 = (2,1.3,'love ...
- BZOJ 3223: Tyvj 1729 文艺平衡树
3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3628 Solved: 2052[Submit][Sta ...
- Java基础-重写System.out.println方法
PrintStream myStream = new PrintStream(System.out) { @Override public void println(String x) { super ...
- 编程结构:Promise和Future
非阻塞模型中Promise,Future 和 Callback一些比较常用的模型: Future表示一个可能还没有实际完成的异步任务结果:实际在编程中,应用future数据结构的时候,你得到并不是一个 ...
- Java中 NIO与IO的区别
当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异.它们的使用场景,以及它们如何影响您的代 ...
- 20145204&20145212信息安全系统实验一
信息安全系统实验报告 博客链接
- 网络抓包wireshark
抓包应该是每个技术人员掌握的基础知识,无论是技术支持运维人员或者是研发,多少都会遇到要抓包的情况,用过的抓包工具有fiddle.wireshark,作为一个不是经常要抓包的人员,学会用Wireshar ...
- Path Sum
需如下树节点求和 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 JavaScript实现 window ...
- STM8如何使用自带的bootloader
1,首先确认你使用的STM8有没有自带的bootloader.参考下表 2,STM8空器件可以直接使用自带的bootloader. 3,STM8在使用SWIM烧录后,要想继续使用自带的bootload ...
- thwen 缓动框架
描述 目前提供一个方法 ele 元素对象 obj 操作 duration 时间 effect 缓动选择 thwenMove(option) 框架支持以下缓动策略 -指数衰减的正弦曲线缓动 -圆形曲线的 ...