5.3 误差逆传播算法

多层网络地学习能力比单层感知机强的多。欲训练多层网络,之前的简单感知机学习规则显然不够用了,需要更强大的学习算法。误差逆传播(error BackPropagation,简称BP)算法就是其中最杰出的代表。现实任务中使用神经网络时,大多使用的BP算法进行训练,其不仅可用于多层前馈神经网络,还可用于其他类型额神经网络。通常的,BP网络一般指用BP算法训练的多层前馈神经网络。
给定训练集D={(x1,y1),(x2,y2),…,(xm,ym)},输入示例由d个属性描述,输出l维实例向量。下图给出了一个拥有d个输入神经元,l个输出神经元,q个隐层神经元的多层前馈网络结构。
第五章 神经网络(下)-LMLPHP
BP是一个迭代学习算法,在迭代的每一轮中采用广义的感知机学习规则对参数进行更新估计。BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整。
BP算法的具体工作流程
1、先将输入示例提供给输入层神经元,然后逐层将信号前传,直到产生输出层的结果;
2、然后计算输出层的误差,再将误差逆向传播至隐层神经元;
3、最后根据隐层神经元的误差来对连接权和阈值进行调整。
该迭代过程循环进行,直到某些停止条件为止,比如训练误差已经到了一个很小的值。
BP算法的目标是要最小化训练集D上的累计误差。标准BP算法每次仅对一个训练样例更新连接权和阈值,如果类似的推导出基于累积误差最小化的更新规则,就能得到累计误差逆传播算法

一般来说,标准BP算法每次更新只针对单个样例,参数更新得非常频繁,而且对不同样例进行更新的效果可能出现抵消现象,因此,为了达到同样的累积误差极小点,标准BP算法往往需要进行更多次数的迭代。累积BP算法直接针对累积误差最小化,它在读取整个训练集D一遍后才对参数集进行更新,其参数更新频率低得多。在很多任务中,累积误差下降到一定程度后,进一步下降会非常缓慢,这时标准BP往往会更快获得较好的解,尤其是训练集非常大时更明显。

曾经有人证明,只需一个包含足够多的神经元的隐层,多层前馈网络就能以任意精度逼近任意复杂度的连续函数。对于如何设置隐层神经元的个数,实际应用中往往采用试错法

由于其强大的表示能力,BP神经网络经常遭遇过拟合,其训练误差持续降低,测试误差却可能上升。以下是两种用来缓解BP网络过拟合的常用策略。
一、早停:将数据分成训练集和验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。
二、正则化:其基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接权与阈值的平方和。

5.4 全局最小与局部最小

若用E表示神经网络在训练集上的误差,则它显然是关于连接权w和阈值θ的函数。此时,神经网络的训练过程可看作一个参数寻优过程,即在参数空间中,寻找一组最优参数使得E最小。
直观的看,局部极小解是参数空间中的某个点,其邻域点的误差函数值均不小于该点的函数值;全局最小解则是参数空间中所有点的误差函数值均不小于该点的误差函数值。
第五章 神经网络(下)-LMLPHP
现实任务中,人们往往采用以下几个策略来试图跳出局部极小,从而进一步接近全局最小:
1、以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数。这相当于从多个不同的初始点开始搜索,这样就可能陷入不同的局部极小,从中进行选择有可能获得更接近全局最小的结果。
2、使用 “模拟退火" (simulated annealing)技 术。模拟退火在每一步都以一定的概率接受比当前解更差的结果,从而有助于 “跳出”局部极小。在每步迭代过程中,接受 “次优解”的概率要随着时间的推移而逐渐降低,从而保证算法稳定。
3、使用随机梯度下降。与标准梯度下降法精确计算梯度不同,随机梯度下降法在计算梯度时加入了随机因素。于是,即便陷入局部极小点,它计算出
的梯度仍可能不为零,这样就有机会跳出局部极小继续搜索。
此外,遗传算法(genetic algorithms)也常用来训练神经网络以更好地逼近全局最小.需注意的是,上述用于跳出局部极小的技术大多是启发式,理论上尚缺乏保障.

