主要内容

选择多层神经网络训练函数

很难知道哪个训练算法对于给定问题是最快的。这取决于许多因素,包括问题的复杂性,训练集中的数据点数,网络中的权重和偏差数,误差目标,以及网络是否被用于模式识别(判别分析)或函数近似(回归)。本节比较各种培训算法。前馈网络培训六种不同的问题。三个问题属于模式识别类别,而其他三个问题属于函数近似类别。两个问题是简单的“玩具”问题,而另外四个是“现实世界”的问题。使用具有各种不同架构和复杂性的网络,网络培训到各种不同的精度水平。

下表列出了测试的算法和用于识别它们的首字母缩写。

缩略词

算法

描述

LM

trainlm

Levenberg-Marquardt

BFG.

trainbfg

高炉煤气拟牛顿

RP

trainrp

有弹性的反向传播

SCG

Trainscg.

按比例缩小的共轭梯度

CGB.

traincgb

与鲍威尔/野鸽的共轭渐变重启

CGF.

traincgf

Fletcher-Powell共轭梯度

CGP.

traincgp

Polak-Ribiere共轭梯度

OSS

训练

sec一步

GDX

traingdx.

可变学习率BackPropagation

下表列出了六个基准问题以及网络、训练过程和使用的计算机的一些特征。

问题标题

问题类型

网络结构

错误的目标

电脑

函数近似

1-5-1 0.002

Sun Sparc 2

平价

模式识别

3-10-10-1 0.001

Sun Sparc 2

引擎

函数近似

2-30-2 0.005

太阳4000年企业

癌症

模式识别

9-5-5-2 0.012

Sun Sparc 2

胆固醇

函数近似

21-15-3 0.027

Sun Sparc 20

糖尿病

模式识别

8-15-15-2 0.05

Sun Sparc 20

SIN数据集

第一个基准数据集是一个简单的函数逼近问题。1-5-1网络,与tansig隐含层的传递函数和输出层的线性传递函数,用来近似正弦波的单个周期。下表总结了使用九种不同的训练算法对网络进行训练的结果。表中的每个条目代表30个不同的试验,每个试验使用不同的随机初始权值。在每种情况下,对网络进行训练,直到平方误差小于0.002。解决这个问题最快的算法是Levenberg-Marquardt算法。平均来说,它比第二快的算法快四倍多。这是LM算法最适合的一类问题——一个函数近似问题,其中网络的权重小于100,并且近似必须非常准确。

算法

平均时间(s) 分钟。时间(年代) 最大限度。时间(s) 性病(s)。

LM

1.14 1.00 0.65 1.83 0.38

BFG.

5.22 4.58 3.17 14.38 2.08

RP

5.67 4.97 2.66 17.24 3.72

SCG

6.09 5.34 3.18 23.64 3.81

CGB.

6.61 5.80 2.99 23.65 3.67

CGF.

7.86 6.89 3.57 31.23 4.76

CGP.

8.24 7.23 4.07 32.32 5.03

OSS

9.64 8.46 3.97 59.63 9.79

GDX

27.69 24.29 17.21 258.15 43.65

各种算法的性能可能会受到所需的近似精度的影响。下图显示了几种典型算法的均方误差与执行时间(30次试验的平均值)的关系。这里你可以看到LM算法的误差随时间的减少要比其他算法快得多。

以下图进一步说明了算法之间的关系,图中绘制了收敛所需的时间与均方误差收敛目标之间的关系。在这里,您可以看到,随着错误目标减少,LM算法提供的改进变得更加明显。由于误差目标减少(LM和BFG),某些算法更好地执行,而其他算法降低,因为误差目标减少(OSS和GDX)。

奇偶校验数据集

