【深度学习】——优化器

本文介绍了神经网络训练中常用的优化器,包括SGD、SGDM、Adagrad、RMSProp和Adam。这些优化器在参数更新时采用了不同的策略,如SGD的基础更新,SGDM的一阶动量,Adagrad的二阶动量,RMSProp的指数移动平均,以及Adam的动量修正项,以提高训练效率和模型性能。
摘要由CSDN通过智能技术生成

神经网络参数优化器

  神经网络的训练过程是通过迭代更新超参数来最小化损失函数的过程,最终目标是找到使损失函数最小,最能准确预测的超参数组合。而在更新迭代超参数时就需要用到不同的优化器,本文简要介绍几种常用的优化器。

1.优化器通用步骤

①计算t时刻损失函数关于当前参数的梯度:

在这里插入图片描述

②计算t时刻的一阶动量mt(与梯度相关的函数)和二阶动量Vt(与梯度平方相关的函数)

③计算t时刻下降梯度:

在这里插入图片描述

④更新t+1时刻参数:
在这里插入图片描述

  各个优化器的基本步骤和原理都是这样的,优化器的区别就是一阶动量和二阶动量的设计不同。

2.SGD

SGD优化器是最常用的一种梯度下降法,是没有动量的,其一阶动量直接使用梯度,二阶动量为1,即:

在这里插入图片描述

因此将其带入下降梯度计算式中可得:
在这里插入图片描述

因此参数更新公式为:

在这里插入图片描述

#SGD
w1.assign_sub(lr*grads[0])
b1.assign_sub(lr*grads[1])

  这里assign_sub是参数自更新的函数,grads是损失函数关于当前参数的梯度

3.SGDM

SGDM是在SGD的基础上增加了一阶动量,二阶动量仍为1,即:


在这里插入图片描述
  每一时刻的一阶动量都是由上一时刻一阶动量决定,第一时刻一阶动量由第0时刻一阶动量决定,第0时刻动量为0。β是超参数,经验值0.9。即:

在这里插入图片描述
因此将其带入下降梯度计算式中可得:

在这里插入图片描述

因此参数更新公式为:

在这里插入图片描述

#SGDM
m_w=beta*m_w+(1-beta)*grads
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值