深度学习基础
局部极小值、鞍点
局部极小值
- 梯度为0点,但周围梯度均“向上”
- 在局部达到最大值或最小值
- 凸函数通常只有一个局部极小值
鞍点 - 周围梯度方向不同
- 某一方向梯度为0
- 可能在其他方向上有非0的梯度
临界点及其种类
类型
- 局部极值点
- 全局极值点
- 鞍点
解决方法 - 迭代数值程序优化连续非线性函数
- 引入常数 γ \gamma γ 避免关键点
- SGD
- Hession 矩阵正定
(TODO: 判断鞍点的数学方法) - 经验:大部分都是鞍点
batch & epoch
- batch: 一次计算这么多的样本的梯度,然后反向传播
- epoch:一共跑这么多轮
1.批量梯度下降法(Batch Gradient Descent, BGD):没有用批量, 批量大小为训练数据的大小,这种使用全批量(full batch)的数据来更新参数的方 法即批量梯度下降法(Batch Gradient Descent, BGD)
2.随机梯度下降法(Stochastic Gradient Descent, SGD):批量大小等于 1,此时使用的方法即随机梯度下降法(Stochastic Gradient Descent, SGD) ,也称为增量梯度下降法。
动量法
动量法是一个可以对抗鞍点或局部最小值的方法。
动量法的一个显著优点是它可以防止在随机梯度下降过程中因梯度方向频繁变化而导致的停滞问题。即使当前梯度指向一个不利方向,由于动量的存在,优化过程仍可能继续沿着前一步的方向移动,从而有可能跳出局部最小值,找到更好的局部最小值或全局最小值