深度学习基础理论(学习中持续更新)

1、导数、偏导数、方向导数、梯度的概念

**导数:**导数反映的是函数y=f(x)在某一点处沿x轴正方向的变化率。
**偏导数:**在多元函数中,偏导数指的是函数y(x1,x2,…,xn)沿某一坐标轴(x1,x2,…,xn)正方向的变化率。
**方向导数:**导数和偏导数都是沿坐标轴正方向的变化率。那么当我们讨论函数沿任意方向的变化率时,也就引出了方向导数的定义,即:某一点在某一趋近方向上的导数值。
**梯度:**梯度是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值。即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
在这里插入图片描述

2、梯度下降法

在这里插入图片描述
前一步=后一步-学习率*梯度(多元函数时梯度为向量)
缺点:

  1. 选择合适的learning rate 较难,对所有参数更新使用同样的learning rate。

  2. 容易收敛到局部最优,并且在某些情况下可能被困在鞍点。

3、改进版梯度下降法Adagrad、RMSprop、Momentum、Adam

**Adagrad:**随着迭代次数的增加,学习率应该更小,同时学习率需要适应所有参数的更新。Adagrad算法能够在训练中自动对出现频率较低参数采用较大的α更新;对于出现频率较高的参数采用较小的α更新。因此,Adagrad非常适合处理稀疏数据。
在这里插入图片描述缩放每个参数的反比于其所有梯度历史平方值总和的平方根。
当梯度的某一个方向上比较大时,分母会约束其变小,而当梯度的某一个方向上比较小时,分母会令其相对变大。从中其实可以体现出归一化的效果,达到快速收敛的效果,有点类似于下图的转换结果:在这里插入图片描述

Adagrad的缺点是:在训练的中后期,分母上梯度平方的累加将会越来越大,从而梯度趋近于0,使得训练提前结束。
RMSProp: 基于Adagrad的缺点,使用指数衰减滑动平均以丢弃遥远过去的历史。
Adagrad:在这里插入图片描述
RMSProp:在这里插入图片描述
**Momentum:**引入变量V来充当速度角色
vt​=αvt−1​−η∇g
α是系数,v是速度,η是学习率,∇g是一个batch_size的平均梯度,一般来说,我们会令v0=0 。其参数x的更新方法为
xt​=xt−1​−vt​
直观的理解就是,若当前的梯度方向与累积的历史梯度方向一致,则当前的梯度会被加强,从而这一步下降的幅度更大。若当前的梯度方向与累积的梯度方向不一致,则会减弱当前下降的梯度幅度。带动量的SGD算法可以更快地到达局部最小值,其轨迹看起来更加平滑,稳定,同时这也符合指数滑动平均的结果。
**Adam:**把momentum和RMSprop结合起来的一种算法。
在这里插入图片描述
①式中,注意m(n)是反向的动量与梯度的和(而在Momentum中是正向动量与负梯度的和,因此⑤式对应的是减号)
②式中,借鉴的是RMSprop的指数衰减
③和④式目的是纠正偏差
⑤式进行梯度更新

3、随机梯度下降法、批量梯度下降法、小批量梯度下降

4、自回归模型(AR模型):以自身做回归变量的过程,即利用前期若干时刻的随机变量的线性组合来描述以后某时刻随机变量的线性回归模型,它是时间序列中的一种常见形式

5、梯度剪裁

在反向传播过程中,当偏导数无限接近于0即梯度消失问题时,设置一个最小阈值,即当出现梯度更新过小的时候,用定义的阈值来代替本次更新的梯度。
缺点:确定合适的阈值较难

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值