常见优化器总结

一、BGD(批量梯度下降)

定义:批量梯度下降法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。

优点:一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行。由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。当目标函数为凸函数时,BGD一定能够得到全局最优。

缺点:当样本数据m很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。

二、SGD(随机梯度下降)

定义:每次迭代仅使用一个训练样本来计算损失函数的梯度,并更新模型参数

特点:适用于大规模数据集和在线学习场景

三、Momentum(动量法)

定义:通过引用一个累计梯度的指数加权平均,将过去的梯度信息考虑进当前的参数更新中,从而增加稳定性和提高训练效率。

特点:常用于改进随机梯度下降(SGD)和小批量梯度下降(MBGD)等优化器

四、NAG(Nesterov Accelerated Gradient)

定义:在动量法基础上进行改进的优化算法,先按照之前的动量更新参数,再在这个新的位置计算梯度,并根据此调整更新方向。

特点:可以减少摆动,加快收敛速度

五、Adagrad

定义:一种自适应梯度下降的优化器,对不同参数使用不同的学习率。对于更新频率较低的参数施以较大的学习率,对于更新频率较高的参数使用较小的学习率。

特点:使用大规模数据集和特征提取任务

六、RMSprop

定义:对Adagrad的一种改进,根据梯度的历史信息来自适应地调整学习率。使用梯度的指数加权平均而不是累积和来计算学习率。

特点:适用于处理非稀疏数据和长期依赖的问题

七、Adadelta

定义:对Adagrad的另一种改进,通过计算梯度平方的指数加权移动平均来避免学习率趋于0的问题,同时简化了计算。

特点:适用于需要很长时间训练的大型神经网络和需要稳定学习率的任务

八、Adam

定义:结合了AdaGrad和Momentum两种优化算法的优点,能够快速收敛并且减少训练时间。

Adam优化器计算出每个参数的独立自适应学习率,不需要手动调整学习率的大小

特点:适用于处理大规模数据和训练复杂模型

你可能感兴趣的:(机器学习常识,人工智能,计算机视觉,深度学习)