三种梯度下降算法

梯度下降和反向传播

梯度下降是找损失函数极值的一种方法,即向着梯度指向的方向是函数值下降(上升)最快的方向
反向传播是求梯度的一种方法

梯度下降算法

用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。

批量梯度下降法(Batch Gradient Descent,BGD)

每次迭代都要使用训练集的所有数据

随机梯度下降(Stochastic Gradient Descent,SGD)

每次迭代只使用一个样本

Mini-Batch SGD

与SGD每次迭代只用一个样本不同,这种方法每次迭代使用一个batch的样本来进行梯度下降


梯度消失

产生原因

激活函数sigmoid导数的最大值是0.25,在反向传播的时候,如果神经网络层数比较多就会出现导数趋近于0,使得w和b无法被更新

消除办法

1.选择别的激活函数,如ReLU。ReLU当x>0的时候导数为一个常数值

2.批量规范化(Batch Normalization)。
BN的一些介绍

  • BN作用主要有:
    加速训练过程
    允许在深层网络中使用sigmoid等容易导致梯度消失的激活函数
    轻微的正则化效果

  • BN的作用
    保证每层激活函数的输入都是同分布的

3.梯度截断

全部评论

相关推荐

Java转测开第一人:这种就是饼 把应届当廉价劳动力用完然后丢掉
你觉得今年秋招难吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务