基于MNIST数据集的参数最优化算法比较研究

2021-08-09 03:23卜文锐
电子技术与软件工程 2021年11期
关键词:步长神经网络效率

卜文锐

(陕西国防工业职业技术学院 陕西省西安市 710300)

1 神经网络的参数优化

1.1 参数更新

神经网络在人工智能的发展当中起到了重要作用,它通常包含着较为复杂的结构和数量庞大的参数,其优化过程的主要目的就是有针对性地更新各类参数,使得为解决问题而设定的损失函数取得令人满意的最小值。一般而言,在许多实用性较强的领域中,神经网络的优化过程是一个较为复杂的问题,其主要原因是在将实际问题抽象为数学模型的过程中,需要引入相当数量的各类参数,神经网络需要处理的参数无论是较大的数量还是复杂的结构都让最优解的求解较为困难。

在神经网络优化算法当中,非常经典的方法是选取网络参数的梯度作为最小化损失函数的突破口,在很大程度上借鉴了工程数学研究中关于最速下降方法的研究成果,具体算法称为随机梯度下降法,简称SGD。相比于盲目地在参数空间中搜索,SGD 方法已经具有巨大的优势了。但是,根据需要求解的具体问题,也有着比SGD 更好的优化算法。

1.2 常用方法

1.2.1 SGD

SGD 方法的表达式如式(1)所示,W 是神经网络的权重,∂L/∂W 是损失函数对W 的偏导数,η 为学习率(一般取0.01 或0.001)。

SGD 方法的局限性从式(1)中也可以看出,那就是梯度的方向并不一定总是指向最小值的方向。因此,在出现此类情况的问题中,SGD 方法的搜索效率将会大打折扣。

1.2.2 Momentum

Momentum 的表达式如式(2)和式(3)所示,W 是神经网络的权重,∂L/∂W 是损失函数对W 的偏导数,η 为学习率,v 为速度。

Momentum 方法对应的物理模型非常类似非光滑、非真空环境下,在平面上滚动的球体,式(2)中的第一项代表了球体运动时受到的各种阻力。

1.2.3 AdaGrad

在神经网络的学习中,学习率(数学式中记为η)的设定对于网络参数的优化具有重要意义。其设定过小,相当于在搜索过程中步长过小,优化效率较低;其设定过大,相当于在搜索过程中选定了较大的步长,可能长时间在最小值附近摆动而无法收敛。在解决工程问题的过程中,学习率衰减的方法被广泛采用:在搜索开始距离最小值较远时,采用较大的搜索步长;当搜索逐渐进行,接近最小值附近时,调小搜索步长。在此基础之上,AdaGrad 方法拓展了该方法的细节,针对各个参数在神经网路模型中的不同用途,专门为其设定衰减率,相当于更加细化的学习率衰减方法。

图1:四类算法最优化结果对比

用数学式表示AdaGrad 的更新方法如式(4)和式(5)所示,W 是神经网络的权重,∂L/∂W 是损失函数对W 的偏导数,η 为学习率。其中参数h 的设置就是为了抑制某些参数因搜索步长过大而无法收敛,具体而言:从式(4)可以看出,如果某个参数的梯度变化较大,则其h 值也会发生较大改变:而式(5)中h 值存在于分母上,就确保权重W 值只发生较小的改变,也就确保了搜索步长有针对性地衰减。

1.2.4 Adam

在优化算法的发展过程中,各类算法相互借鉴,不断优化的案例十分丰富,也往往有着意想不到的效果。Adam 方法就是结合了Momentum 方法和AdaGrad 方法的特点,并进行了一些独特算法特征的引入,在2015年正式进入最优化方法的行列。

2 MNIST数据集

2.1 概述

MNIST 是机器学习领域最有名的数据集之一,从各类AI 训练的典型实验到许多知名期刊发表的论文都能见到其被广泛使用。实际上,在阅读图像识别或机器学习的各类资料时,它是非常典型的研究对象,包含可以用于学习和推理的训练图像6 万张,测试图像1 万张。神经网络的训练过程与其它AI 的训练类似,也即将训练集上的训练结果用于测试集上的图像进行分类,而分类的效率和准确率通常是度量神经网路模型好坏的基本参数。

2.2 基本参数

图2:不同迭代次数下四种算法损失函数对比

MNIST 数据集是由28×28 像素的图像组成,每个像素点根据其灰度的差异在0-255 之间取值,并以此保存为一个数组。在训练过程中,每个数据所对应的分类标签(0-9 总共10 个分类)会被输入神经网络作为参考;而在测试过程中,数据的标签将不提供给神经网络。

3 最优化算法对比

3.1 实验参数

3.1.1 四类算法对比

以求解式(6)所示的函数最小值作为四类算法对比研究的目标,在工程优化问题当中此类函数也经常被作为研究对象,根据其等高线图对比最优化算法的好坏。

针对该函数的特征,不同类型算法在最优化参数的过程中往往会表现出各不相同的特征。

3.1.2 MNIST 数据集实验参数

在MNIST 数据集上,我们比较前述SGD、Momentum、AdaGrad 和Adam 这四种算法的优化效果,并确认不同的方法在学习进展方面的差异。我们采用一个5 层神经网络,其中每层设置100 个神经元,激活函数采用ReLU 函数,迭代次数分别设定为1000、2000、3000 和4000。

3.2 结果对比

3.2.1 四类算法对比实验

SGD、Momentum、AdaGrad 和Adam 算法在式(6)所示最优化问题上的结果如图1 所示。SGD 方法主要体现了Z 字形搜索方式,而其它三种方法的搜索则有较显著的非线性特征。从结果来看,AdaGrad 方法的结果最优。但是,在最优化问题中,结果会根据需要解决的问题而有较大的变化;并且,根据超参数(学习率等)设定的差异,结果也会发生变化。所以,在神经网络解决实际问题的过程中,网络结构的设定和各类参数的设置往往决定着最终优化算法的结果。

3.2.2 MNIST 数据集最优化算法对比

从图2 的结果中可知,与SGD 算法相比,其它3 种算法学习效率较高,而且速度较为接近,细致分析不同迭代次数的学习效果图可以看出,AdaGrad 算法的学习效率总体略高于其它算法。和求解函数最小值问题时类似,我们只能确定,在当前设定的实验参数条件下,另3 种方法学习效率比SGD 算法更高,在多数情况下最终识别手写数字的精度也更好。

4 结语

神经网络参数的优化是人工智能研究当中非常重要的问题,基于不同的算法设计理念,四种常用方法均有着各自的特色。在求解函数最小值问题的过程当中,AdaGrad 算法在SGD、Momentum、AdaGrad 和Adam 算法中具有较好的结果;在学习手写数字识别领域典型的MNIST 数据集时,我们设定的迭代次数在1000、2000、3000 和4000 的5 层神经网络(每层设置100 个神经元,激活函数采用ReLU 函数)结果体现出与SGD 算法相比,另3 种方法学习效率更高,同时AdaGrad 算法的学习效率总体略高于其它算法。

猜你喜欢
步长神经网络效率
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
神经网络抑制无线通信干扰探究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
跟踪导练(一)2
基于逐维改进的自适应步长布谷鸟搜索算法
基于支持向量机回归和RBF神经网络的PID整定
“钱”、“事”脱节效率低
一种新型光伏系统MPPT变步长滞环比较P&O法
一种新颖的光伏自适应变步长最大功率点跟踪算法