神经网络的各个优化器比较
发布时间:2024-05-06 05:35:39
1.SGD随机梯度下降法
因为比较简单,这里就不展示公式了
优点:算法简单,下降速率快
缺点:由于学习率和batch固定,以及梯度方向,导致在最小值附近震荡,始终无法达到最小值,困与鞍点
2.Momentum动量算法
该节点的梯度下降方向以及大小会受到上一次该节点的下降方和大小的来调整。
A为该参数的上一次位置,A`是A方向的梯度,B是该参数现在的位置,B是当前B的梯度,那么最终B的梯度是A`和B
`的梯度相加,遵循平行四边形法则。
w=w-
r为常数,控制上一个梯度的影响,a是学习率
优点:有效抑制震荡,加速收敛
缺点:依然在局部最小值附近震荡
3.AdaSGD
没有理论可讲,直接上公式
求该参数的前t次更新的梯度 的平方和
这里的a是学习率, 是一个常数,为了防止分母为0无法计算
优点:最终可以达到针对不同的参数都有各自的学习率,可以有效解决梯度消失和梯度爆炸
缺点:依赖人工设置的学习率,后期分母变大使得参数下降缓慢甚至提前结束训练,但是还不一定找到了正确的解。
4.RMSProp
公式大致没变,只是在对梯度的平方和上进行了加权
5.Adam
这个就厉害了,既结合了mom动量,又结合了ada自适应,上公式:
公式中的r和 用于调节v和s的大小,当在训练开始时,s比较小,则可以将权重 调高,较大时就调低。
该优化器则是目前比较好的了,如果数据稀疏,可以偏向自适应优化器