其他常见神经网络

5.5.1 RBF网络

RBF(Radial Basis Function,径向基函数)网络是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元激活函数,而输出层则是对隐层神经元输出的线性组合。具有足够多隐层神经元的RBF网络能以任意精度逼近任意连续函数。
通常采用两步过程来训练RBF网络:1、确定神经元中心,常用的方式包括随机采样,聚类等。2、利用BP算法来确定其他参数

5.5.2 ART网络

竞争性学习(competitive learning)是神经网络中一种常用的无监督学习策略,在该策略中,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元被抑制。这种
ART(Adaptive Resonance Theory自适应谐振理论)网络是竞争型学习的重要代表。该网络由比较层、识别层、识别阈值和重要模块构成。其中比较层负责接受输入样本,并将其传递给识别层神经元。识别层每个神经元对应一个模式类,神经元数目可在训练过程中动态增长以增加新的模式类。
神经元之间竞争的最简单方式是,计算输入向量与每个识别层神经元所对应的模式类的代表向量之间的距离,距离最小者胜,胜者同时向其他识别层神经元发送抑制信号。

若输入向量与获胜神经元所对应的代表向量之间的相似度大于识别阈值,则当前输入样本将被归为该代表向量所属类别。同时,网络连接权将会更新,使得以后在接收到相似输入样本时该模式类会计算出更大的相似度,从而使该获胜神经元有更大可能获胜;若相似度不大于识别阈值,则重置模块将在识别层增设一个新的神经元,其代表向量就设置为当前输入向量。

显然,识别阈值对ART网络的性能有重要影响。当识别阈值较高时,输入样本将会被分成比较多、比较精细的模式类,而如果识别阈值较低,则会产生比较少、比较粗略的模式类。

ART比较好地缓解了竞争性学习中的“可塑性-稳定性”,可塑性是指神经网络要有学习新知识的能力,而稳定性则是指神经网络在学习新知识时要保持旧知识的记忆。这就使得ART网络具有一个很重要的优点:可进行增量学习在线学习

5.5.3 SOM网络

SOM(Self-Organizing Map,自适应映射)网络是一种竞争学习型的无监督神经网络,它能将高维输入数据映射到低维空间(通常是二维),同时保持输入数据在高维空间的拓扑结构,即将高维空间中相似的样本点映射到网络输出层中的临近神经元。
SOM的训练过程很简单:在接收到一个训练样本后,每个输出层神经元会计算该样本与自身携带的权向量之间的距离,距离最近的神经元成为竞争获胜者,称为最佳匹配单元。然后,最佳匹配单元及其邻近神经元的权向量将被调整,以使得这些权向量与当前输入样本的距离缩小。这个过程不断迭代,直至收敛。
第五章 神经网络(下)-LMLPHP

5.5.4 级联相关网络

一般的神经网络模型通常假定网络结构是事先固定的,训练目的是利用训练样本来确定合适的连接权、阈值等参数。与此不同,结构自适应网络则将网络结构也当作学习目标之一。并希望能在训练过程中找到最符合数据特点的网络结构。级联相关网络是结构自适应网络的重要代表
第五章 神经网络(下)-LMLPHP

5.5.5 Elman网络

与前馈神经网络不同,递归神经网络允许网络中出现环形结构,从而可让一些神经元的输出反馈回来作为输入信号。如此一来,使得网络在输出状态不仅与当前的输入有关,还与之前的网络状态也有关。Elman网络是最常用的递归神经网络之一。
第五章 神经网络(下)-LMLPHP

5.5.6 Boltzmann机

神经网络中有一类模型是为网络状态定义一个能量,能量最小化时网络达到理想状态,而网络的训练就是在最小化这个能量函数。Boltzmann机就是一种基于能量的模型。其神经元都是布尔型的,即只能取0、1两种状态。

5.6 深度学习

典型的深度学习模型就是很深层的神经网络。显然,对神经网络模型,提高容量的一个简单办法就是增加隐层的数目。隐层多了,相应的神经元连接权、阈值等参数就会更多。
第五章 神经网络(下)-LMLPHP

11-25 07:01