深度学习入门1——Optimization

本文介绍了优化算法中的几种关键策略,如随机梯度下降(SGD)、带有动量(Momentum)、Nesterov动量、AdaGrad、RMSProp以及Adam。讨论了如何利用mini-batch更新和动量概念来改善收敛性能,同时提到了二阶优化问题及其挑战,如Hessian矩阵的处理和BGFS、L-BFGS等方法的对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Methods of optimization

Stochastic Gradient Descent (SGD)

use mini-batch (32/64/128) to do gradient descent

SGD + Momentum

continue moving in the general direction as the previous iterations

Build up “velocity” as a running mean of gradients

Rho gives “friction”; typically rho=0.9 or 0.99

vt+1=ρvt+∇f(xt)v_{t+1} = \rho v_t + \nabla f(x_t)vt+1=ρvt+f(xt)

xt+1=xt−αvt+1x_{t+1} = x_t - \alpha v_{t+1}xt+1=xtαvt+1

Nesterov Momentum

“Look ahead” to the point where updating using velocity would take us

vt+1=ρvt−α∇f(xt+ρvt)v_{t+1} = \rho v_t - \alpha \nabla f(x_t+\rho v_t)vt+1=ρvtαf(xt+ρvt)

xt+1=xt+vt+1x_{t+1} = x_t + v_{t+1}xt+1=xt+vt+1

AdaGrad

缩放每个参数反比于其所有梯度历史平方值总和的平方根

具有损失最大偏导的参数相应地有一个快速下降的学习率,而具有小偏导的参数在学习率上
有相对较小的下降。

净效果是在参数空间中更为平缓的倾斜方向会取得更大的进步。

然而,经验上已经发现,对于训练深度神经网络模型而言,从训练开始时积累梯度平方会导致有
效学习率过早和过量的减小。

RMSProp

AdaGrad 根据平方梯度的整个历史收缩学习率,可能使得学习率在达到这样的凸结构前就变得太小了。

RMSProp算法不是像AdaGrad算法那样暴力直接的累加平方梯度,而是加了一个衰减系数来控制历史信息的获取多少。

Adam

请添加图片描述

对超参数的鲁棒性更强

Second-Order Optimization

Problem : Hessian has O(N^2) elements Inverting takes O(N^3)N = (Tens or Hundreds of) Millions

optimizations:

BGFS

L-BFGS :Does not form/store the full inverse Hessian

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值