深度學習中我們總結出 5 大技巧:
本節繼續從第三個開始講起。
3. Early stopping and Regularization
本節我們一起探讨 Early stopping and Regularization,這兩個技巧不是深度學習特有的方法,是機器學習通用的方法。
Early stopping
在訓練過程中,往往會得出訓練的最後的結果還可能不如以前的,原因很有可能出現overfitting。 我們需要提前踩刹車,得出更好的效果。
Regularizaton
當我們努力降低Loss函數的數值的時候,我們會發現,我們找到的參數集weights,不僅僅要讓Loss變小,而且weights 自身也需要接近于0,這樣我們的結果會更加理想。
L1 正則化:
新的Loss函數将會被最小化:
L2正則化:
到這裡,很多同學會疑問,為什麼weights小了,結果就很更好,我在這裡舉例說明:6歲的時候和14歲的時候,大腦的神經元密度明顯降低,說明一些無效的神經元是阻礙大腦進步的。
4. Dropout
Dropout 在2012年imagenet 比賽中大放異彩,是當時CNN模型奪冠的功勳環節之一。
那什麼是Dropout 我們先直覺的了解:
練武功的時候,訓練的時候腳上綁上重物
等到練成下山的時候:
我們從幾個方面來解釋Dropout
基礎定義
當訓練的時候,每一個神經元都有p%的可能“靠邊站”
當測試的時候,所有的神經元齊心協力,共同努力:
Dropout是一種Ensemble學習
Ensemble 學習我們在機器學習專欄中一起讨論過,連結是內建學習。每次訓練的時候的網絡結構都是不一樣的,是一個thinner network:
其實在訓練的時候訓練了很多thinner network:
測試的時候,取各個網絡的平均值
是以在深度學習中,我們的整個訓練測試方法如下: