深度优化算法
发布时间: 2025-08-11 12:18:46
❶ 深度模型优化算法SGD、Momentum、NAG、AdaGrad、RMSProp及Adam等
深度模型训练中的优化算法如SGD、Momentum、NAG、AdaGrad、RMSProp和Adam各有其特点。SGD,即随机梯度下降,每次迭代使用单个样本或小批量,引入随机性以减小整体优化方向的噪声。Momentum通过累积过去梯度的指数衰减移动平均,加速学习过程,减少震荡。Nesterov动量提前考虑下一步的梯度,提供更快的收敛速度。
AdaGrad对每个参数独立调整学习率,适应性地处理不同梯度的更新,解决学习率不变的问题,但可能在后期学习能力减弱。Adadelta是对AdaGrad的改进,通过近似平均而非累积历史梯度,减少了对全局学习率的依赖,但仍有学习率逐渐减小的挑战。
RMSprop作为Adadelta的变体,是梯度平方和平均的近似,对非平稳目标有良好效果。Adam优化器综合一阶矩估计和二阶矩估计,平衡了学习率的动态调整和稳定性能,尤其适合大规模数据和复杂目标函数。
总的来说,这些优化算法通过不同的策略,如动量、梯度平方平均、自适应学习率等,优化模型的训练过程,提高收敛速度和稳定性。选择哪种算法取决于具体问题和模型需求。
❷ 深度学习优化算法——公式汇总
深度学习优化算法的公式汇总如下:
一、基础算法
随机梯度下降
- 更新公式:$$w_{t+1} = w_t eta cdot nabla_w J}, y^{})$$其中,$w_t$ 是参数,$eta$ 是学习率,$nabla_w J}, y^{})$ 是对第 $i$ 个样本的损失函数 $J$ 关于参数 $w$ 的梯度。
动量SGD
- 更新公式:
- 速度更新:$$vt = mu cdot v{t1} eta cdot nabla_w J$$
- 参数更新:$$w_{t+1} = w_t + v_t$$其中,$mu$ 是动量系数,通常取值在0到1之间。
- 更新公式:
Nesterov动量SGD
- 更新公式:
- 预估参数:$$hat{w}_t = wt + mu cdot v{t1}$$
- 梯度计算:$$nabla_w J$$
- 速度更新:$$vt = mu cdot v{t1} eta cdot nabla_w J$$
- 参数更新:$$w_{t+1} = w_t + v_t$$
- 更新公式:
二、自适应学习率算法
AdaGrad
- 更新公式:
- 累积梯度平方:$$Gt = G{t1} + nabla_w J^2$$
- 参数更新:$$w_{t+1} = w_t eta cdot frac{nabla_w J}{sqrt{G_t + epsilon}}$$其中,$epsilon$ 是一个很小的数,用于防止分母为零。
- 更新公式:
RMSProp
- 更新公式:
- 累积梯度平方:$$E[g^2]t = beta cdot E[g^2]{t1} + cdot nabla_w J^2$$
- 参数更新:$$w_{t+1} = w_t eta cdot frac{nabla_w J}{sqrt{E[g^2]_t + epsilon}}$$其中,$beta$ 是衰减率。
- 更新公式:
Adam
- 更新公式:
- 梯度一阶矩估计:$$m_t = beta1 cdot m{t1} + cdot nabla_w J$$
- 梯度二阶矩估计:$$v_t = beta2 cdot v{t1} + cdot nabla_w J^2$$
- 偏差修正:$$hat{m}_t = frac{m_t}{1 beta_1^t}$$$$hat{v}_t = frac{v_t}{1 beta_2^t}$$
- 参数更新:$$w_{t+1} = w_t eta cdot frac{hat{m}_t}{sqrt{hat{v}_t} + epsilon}$$其中,$beta_1$ 和 $beta_2$ 分别是一阶矩和二阶矩估计的衰减率。
- 更新公式:
三、二阶优化算法
牛顿法
- 更新公式:$$w_{t+1} = w_t H_f^{1} cdot nabla_w f$$其中,$H_f$ 是函数 $f$ 在 $w_t$ 处的Hessian矩阵。
共轭梯度法
- 该方法主要用于求解线性方程组 $Ax = b$,其中 $A$ 是对称正定矩阵。其更新公式涉及多个步骤和变量,且依赖于特定的共轭方向,因此在此不详细展开。
以上公式汇总了深度学习优化算法中的一些常用方法,每种方法都有其独特的优点和适用场景。
热点内容