三种梯度下降算法
梯度下降和反向传播
梯度下降是找损失函数极值的一种方法,即向着梯度指向的方向是函数值下降(上升)最快的方向
反向传播是求梯度的一种方法
梯度下降算法
用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。
批量梯度下降法(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.梯度截断
嘉士伯公司氛围 583人发布
