《Batch Normalization》閱讀筆記

文章提出了將批處理作為模型本身的一部分。

批處理的平均損失是對整個(gè)數(shù)據(jù)集的估計(jì);批處理可以利用數(shù)據(jù)并行提高訓(xùn)練速度。深度學(xué)習(xí)需要謹(jǐn)慎調(diào)整模型參數(shù),并且網(wǎng)絡(luò)的初始化參數(shù)也很重要。

為什么要用Normalization,文中提到,考慮一個(gè)經(jīng)過sigmoid函數(shù)的網(wǎng)絡(luò)層:

z=g(Wu+b),其中g(x)=\frac{1}{1+exp(-x)} 。當(dāng)x增大時(shí),g{\prime}(x)趨向于0.這會(huì)使得對參數(shù)W的求導(dǎo)也趨向于0,使得訓(xùn)練速度變慢。

然而,由于x
W,b
和下面所有層的參數(shù)的影響,在訓(xùn)練期間對這些參數(shù)的改變可能將x
的許多維度移動(dòng)到非線性的飽和狀態(tài)并且減慢收斂。隨著網(wǎng)絡(luò)深度的增加,這種效應(yīng)會(huì)得到放大(這一塊兒不是很理解)。在實(shí)際操作中,飽和問題和梯度消失問題都用線性修正單元(ReLU)、慎重初始化模型參數(shù)、較小的學(xué)習(xí)率來解決的。

Batch Normalization旨在減少內(nèi)在協(xié)方差位移,可以使用較大的學(xué)習(xí)率,可以提高訓(xùn)練速度。Batch Normalization還可以規(guī)范化模型以及減少Dropout的必要性(?)

作者在ImageNet上使用Batch Normalization訓(xùn)練,只用了7%的訓(xùn)練步驟就完成了效果,并且可以進(jìn)一步提升準(zhǔn)確率。


Internal Covariate Shift 是指在訓(xùn)練過程中由于網(wǎng)絡(luò)參數(shù)的改變導(dǎo)致網(wǎng)絡(luò)激活函數(shù)的分布改變。如果網(wǎng)絡(luò)的輸入是均值為0,單元方差的化(即白化),則網(wǎng)絡(luò)的訓(xùn)練將會(huì)收斂得更快。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容