优化器有哪些,原理是什么?
优化器有哪些,原理是什么?
- 随机梯度下降(SGD, Stochastic Gradient Descent)
原理:SGD每次从训练集中随机选取一个小批量(mini-batch)样本,然后计算这个小批量样本的损失函数,通过反向传播计算梯度,并沿着梯度的反方向更新参数。
特点:
计算效率高,适用于大规模数据集。
但对参数较为敏感,需要较好的初始化。
容易陷入局部最小值,且每次更新方向波动较大。 - RMSprop
原理:RMSprop是一种自适应学习率方法,它通过对梯度进行平方加权平均来调整每个参数的学习率。具体来说,RMSprop维护一个衰减的平均值,该平均值是过去平方梯度的指数衰减和,并利用这个平均值来调整学习率。
特点:
能够在不稳定(non-stationary)的目标函数上表现良好。
适用于处理非平稳目标,如与时间相关的数据。 - Adam(Adaptive Moment Estimation)
原理:Adam结合了动量(Momentum)和RMSprop两种优化算法的思想。它计算梯度的一阶矩估计和二阶矩估计,并为不同的参数计算不同的自适应学习率。Adam还通过偏置校正来改进这两个矩估计。
特点:
适用于大多数非凸优化问题,计算高效且内存需求低。
超参数具有直观的解释,通常只需很少的调整。 - AdaGrad
原理:AdaGrad通过累积平方梯度来动态调整每个参数的学习率。随着迭代次数的增加,学习率会逐渐减小,这有助于处理稀疏梯度问题。
特点:
前期学习率衰减较快,后期学习率过小可能导致训练过程提前结束。
适用于处理稀疏数据。 - Momentum
原理:Momentum通过在梯度更新时加入一个动量项来加速SGD的训练过程。动量项是过去梯度的指数衰减加权平均,它有助于抑制震荡并加速收敛。
特点:
有助于在相关方向上加速SGD,并抑制震荡。
可以看作是对SGD的一种改进,使得训练过程更加稳定。 - AdamW(带有权重衰减的Adam)
原理:AdamW在Adam的基础上引入了权重衰减项,以改进模型的泛化能力。权重衰减是一种正则化技术,用于减少过拟合。
特点:
结合了Adam的高效性和权重衰减的正则化效果。
有助于提高模型的泛化能力。 - LBFGS(Limited-memory BFGS)
原理:LBFGS是一种拟牛顿法,它利用过去的梯度信息来构造一个近似的海森矩阵(Hessian matrix)的逆,从而进行参数的更新。
特点:
收敛速度快,但内存消耗较大。
适用于小批量数据集或全批量数据集。