第二个基准测试问题是一个简单的模式识别问题——检测3位数字的奇偶性。如果输入模式中1的个数为奇数,则网络输出1;否则,它应该输出-1。用于解决这个问题的网络是一个3-10-10-1网络,每层都有tansig神经元。下表总结了九种不同算法对该网络的训练结果。表中的每个条目代表30个不同的试验,每个试验使用不同的随机初始权值。在每种情况下,对网络进行训练,直到平方误差小于0.001。这个问题最快的算法是弹性反向传播算法,尽管共轭梯度算法(特别是缩放共轭梯度算法)几乎一样快。注意,LM算法在这个问题上的表现并不好。一般来说,LM算法在模式识别问题上的表现不如在函数逼近问题上的表现。 The LM algorithm is designed for least squares problems that are approximately linear. Because the output neurons in pattern recognition problems are generally saturated, you will not be operating in the linear region.

算法

平均时间(s) 分钟。时间(年代) 最大限度。时间(s) 性病(s)。

RP

3.73 1.00 2.35 6.89 1.26

SCG

4.09 1.10 2.36 7.48 1.56

CGP.

5.13 1.38 3.50 8.73 1.05

CGB.

5.30 1.42 3.91 11.59 1.35

CGF.

6.62 1.77 3.96 28.05 4.32

OSS

8.00 2.14 5.06 14.41 1.92

LM

13.07 3.50 6.48 23.78 4.96

BFG.

19.68 5.28 14.19 26.64 2.85

GDX

27.07 7.26 25.21 28.52 0.86

与函数近似问题一样,各种算法的性能可能受到网络所需的准确性的影响。这在下图中示出,绘制了一些典型算法的均方误差与执行时间。LM算法在某些时候迅速收敛,但只有在其他算法已经收敛之后。

以下图进一步说明了算法之间的关系,图中绘制了收敛所需的时间与均方误差收敛目标之间的关系。同样,您可以看到一些算法随着误差目标的降低而降低(OSS和BFG)。

引擎数据集

第三个基准问题是一个现实的函数近似(或非线性回归)问题。数据来源于引擎的运行。输入到网络的是发动机转速和加油水平,输出是扭矩和排放水平。用于解决这个问题的网络是一个2-30-2网络,隐藏层是tansig神经元,输出层是线性神经元。下表总结了九种不同算法对该网络的训练结果。表格中的每一个条目代表30个不同的试验(RP和GDX由于时间限制有10个试验),每个试验使用不同的随机初始权值。在每种情况下,对网络进行训练,直到平方误差小于0.005。解决这一问题最快的算法是LM算法,其次是BFGS拟牛顿算法和共轭梯度算法。尽管这是一个函数近似问题,LM算法并不像SIN数据集那样明显优越。在这种情况下,网络中的权值和偏差的数量远远大于SIN问题(152 vs 16), LM算法的优势随着网络参数数量的增加而减少。

算法

平均时间(s) 分钟。时间(年代) 最大限度。时间(s) 性病(s)。

LM

18.45 1.00 12.01 30.03 4.27

BFG.

27.12 1.47 16.42 47.36 5.95

SCG

36.02 1.95 19.39 52.45 7.78

CGF.

37.93 2.06 18.89 50.34 6.12

CGB.

39.93 2.16 23.33 55.42 7.50

CGP.

44.30 2.40 24.99. 71.55 9.89

OSS

48.71 2.64 23.51 80.90 12.33

RP

65.91 3.57 31.83 134.31 34.24

GDX

188.50 10.22 81.59 279.90 66.67

下图描绘了一些典型算法的均方误差与执行时间的关系。相对于其他算法,LM算法的性能会随着时间的推移而提高。

以下图进一步说明了算法之间的关系,图中绘制了收敛所需的时间与均方误差收敛目标之间的关系。同样,您可以看到一些算法随着误差目标的降低而降低(GDX和RP),而LM算法则有所改进。

癌症数据集

