神经网络课程(下)

第5讲 神经网络的泛化理论

5.1 正则化方法对泛化能力的影响

神经网络设计时使用的正则化方法时[WeRu1991GiJo1995Mack1992b]通常被称为“权衰减法”该方法的工作机理可
以用先验分布的角度加以解释。(?)
Mackay[Mack1992b]首先在神经网络领域引入了贝叶斯分析,在赋予R (w)以先验概率意义后,他发现损失函数的最小化等同于权参数后验概率的最大化。

如果在学习过程中最小化上述损失函数,则神经网络的冗余权值将随着学习的进行逐步衰减到零附近,因而可以被“剪除”,这一特性常被称为剪枝特性。显然,一旦网络中冗余的权值或隐节点被剪除,则网络将在保持学习精度的前提下精简结构,于是由上一节神经网络结构与泛化能力的关系可知,神经网络的泛化能力将得到提高,这正是正则化方法能改进泛化的直接原因。

5.2 神经网络集成对泛化能力的影响

神经网络集成,也称表决网,是指用有限个神经网络(也称子网)对同一个问题进行学习,而集成系统在某输入的输出由构成集成的各子网在该示例下的输出共同决定。该方法的特点是“以空间换性能”,即先训练一组子网,然后通过各子网“表决”(Voting)的方式(如加权和)得到学习系统的输出。神经网络集成已被认为是最有效的工程化神经网络设计方法之一[-2002]  对于神经网络分类器:加权的方式有绝对多数投票,相对多数投票;对于回归估计应用,方式有简单平均和加权平均具体区别见PPT。

常用的一些神经网络模型在学习过程中容易陷入局部极小,这通常被认为是神经网络的主要缺点之一。然而, PerroneCooper却认为[PeCo1993],这一特性对神经网络集成泛化能力的提高起到了重要作用。这是因为,如果各神经网络互不相关,则它们在学习中很可能会陷入不同的局部极小,这样神经网络集成的差异度(variance)就会很大,从而减小了泛化误差。换句话说,各局部极小的负作用相互抵消了。神经网络集成能改进泛化能力的原因,也可以从算法复杂性角度加以解释[PeRo1991Schm1997]:使用集成系统,可以消除权值初始化对学习系统复杂性的影响,降低了整个学习系统的复杂性,从而提高了表决系统的泛化能力。
5.3 样本输入加噪声对泛化能力的影响

在样本输入中添加随机噪声,也是改善神经网络泛化能力一种有效方法。在噪声方差较小时, Bishop[Bish1995]An[An1996]等人已经证明, 在样本输入中添加噪声,等价于神经网络结构设计的正则化方法,而正则化系数则与噪声方差有关。 (具体原理见PPT)

下一讲的例子:尽管加噪声训练的平均训练误差比不加噪声训练时大很多,但得到的神经网络的泛化误差却小的多,因此加噪声训练方法改善神经网络泛化能力的效果还是很明显的。 输入噪声方差过大或过小,测试误差均会变大。在输入噪声方差为0.1左右时,测试误差最小。

5.4 其他因素

5.4.1 样本质量

样本质量一般指训练样本分布反映总体的分布的程度,或者说整个训练样本集所提供的信息量。目前尚无瞩目的成果。 但
Partridge[Part1996]对用于分类的三层BP网的研究发现, 采用不同训练集对神经网络泛化能力的影响,甚至超过神经网络结构(隐节点数)对泛化能力的影响

采用主动学习(Active learning)机制(有时也称选择采样) [Cohn1994Fuku2000],改进训练样本质量,也是改善神经网络泛化能力的一个重要方法。

5.4.2 先验知识(看得很有体会)

