吴恩达深度学习笔记整理(五)

目录

优化算法

Mini-batch 梯度下降

理解 mini-batch 梯度下降法

怎么选择适合的batch size?

指数加权平均数

理解指数加权平均数

公式:

指数加权平均的偏差修正

动量梯度下降法

RMSprop

Adam 优化算法

学习率衰减

为什么衰减?

局部最优

局部最优解

鞍点


优化算法

Mini-batch 梯度下降

        深度学习的优势是可以利用一个巨大的数据集来训练神经网络,而在巨大的数据集基础上进行训练速度很慢。

        这时,我们可以把训练集分割为小一点的子集训练,这些子集被取名为mini-batch,一批一批进行处理,然后我们会得到这一批样本的损失函数、梯度等等,然后更新参数,这时称为1 epoch。

理解 mini-batch 梯度下降法

       可以发现两者的总体效果是令人满意的。

吴恩达深度学习笔记整理(五)_第1张图片

        假设mini-batch大小为1,就有了新的算法,叫做随机梯度下降法,如果mini-batch的大小等于,其实就是batch梯度下降法。

吴恩达深度学习笔记整理(五)_第2张图片

batch 梯度下降法从某处开始,相对噪声低些,幅度也大一些,你可以继续找最小值。

        相反,在随机梯度下降法中,从某一点开始,我们重新选取一个起始点,每次迭代,你只对一个样本进行梯度下降,大部分时候你向着全局最小值靠近,有时候你会远离最小值,因为那个样本恰好给你指的方向不对,因此随机梯度下降法是有很多噪声的,平均来看,它最终会靠近最小值,不过有时候也会方向错误,因为随机梯度下降法永远不会收敛,而是会一直在最小值附近波动,但它并不会在达到最小值并停留在此。

       实际上你选择的mini-batch大小在二者之间,大小在1和之间,而1太小了,太大了,原因在于如果使用batch梯度下降法,mini-batch的大小为,每个迭代需要处理大量训练样本,该算法的主要弊端在于特别是在训练样本数量巨大的时候,单次迭代耗时太长。

怎么选择适合的batch size?

       1.当训练集很小的时候,直接使用batch梯度下降。

       2. 一般的 mini-batch 大小为 64 到 512

指数加权平均数

吴恩达深度学习笔记整理(五)_第3张图片

 

吴恩达深度学习笔记整理(五)_第4张图片

        当日的权重越小,则考虑的周期越长,所得到的曲线就越平滑。

理解指数加权平均数

公式:

指数加权平均的偏差修正

       我们不使用用用 /(1−^t)代替,可以有效消除前期的误差,然后对于后期的数据影响不大,因为这时候本身的误差已经很小了。

   吴恩达深度学习笔记整理(五)_第5张图片

动量梯度下降法

       在计算梯度时,不仅仅考虑其偏导,还考虑考虑在此之前计算过的梯度下降方向,对于梯度做影响

吴恩达深度学习笔记整理(五)_第6张图片

RMSprop

       添加参数α(表示当前梯度大小对于 learning rate 的影响比重,是一个超参数)

考虑之前所有计算过的梯度,作为分母对学习率做影响。

       我们希望会相对较小,所以我们要除以一个较小的数,而希望又较大,所以这里我们要除以较大的数字,这样就可以减缓纵轴上的变化。

吴恩达深度学习笔记整理(五)_第7张图片

       RMSprop 跟 Momentum 有很相似的一点,可以消除梯度下降中的摆动,包括mini-batch 梯度下降,并允许你使用一个更大的学习率,从而加快你的算法学习速度。

Adam 优化算法

       Adam = RMSProp + Momentum

       Adaptive Moment Estimation

吴恩达深度学习笔记整理(五)_第8张图片

学习率衰减

为什么衰减?

       不同的 mini-batch 中有噪音,如果学习率是固定,将会在某一个值附近抖动,不能精确收敛。

衰减方式(指数衰减、离散下降)

局部最优

局部最优解

        一般都会训练到局部最优的区域,因为低维空间的影响,但这不是最低点。

吴恩达深度学习笔记整理(五)_第9张图片

鞍点

       一个具有高维度空间的函数,如果梯度为 0,那么在每个方向,它可能是凸函数,

也可能是凹函数。

吴恩达深度学习笔记整理(五)_第10张图片

你可能感兴趣的:(机器学习,人工智能,深度学习,神经网络)