神经网络优化的步骤以及常用的神经网络优化器

优化神经网络相关的参数:
w表示待优化参数,loss表示损失函数,lr表示学习率,batch表示每次迭代的数据,t表示当前batch迭代的总次数:
神经网络参数优化的步骤:
1、计算t时刻损失函数关于当前梯度gt=▽loss=2、计算t时刻一阶动量mt和二阶动量vt3、计算t时刻下降梯度:ηt=lr*mt/4、计算t+1时刻参数:Wt+1=Wt-ηt=Wt-lr*mt/

一阶动量:与梯度相关的函数
二阶动量:与梯度平方相关的函数
常用的优化器:
(1)SDG(Stochastic gradient descent):随机梯度下降
没有动量
mt=gt  Vt=1  ηt=lr*mt/=lr*gtwt+1=wt-ηt=wt-lr*mt/=Wt-lr*gtwt+1=wt-

(2)SGDM(含momentum的Stochastic gradient descent),在SGD基础上增加一阶动量。
mt=β*mt-1+(1-β)*gt       vt=1(二阶动量恒vt等于1)Mt表示了各时刻梯度方向的指数滑动平均值。β是一个超参数,是一个接近于 1的值。ηt=lr*mt/=lr*mt=lr*(β*mt-1+(1-β)*gt)Wt+1=wt-ηt=wt-lr*(β*mt-1+(1-β)*gt)

(3)Adagrad,在SGD基础上增加二阶动量
Mt=gtVt=2ηt=lr*mt/()=lr*gt/2Wt+1=wt-gt=wt-lr*gt/

(4)RMSProp,在SGD基础上增加二阶动量
mt=gtVt=β*Vt-1+(1-β)*gt²(二阶动量v使用指数滑动平均值计算,表示过去一段时间的平均值)ηt=lr*mt//lr*gt/Wt+1=wt-ηt=wt-lr*gt/

(5)Adam同时结合SGDM一阶动量和RMSProp二阶动量
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值