“ 在學習CNN的時候,我讀到Dropout具有正則化的作用時,不明白正則化的意思,查看了很多資料,寫的都很深奧,這里我用簡單的語言來記錄一下。。”
01
—
正則化定義
百度百科的定義寫的非常的學術化,我用我的理解來敘述一遍:通俗的意義來講就是我們想要通過一條光滑曲線(圖中綠色的曲線)來最大程度的擬合另外一條歪七扭八的曲線(圖中的藍色曲線),這樣我們就可以將這條歪七扭八存在諸多奇點的曲線通過方程的形式表達出來,這種做法就叫做正則化。
這樣做后,我們通過曲線來預測或者表示原圖像的時候,結果勢必就會有誤差,如果沒有誤差會是什么呢?那就是說我們找了一條和圖中藍色曲線一模一樣的線來表示藍色的線,也就是說我們把一些有噪音的點也表示出來了,這種行為放在卷積中就叫做 過擬合 ,而在卷積中,相比較于過擬合曲線,我們更希望有一條正則化的曲線。換句話說,正則化的作用就是為了防止過擬合。那么Dropout是怎么實現過擬合的呢?
02
—
Dropout怎么防止過擬合
在第一眼看到Dropout的時候,我本來認為只是簡單地舍棄了一些神經元而已,經過研究,我發現其中的原理并沒有我想的那么簡單。
我們從圖中看到,Dropout在每一層中通過概率來隨機的舍棄一些神經元,注意!!!這些舍棄的神經元只是在這一次訓練中被舍棄,而不是永久的被舍棄,也就是說,等到下一波數據到來的時候,其中一些神經元依然會參與訓練,最后整個網絡被訓練完成后,圖中所有的神經元都是被訓練過的!那這么做有什么好處呢?
在左圖的標準神經網絡中,這只是一個神經網絡在參與訓練,而且容易發生過擬合。但是在右圖中,每一次訓練的時候,都是不同的神經元在參與訓練,也就是說, 右圖不僅僅是一個神經網絡!!!而是具有數十個神經網絡在一起訓練!!!這就是Dropout的偉大之處! 這種方法就相當于,原來你是自己出謀劃策,現在多了數十個軍師為你出謀劃策,每一次都只聽取一個軍師的意見,這種方法當然可以防止過擬合,而CNN的原理就是擬合一條曲線來表示每個輸入,在我們解決了過擬合問題后,我們就認為Dropout具有正則化的作用!
-
曲線
+關注
關注
1文章
82瀏覽量
21076 -
方程
+關注
關注
0文章
33瀏覽量
17042 -
正則化
+關注
關注
0文章
17瀏覽量
8198
發布評論請先 登錄
shell正則表達式學習
賽靈思ISE? 設計套件11.1版對FPGA有什么優化作用?
字符串處理、正則表達式用法
如何創建正則的表達式?
初識 Python 正則表達式
dropout正則化技術介紹
加權正則文法語言
【連載】深度學習筆記5:正則化與dropout
深度學習筆記5:正則化與dropout
UPIoT的主要作用和價值體現
Python正則表達式指南

評論