优化器与学习率调度策略详解
1. 优化器介绍
在深度学习中,优化器的选择对于模型的训练效果和效率至关重要。以下将详细介绍几种常见的优化器及其特点。
1.1 动量优化(Momentum Optimization)
动量优化比梯度下降快10倍,能更快地逃离平稳区域。当输入具有不同的尺度时,代价函数会呈现出细长碗状的形态。梯度下降在陡峭的斜坡上下降得很快,但在山谷中下降则需要很长时间。而动量优化则会在山谷中越滚越快,直到到达谷底(最优解)。在不使用批量归一化的深度神经网络中,上层的输入通常具有非常不同的尺度,因此使用动量优化会有很大帮助,它还可以帮助越过局部最优解。
不过,由于动量的存在,优化器可能会稍微超调,然后返回,再次超调,并在稳定到最小值之前多次振荡。因此,在系统中设置一点摩擦力是有益的,它可以消除这些振荡,从而加快收敛速度。
在Keras中实现动量优化非常简单,只需使用SGD优化器并设置其动量超参数即可:
import tensorflow as tf
optimizer = tf.keras.optimizers.SGD(learning_rate=0.001, momentum=0.9)
动量优化的一个缺点是它增加了一个需要调整的超参数。然而,动量值为0.9在实践中通常效果很好,并且几乎总是比常规梯度下降更快。
1.2 Nesterov加速梯度(Nesterov Accelerated Gradient)
Nesterov加速梯度是动量优化的一个小变体,通常比常规动
超级会员免费看
订阅专栏 解锁全文
5726

被折叠的 条评论
为什么被折叠?