神经网络学习时,给定一组样本,欲求得样本后面的“目标规则”,其解(即能产生样本数据的模型)将有无穷多个。而先验知识实际上是对所学习的目标规则所作的一些合理的假定。先验知识一般有两种表现方式:一种是Abu-Mostafa提出的提示(Hint [Abu1990Abu1993b];另一种是假定神经网络权值服从某种先验分布,如前面介绍的权衰减法。后一种方式在神经网络分析中引入贝叶斯方法,因而更易为人接受。

一般来说, 使用先验知识,相当于对模型的参数维数加以限制,从而使模型更靠近“目标规则”所在的区域。所以,在神经网络中使用任何一种先验知识都能改进网络的泛化能力。事实上,加入先验知识相当于减小了神经网络函数类的VC维数[Abu1993aSolla1992],或者说增加了神经网络的训练样本[Abu1993a]

第6讲的补充:先验知识也可以通过在学习过程中嵌入提示来表示[Abu1990Abu1993b]。提示能成功应用的关键是如何在学习中插入提示。Abu-Mostafa[Abu1995]建议把提示转化为虚拟样本(Virtualsamples),然后以虚拟样本和普通样本作为共同的训练样本集,完成神经网络的训练。

5.4.3 初始权值

对采用线性隐节点的两层线性网络来说, 当使用梯度下降算法时, Polycarpou[PoIo1992]已经证明,权值的最终解仅仅是解曲面上最靠近初始权值的点用较小的初始权值进行训练,最终将得到低复杂性的神经网络,因而小初始权值的对泛化性能的影响,类似于权衰减法中使用一个大的正则化系数。

5.4.4 学习时间

神经网络的学习时间指神经网络的训练次数(Epoches)。对神经网络进行过多的训练无疑会增加训练时间,但更重要的是会产生过学习(Over-learning)或过拟合(Over-fitting),从而影响神经网络的泛化能力。许多人用测试样本的误差作为泛化误差,对神经网络学习过程中的训练误差和测试误差进行了研究,都得到了所示的误差曲线。由图可见,随着训练误差的减小,泛化误差(测试误差)最初也逐步减小,达到最小点后,尽管训练误差继续减小,泛化误差反而逐步增加,出现了所谓的过学习。

Wang[WaVe1994WaVe1995]对单隐层神经网络训练的动态过程进行分析后发现, 泛化过程可分为三个阶段:在第一阶段,泛化误差单调下降;第二阶段的泛化动态较为复杂,但在这一阶段,泛化误差将达到最小点;在第三阶段,泛化误差又将单调上升。他们还发现,最佳的泛化能力出现在训练误差的全局最小点出现之前,并给出了最佳泛化点出现的时间范围,从而从理论上证明了在神经网络的训练过程中,存在最优的停止时间,在该时间点泛化误差达到最小。上述理论也说明, 只要训练时间合适,较大的神经网络也会有好的泛化能力。这实际上是用最优停止法设计神经网络的主要思想。

最优停止法用最优停止法设计神经网络的关键是确定学习算法在何时停止学习。为了得到最优停止点,通常把所有样本数据分为两部分,一部分为训练数据,另一部分为测试数据,并以测试误差代替神经网络的泛化误差,当测试误差达到最小时,就停止网络的训练。该方法实际上就是最简单的交叉测试Cross-Validation,简称CV)方法。

应该指出,简单CV方法并不是任何时候都适用的。

为了在样本较少的情况下也能使用CV方法,两种改进的CV方法是留一CVLeave-one-out CV法)和vCVv-fold CV法)。假定有l个样本,则留一CV法工作方式如下:每次取一个样本用于测试,其余l-1个用于训练,共有l种取法,对每一轮次都l种取法训练l次,当测试数据误差总和最小时停止训练。 v-foldCV法与此类似,只是每次用于测试的样本有v个,但这在一定程度上可以减少学习时间。

第6讲 神经网络的参数优化设计

