神经网络参数 ----优化器

  • 神经网络参数优化器

不同参数选取对网络影响比较大,在网络结构已经固定的情况下。

神经网络优化的过程,就好比 培养一个孩子。
它们都有学习的潜力,但是不同的引导方法,会让孩子向不同方向发展,达到不同的高度。

优化器 就是 引导神经网络更新参数的工具。

五种常用的神经网络优化器

相关概念

待优化参数 w
损失函数loss
学习率 lr
batch 将多少个数据打包
当前batch的迭代次数

更新过程分为4步:

第一步:
计算t时刻,损失函数关于当前参数的梯度

在这里插入图片描述
就是loss函数,对每一个参数进行求偏导数。

第二步:
计算t时刻,一阶动量mt
和二阶动量 Vt

一阶动量: 与梯度相关的函数。
二阶动量:与梯度平方相关的函数。

不同的优化器,实质上,就是 不同的 一阶动量 和 二阶动量的组合。

第三步:
计算 一塔
即 学习率 x 一阶动量/ 根号下的二阶动量
在这里插入图片描述

第四步:
计算t+1时刻的参数
当前参数— 一塔

在这里插入图片描述

最常用的优化器

SGD 随机梯度下降

一阶动量 定义为梯度
二阶动量 恒等于1

在这里插入图片描述
单层网络就两行
在这里插入图片描述

SGDM

在SGD的基础上增加了一阶动量

一阶动量: 多了一个Mt-1的参数
代表上一个时刻的一阶动量
这里的贝塔尔是超参数,往往设置为0.9
上一阶段的一阶动量占大头。

二阶动量:仍然恒等于一。

在这里插入图片描述
在这里插入图片描述

一阶动量 很大程度上 由 上一时刻的一阶动量所决定。

Adagrad

在SGD基础上 增加二阶动量
在这里插入图片描述
一阶动量: 当前时刻的梯度
二阶动量:梯度平方的累计和

零时刻的 w 和 b的二阶动量 初始值都为0.
当前的二阶动量 v_w,v_b 等于 当前梯度评分的累计和
在这里插入图片描述

RMSProp

二阶动量:使用指数滑动平均数来进行计算。
表示 过去一段时间的平均值。
在这里插入图片描述
代码更新部分:
在这里插入图片描述

Adam

同时引入 SGDM的一阶动量 和 RMSProp的二阶动量
并且 增加了 两个 修正项
把修正后的一阶动量 和 二阶动量 带入 参数更新公式,实现参数自更新。

在这里插入图片描述

代码部分:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值