神經網路七:神經網路設定層的數量和尺寸
2023年10月28日 10:32:20
閱讀數:6435
本文就現在神經網路中層的數量和尺寸,分析其中的優缺點。在此特宣告,本文的內容是來自:
cs231n課程筆記翻譯:神經網路筆記1(下) - 智慧型單元 - 知乎專欄
。因本人有時會查閱這些相關的知識點,一直翻文件比較麻煩,特從文件中摘錄複製寫到部落格中,其中的艱辛也是有的,希望對廣大參閱者也有幫助。
在面對乙個具體問題的時候該確定網路結構呢?到底是不用隱層呢?還是乙個隱層?兩個隱層或更多?每個層的尺寸該多大?
首先,要知道當我們增加層的數量和尺寸時,網路的容量上公升了。即神經元們可以合作表達許多複雜函式,所以表達函式的空間增加。例如,如果有乙個在二維平面上的二分類問題。我們可以訓練3個不同的神經網路,每個網路都只有乙個隱層,但是每層的神經元數目不同:
(更大的神經網路可以表達更複雜的函式。資料是用不同顏色的圓點表示他們的不同類別,決策邊界是由訓練過的神經網路做出的。)
在上圖中,可以看見有更多神經元的神經網路可以表達更複雜的函式。然而這既是優勢也是不
足,優勢是可以分類更複雜的資料,不足是可能造成對訓練資料的過擬合。過擬合
(overfitting
)是網路對資料中的雜訊有很強的擬合能力,而沒有重視資料間(假設)的潛在
基本關係。舉例來說,有
20個神經元隱層的網路擬合了所有的訓練資料,但是其代價是把決策
邊界變成了許多不相連的紅綠區域。而有
3個神經元的模型的表達能力只能用比較寬泛的方式去分類資料。它將資料看做是兩個大塊,並把個別在綠色區域內的紅色點看做雜訊。在實際中,這樣可以在測試資料中獲得更好的泛化(generalization)能力。
基於上面的討論,看起來如果資料不是足夠複雜,則似乎小一點的網路更好,因為可以防止過擬合。然而並非如此,防止神經網路的過擬合有很多方法(l2正則化,dropout和輸入噪音等),後面會詳細討論。在實踐中,使用這些方法來控制過擬合比減少網路神經元數目要好得多。
不要減少網路神經元數目的主要原因在於小網路更難使用梯度下降等區域性方法來進行訓練:雖然小型網路的損失函式的區域性極小值更少,也比較容易收斂到這些區域性極小值,但是這些最小值一般都很差,損失值很高。相反,大網路擁有更多的區域性極小值,但就實際損失值來看,這些區域性極小值表現更好,損失更小。因為神經網路是非凸的,就很難從數學上研究這些特性。即便如此,還是有一些文章嘗試對這些目標函式進行理解,例如the loss su***ces of multilayer networks 這篇**。在實際中,你將發現如果訓練的是乙個小網路,那麼最終的損失值將展現出多變性:某些情況下運氣好會收斂到乙個好的地方,某些情況下就收斂到乙個不好的極值。從另一方面來說,如果你訓練乙個大的網路,你將發現許多不同的解決方法,但是最終損失值的差異將會小很多。這就是說,所有的解決辦法都差不多,而且對於隨機初始化引數好壞的依賴也會小很多。
重申一下,正則化強度是控制神經網路過擬合的好方法。看下圖結果:
(不同正則化強度的效果:每個神經網路都有20個隱層神經元,但是隨著正則化強度增加,它的決策邊界變得更加平滑。)
需要記住的是:不應該因為害怕出現過擬合而使用小網路。相反,應該進盡可能使用大網路,然後使用正則化技巧來控制過擬合。
神經網路七 神經網路設定層的數量和尺寸
本文就現在神經網路中層的數量和尺寸,分析其中的優缺點。在此特宣告,本文的內容是來自 cs231n課程筆記翻譯 神經網路筆記1 下 智慧型單元 知乎專欄。因本人有時會查閱這些相關的知識點,一直翻文件比較麻煩,特從文件中摘錄複製寫到部落格中,其中的艱辛也是有的,希望對廣大參閱者也有幫助。在面對乙個具體問...
神經網路中卷積層輸出大小尺寸計算
濾波器 卷積核大小,kernel size f f 滑動步長 stride s padding的畫素數 p n w f 2p s 1以上針對卷積層的操作,忽略的通道數,當除不盡時,向下取整。如果是池化層的話,向上取整 卷積中的特徵圖大小計算方式有兩種,分別是 valid 和 same 卷積和池化都適...
卷積神經網路 卷積神經網路啟用層
在生物意義上的神經元中,只有前面的樹突傳遞的訊號的加權和值大於某乙個特定的閾值的時候,後面的神經元才會被啟用。簡單的說啟用函式的意義在於判定每個神經元的輸出 放在人臉識別卷積神經網路中來思考,卷積層的啟用函式的意義在於這一塊區域的特徵強度如果沒有達到一定的標準,就輸出0,表明這種特徵提取方式 卷積核...