深度学习优化器入门

1    概述

目前主要是凸优化的梯度下降算法。

1   还有别的优化算法吗?

2   梯度下降的思想是什么?

          

          在深度学习中如何更新参数,稍微再详细一点? 大概明白了

 

 

 

 

 

 

 

 

2     梯度下降法

为什么梯度代表着下降最快的方向?

 

参考:

https://blog.csdn.net/red_stone1/article/details/80212814

是这个博客让我知道为什么梯度代表下降最快的方向

 

 

 

 

2.1   GD算法

思想:

结构:

代码:

公式推导:

 

 

 

 

2.2  GD算法延申

批量梯度下降法(BGD)
 
思想:它是在梯度下降的算法基础上,在梯度更新的时候 采用全部样本的loss函数进行更新参数 θ
 
 
随机梯度下降法:(SGD)
思想它与批量梯度下降法的不同是在于梯度更新参数 的时候仅随机选取一个样本进行更新,并非全部样本
 
 
 
 
 
小批量梯度下降法(MBGD)
思想:小批量梯度下降法 (Mini-batch Gradient Descent) ,是批量梯度下降法和随机梯度下降法的折衷,也就 是对于 m 个样本,采用 x 个样本来迭代, 1 < x < m ,更新规则即为

这三种GD算法的延申仅仅是批量和不批量的区别。随机梯度下降法的缺点在于随机性太大,仅仅根据一个样本更新参数,这里虽然引入了随机性和噪声,但期望仍然等于正确的梯度下降

1   SGD 因为更新比较频繁,会造成 cost function 有严重的震荡。BGD 可以收敛到局部极小值,当然 SGD 的震荡可能会跳到更好的局部极小值处。当我们稍微减小 learning rate,SGD 和 BGD 的收敛性是一样的。

2   就算是MBGD也有两个缺点:

      2.1  不过 Mini-batch gradient descent 不能保证很好的收敛性,

 

 

2.3  有动量的随机梯度下降

首先要有指数加权平均的说法,而我们要介绍的指数加权平均本质上就是一种近似求平均的方法。

本质就是以指数式递减加权的移动平均。各数值的加权而随时间而指数式递减,越近期的数据加权越重,但较旧的数据也给予一定的加权。

公式如下:

 

参考:

https://zhuanlan.zhihu.com/p/29895933

理解指数加权平均的公式来由

https://www.cnblogs.com/guoyaohua/p/8542554.html

理解各种优化器的来由

 

 

2.4  AdaGrad(对学习率的增加和减少做一些操作

前面用用一个学习率给所有参数进行更新未免有些不好,因为有些参数已经到了最小值附近,而有些参数的梯度很大,统一更新不太好。不如每个变量有不同的学习率来做。

AdaGrad 的基本思想是对每个变量用不同的学习率,设置了全局学习 率之后,每次通过,全局学习率逐参数的除以历史梯度平方和的平方根,使得每个参数的学习率不同
这个学习率在一开始会比较大,用于快速梯度下降。随着优化过程的进行,对于已经下降很多的变量, 则减缓学习率,对于还没怎么下降的变量,则保持一个较大的学习率

 

 

 

参考:

2018An Overview of Deep Learning Optimization Methods and Learning Rate Attenuation Methods
深度学习优化器入门
CSDN上的优化器,通过这个学习了优化器的各种操作了
解释为什么梯度代表着速度最快的方向
 
 
 
 
 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值