本章先研究了固定学习率最速下降反向传播算法运算时的一些局限性,然后从改进SDBP和其他衍生算法的角度来解决这些局限性。
第十二章 反向传播算法的变形
反向传播算法的缺点
LMS算法中,只要学习率的值不是太大,都能保证收敛到一个能最小化均方误差的解。因为对于一个单层的线性网络来说,均方误差是一个二次函数,二次函数仅有一个驻点。
第11章中的最速下降反向传播算法(SDBP)是LMS算法的推广,也是一种最小化均方误差的近似最速下降法。事实上,应用于单层线性神经网络时,SDBP算法等价于LMS算法。但是应用于多层网络时,SDBP算法的特性非常不同,因为多层网络的性能曲面可能会存在多个局部极小值点。
1. 性能曲面的实例
这里举一个函数逼近的例子来研究多层网络均方误差的性能曲面。上图是一个1-2-1结构的网络,其中每一层的传输函数都使用对数-S型函数。我们使用这样一个网络(记为网络1)逼近与它结构完全相同,且权值和偏置值设置如下的另一个网络(记为网络2)。
网络2的输入p在[-2 2]之间取值时,其输出如下图。
假设函数在多个p值处采样:
,且每个样本出现的概率是一样的。性能指标将是41个点的平方误差之和(省去了均方误差计算)。此时性能指标是权值和偏置值函数。为了能绘出性能指标的图像,一次只改变两个变量进行研究。
当仅调整
,其他变量被设置为网络2的参数(即最优值)时,性能指标的图像如下。仅当
时最小误差为0,在等高线图中用圆圈表示。在右侧的函数图像中可以看出,性能指标不是一个二次函数,且曲率在空间上急剧变化,因此为最速下降算法选择一个合适的学习率是很困难的。这个曲面在某些区域非常平缓,允许使用大一点的学习率,而在某些曲率比较大的地方,则需要较小的学习率(之前证明过学习率与曲率的大小成反比)。误差曲面的另一个特点是存在多个局部极小值点,由等高线可以看出,全局极小值点存在于与 轴平行的凹槽中,即
处。然而与
轴平行的凹槽中还有一个局部极小值点。
当仅调整
,其他变量被设置为网络2的参数(即最优值)时,性能指标的图像如下。仅当
时最小误差为0,在等高线图中用圆圈表示。这个函数图像十分扭曲,有些地方十分陡峭,有些地方非常平缓,在这样的曲面上使用标准的最速下降法会遇到一些麻烦,因为在某些点处的梯度会十分接近于0,容易使最速下降法提前结束。
当仅调整
,其他变量被设置为网络2的参数(即最优值)时,性能指标的图像如下。仅当
时最小