深度学习优化方法笔记

什么是鞍点:

 

 

 鞍点意味着某一些方向梯度下降,而另一些方向梯度上升;

常用的优化方法

      深度学习中常用的优化方法有一阶(求一阶导数如随机梯度下降(SGD)及SGD的变种)和二阶(求二阶导数如牛顿法)两种。

1) 梯度下降

梯度下降是用来做什么的?

       在机器学习算法中,有时候需要对原始的模型构建损失函数,然后通过优化算法对损失函数进行优化,以便寻找到最优的参数,使得损失函数的值最小。而在求解机器学习参数的优化算法中,使用较多的就是基于梯度下降的优化算法(Gradient Descent, GD)。

优缺点

          优点:效率。在梯度下降法的求解过程中,只需求解损失函数的一阶导数,计算的代价比较小,可以在很多大规模数据集上应用

          缺点:求解的是局部最优值,即由于方向选择的问题,得到的结果不一定是全局最优

                     步长选择,过小使得函数收敛速度慢,过大又容易找不到最优解。

      步长选择是由训练的时候的学习率决定的,学习率决定了小批量(mini-batch)中权重的梯度方向上移动的步长。该参数能够直接影响的模型收敛到局部最小值(也就是达到最好的精度)的速度。如果学习率较小,训练过程会更加精细结果更可靠但是优化的耗费的时间较长,因为逼近损失函数最小值的每一个步长都很小,如果学习率太高,训练可能发散,不会收敛,权重的改变会非常大,优化会在最小值附近震荡;

   总之学习率太小会导致陷入局部最优,学习率过大,优化会在最小值附近震荡

2)梯度下降的变形形式

         根据处理的训练数据的不同,主要有以下三种形式:

批量梯度下降:

      使用所有的训练样本计算梯度,可以求得全局最优解,但是计算非常的慢,硬件要求比较高;

随机梯度下降:

      每次随机抽取一个样本进行梯度计算,问题是梯度计算不稳定,容易震荡。整体上还是趋近于全局最优解,所以最终的结果往往在最优解附近;

小批量梯度下降法MBGD(mini-batch Gradient Descent)

        把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性

对详细的讲解和图示可以参考博文:
详解随机梯度下降法(Stochastic Gradient Descent,SGD)_YGQ_qq_1435471912-CSDN博客_随机梯度下降

https://blog.csdn.net/u012151283/article/details/78154917

有一篇博文将所有优化方法做了总结,可以参考该博文:

深度学习中的优化方法_浅梦的学习笔记-CSDN博客 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值