06 深度學(xué)習(xí)之相關(guān)技巧
1.參數(shù)的更新
????????神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)的目的是找到使損失函數(shù)的值盡可能小的參數(shù),解決這個問題的過程稱為最優(yōu)化。
SGD
????????隨機(jī)梯度下降法的缺點:如果函數(shù)的形狀非均向(anisotropic),比如呈延伸狀,搜索的路徑就會非常低效。SGD低效的根本原因是,梯度的方向并沒有指向最小值的方向。
Momentum(動量)
????????Momentum參照小球在碗中滾動的物理規(guī)則進(jìn)行移動。

AdaGrad
????????AdaGrad為參數(shù)的每個元素適當(dāng)?shù)卣{(diào)整更新步伐。
????????(1)學(xué)習(xí)率衰減方法
????????即隨著學(xué)習(xí)的進(jìn)行,使學(xué)習(xí)率逐漸減小。AdaGrad會為參數(shù)的每個元素適當(dāng)?shù)卣{(diào)整學(xué)習(xí)率,與此同時進(jìn)行學(xué)習(xí)。
????????(2)數(shù)學(xué)式

????????(3)參數(shù)更新
在更新參數(shù)時,通過乘以1/根號h,就可以調(diào)整學(xué)習(xí)的尺度。可以按參數(shù)的元素進(jìn)行學(xué)習(xí)率衰減,使變動大的參數(shù)的學(xué)習(xí)率逐漸減小。
Adam
????????直觀地講,就是融合了 Momentum和 AdaGrad的方法,實現(xiàn)參數(shù)空間的高效搜索。
各優(yōu)化方法的比較圖

2.權(quán)重的初始值
隱藏層的激活值的分布,層次加深的深度學(xué)習(xí)中,梯度消失的問題可能會更加嚴(yán)重。
ReLU的權(quán)重初始值
3.Batch Normalization
優(yōu)點:
(1)可以使學(xué)習(xí)快速進(jìn)行(可以增大學(xué)習(xí)率)。
(2)不那么依賴初始值(對于初始值不用那么神經(jīng)質(zhì))。
(3)抑制過擬合(降低Dropout等的必要性)。
數(shù)學(xué)式


結(jié)論
通過使用 Batch Norm,可以推動學(xué)習(xí)的進(jìn)行。并且,對權(quán)重初始值變得健壯(“對初始值健壯”表示不那么依賴初始值)。
3.正則化
過擬合
模型擁有大量參數(shù)、表現(xiàn)力強(qiáng)。訓(xùn)練數(shù)據(jù)少。
權(quán)值衰減
權(quán)值衰減是一直以來經(jīng)常被使用的一種抑制過擬合的方法,該方法通過在學(xué)習(xí)的過程中對大的權(quán)重進(jìn)行懲罰,來抑制過擬合。
解決方法:L2范數(shù)的權(quán)值衰減方法。
Dropout
Dropout是一種在學(xué)習(xí)的過程中隨機(jī)刪除神經(jīng)元的方法選出隱藏層的神經(jīng)元,然后將其刪除。Dropout 將集成學(xué)習(xí)的效果(模擬地)通過一個網(wǎng)絡(luò)實現(xiàn)了。
4.超參數(shù)的驗證
超參數(shù)
比如各層的神經(jīng)元數(shù)量、batch大小、參數(shù)更新時的學(xué)習(xí)率或權(quán)值衰減等。
驗證數(shù)據(jù)
調(diào)整超參數(shù)時,必須使用超參數(shù)專用的確認(rèn)數(shù)據(jù)。訓(xùn)練數(shù)據(jù)用于參數(shù)(權(quán)重和偏置)的學(xué)習(xí),驗證數(shù)據(jù)用于超參數(shù)的性能評估。
超參數(shù)的最優(yōu)化
步驟0??設(shè)定超參數(shù)的范圍。
步驟1??從設(shè)定的超參數(shù)范圍中隨機(jī)采樣。
步驟2??使用步驟1中采樣到的超參數(shù)的值進(jìn)行學(xué)習(xí),通過驗證數(shù)據(jù)評估識別精度(但是要將epoch設(shè)置得很?。?/span>
步驟3??重復(fù)步驟1和步驟2(100次等),根據(jù)它們的識別精度的結(jié)果,縮小超參數(shù)的范圍。