第四个基准问题是一个现实的模式识别(或非线性判别分析)问题。该网络的目的是根据显微镜检查收集到的细胞描述将肿瘤分为良性或恶性。输入属性包括团厚、细胞大小和形状的均匀性、边缘粘连的数量和裸露核的频率。这些数据来自麦迪逊威斯康辛大学医院的威廉·h·沃尔伯格博士。用于解决这个问题的网络是一个包含各层tansig神经元的9-5-2网络。下表总结了九种不同算法对该网络的训练结果。表中的每个条目代表30个不同的试验,每个试验使用不同的随机初始权值。在每种情况下,对网络进行训练,直到平方误差小于0.012。对于某些算法,有几次运行未能收敛,因此只使用每个算法的前75%的运行来获得统计数据。

共轭梯度算法和弹性反向传播算法都具有较快的收敛速度,LM算法也具有较快的收敛速度。与奇偶校验数据集一样,LM算法在模式识别问题上的表现不如在函数逼近问题上的表现。

算法

平均时间(s) 分钟。时间(年代) 最大限度。时间(s) 性病(s)。

CGB.

80.27 1.00 55.07 102.31 13.17

RP

83.41 1.04 59.51 109.39 13.44

SCG

86.58 1.08 41.21 112.19 18.25

CGP.

87.70 1.09 56.35 116.37 18.03

CGF.

110.05 1.37 63.33 171.53 30.13

LM

110.33 1.37 58.94 201.07 38.20.

BFG.

209.60 2.61 118.92 318.18 58.44

GDX

313.22 3.90 166.48 446.43 75.44

OSS

463.87 5.78 250.62 599.99. 97.35

下图描绘了一些典型算法的均方误差与执行时间的关系。对于这个问题,性能上的差异不像以前的问题那么大。

以下图进一步说明了算法之间的关系,图中绘制了收敛所需的时间与均方误差收敛目标之间的关系。同样,您可以看到一些算法随着误差目标的降低而降低(OSS和BFG),而LM算法则有所改进。LM算法在任何问题上的典型表现是,随着误差目标的降低,相对于其他算法,它的性能有所提高。

胆固醇数据集

第五个基准问题是一个现实的函数近似(或非线性回归)问题。该网络的目的是根据21个光谱成分的测量来预测胆固醇水平(ldl、hdl和vldl)。数据来自俄克拉何马州立大学化学系的尼尔·珀迪博士[PuLu92].用于解决这个问题的网络是21-15-3网络,隐藏层是tansig神经元,输出层是线性神经元。下表总结了九种不同算法对该网络的训练结果。表中的每个条目代表20个不同的试验(RP和GDX的10个试验),每个试验使用不同的随机初始权值。在每种情况下,对网络进行训练,直到平方误差小于0.027。

缩放共轭梯度算法在这一问题上的性能最好,尽管所有的共轭梯度算法都有很好的表现。LM算法在这个函数近似问题上的表现不如在其他两个问题上的表现。这是因为网络中权重和偏差的数量再次增加(378对152,16)。随着参数数量的增加,LM算法所需的计算量呈几何级数增长。

算法

平均时间(s) 分钟。时间(年代) 最大限度。时间(s) 性病(s)。

SCG

99.73 1.00 83.10 113.40 9.93

CGP.

121.54 1.22 101.76 162.49 16.34

CGB.

124.06 1.2 107.64 146.90 14.62

CGF.

136.04 1.36 106.46 167.28 17.67

LM

261.50 2.62 103.52 398.45 102.06

OSS

268.55 2.69 197.84 372.99 56.79

BFG.

550.92 5.52 471.61 676.39 46.59

RP

1519.00 15.23 581.17 2256.10 557.34

GDX

3169.50 31.78 2514.90 4168.20 610.52

下图描绘了一些典型算法的均方误差与执行时间的关系。对于这个问题,你可以看到LM算法能够将均方误差降到比其他算法更低的水平。SCG和RP算法提供了最快的初始收敛速度。

