深度学习基础
一、临界点及其种类
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 局部极小值与鞍点
标签:partial,THv,局部,基础,学习,深度,theta,极小值,鞍点 From: https://www.cnblogs.com/vigormn/p/18377643