2022/5/25
神经网络
人类的大脑是如何工作的呢?
在计算机上能模仿大脑的工作原理吗?
人工神经网络(Artificial Neural Network,ANN):借助数学和物理建模,对人脑神经网络进行抽象后建立的简化模型。
一、神经网络基本简介
1、基本原理
神经网络(NN),也称作人工神经网络(ANN),是对人脑神经网络进行抽象后建立的简化模型。
生物学基础:生物界中,神经系统的基本单元是神经元,神经元由细胞体和突组成,突分为两部分,即轴突和树突
突:突出的部分,一般很短,用于与其他神经元的轴突相连,以接受来自其他神经元的生物信号。
轴突的末端与树突进行信号传递的界面称作突触,通过突触向其他神经元发送信息。对某些突触的刺激促使神经元触发。
只有神经元所有输入总效应达到阈值电平,它才开始工作,即被触发。
人工神经网络ANN是模拟神经元组成的,可把ANN看作是以处理单元为节点,用加权有向弧相互连接的有向图。
ANN用权和乘法模拟突触特性,用加法模拟树突的互连作用
二、神将网络的典型结构
1、单层感知器网络
单层感知器是最原始、最基本的神经网络结构,由一个或多个线性阈值结构单元组成。单层感知器是很多其他网络结构的基本单元。
几种常见的激活函数
c是Sigmoid函数,表达式:
2、前馈型网络
前馈型网络的信号由输入层到输出层单向传输,每层的神经元仅与前一层的神经元相连,仅接受来自前一层传输来的信息。
每一层的神经元之间没有横向的信息传输。
每一个神经元受前一层全部神经元的控制,控制能力由连接的权重决定。
3、前馈内层互联网络
外部看还是一个前馈型的网络。
内部有一些节点在层内互连。
同层之间神经元的互相连接是自组织竞争网络的特征之一,神经元之间的激励和压抑是竞争的手段。
4、反馈型网络
输入输出之间建立了一种关系,输出层存在一个反馈回路到输入层的一个输入,而网络本身还是前馈型。
输入层不仅接受外界的输入信号,同时接受网络自身的输出信号。
输出信号可以是原始输出信号,也可以是经过转化的输出信号;可以是本时刻的输出信号,也可以是经过一定延迟的输出信号。
常应用于系统控制、实时信号处理等需要根据当前状态进行调节的场合。
5、全互联网络
该网络中所有的神经元之间都有相互连接。
三、神经网络的学习算法
设计出来的神经网络需要一个学习训练的过程。
目的是不断地调整和修正网络的参数。
1、学习方法
监督:即训练数据本身,不但包括输入数据还包括一定输入条件下的输出数据。
有监督学习:网络的输出和期望的输出(即监督信号)进行比较,也就是实际输出和应有输出进行比较,然后根据两者之间的差异调整网络的权重,使最终网络差异值变小。
在训练过程中,每输入一组数据的同时也告诉网络应该输出的是什么。
误差达到了允许范围内,则不再调整权重,网络可以去用新的数据进行验证。
无监督学习:输入模式进入网络后,网络按照一定预先设计的规则(如竞争规则)自动调整权重,使网络最终具有模式分类的功能。
训练数据有输入而没有输出。
再励学习是介于以上两者之间的学习方法。
2、学习规则
-
Hebb学习规则
如果处理单元从另一个处理单元接受到一个输入,并且两个如果都处于高度活跃状态,这两个单元之间的连接权重就应该被加强。
该学习规则是无监督学习,只根据神经元连接间的激活水平改变权重,因此又称为相关学习和并联学习。
-
Delta学习规则
改变单元间的连接权重来减小系统实际输出与应有的输出之间的误差。
该学习规则实现了梯度下降减少误差,因此使误差函数达到最小值,但该学习规则只适用于线性可分函数,无法用于多层网络。
-
梯度下降学习规则
在学习过程中,保持误差曲线的梯度下降。误差曲线可能会出现局部的最小值,应尽可能摆脱局部最小值,达到真正误差最小值。
-
Kohonen学习规则
无监督学习。
在学习过程中,处理单元竞争学习时,具有高输出的单元是胜利者,胜利者有能力阻止其他竞争者并激发相邻单元。
-
后向传播学习规则
应用最广泛。
两步:
- 正反馈,当输入数据输入网络,网络从前往后计算出每个单元的输出,将每个单元的输出与期望的输出进行比较,计算误差。
- 向后传播,从后向前重新计算误差,并修改权重。
完成这两步后才能输入新的数据。
-
概率式学习规则
神经网络处于某一状态的概率取决于在此状态下的能量,能量越低概率越大。同时,概率还取决于温度参数T,T越大,不同状态出现概率的差异变越小,越容易跳出能量的局部极小点,到达全局最小点。
-
竞争式学习规则
无监督学习。
利用不同层间的神经元发生兴奋性连接以及同一层内距离很近的神经元间发生同样的兴奋性连接,而距离较远的神经元产生抑制性连接。
四、BP神经网络
1、基本思想
后向传播学习的前馈型神经网络(BPNN)
后向传播是一种学习算法该过程需要监督学习,前馈型网络是一种网络架构。
神经网络在实际应用中分为训练阶段和使用阶段。
2、算法流程
step1:初始化网络权重
step2:向前传播输入(前馈型网络)
step3:反向误差传播
step4:网络权重与神经元偏置调整
step5:判断结束
3、应用举例
文章出处登录后可见!