以下图进一步说明了算法之间的关系,图中绘制了收敛所需的时间与均方误差收敛目标之间的关系。您可以看到LM和BFG算法相对于其他算法改进,因为误差目标减少了。

糖尿病数据集

第六个基准问题是模式识别问题。该网络的目标是根据个人数据(年龄、怀孕次数)和体检结果(如血压、体重指数、葡萄糖耐量试验结果等)来确定个人是否患有糖尿病。数据来源于加州大学欧文分校的机器学习数据库。用于解决这个问题的网络是一个8-15-15-2网络,在所有层上都有tansig神经元。下表总结了九种不同算法对该网络的训练结果。表中的每一项代表10个不同的试验,每个试验使用不同的随机初始权值。在每种情况下,对网络进行训练,直到平方误差小于0.05。

共轭梯度算法和弹性反向传播算法都具有快速收敛性。这个问题的结果与其他模式识别问题是一致的。RP算法对所有的模式识别问题都有很好的效果。这是合理的,因为该算法的设计是为了克服sigmoid函数训练带来的困难,因为在远离中心点时,sigmoid函数的斜率非常小。对于模式识别问题,在输出层使用s形传递函数,并且希望网络在s形函数的尾部运行。

算法

平均时间(s) 分钟。时间(年代) 最大限度。时间(s) 性病(s)。

RP

323.90 1.00 187.43 576.90 111.37

SCG

390.53 1.21 267.99 487.17 75.07

CGB.

394.67 1.22 312.25 558.21 85.38

CGP.

415.90 1.28 320.62 614.62 94.77

OSS

784.00 2.42 706.89 936.52 76.37

CGF.

784.50 2.42 629.42 1082.20 144.63

LM

1028.10 3.17 802.01 1269.50. 166.31

BFG.

1821.00 5.62 1415.80. 3254.50 546.36

GDX

7687.00 23.73 5169.20 10350.00 2015.00

下图描绘了一些典型算法的均方误差与执行时间的关系。与其他问题一样,您可以看到SCG和RP具有快速的初始收敛,而LM算法能够提供更小的最终误差。

以下图进一步说明了算法之间的关系,图中绘制了收敛所需的时间与均方误差收敛目标之间的关系。在这种情况下,可以看到BFG算法随着误差目标的降低而降低,而LM算法则有所改进。RP算法是最好的,但在误差目标最小时,SCG算法更好。

总结

有几种算法特征可以从所描述的实验推导出来。通常,在函数近似问题上,对于包含高达几百重量的网络,Levenberg-Marquardt算法将具有最快的收敛性。如果需要非常准确的培训,这种优势特别明显。在许多情况下,trainlm能够获得比任何其他测试算法更低的均方误差。然而,随着网络中权数的增加,优势trainlm减少。此外,trainlm在模式识别问题上表现相对较差。存储要求trainlm比测试的其他算法要大。

trainrp函数是解决模式识别问题的最快算法。然而,它在函数逼近问题上表现不佳。其性能也随着误差目标的降低而降低。与考虑的其他算法相比,该算法的内存需求相对较小。

特别是共轭梯度算法Trainscg.,似乎在各种各样的问题上表现出色,特别是对于具有大量重量的网络。SCG算法几乎快速为LM算法在功能近似问题(对于大型网络的速度更快)并且几乎和trainrp关于模式识别问题。它的性能不会像trainrp当错误减少时,性能会发生变化。共轭梯度算法的内存要求相对较低。

表现trainbfg和的相似吗trainlm.它不需要那么多的存储空间trainlm但是,所需的计算确实随着网络大小的几何上增加,因为必须在每次迭代时计算矩阵逆。

可变学习率算法traingdx.通常比其他方法慢得多,并且具有与trainrp,但它仍然有用于某些问题。有某些情况,最好更慢地收敛。例如,如果使用早期停止时,如果使用过快收敛的算法,则可以具有不一致的结果。您可能会过时最小化验证集的错误的点。