优化与深度学习

1.优化与估计

尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同。

  • 优化方法目标:训练集损失函数值
  • 深度学习目标:测试集损失函数值(泛化性)

 

Task06 凸优化与深度学习

2.优化在深度学习中的挑战

  1. 局部最小值
  2. 鞍点
  3. 梯度消失

2.1局部最小值

对于目标函数f(x),如果f(x)在x上的值比在x邻近的其他点更小,那么f(x)可能是一个局部最小值。

如果f(x)在x上的值是目标函数在整个定义域上的最小值,那么f(x)是全局最小值。

举例:

Task06 凸优化与深度学习

我们可以⼤致找出该函数的局部最小值和全局最小值的位置。需要注意的是,图中箭头所指⽰的 只是⼤致位置。 

Task06 凸优化与深度学习

深度学习模型的⽬标函数可能有若⼲局部最优值。当⼀个优化问题的数值解在局部最优解附近 时,由于⽬标函数有关解的梯度接近或变成零,最终迭代求得的数值解可能只令⽬标函数局部最 小化而⾮全局最小化。 

2.2 鞍点

刚刚我们提到,梯度接近或变成零可能是由于当前解在局部最优解附近所造成的。事实上,另⼀ 种可能性是当前解在鞍点(saddlepoint)附近。

举个例⼦:

Task06 凸优化与深度学习

我们可以找出该函数的鞍点位置。 

Task06 凸优化与深度学习

再举个定义在⼆维空间的函数的例⼦,例如 :

Task06 凸优化与深度学习

我们可以找出该函数的鞍点位置。也许你已经发现了,该函数看起来像⼀个⻢鞍,而鞍点恰好是 ⻢鞍上可坐区域的中⼼。 

Task06 凸优化与深度学习

在上图的鞍点位置,⽬标函数在x轴⽅向上是局部最小值,而在y轴⽅向上是局部最⼤值。

假设⼀个函数的输⼊为k维向量,输出为标量,那么它的⿊塞矩阵(Hessianmatrix)有k个特 征值(参⻅“数学基础”⼀节)。该函数在梯度为零的位置上可能是局部最小值、局部最⼤值或者 鞍点:

• 当函数的⿊塞矩阵在梯度为零的位置上的特征值全为正时,该函数得到局部最小值。

• 当函数的⿊塞矩阵在梯度为零的位置上的特征值全为负时,该函数得到局部最⼤值。

• 当函数的⿊塞矩阵在梯度为零的位置上的特征值有正有负时,该函数得到鞍点。

随机矩阵理论告诉我们,对于⼀个⼤的⾼斯随机矩阵来说,任⼀特征值是正或者是负的概率都是 0.5[1]。那么,以上第⼀种情况的概率为0.5k。由于深度学习模型参数通常都是⾼维的(k很⼤), ⽬标函数的鞍点通常⽐局部最小值更常⻅。

深度学习中,虽然找到⽬标函数的全局最优解很难,但这并⾮必要。我们将在本章接下来的小节 中逐⼀介绍深度学习中常⽤的优化算法,它们在很多实际问题中都训练出了⼗分有效的深度学习 模型。 

小结:

• 由于优化算法的⽬标函数通常是⼀个基于训练数据集的损失函数,优化的⽬标在于降低训 练误差。

• 由于深度学习模型参数通常都是⾼维的,⽬标函数的鞍点通常⽐局部最小值更常⻅。
 

相关文章: