深度学习基础(Datawhale X 李宏毅苹果书AI夏令营)
3.1局部极小值和鞍点
3.1.1. 优化失败问题
在神经网络中,当优化到梯度为0的地方,梯度下降就无法继续更新参数了,训练也就停下来了,如图:
梯度为0的情况包含很多种情况:局部最小值、鞍点等。我们统称为临界值。
3.1.2. 判断临界值种类方法
要想知道临界值种类,我们需要知道损失函数的形状。
使用泰勒级数近似来判断:
θ ′ \theta' θ′ 附近的 L ( θ ) L(\theta) L(θ)可近似为:
L ( θ ) ≈ L ( θ ′ ) + ( θ − θ ′ ) T g + 1 2 ( θ − θ ′ ) T H ( θ − θ ′ ) . L(\boldsymbol{\theta})\approx L\left(\boldsymbol{\theta}^{\prime}\right)+\left(\boldsymbol{\theta}-\boldsymbol{\theta}^{\prime}\right)^{\mathrm{T}}\boldsymbol{g}+\frac{1}{2}\left(\boldsymbol{\theta}-\boldsymbol{\theta}^{\prime}\right)^{\mathrm{T}}\boldsymbol{H}\left(\boldsymbol{\theta}-\boldsymbol{\theta}^{\prime}\right). L(θ)≈L(θ′)+(θ−θ′)Tg+21(θ−θ′)TH(θ−θ′).
其中,第一项 L ( θ ) ′ L(θ)' L(θ)′ 告诉我们,当 θ θ θ 跟 θ ′ θ' θ′ 很近的时候, L ( θ ) L(θ) L(θ) 应该跟 L ( θ ′ ) L(θ') L(θ′) 还蛮靠近的;第二项 ( θ − θ ′ ) T g (θ − θ')^Tg (θ−θ′)Tg 中, g g g 代表梯度,它是一个向量,可以弥补 L ( θ ′ ) 跟 L ( θ ) L(θ') 跟 L(θ) L(θ′)跟L(θ) 之间的差距。第三项跟梅森矩阵 H H H 有关,
在临界点,梯度 g g g 为0,也就是第二项为0,则损失函数可近似为:
L ( θ ) ≈ L ( θ ′ ) + 1 2 ( θ − θ ′ ) T H ( θ − θ ′ ) ; L(\boldsymbol{\theta})\approx L\left(\boldsymbol{\theta}'\right)+\frac{1}{2}\left(\boldsymbol{\theta}-\boldsymbol{\theta}'\right)^{\mathrm{T}}\boldsymbol{H}\left(\boldsymbol{\theta}-\boldsymbol{\theta}'\right); L(θ)≈L(θ′)+21(θ−θ′)TH(θ−θ′);
我们可以根据 1 2 ( θ − θ ′ ) T H ( θ − θ ′ ) \frac12\left(\theta-\theta^{\prime}\right)^\mathrm{T}\boldsymbol{H}\left(\boldsymbol{\theta}-\boldsymbol{\theta}^{\prime}\right) 21(θ−θ′)TH(θ−θ′)来判断在 θ ′ \boldsymbol{\theta}^{\prime} θ′附近的误差表 (error surface) 到底长什么样子。知道误差表面的“地貌”,我们就可以判断 L ( θ ′ ) L(\boldsymbol{\theta}^{\prime}) L(θ′)是局部极小值、局部极大值,还是鞍点。为了符号简洁,我们用向量 v v v来表示 θ − θ ′ , ( θ − θ ′ ) T H ( θ − θ ′ ) \theta-\theta^{\prime},\left(\theta-\theta^{\prime}\right)^\mathrm{T}H\left(\theta-\theta^{\prime}\right) θ−θ′,