最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

“升維的降維打擊”-參數(shù)訓練的駐點分析

2023-02-19 18:46 作者:白澤火鳳  | 我要投稿

1.?優(yōu)化失敗的原因

?

圖1 訓練參數(shù)的常見情況

“山外有山比山高”-為什么叫深度學習?在上一節(jié)中,討論了如何通過梯度下降方法訓練深度學習模型()。隨著參數(shù)訓練更新次數(shù)的增加,可能會遇到兩種常見的失敗情況:第一種,損失函數(shù)隨著更新次數(shù)的增加呈現(xiàn)出平穩(wěn)的狀態(tài),并沒有非常明顯的下降趨勢;第二種,損失函數(shù)的數(shù)值雖然在下降,但是在某次更新后不再繼續(xù)下降,且損失函數(shù)數(shù)值并沒有很小。

這兩種情況發(fā)生的原因通常是梯度為0或很小,導致參數(shù)不再更新或變化不大。在高等數(shù)學中,將這種梯度為0的情況稱為駐點(Critical Point)。根據(jù)損失函數(shù)的不同,又可以將駐點細分為局部極小點(Local Minima)、局部極大點(Local Maxima)和鞍點(Saddle Point)。

局部極小點意為在一定范圍內(nèi),所有的函數(shù)值都比該點的函數(shù)值大;局部極大點意為在一定范圍內(nèi),所有函數(shù)值都比該點函數(shù)值小。從二維函數(shù)的角度來看,鞍點一個方向的截面呈現(xiàn)出局部極小點的情況,另一個方向的截面呈現(xiàn)出局部極大點的情況,形狀如同“馬鞍”狀。

? ?

圖2 鞍點示例

深度學習模型在參數(shù)優(yōu)化的過程中使用的是梯度下降方法,所以當遇到梯度為0的情況下,可以排除局部極大點的情況。當訓練時遇到局部極小點的情況,便無法判斷下一步的更新方向;但遇到鞍點的情況,或許可以判斷下一步的更新方向。因此,區(qū)分當前駐點是局部極小點和鞍點對深度學習模型的參數(shù)優(yōu)化具有極大的參考價值。

2.?區(qū)分局部極小點和鞍點

2.1理論分析

根據(jù)局部極小點和鞍點的定義,假設(shè)在處梯度為0,需要考慮在%7B%5Ctheta%7D%5E%7B%5Cprime%7D向量附近的情況。依據(jù)泰勒定理可知,在%7B%5Ctheta%7D%3D%7B%5Ctheta%7D%5E%7B%5Cprime%7D處附近,可以近似將損失函數(shù)進行二階展開。

