前馈神经网络
①从多层前馈网络的I/O关系来看,这实际上是一种高度非线性 的映射关系。也就是,任何连续函数都是可以用带有隐含层的网络 来逼近。 ②对于线性可区分的映射,不需要隐含层(简单感知器) ③增加隐含层,可增加网络的处理能力,但会使网络的训练变得 复杂,网络性能不一定为最优。 比如,两个隐含层的网络可解决任意判决边界的分类问题,但 是并不一定比单一隐含层更优越。
+0.6安 1.0安 电流
电流
§3.2 前馈网络( BP )的隐含层设计
3.2.1.2 对输出层
根据网络处理的功能和处理的规模来确定输出节点数目。 比如,用作分类器的网络,要进行m类别分类,则要求 ①m个输出节点; ②每个类别有足够的训练样本; ③当输入样本为第i类时,其输出应为
0 0 y 1 第i个1 0 0
注意:(l-1)层第j个神经元的输出即为l层神经元的输入, k为迭代次数。
l Ek Ek net jk l l l wij net jk wij
可以令
Ek l 1 O jk net ljk Ek ljk 局部剃度 l net jk
§3.1 BP网络模型及原理
注意:输入/输出层节点数目设计不宜过多,否则整个系统训 练和处理复杂。
§3.2 前馈网络( BP )的隐含层设计
3.2.2 隐含层的设计
隐含层的规模是利用前馈网络解决实际问题时最重 要的问题之一,隐含层的设计都是依据网络的用途来决 定的,但并不是唯一的,目前主要还是以经验来确定。 3.2.2.1隐含层数的选择
§3.1 BP网络模型及原理
比如剃度学习算法
( n 1) (n) wij (t ) wij (t )
E (t ) wij (t )
神经网络对信息处理过程一般都要经过执行阶段和学习阶段的反复迭代过程。 学习过程是为了取得对信息的适应特性,执行过程是对信息的检索或者分类, 这是神经网络中两个不可分割的阶段。 通过学习阶段,将神经网络训练成对某类信息模式特别敏感,或者具有某 种特征的动力学系统。 通过执行阶段,使得网络能够识别有关的信息模式或者特征。
l l l 1 net jk wij O jk l l O f ( net jk jk ) 可以按照 从(l+1)层(或者输出层) 一步步往回推求。有
总结:
Ek l l 1 O jk jk wljk
l ( y y ) f ( net 神经元j为输出单元时 k k jk ) l 其中 jk ( l 1wl 1 ) f (net l ) 神经元j为隐含单元时 mk mk jk m
3.1.3.1 BP算法原理
k层
k +1层
输入层
隐含层
输出层_连接权修正源自连接权修正误差信号Ä
网络学习结构
期望信号
对隐含层虽然与I/O层外界单元不发生直接联系,但隐含层 连接权的修正可以改变整个多层网络的性能。
§3.1 BP网络模型及原理
对第k+1层,第i个神经元I/O的关系:
x( k 1),i f ( wij xkj ) y( k 1),i f ( wij xkj )
3.1.2.2 BP神经网络的几个基本概念
①学习速率参数 ②振荡
§3.1 BP网络模型及原理
3.1.3 BP网络算法的原理
BP网络算法是为解决多层前馈网络连接权优化才提出的, 是一种无反馈的多层前馈网络。 以Rumelhart和McClelland为首的并行分布处理(PDP)的 研究小组1986年提出,BP算法是应用最广泛的学习算法之一。
人工神经网络及其应用
第三讲 前馈网络 主讲人:方涛
第三 讲前馈网络
主讲内容
◆ ◆ ◆ ◆ ◆ §3.1 §3.2 §3.3 §3.4 §3.5 BP网络模型及原理 前馈网络的隐含层设计 初始连接权的设置及影响 Questions Homework
§3.1 BP网络模型及原理
3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 神经网络信息处理的数学过程 BP网络算法概述 BP网络算法的原理 BP网络算法中常用的激励函数 BP网络算法的若干改进
感知器的学习算法是一种单层网络的学习算法,不能用于多 层网络的学习算法。 BP算法解决了多层网络的学习问题,并不象Minsky等人预 料的那样弱的学习能力,相反它可以完成许多学习任务,解决 许多实际问题,也因此推动了前馈式神经网络的研究。 BP算法目前已成为迄今为止应用最普遍的神经网络学习算 法。
§3.1 BP网络模型及原理
即等效地改变了原来恒定的学习速率 是 确定比较麻烦。
,可以加快收敛速度,但
§3.1 BP网络模型及原理
⊙学习速率渐小法 学习速率在迭代开始时大,有利于加快学习训练速度,但是到了 极值点时,减少学习速率可有利于收敛:
h ( n) = h (0) h (1 + ) g g 为常数
⊙学习速率的经验公式
§3.1 BP网络模型及原理
3.1.2 BP网络算法概述
3.1.2.1 BP算法概述
最初由Werbos开发的反向传播训练算法,是一种 迭代梯度算法,用于求解前馈网络的实际输出与期望 输出间的最小均方差值。 BP网是一种反向传递并能修正误差的多层映射网 络。 当参数适当时,此网络能够收敛到较小的均方差。 BP网的短处是训练时间较长,且易陷于局部极小。
实线:工作信号,是输入信号逐层向前传送产生输出; 虚线:误差信号,是网络实际输出与期望输出之差,并由输出
端逐层向后传播。
BP反向传播算法分为正向传播与反向传播。
§3.1 BP网络模型及原理
①正向传播与工作信号 输入样本从输入层经过隐含单元一层层进行处理, 传向输出层,这种逐层处理的过程,每层神经元的状 态只对下一层神经元的状态产生影响。 在输出层将当前的输出与期望的输出进行比较, 如果当前的输出不等于期望输出,则进行反向传播。 ②反向传播与误差信号 将误差信号按正向传播的通路反向传回,对隐含 层的各个神经元的连接权进行修正,以使误差信号最 小。
§3.1 BP网络模型及原理
3.1.3.3 BP算法的执行步骤
对连接权 wij进行递归计算。 每层有n个神经元,即i=1,2,„,n;j=1,2,„,n。 wi1 , wi 2 ,, w 对第k层的第i个神经元,则有n个连接权 。 in T 输入样本 X = ( x1, x2 ,, xn ) ,并设共有m层。 以s型函数为例, f ( x) = 1 - x ,有 f ( x) f ( x) (1 f ( x))
1+e
步骤:
①对权系数 wij 置初始值; ②输入样本X,以及期望输出 Y = ( y1, y2 ,, yn )T ③计算各层的输出(正向过程计算) k 对第k层第i个神经元的输出 xi
1 netik wij x k j k k x f ( net i ) i
§3.1 BP网络模型及原理
⑤连接权修正
k-1 wij (t +1) = wij (t ) - hd k x j j
⑥求出各层的各个连接权后,如满足要求,则结束迭代,否则, 返回③继续。 如果网络层数较多,计算量大,收敛速度很慢。
§3.1 BP网络模型及原理
3.1.4 BP网络计算中常用的激励函数
①S型及双曲正切函数
f ( x) = 1 1 + e- x
⊙渐进自适应学习速率 采用进化策略来调节学习速率。
§3.1 BP网络模型及原理
②局部学习速率的自适应 实质为:对每个连接权采用不同的学习速率进行局部自适应调整, 比如 ⊙基于符号变换的学习速率自适应 对每个连接权选其初始值 ij (0) ; 修正学习速率
ij (n) ij (n 1) (n) (n 1) d ij ij E E ( n) ( n 1) 0 wij wij
Ek l f ( net jk ) Oljk 要从(l 1 )层往回算
对于(l 1)层第m个单元 Ek l 1 l 1 mk wmj l O jk m
ljk
l 1 l 1 ( mk wmk ) f (net ljk ) m
§3.1 BP网络模型及原理
§3.1 BP网络模型及原理
3.1.3.2 BP算法的数学表达
常用激励函数Sigmoid型函数
f ( x) =
1 1 + e- x
BP算法采用非线性规划中的最速下降方法,按照误 差函数的负剃度方向修正连接权。BP算法的实质就是使误差最 小化的求解问题: 平方型误差函数:
E 1 ( y jk y jk ) 2 2
否则
连接权更新
w(n) ij (
E wij ( n 1)) wij 动量项
§3.2 前馈网络( BP )的隐含层设计
3.2.1 I/O层设计 3.2.2 隐含层的设计 3.2.3 几个重要的前馈网络定理
§3.2 前馈网络( BP )的隐含层设计
3.2.1 I/O层设计
①当节点j为输出单元时
Oljk y jk Ek y jk l jk y net l jk jk ( yk yk ) f (net ljk )
②当节点j不为输出单元(隐含单元)时 l O E jk ljk lk O jk net ljk
k l ④求各层的学习误差 di = d jk(反向过程)
输出层,k m, 有 其它层,
dik xik (1 xik ) wli dik 1
l
dim xim (1 xim )( xim yi )
误差函数的求取是从输出层开始到输入层反向传播的,这种误 差的递归求法,使误差逐渐减小,以修正连接权。