Datawhale X 魔塔 Ai夏令营 --深度学习基础

一、局部极小值与全局极小值

  • 全局极小值:在损失函数的整个定义域内,损失值最小的点。这是我们在训练深度学习模型时希望找到的点,因为它代表着模型的最佳性能。
  • 局部极小值:在损失函数的一个局部区域内,损失值达到最小,但在整个函数定义域内可能不是最小的。当优化算法陷入局部极小值时,它可能会误以为已经找到了全局最优解,从而停止搜索。

局部极小值的检测

两种直观的方法来检测局部极小值:

  1. 可视化方法:对于低维问题,我们可以通过绘制损失函数的图像来观察其形态,从而找到局部极小值。然而,对于高维问题,这种方法就不可行了。
  2. 二阶导数测试:理论上,我们可以通过计算损失函数在临界点处的二阶导数(或海森矩阵的特征值)来判断是否为局部极小值。但实际操作中,计算海森矩阵及其特征值可能非常复杂和耗时。

二、鞍点的理解

1、鞍点的普遍性:在高维空间中,鞍点比局部极小值更常见。这是因为随着维度的增加,函数形态变得更加复杂,梯度为零的点可能既不是局部极小值也不是局部极大值,而是鞍点。

2、鞍点对优化的影响:当优化算法到达鞍点时,由于梯度接近于零,参数更新变得非常缓慢,这可能导致训练过程停滞不前。然而,与局部极小值不同,鞍点在某些方向上可能仍有下降潜力,因此更容易通过适当的优化策略逃离。

逃离鞍点的策略

  1. 动量法:如SGD with Momentum,通过引入动量项来加速在正确方向上的参数更新,帮助模型逃离鞍点。
  2. 自适应学习率方法:如Adam、RMSprop等,这些方法可以根据参数的更新情况自动调整学习率,从而在遇到鞍点时保持一定的更新力度。
  3. 随机梯度下降:SGD

你可能感兴趣的:(Datawhale X 魔塔 Ai夏令营 --深度学习基础)