Normalization如何解決梯度消失

2021-10-12 05:02:44 字數 1013 閱讀 8605

具體計算的方法可以看我的部落格

在訓練過程中,隨著網路加深,分布逐漸發生變動,導致整體分布逐漸往啟用函式的飽和區間移動,從而反向傳播時底層出現梯度消失,也就是收斂越來越慢的原因。

說白了normalization就是為了解決上面問題,不讓梯度往啟用函式的飽和區移動

而normalization則是把分布強行拉回到均值為0方差為1的標準正態分佈,使得啟用輸入值落在非線性函式對輸入比較敏感的區域,這樣輸入的小變化就會導致損失函式較大的變化,避免梯度消失問題產生,加速收斂,如下:

如上,假設正態分佈均值是-2,方差是0.5,如上圖綠色曲線,通過標準化操作轉換為均值為0,方差為1的正態分佈,如上圖紅色曲線。

實際上是將輸入x的取值正態分佈整體右移2(均值變化),圖形曲線更平緩了(方差變化)。那麼這麼做的好處是什麼呢?

圖為標準正態分佈的圖形,可以看到,在乙個標準差範圍,有68%的概率x其值落在[-1,1]的範圍內;在兩個標準差範圍,有95%的概率x其值落在了[-2,2]的範圍內,假如這就是需要進行啟用的分布,啟用函式為sigmoid,如下:

可以看到,在[-2, 2]的範圍內,即是標準正態分佈兩個標註差範圍內,在sigmoid函式中為線性變換區域,微小的變化就能得到很大的改變,也即是梯度比較大。

如果不經過變換,存在乙個均值為-6,方差為1的分布,對應到啟用函式中就是[-8, -4]的區域,這已經是飽和區了,這也就是所謂的梯度消失。

所以標準化其實就是把大部分啟用的值落入非線性函式的線性區內,其對應的導數遠離導數飽和區,這樣來加速訓練收斂過程。飽和區就是梯度接近消失的區域。

normalization問題分析

從得到的另一文字儲存的結果 x 1 1 1 17837.8 120910 2 9072.4 96042.5 3 5.79773 8.93843 4 0.000159379 0.00488674 5 0.113665 0.338039 6 47.6554 885.154 7 5.89921 9.045...

caffe中的normalization實現

首先得感謝某牛的 如何在caffe中增加layer以及caffe中triplet loss layer的實現 所以接下來就按照這個牛的介紹,逐個往裡面新增東西就好了。構造設定函式這裡就先忽略,直接進入前饋和反饋的實現。前饋的過程相對來說是比較簡單的,如下 template void normaliz...

Normalization(資料歸一化)

資料歸一化方法大全 在資料分析之前,我們通常需要先將資料標準化 normalization 利用標準化後的資料進行資料分析。資料標準化也就是統計資料的指數化。資料標準化處理主要包括資料同趨化處理和無量綱化處理兩個方面。資料同趨化處理主要解決不同性質資料問題,對不同性質指標直接加總不能正確反映不同作用...