L(%7B%5Ctheta%7D)%20%5Capprox%20L%5Cleft(%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%2B%5Cleft(%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%5E%7BT%7D%20%7Bg%7D%2B%5Cfrac%7B1%7D%7B2%7D%5Cleft(%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%5E%7BT%7D%20%7BH%7D%5Cleft(%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%20%20%20%20%20%20%20%20%20%20%20%20%20%20(1)

在式中%7Bg%7D表示為梯度,是一個向量,有%7Bg%7D%3D%5Cnabla%20L%5Cleft(%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright),g_%7Bi%7D%3D%5Cfrac%7B%5Cpartial%20L%5Cleft(%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%7D%7B%5Cpartial%20%7B%5Ctheta%7D_%7Bi%7D%7D;%7BH%7D是一個矩陣,存儲的是二階導數(shù),被稱為Hessian矩陣,因此有H_%7Bi%20j%7D%3D%5Cfrac%7B%5Cpartial%5E%7B2%7D%7D%7B%5Cpartial%20%5Ctheta_%7Bi%7D%20%5Cpartial%20%5Ctheta%7D_%7Bj%7D%20L%5Cleft(%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)。由損失函數(shù)的二階泰勒展開式可知,損失函數(shù)在%7B%5Ctheta%7D%5E%7B%5Cprime%7D附近的值和梯度的Hessian矩陣有關(guān)。

由于%7B%5Ctheta%7D%5E%7B%5Cprime%7D為駐點,因此%5Cleft(%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%5E%7BT%7D%20%7Bg%7D為0,原式轉(zhuǎn)化為公式(2)。

L(%7B%5Ctheta%7D)%20%5Capprox%20L%5Cleft(%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%2B%5Cfrac%7B1%7D%7B2%7D%5Cleft(%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%5E%7BT%7D%20%7BH%7D%5Cleft(%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%EF%BC%882%EF%BC%89

因此%7B%5Ctheta%7D%5E%7B%5Cprime%7D的駐點類型是局部極小點還是鞍點取決于帶有Hessian矩陣的最后一項%5Cfrac%7B1%7D%7B2%7D%5Cleft(%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)%5E%7BT%7D%20%7BH%7D%5Cleft(%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)。

%7B%5Ctheta%7D-%7B%5Ctheta%7D%5E%7B%5Cprime%7D記為%7Bv%7D,最后一項則記為%5Cfrac%7B1%7D%7B2%7D%7Bv%7D%5E%7BT%7D%20%7BH%7D%7Bv%7D。假設(shè)對于任意的向量%7Bv%7D,有%7Bv%7D%5E%7BT%7D%20%7BH%7D%7Bv%7D大于0,此時L(%7B%5Ctheta%7D)%20大于L(%7B%5Ctheta%7D%5E%7B%5Cprime%7D),因此%7B%5Ctheta%7D%5E%7B%5Cprime%7D的類型為局部極小點;假設(shè)對于任意的向量%7Bv%7D,有L(%7B%5Ctheta%7D)%20小于0,此時L(%7B%5Ctheta%7D) 小于L(%7B%5Ctheta%7D%5E%7B%5Cprime%7D),因此%7B%5Ctheta%7D%5E%7B%5Cprime%7D的類型為局部極大點;若對于任意的向量%7Bv%7D,%7Bv%7D%5E%7BT%7D%20%7BH%7D%7Bv%7D有正有負,此時%7B%5Ctheta%7D%5E%7B%5Cprime%7D的類型為鞍點。

依據(jù)線性代數(shù)的矩陣理論對于任意的向量%7Bv%7D,%7Bv%7D%5E%7BT%7D%20%7BH%7D%7Bv%7D大于0,可認為%7BH%7D為正定矩陣(Positive Definite),此時矩陣%7BH%7D的所有特征值(Eigen Value)均大于0;對于任意的向量%7Bv%7D,%7Bv%7D%5E%7BT%7D%20%7BH%7D%7Bv%7D小于0,可認為%7BH%7D為負定矩陣(Negative Definite),此時矩陣%7BH%7D的所有特征值(Eigen Value)均小于0;對于任意的向量%7Bv%7D,%7Bv%7D%5E%7BT%7D%20%7BH%7D%7Bv%7D有正有負,此時矩陣%7BH%7D的所有特征值(Eigen Value)也有正有負。綜上,駐點類型的判斷取決于Hessian矩陣,如果Hessian矩陣為正定矩陣,其所有的特征值均大于0,駐點類型為局部極小值;如果Hessian矩陣為負定矩陣,其所有的特征值均小于0,駐點類型為局部極大值;如果Hessian矩陣有正有負,其所有的特征值也有正有負,駐點類型為鞍點。

2.2實例分析

通過一個案例來分析判斷駐點是局部極小點、局部極大點和鞍點的哪一種。假定,機器學習模型為y%3Dw_%7B1%7Dw_%7B2%7Dx,只有一筆訓練數(shù)據(jù)x=1,y=1。該圖繪制出了損失函數(shù)隨兩個參數(shù)w_%7B1%7Dw_%7B2%7D變化的曲面圖。最中間黑色點、左下方一排黑色點和右上方一排黑色點是梯度為0的駐點。圖中由藍至紅的顏色變化,表示損失函數(shù)數(shù)值逐漸增大,因此易知中心黑色點為鞍點,左下方一排黑色點和右上方一排黑色點是局部極小點。

?

圖3 駐點研判分析

可以從數(shù)學理論的角度來分析這些駐點的類型。計算該模型的損失函數(shù)可得公式(3)

L%3D%5Cleft(%5Chat%7By%7D-w_%7B1%7D%20w_%7B2%7D%20x%5Cright)%5E%7B2%7D%3D%5Cleft(1-w_%7B1%7D%20w_%7B2%7D%5Cright)%5E%7B2%7D%20%20%20%20%20%20%20%20%EF%BC%883%EF%BC%89

根據(jù)上面的理論分析,首先需要求其駐點,分別求損失函數(shù)關(guān)于w_%7B1%7Dw_%7B2%7D的偏導數(shù)可得公式(4)。

?%0A%5Cbegin%7Barray%7D%7Br%7D%0A%0A%5Cfrac%7B%5Cpartial%20L%7D%7B%5Cpartial%20w_%7B1%7D%7D%3D2%5Cleft(1-w_%7B1%7D%20w_%7B2%7D%5Cright)%5Cleft(-w_%7B2%7D%5Cright)%0A%0A%3D0%20%5C%5C%0A%0A%5Cfrac%7B%5Cpartial%20L%7D%7B%5Cpartial%20w_%7B2%7D%7D%3D2%5Cleft(1-w_%7B1%7D%20w_%7B2%7D%5Cright)%5Cleft(-w_%7B1%7D%5Cright)%0A%0A%3D0%0A%0A%5Cend%7Barray%7D%20%20%20%20%20(4)

可得駐點為w_%7B1%7D%3D0,w_%7B2%7D%3D0w_%7B1%7Dw_%7B2%7D%3D1w_%7B1%7D%3D0,w_%7B2%7D%3D0對應(yīng)的點即為圖中中心黑色點;w_%7B1%7Dw_%7B2%7D%3D1對應(yīng)的點即為左下方一排黑色點和右上方一排黑色點。接下來計算二階偏導數(shù),可得Hessian矩陣見公式(5)。

%5Cbegin%7Barray%7D%7Bc%7D%0A%0A%5Cfrac%7B%5Cpartial%5E%7B2%7D%20L%7D%7B%5Cpartial%20w_%7B1%7D%5E%7B2%7D%7D%3D2%5Cleft(-w_%7B2%7D%5Cright)%5Cleft(-w_%7B2%7D%5Cright)%20%5Cquad%20%5Cfrac%7B%5Cpartial%5E%7B2%7D%20L%7D%7B%5Cpartial%20w_%7B1%7D%20%5Cpartial%20w_%7B2%7D%7D%3D-2%2B4%20w_%7B1%7D%20w_%7B2%7D%20%5C%5C%0A%0A%5Cfrac%7B%5Cpartial%5E%7B2%7D%20L%7D%7B%5Cpartial%20w_%7B2%7D%20%5Cpartial%20w_%7B1%7D%7D%3D-2%2B4%20w_%7B1%7D%20w_%7B2%7D%20%5Cquad%20%20%5Cfrac%7B%5Cpartial%5E%7B2%7D%20L%7D%7B%5Cpartial%20w_%7B2%7D%5E%7B2%7D%7D%3D2%5Cleft(-w_%7B1%7D%5Cright)%5Cleft(-w_%7B1%7D%5Cright)%0A%0A%5Cend%7Barray%7D%20%20%20%20%20%20%20%20%EF%BC%885%EF%BC%89

分別將w_%7B1%7D%3D0,w_%7B2%7D%3D0w_%7B1%7Dw_%7B2%7D%3D1代入Hessian矩陣可得矩陣見公式(6)和公式(7)。

%0AH%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bcc%7D%20%20%20%20%20%20%0A%0A0%20%26%20-2%20%5C%5C%0A%0A-2%20%26%200%0A%0A%5Cend%7Barray%7D%5Cright%5D%20%20%20%20%20%20%20%20%EF%BC%886%EF%BC%89%20%20%20%20%20

H%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bcc%7D%0A%0A2w_%7B2%7D%5E%7B2%7D%20%26%202%20%5C%5C%20%20%20%20%20%0A%0A2%20%26%202w_%7B1%7D%5E%7B2%7D%0A%0A%5Cend%7Barray%7D%5Cright%5D%20%20%20%20%20%20%20%20%20%20(7)

?計算式(6)對應(yīng)的特征值可求得%5Clambda_%7B1%7D%3D2,%5Clambda_%7B2%7D%3D-2,因此中間黑色的點為鞍點;計算式(7)對應(yīng)的特征值可求得公式(8)

%5Cbegin%7Barray%7D%7Br%7D%0A%0A%5Clambda_%7B1%7D%5Clambda_%7B2%7D%3D0%20%5C%5C%0A%0A%5Clambda_%7B1%7D%2B%5Clambda_%7B2%7D%3Dw_%7B1%7D%5E2%2Bw_%7B2%7D%5E2%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%0A%5Cend%7Barray%7D%20%20%20%20%EF%BC%888%EF%BC%89

由公式(8)可知,%5Clambda_%7B1%7D%5Clambda_%7B2%7D必有一值為0,且%5Clambda_%7B1%7D%5Clambda_%7B2%7D之和大于等于0,因此,左上和右下黑色的點為局部極小點。

3.?鞍點的更新方法

在訓練深度模型的過程中,如果參數(shù)更新停留在鞍點,從理論上來說,可以找到下一步的更新方向。對公式(2)進一步分析,假設(shè)%7Bu%7D%7BH%7D的特征向量,%5Clambda是特征值且小于0,且%7B%5Ctheta%7D%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5C的差距為特征向量%7Bu%7D。因此,公式(2)的后半部分可寫成%7Bu%7D%5E%7BT%7D%20%7BH%7D%7Bu%7D。由線性代數(shù)理論可得(9)式

%7Bu%7D%5E%7BT%7D%20H%20%7Bu%7D%3D%7Bu%7D%5E%7BT%7D(%5Clambda%20%7Bu%7D)%3D%5Clambda%5C%7C%7Bu%7D%5C%7C%5E%7B2%7D%20%20%20%EF%BC%889%EF%BC%89

由于%5Clambda小于0,因此公式(9)表示,當%7B%5Ctheta%7D%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5C的差距為特征向量%7Bu%7D時即%7B%5Ctheta%7D%3D%7B%5Ctheta%7D%5E%7B%5Cprime%7D%2B%7Bu%7DL(%7B%5Ctheta%7D)%3CL%5Cleft(%7B%5Ctheta%7D%5E%7B%5Cprime%7D%5Cright)。因此,只需要沿著%7Bu%7D的方向更新參數(shù),便可以使損失函數(shù)下降。

圖4 鞍點更新的示例

仍以模型y%3Dw_%7B1%7Dw_%7B2%7Dx為例,取%5Clambda_%7B2%7D%3D-2的特征值,易知其中一個特征向量為

%7Bu%7D%3D%5Cleft%5B%5Cbegin%7Barray%7D%7Bl%7D%0A%0A1%20%5C%5C%0A%0A1%0A%0A%5Cend%7Barray%7D%5Cright%5D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(10)

因此,如圖所示的黑色箭頭部分即為特征向量的方向,只需要沿著右上方更新參數(shù),參數(shù)會更新至局部極小點。

4.?升維的“降維打擊”


圖5 鞍點和局部極小點比較

在實際訓練的過程中,參數(shù)更新遇到鞍點的情況比局部極小點的情況多。以上圖為例,左上方是一個二維參數(shù)的損失函數(shù)曲線;左下方是一個三維參數(shù)的損失函數(shù)曲面。左上方的曲線可以看成左下方曲面的二維投影,在二維的時候紅色的駐點為局部極小點,在三維的時候紅色的駐點就成了鞍點。駐點為鞍點仍然有可能是損失函數(shù)下降,而駐點為極小點,參數(shù)的更新就遇到了瓶頸,無法進一步優(yōu)化更新。這表明,當模型維度上升時,駐點為鞍點的概率隨著增加了,對比低維度的模型實際上起到了“降維打擊”的作用。登高望遠,站的高度越高,視野就更加開闊了,可選擇的道路和方向就多了。這和荀子“登高而招,臂非加長也,而見者遠;順風而呼,聲非加疾也,而聞?wù)哒谩<佥涶R者,非利足也,而致千里;假舟楫者,非能水也,而絕江河。君子生非異也,善假于物也?!钡乃季S是一致的。

?


圖6 實際訓練的情況

圖中藍色的點表示,訓練一個神經(jīng)網(wǎng)絡(luò)參數(shù)更新至駐點時的情況,縱軸表示損失函數(shù)的數(shù)值,橫軸表示正的特征值在所有特征值的比值。如圖所示,由于基本上無法找到一個比值為1的點,因此在實際進行深度學習模型訓練的過程中,遇到的大部分駐點都是鞍點(特征值都有正有負),局部極小點基本上不會出現(xiàn)。

?


“升維的降維打擊”-參數(shù)訓練的駐點分析的評論 (共 條)

分享到微博請遵守國家法律
平塘县| 闽侯县| 灵丘县| 景泰县| 孟津县| 齐齐哈尔市| 孝感市| 屯昌县| 广元市| 贡觉县| 广饶县| 将乐县| 翼城县| 五常市| 乐平市| 青田县| 黑龙江省| 隆尧县| 牡丹江市| 柏乡县| 商洛市| 繁昌县| 刚察县| 淮北市| 武鸣县| 建昌县| 韶关市| 苍溪县| 赞皇县| 建阳市| 宜阳县| 荣昌县| 策勒县| 额济纳旗| 禹城市| 龙陵县| 安新县| 怀宁县| 海林市| 新昌县| 连城县|