主要内容

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

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

下表列出了要测试的算法以及用于标识它们的缩写。

首字母缩写

算法

描述

LM

trainlm

Levenberg-Marquardt

高炉煤气

trainbfg

高炉煤气拟牛顿

RP

trainrp

有弹性的反向传播

SCG

trainscg

缩放共轭梯度

CGB

traincgb

具有Powell/Beale重启的共轭梯度

CGF

traincgf

弗莱彻-鲍威尔共轭梯度

本金保证产品

traincgp

polak - ribi共轭梯度

OSS

trainoss

一步正割

GDX

traingdx

可变学习率反向传播

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

问题标题

问题类型

网络结构

错误的目标

电脑

函数逼近

1-5-1 0.002

太阳卫星2号

奇偶校验

模式识别

3-10-10-1 0.001

太阳卫星2号

引擎

函数逼近

2-30-2 0.005

Sun Enterprise 4000

癌症

模式识别

9-5-5-2 0.012

太阳卫星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) Max。时间(年代) 性病(s)。

LM

1.14 1.00 0.65 1.83 0.38

高炉煤气

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

本金保证产品

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) Max。时间(年代) 性病(s)。

RP

3.73 1.00 2.35 6.89 1.26

SCG

4.09 1.10 2.36 7.48 1.56

本金保证产品

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

高炉煤气

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对16),并且LM算法的优势随着网络参数数量的增加而减少。

算法

平均时间(s) 最小时间(s) Max。时间(年代) 性病(s)。

LM

18.45 1.00 12.01 30.03 4.27

高炉煤气

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

本金保证产品

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-5-2网络。下表总结了使用九种不同算法训练该网络的结果。表中的每个条目代表30个不同的试验,其中每个试验使用不同的随机初始权重。在每种情况下,网络都会被训练到平方误差小于0.012。对于某些算法,有少数运行未能收敛,因此仅使用每种算法的前75%的运行来获得统计数据。

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

算法

平均时间(s) 最小时间(s) Max。时间(年代) 性病(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

本金保证产品

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

高炉煤气

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)。数据来自俄克拉荷马州立大学化学系的Neil Purdie博士[PuLu92].用于这个问题的网络是一个21-15-3网络,隐藏层有tansig神经元,输出层有线性神经元。下表总结了使用九种不同算法训练该网络的结果。表中的每个条目代表20个不同的试验(RP和GDX分别为10个试验),其中每个试验使用不同的随机初始权重。在每种情况下,网络都会被训练到平方误差小于0.027。

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

算法

平均时间(s) 最小时间(s) Max。时间(年代) 性病(s)。

SCG

99.73 1.00 83.10 113.40 9.93

本金保证产品

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

高炉煤气

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算法相对于其他算法有所改进,因为错误目标减少了。

糖尿病数据集

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

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

算法

平均时间(s) 最小时间(s) Max。时间(年代) 性病(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

本金保证产品

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

高炉煤气

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,但它仍然对某些问题有用。在某些情况下,收敛得慢一些会更好。例如,当使用提前停止时,如果使用收敛太快的算法,可能会得到不一致的结果。您可能会超过验证集上的错误最小化的点。