6.1 主动学习(训练样本数量和质量

主动学习对训练样本的选择是主动的,通常通过对输入区域加以限制,有目的地在冗余信息较少的输入区域进行采样,并选择最有利于提高学习机器性能的样本来训练分类器,从而提高了整个训练样本集的质量。由上一章的讨论,训练样本质量对神经网络的泛化能力有极大影响,甚至超过网络结构对泛化能力的影响。因此采用主动学习方法,是改进神经网络泛化能力的一个重要方法。主动学习机制大部分用于分类或概念学习

主动学习机制一般通过“询问”(Query的方式实现

PPT上有例子,效果是:选择采样得到的样本更多地集中在两类样本地交界处。


6.2 在样本输入中添加随机噪声(输入噪声

见5.3节

6.3 神经网络集成

见5.2

6.4 基于先验知识的泛化方法

见5.4.2

6.5 最优停止法 (学习时间)

见5.4.4

第7讲 神经网络构造方法(主要是动态构造方法 CC和RAN)

7.1 介绍

构造方法也称增长方法,是自底向上的设计方法,它在开始时设计一个小规模网络,然后根据网络性能要求逐步增加隐节点或隐层,直至满足性能要求。 

Ash等人[Ash1989]提出的动态节点创建是最简单的构造算法,其特点是只有一个隐层,且每次只添加一个Sigmodal型隐节点,思路较简单,且能保证网络函数收敛于目标函数,但由于每次节点添加后整个网络都需要重新训练,因此当网络结构逐渐变大时,巨大的计算量将让人难以忍受 ;

构造算法中最著名的是Fanlman等人[FaLe1990]提出的CC算法。该算法开始时只有输入输出节点,并用quickprop训练与输出节点相连的权值,当训练误差不再下降时便添加一个新节点,新节点的输入取自前一个隐节点的输出及所有输入节点。每添加一个新节点,就先调整该节点的输入权值,使新节点输出与原网络输出残差之间的关联度最大,然后“冻结”新节点的输入权值,并重新调整同输出节点相连的权值,直至满足精度。CC算法具有明显的优点,它能自动构造出一个适宜的小型网络,而且仅需调整新节点的权值,因而计算量较动态节点创建方法小得多。由于不同的激活函数具有不同的逼近特性,如果CC算法采用多种激活函数,相信能够改进其泛化能力。

7.2 级连相关算法(CC)(解决双螺旋例子)

7.1有算法,CC算法具有以下明显的优点:

1. 它能自动构造出一个适宜的小型网络尽管网络结构未必式最优的,且隐节点可以使用多种激活函数,比如说使用半局部激活函数[HaKe1992] 

2. 可以实现快速学习。由于CC算法解决了步长问题和变动目标问题,因而计算量较BP算法小得多。

3. 可以建立高阶特征检测器(多个隐层),且与BP算法比较学习速度不会下降,因为BP网建立高阶特征监测器意味着多个隐层。
4. 可以实现增量学习。由于新节点的输入权值冻结,因此CC算法具有增量学习最重要的特性,即学习新信息时确保不会冲掉原来的记忆。
5. 可以实现Cache功能。实际上仅输出层受到训练,其余部分不变,因此可以记忆以前结果,并用于训练,大大减少了学习时间。
6. 不用象BP算法那样将误差沿网络连接反向传播。由于残差信号是广播给所有候选节点的,因此信号只沿一个方向传递,从而不存在BP算法中连接权与生物神经突触的差异问题。
7. 可并行实现。如采用候选节点池,则各候选节点输入与误差信号相同,而输入权值的计算互不干扰,便于并行实现。

7.3 资源分配网络(RAN)(就是一种RBF网络,动态RBF网)

RANPlatt[Platt1991]提出,主要思想是当神经网络在学习过程中发现“未建模”的样本时,就分配新的计算节点。 

该方法的主要特点包括:可以创建一个结构紧凑的网络,且学习速度较快;可实现在线学习,且网络在学习过程中随时可以使用(即边学习边使用),而学习过程中样本无需重复输入;网络具有局部特性,即网络中的每个隐节点仅对输入空间的局部区域响应。网络的主要学习行为包括分配新的隐节点,及调整现有节点的参数。如果当前网络对某个样本的响应不能令人满意,则分配一个新隐节点以改善网络对该样本的响应;如果网络对样本的响应较好,则用标准LMS梯度下降法调节当前网络权值。

RAN学习算法由隐节点分配策略,和“精调”网络参数的学习规则组成。它循环地检查各样本输入输出对,当新样本满足“新性”(Novelty)条件时,则分配一个新节点。 “新性”条件为:①当前样本输入距离最近的数据中心超过某一定值δ(t)(称距离准则);②神经网络的输出与样本输出的偏差大于某一定值e(称误差准则) 。两个条件同时满足则分配新的隐节点。

新隐节点的数据中心取新样本的输入,输出权值取当前神经网络输出与新样本输出之间的偏差,而扩展常数则取与新样本输入最近的数据中心之间的距离。如果当前神经网络的输出与新样本输出的偏差较小或样本输入离已有的数据中心都较近时(不同时满足两个时),则不分配新隐节点,此时用梯度法调整各数据中心和权值以逐步消除该误差。

与其它方法相比的优点:MoodyDarken[MoDa1989]提出基于聚类的RBF网设计方法激活函数的数据中心用K-Means算法调节;激活函数的输出权值用LMS梯度下降法调节;激活函数的宽度由K-Means算法调节后本节点与其它最近的数据中心间的距离决定。

MoodyDarken的方法相比, RAN具有以下优点:1. 在同样学习精度下, RAN能设计出更精简的网络;2. RAN可以动态调节隐节点数,以更好地逼近目标函数;而固定结构地神经网络则可能造成欠拟合或过拟合3. 使用具有局部响应特性的激活数,权值调节时只影响新增加的隐节点,而不会响应已分配的隐节点参数4. RAN在调节数据中心时使用了样本的输出信息(或误差信息)以提高学习精度,而聚类方法则做不到这一点,因此会产生较大结构的网络。5. Parzen窗或K近邻方法需要的资源(存储的模式数)正比于训练样本数,而RAN需要的资源小得多。

RAN网络,以下问题需要改进1. “新性”条件对最终所设计神经网络的规模有很大影响,且该条件中参数的设定有较大的任意性,严重影响神经网络的泛化能力2. RAN方法以单个样本的“新性”决定是否增加新隐节点并调节神经网络参数,尽管使得该方法可进行在线学习,但也带来了两个问题:一是该方法的学习结果可能受样本输入顺序的影响;二是由于该方法在降低总体学习误差(即所有样本的误差平方和)方面不如批处理方法,影响了该方法所设计的神经网络的泛化能力。

第8讲 神经网络剪枝方法

8.1 权衰减法(又是正则化,见5.1,第一次出现是第4章)

Rissanen的最短描述长度[Riss1978]来描述学习机器的复杂性。即给定训练数据后,最好的模型应该具有以下的最短总描述长度: 总描述长度=描述长度(数据|模型)+描述长度(模型) ,该式右边第一项是模型的残差,第二项衡量模型的复杂性
高斯正则化: 最小化损失函数等价于最大化似然函数。

8.2 灵敏度计算方法

灵敏度计算方法是指在网络进行训练时,或在网络训练结束后,计算节点(输入节点及隐节点)或连接权对网络误差的贡献(灵敏度),删除那些贡献最小的节点或权。  
PPT上介绍了 Moze r- Smolensky 提出的灵敏度剪枝方法: Skeletonization 方法 [MoSm1989] ,该方法不仅可以剪除冗余的隐
节点,还可以计算每个输入的灵敏度估计。


8.3 相关性剪枝方法

根据节点间相关性(或相互作用)进行剪枝,也是一种很重要的剪枝方法。最常见的做法是先判断隐节点输出之间的相关性,然后合并具有较大相关性的隐节点。比如说,当某隐节点的输出对所有模式方差均较小时,可将该节点输出看作常数,从而将其并入下一层的偏置节点;当两个隐节点的输出对所有模式具有较大的相关性时,可将它们合并成一个节点;

PPT上介绍了相关性剪枝的一个具体例子:隐节点合成方法

第9讲 进步神经网络方法

9.1 简介

进化方法具有较好的全局搜索能力,比较适用于寻找最佳的神经网络结构或参数。 Maniezzo[Mani1994]对进化方法在神经

网络设计中的应用现状有过介绍。进化方法主要有纯结构进化方法和结构与权同时进化两种方法,但纯结构进化方法由于计算量较大,实际中较少采用,此处只介绍结构与权同时进化的方法。

进化算法具有很好的全局搜索能力,往往能找到最佳的网络结构。由于进化方法属于启发式搜索算法,故其最大缺点是计算量较大。
PPT给出一种RBF网设计的进化优选算法[-2000,魏-2001b],该方法针对OLS算法不能设计最小结构神经网络的缺点而提出,具有较高的效率。 (顺带回忆一下 正交OLS算法是找出H能量贡献大的列向量作为H',然后计算权向量)

9.2 进步优选算法(ESA算法)

OLS算法的主要思想是选择隐层输出阵H的若干列的线性组合,来近似逼近教师信号y,且逼近误差
实现上述思想的关键是选择H的合适的列。 OLS方法使用了Gram-Schmidt正交化方法(见第4章)。但是,该方法并不一定
能找到满足目标误差
ε的最少个数的列[ShPi1996]。由于OLS算法与主成分分析方法在形式上类似,文[ShPi1996]OLS算法与
主成分分析方法作了比较后发现,由于
H的列向量不是正交的,它们对y的能量贡献也相互影响,尽管正交最小二乘算法在每一

步都试图找到一个有最大能量贡献的基矢量,但这并不保证最终能找到具有最小个数的基矢量组。我们可以考虑找到反例。

PPT推导分析将发现,选择最优的H的列是一个组合优化问题,而OLS方法只是相当于采用“最大投影法则”的一种启发式算法,因此不能保证找到最优列。事实上,如果如果我们改变正交化次序,则每个数据中心的能量贡献将发生变化,但根据下面的

定理2M个数据中心的能量贡献之和将保持不变,即。所以,神经网络的逼近误差只与选择哪些数据中心有关,而与这些数据中心被选中的次序(即正交化次序)无关。

PPT中提到选择阵、排列阵、最优选择阵等概念。

进化策略[Schw1994]Evolutionary Strategy)及与之类似的遗传算法[Holl1975Gold1989]Genetic Algorithm)、进化
编程(
Evolutionary Programming)都具有较好的全局搜索能力,因此比较适用于寻找最佳的神经网络结构或参数[Mani1994]。在神经网络结构设计时使用进化方法最主要的方式是结构与权同时进化,当神经网络规模较大或权参数较多时,

这种方法的无疑是极为耗时的。对权参数进行编码带来的另一个问题是编码精度的确定:当精度过高时,染色体过长,计算时间会迅速增加;当精度过低时则不能精确定位权参数的值。

第10讲 Hopfield网络(基本没咋看)

离散与连续Hopfield网络

1982年和1984年, J.Hopfield提出了离散和连续Hopfield网络模型[Hopf1982Hopf1984]Hopfield网络属于反馈神经网络,其权值是固定的,一般不需要学习。但离散和连续Hopfield网络都有从初始状态动态收敛到稳定状态(即最小能量状态,也称吸引子)的能力,充分利用这一能力可以使Hopfield网络实现优化计算和联想记忆等功能。连续型Hopfield网络主要用于优化计算,离散型Hopfield网络则主要用于联想记忆.

既然图5.1对应的系统的是稳定的,意味着给定一初始状态,网络将逐步演变到能量函数的局部最小点,这些局部最小点就是网络的稳定状态或吸引子。网络将逐步演变到能量函数的局部最小点,这些局部最小点就是网络的稳定状态或吸引子。

由于用电路实现, Hopfield网络具有很强的计算能力。因此这样的系统着重关心的是系统的稳定性问题。 稳定性是这类具有联想记忆功能的神经网络模型的核心,学习记忆的过程就是系统向稳定状态发展的过程。Hopfield网络可用于解决联想记忆和约束优化问题的求解。
与连续Hopfield网络相比,离散Hopfield网络[Hopf1982]的主要差别在于神经元激活函数使用了硬极限函数(连续Hopfield
使用
Sigmoid激活函数),且一般情况下离散Hopfield网络没有自反馈,即wii=0。因此,离散Hopfield网络是一种二值神经网络,即每个神经元的输出只取1和-1这两种状态(分别表示激活和抑制)。 离散Hopfield网络更易于软件实现
离散Hopfield网络的状态变换


网络应用:优化计算、联想存储;应用实例:TSP问题、字符存储。

第11讲 自组织特征映射(SOFM算法)

如果在学习过程中逐步缩小神经元之间的作用邻域,并用hebb学习规则增强中心神经元的激活程度,则去掉各神经元之间的侧向连接也能得到“近兴奋远抑制”的效果。这就是Kohonen自组织特征映射(SOFM的思路。

SOFM的一个重要特点是具有拓扑保形特性,即最终形成的以输出权矢量所描述的特征映射能反映输入的模式的分布。

算法应首先对权值进行初始化。类似于BP网, SOFM的初始权值常取小的随机数。权值初始化后,SOFM还应完成两个基本过程:竞争过程和合作过程。竞争过程就是最优匹配神经元的选择过程,合作过程则是网络中权系数的自组织过程。选择最优匹配神经元实质是选择输入模式对应的中心神经元,权系数的自组织过程则是以“墨西哥帽”的形态来使输入模式得以存放。这两部分是密切相关的,它们共同作用才能完成自组织特征映射的学习过程。 

印象很深是可以用于聚类,然后不用像K-means那样必须得指定类型数。k-means一般从3个开始,进行分类;然后到4个,再分类;然后再继续往上加,直到找到比较好的分类数。

猜你喜欢

转载自blog.csdn.net/zhengbq_seu/article/details/80685406