1. 程式人生 > >深度學習各模組簡介及作用

深度學習各模組簡介及作用

1、BatchNormalization

1.1 簡介

BatchNorm來源參考論文:Ioffe S, Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[J]. international conference on machine learning, 2015: 448-456.   作者認為:網路訓練過程中引數不斷改變導致後續每一層輸入的分佈也發生變化,而學習的過程又要使每一層適應輸入的分佈,因此我們不得不降低學習率、小心地初始化。作者將分佈發生變化稱之為 internal covariate shift。

1.2 作用

而BatchNorm是幹啥的呢?BatchNorm就是在深度神經網路訓練過程中使得每一層神經網路的輸入保持相同分佈的。在每個batch上將前一層的啟用值重新規範化,即使得其輸出資料的均值接近0,其標準差接近1。   為什麼要使用BatchNorm,因為效果好。經過這麼簡單的變換,不僅僅極大提升了訓練速度,收斂過程大大加快,還提升效果。

1.3 一般用法

FC + BN + RELU (可以替代 FC + Dropout + RELU) Conv + BN + RELU + Maxpooling

參考文獻