APP下载

深度卷积神经网络权重参数更新方法研究

2021-12-31杨曼黄远民石远豪

中国设备工程 2021年24期
关键词:梯度方向梯度神经元

杨曼,黄远民,石远豪

(1.佛山职业技术学院,广东 佛山 528137;2.佛山赛宝信息产业技术研究院有限公司,广东 佛山 528000)

1 权重参数更新方法

1.1 随机梯度下降法(SGD)

一般而言,损失函数很复杂,参数空间庞大,而通过巧妙的使用梯度来寻找函数最小值的方法就是梯度法,梯度表示的是各点处的函数值减小最多的方向。在神经网络的学习中,寻找最小值的梯度法称为梯度下降法,由于神经网络中选取的训练数据多为随机批量数据,因此称为随机梯度下降法。用数学公式来表示方法如下式所示:

1.2 Momentum

在使用SGD训练参数时,SGD每次都会在当前位置上沿着负梯度方向更新,并不考虑之前的方向梯度大小,有时候会下降的非常慢,并且可能会陷入到局部最小值中,动量的引入就是为了加快学习过程,引入一个新的变量去积累之前的梯度(通过指数衰减平均得到),实现加速学习过程的目的。用数学公式来表示方法如下式所示:

这里变量v表示物体在梯度方向上的受力,遵循在力的作用下,物体的速度增加这一法则,v初始为None,若当前的梯度方向与累积的历史梯度方向一致,则当前的梯度会被加强,从而这一步下降的幅度更大。若当前的梯度方向与累积的梯度方向不一致,则会减弱当前下降的梯度幅度。a初始值设定为0.5、0.9或者0.99。

1.3 AdaGrad

AdaGrad算法的思想是每一次更新参数,不同的参数使用不同的学习率。将每一个参数的每一次迭代的梯度取平方累加后再开方,用全局学习率除以这个数,作为学习率的动态更新。用数学公式来表示AdaGrad方法如下式所示:这里变量h保存了所有梯度值的平方和,在更新参数时,通过乘以来调整学习的尺度,参数元素中被大幅更新的元素的学习率将变小。从算法AdaGrad中可以看出,随着算法不断迭代,h会越来越大,整体的学习率会越来越小。

1.4 Adam

Adam方法计算了梯度的指数移动均值,融合了RMSProp和Momentum的方法,Adam会设置3个超参数,一个是学习率,标准值设定为0.001,另外两个超参数beta1和beta2控制了这些移动均值的衰减率,移动均值的初始值beta1、beta2值接近于1,在深度学习库中,标准的设定值是beta1=0.9、beta2=0.999。

2 算法对比

MNIST数据集60000个训练数据样本,构建5层神经网络,输入层数据大小为784,隐藏层神经元个数分别为600、400、200,输出层神经元个数为10,激活函数用relu。

其迭代后损失函数结果如下表1所示(保留4位有效数字)。

表1 损失函数值

根据以上数据可得到损失AdaGrad函数最小为.0105,Adam次之且相差不大,其余两种方法学习效率较低。

其迭代后损失函数结果如下表2所示(保留4位有效数字)。

表2 损失函数值

根据以上数据可得到Adam损失函数最小为。0.0019,在神经网络层数不变,神经元个数不变的情况下,增加训练样本的迭代次数,AdaGrad的损失函数更新速度变慢,Adam方法损失函数更新速度更快、效果更好,此时损失函数值更小。

3 实例应用

以MNIST数据集为例,分别采用SGD、Momentum、AdaGrad、Adam方法对目标函数进行优化,构建以下深度CNN网络结构图,见图1。完成对该数据集中手写数字的分类识别。

图1 深度网络结构图

其中Conv为卷积层,主要进行卷积运算,相当于图像处理中的滤波器运算。Pool为池化层,主要是缩小高、长方向上的空间运算。Dropout是一种在学习的过程中随机删除神经元的抑制过拟合问题的方法,训练时随机选出隐藏层的神经元,然后将其删除,被删除的神经元不再进行信号的传递。softmax函数为输出层函数,softmax函数的输出是0.0到1.0之间的实数。采用上述深度卷积神经网络进行测试,当epochs=12,得到准确率如下表3所示。

表3 测试结果

结果显示,采用Adam进行目标函数优化,分类识别准确率为0.9951。设定当epochs=20,得到准确率如下表4所示。

表4 测试结果

结果显示,增大epochs后,采用Adam 进行目标函数优化,分类识别准确率仍为最高0.9955。增加了0.04%,但计算速度会减慢。

4 结语

采用SGD、Momentum、AdaGrad、Adam 4种权重参数更新方法,SGD下降过程更为曲折,因噪声使梯度更新的准确率下降,同时SGD会在某一维度上梯度更新较大产生振荡,可能会越过最优解并逐渐发散。加入动量Momentum梯度移动更为平滑,但效率仍偏低。AdaGrad可根据自变量在各个维度的梯度值大小来调整各个维度上的学习率,避免统一的学习率难以适应所有维度的问题。Adam融合了Momentum、AdaGrad的方法,Adam的更新过程类似Momentum,但相比之下,Adam晃动的程度有所减轻。以MNIST数据集为样本集,构建深度卷积神经网络结构,分别采用SGD、Momentum、AdaGrad、Adam方法对目标函数进行优化,完成对该数据集中手写数字的分类识别,结果对比显示采用方法,识别准确率为99.55%。

猜你喜欢

梯度方向梯度神经元
一个改进的WYL型三项共轭梯度法
基于机器视觉的钢轨接触疲劳裂纹检测方法
一种自适应Dai-Liao共轭梯度法
一个具梯度项的p-Laplace 方程弱解的存在性
基于梯度方向一致性引导的边缘检测研究
一类扭积形式的梯度近Ricci孤立子
基于光谱上下文特征的多光谱舰船ROI鉴别方法
跃动的神经元——波兰Brain Embassy联合办公
基于支持向量机的分类器训练研究
基于二次型单神经元PID的MPPT控制