【cs231n】深度学习优化方法

随机梯度下降

minibatch-SGD

最简单的更新形式,沿着梯度负方向改变参数,其中dx由小批量数据求得

x += - learning_rate * dx

学习率衰减

  • 随步数衰减:经过多少步,衰减为之前得0.9
  • 指数衰减: α = α 0 e − k t \alpha = \alpha _ { 0 } e ^ { - k t } α=α0ekt
  • 1/t衰减: α = α 0 / ( 1 + k t ) \alpha = \alpha _ { 0 } / ( 1 + k t ) α=α0/(1+kt)

动量(Momentum)更新

基于动量的随机梯度下降的每次更新,不仅取决于当前的梯度,还取决于过去的梯度大小。当当前的梯度于之前不同时,那么真实的参数更新梯度会变小;相反,当当前梯度于之前相同时,真实参数的更新梯度会变大。在迭代后期,动量法会起到减少震荡,增加稳定性的作用。
v t = γ v t − 1 + g t θ t = θ t − 1 − η v t \begin{aligned} v _ { t } & = \gamma v _ { t - 1 } + g _ { t } \\ \theta _ { t } & = \theta _ { t - 1 } - \eta v _ { t } \end{aligned} vtθt=γvt1+gt=θt1ηvt

  • v t v_t vt 当前时刻梯度的指数衰减滑动平均
  • v t − 1 v_{t-1} vt1 上一时刻梯度的指数衰减滑动平均
  • g t g_t gt 当前时刻的梯度
  • γ \gamma γ 动量因子,控制着历史梯度信息对当前时刻梯度指数衰减滑动平均影响的大小

在训练初期, g t g_t gt每次的方向都相同,因此下降速度越快;若 g t g_t

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值