深度學習基礎

心使發表於2024-08-24

深度學習基礎

一、臨界點及其種類

1.鞍點

2.區域性極小值

3.區域性極大值

臨界點特點:當引數對損失微分為零的時候,梯度下降不會再更新引數,訓練停止,損失不再下降。

二、判斷臨界值種類的方法

判斷一個臨界點是什麼種類需要知道損失函式的形狀

損失函式\(L(\theta)\)可以近似為

\[L(\theta) \approx L(\theta^{'}) +(\theta-\theta^{'} )^T g+\frac{1}{2}(\theta-\theta^{'} )^T H (\theta-\theta^{'} ) \]

其中\(g\)表示梯度,\(H\)表示海森矩陣

\[g_i=\frac{\partial L(\theta^{'})}{\partial \theta_i} , H_{ij}=\frac{\partial^2}{\partial\theta_i\partial\theta_j}L(\theta^{'}) \]

我們用向量\(v\)表示\(\theta - \theta^{'},(\theta-\theta^{'})^T H (\theta-\theta^{'})\)可改寫為$ v^THv $

1.區域性極小值:如果對所有\(v,v^THv>0\),這意味著對任意\(\theta,L(\theta)>L(\theta^{'})\),只要\(\theta\)\(\theta^{'}\)附近,\(L(\theta)\)都大於\(L(\theta^{'})\),這代表\(L(\theta^{'})\)是附近的一個最低點,所以它是區域性極小值

2.區域性極大值:如果對所有\(v,v^THv<0\),這意味著對任意\(\theta,L(\theta)<L(\theta^{'})\),只要\(\theta\)\(\theta^{'}\)附近,\(L(\theta)\)都小於\(L(\theta^{'})\),這代表\(L(\theta^{'})\)是附近的一個最高點,所以它是區域性極大值

3.鞍點:如果對於\(v,v^THv\)有時候大於零,有時候小於零,這意味著在\(\theta^{'}\)附近,有時候\(L(\theta)>L(\theta^{'})\),有時候\(L(\theta)<L(\theta^{'})\),因此在\(\theta^{'}\)附近,\(L(\theta^{'})\)既不是區域性極大值,也不是區域性極小值,而是鞍點

三、逃離鞍點方法

從經驗上看起來,區域性極小值並沒有那麼常見。多數的時候,我們訓練到一個梯度很小的地方,引數不再更新,往往遇到了鞍點。為解決引數不更新,訓練停止的問題,所以我們需要有逃離鞍點的辦法措施。

核心是找到有效的最佳化方向。

參考:《LeeDL Tutorial》 版本:1.1.8 第三章 深度學習基礎 3.1 區域性極小值與鞍點

相關文章