批量歸一化(Batch Normalization)

批量歸一化 (Batch Normalization)

在機器學習中,會提到這樣一種數據處理的操作。首先將數據進行處理時,我們想把數據雲變成零中心的,所以我們對每一個數據減去它們的均值,要想讓它們在一個小區域內,那就再除以它們的方差。這樣一來,網絡處理數據就服從均值爲0,方差爲1的分佈,也就是標準高斯分佈。值得一提的是,圖像處理中第二步基本不需要,因爲數據規模是確定的,大概就是0-255,別無它選。總結如下:(圖源知乎)
在這裏插入圖片描述
學過高中數學的筒子都知道第一個是均值,第二個是方差。然而第三個均一化公式中爲了防止出現被0除而報錯或者INF,在分母位置設置一個很小的數字ε。那麼第四個公式就相當於第三個公式的一個逆運算,從而回復爲恆等函數。再給一張輔助思考這個過程的圖解吧!
在這裏插入圖片描述
那麼爲什麼要這麼做呢?我們還是用一個二維的圖像來輔助理解這件事情!
如下圖所示,左邊是原圖,右邊是零中心化和歸一化後的圖像,我們現在想要進行線性分類。對於這兩張圖,我們不難畫出給它們分類的這條直線,但是考慮它們的學習過程,左邊這張圖對於一些微小的擾動是非常敏感的。什麼意思呢?也就是說左邊這張圖轉1°和右邊相比,這個分類更容易被破壞。這就是歸一化的一個好處。
在這裏插入圖片描述
更於 2019.8.4 待結更


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章