多元最佳化
鞍點(saddle point)
坐上馬鞍看看它的形狀:它朝前後向上彎,朝左右向下彎。曲面的鞍點正是這種幾何——一個駐點,沿某些方向是極小、沿另一些方向是極大,因而既非真正的峰,也非真正的谷。往一個方向走你爬高,往另一個方向走你下降。
形式上,鞍點是梯度消失(故為駐點)但黑塞矩陣不定、同時具有正負特徵值的點。最乾淨的例子是 f(x, y) = x^2 - y^2 在原點:沿 x 軸值像 x^2 一樣上升,沿 y 軸像 -y^2 一樣下降。這個交匯點到一階是平的,卻不穩定——它是個會讓小球滾走的平衡點。在二元情形,二階判別式 D = f_xx f_yy - (f_xy)^2 為負就是它的標記。
鞍點之所以重要,恰恰因為它偽裝成最優點。令梯度為零會把它和真正的極大、極小一併找出,這正是為什麼分類這一步不可或缺。它在漸近積分的鞍點法、相變理論、博弈論(極小極大平衡就是收益的鞍點)中居於核心,而在深度學習中尤其臭名昭著:大型網路的損失地形佈滿鞍點,比起局部極小,它們反而更常使樸素的梯度下降停滯不前。
真實的山口就是海拔函數的鞍點:它是分隔兩谷的山脊上的最低點,卻是從一谷翻到另一谷的小路上的最高點。一個方向上最低、另一個方向上最高——這就是既非極大也非極小的含義。
山口就是日常的鞍點——沿山脊最低,沿翻越路線最高。
鞍點和極大、極小一樣梯度為零,所以一階條件無法發現它——只有黑塞矩陣或二階判別式才能揭出鞍點。
又稱
另見