1. 优化和深度学习

1.1 概述

优化算法的性能直接影响了模型的训练效率,在优化中,损失函数通常被称为优化问题的目标函数。

  • 优化的目标是关注最小化的目标;为了减少训练误差
  • 深度学习的目标是关注在给定有限的数据量的情况下寻找合适的模型。为了减少泛化误差

1.2 深度学习中的优化挑战

深度学习中遇到的很多目标函数是没有解析解,我们遇到的问题不是能够用一个简单的模型去描述的,也没办法用一个简单的表达式去用笔计算出来,所以我们经常遇到的是通过不断的迭代得到数值解,就像数值分析样,用一个数值解来不断的代替得到一个值,用这个值的解来代替解析解。但是我们发现,在训练过程中又会遇到很多数值解,但这些数值解有很多,我们需要不断的分辨出来哪些数值解是真正的解。故会遇到如下问题

  • 局部最小值;当我们求解的数值解为局部最小值的时候,我们需要通过在此点加入噪音来突破此位置,这样我们的数值就可以更新得到新的解,这样就能够求到我们需要的全局最小值
    在这里插入图片描述
  • 鞍点:在直角坐标系中,某点是一个方向的极大值,另一个方向的极小值,则该点是鞍点;而高维非凸优化问题存在的困难在于数据中存在大量的鞍点,导致无法更新训练。鞍点是指函数的所有梯度消失但既不是全局最小值也不是局部最小值的任何位置;
    f ( x , y ) = x 2 − y 2 , 鞍 点 : ( 0 , 0 ) f(x,y)=x^2-y^2,鞍点:(0,0) f(x,y)=x2y2,:(0,0)
    由于在 (0,0)点梯度消失,这时优化可能会停止,尽管它不是最小值;
    在这里插入图片描述
  • 梯度消失: 由于激活函数的选择不同,在某点的导数趋近于0,导致梯度近似于消失,优化失败;
    f ( x ) = tanh ⁡ ( x ) ; f ′ ( x ) = 1 − tanh ⁡ 2 ( x ) ; f ′ ( 4 ) = 0.0013 f(x)=\tanh(x);f'(x)=1-\tanh^2(x);f'(4)=0.0013 f(x)=tanh(x);f(x)=1tanh2(x);f(4)=0.0013
    以前我们选择tanh会导致计算量大,梯度消失,从而无法快速的进行参数更新,后面引入了RELU作为激活函数;

2. 凸性

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