误差反向传播算法

更新时间:2022-03-29 17:03

误差反向传播法是Rumelhart等在1986年提出的,即BP(error BackPropagation)法影响最为广泛,也称BP算法。直到今天,BP算法仍然是自动控制上最重要、应用最多的有效算法。是用于多层神经网络训练的著名算法,有理论依据坚实、推导过程严谨、物理概念清楚、通用性强等优点。但是,人们在使用中发现BP算法存在收敛速度缓慢、易陷入局部极小等缺点。

简介

自从40年代赫布(D.O. Hebb)提出的学习规则以来,人们相继提出了各种各样的学习算法,Rumelhart等提出的误差反向传播法,即BP(error BackPropagation)算法是影响最为广泛的算法之一。BP是自动控制上最重要、应用最多的有效算法之一。误差反向传播算法是用于多层神经网络训练的著名算法,有理论依据坚实、推导过程严谨、物理概念清楚、通用性强等优点。但是,人们在使用中发现BP算法存在收敛速度缓慢、易陷入局部极小等缺点。

BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。

1)正向传播:输入样本->输入层->各隐层(处理)->输出层

注1:若输出层实际输出与期望输出(教师信号)不符,则转入2)(误差反向传播过程)。

2)误差反向传播:输出误差(某种形式)->隐层(逐层)->输入层 其主要目的是通过将输出误差反传,将误差分摊给各层所有单元,从而获得各层单元的误差信号,进而修正各单元的权值(其过程,是一个权值调整的过程)。

注2:权值调整的过程,也就是网络的学习训练过程(学习也就是这么的由来,权值调整)。

1)初始化

2)输入训练样本对,计算各层输出

3)计算网络输出误差

4)计算各层误差信号

5)调整各层权值

6)检查网络总误差是否达到精度要求

满足,则训练结束;不满足,则返回步骤2。

1)易形成局部极小(属贪婪算法,局部最优)而得不到全局最优;

2)训练次数多使得学习效率低下,收敛速度慢(需做大量运算);

3)隐节点的选取缺乏理论支持;

4)训练时学习新样本有遗忘旧样本趋势。

↑ 《数字神经网络系统》第二篇 系统模型 1.2反向传播BP模型

动机

任何监督式学习算法的目标是找到一个能把一组输入最好的映射到其正确的输出的函数。例如一个简单的分类任务,其中输入是动物的图像,正确的输出将是动物的名称。一些输入和输出模式可以很容易地通过单层神经网络(如感知器)学习。但是这些单层的感知机不能学习一些比较简单的模式,例如那些非线性可分的模式。例如,人可以通过识别动物的图像的某些特征进行分类,例如肢的数目,皮肤的纹理(无论是毛皮,羽毛,鳞片等),该动物的体型,以及种种其他特征。但是,单层神经网络必须仅仅使用图像中的像素的强度来学习一个输出一个标签函数。因为它被限制为仅具有一个层,所以没有办法从输入中学习到任何抽象特征。多层的网络克服了这一限制,因为它可以创建内部表示,并在每一层学习不同的特征。[1] 第一层可能负责从图像的单个像素的输入学习线条的走向。第二层可能就会结合第一层所学并学习识别简单形状(如圆形)。每升高一层就学习越来越多的抽象特征,如上文提到的用来图像分类。每一层都是从它下方的层中找到模式,就是这种能力创建了独立于为多层网络提供能量的外界输入的内部表达形式。反向传播算法的发展的目标和动机是找到一种训练的多层神经网络的方法,于是它可以学习合适的内部表达来让它学习任意的输入到输出的映射。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}