神經網路簡介--啟用函式、網路架構、生物模型解釋

flynike發表於2021-09-09

(pdf),或Michael Nielsen的這個),給定任意連續函式f(x)fx,當ε>0ε>0時,存在一個神經網路g(x)gx帶有一個以上隱藏層(選取合理的非線性函式,例如sigmoid),使得∀x,|f(x)−g(x)|x|fxgx|

如果一個隱藏層就足以近似任何函式,那為什麼要使用更多的隱藏層呢?答案是,雙層神經網路是一個通用逼近器,儘管在數學上很簡便,但在實踐中卻是相對較弱且無用的。在一個維度中,函式g(x)=Σici?(aigx=Σici?aixbi)其中a,b,c是引數向量也是一個通用逼近器,但沒有人會建議我們在機器學習中使用這個函式。神經網路在實踐中執行良好,因為它們簡潔地表達平滑的函式,這些函式非常好地擬合了我們在實踐中遇到的資料的統計特性,而且使用我們的最佳化演算法(例如梯度下降)也很容易學習。類似地,儘管深層網路和單隱層網路的表示能力是相等的,但是根據經驗觀察發現,深層網路比單隱層網路效果更好。

順便說一下,在實踐中,3層神經網路通常會比2層網路效能好很多,但更深層(4,5,6層)的效能提高不明顯。這與卷積網路形成鮮明對比,現在發現卷積神經網路深度是良好識別系統(例如,按照10個可學習層的順序)是非常重要的組成部分。支撐這種現象的一個觀點是:影像包含分層結構(例如,面部由眼睛組成,其由邊緣等組成),因此多層處理對於該資料域而言是直觀的。
當然,整個問題涉及更多知識,也是最近研究的主題。如果您對這些主題感興趣,我們建議您進一步閱讀:
,尤其是第6.4節。

中演示這些例子。


在圖9中,我們可以看到具有更多神經元的網路可以表達更復雜的函式。然而,這既有好處(因為我們可以學習分類更復雜的資料)也有壞處(因為它更容易過度訓練資料)。當具有高複雜度的模型擬合資料中的噪音而不是(假定的)資料之間的潛在關係時,過擬合就會發生。例如,具有20個隱藏神經元的模型擬合了所有訓練資料,但是它將空間分割成許多不相交的紅色和綠色決策區域。3個隱藏神經元的模型具有的表示能力只能將資料粗筆畫地分類。它將資料建模為兩塊,並將綠色簇內的少數紅色點解釋為異常值(噪聲)。在實踐中,這可能會使模型對測試集有更好的泛化能力。


基於我們上面的討論,如果資料不夠多,為防止過擬合似乎較小的神經網路是更優選的。然而,這是不正確的,有許多其他的方法可以防止過度擬合(例如L2正則化(regularization) ,丟失(DropOut),輸入噪聲(input noise))。在實踐中,使用這些方法來控制過度擬合比控制神經元數量的效果要好。

這背後的一個微妙的原因是,梯度下降等區域性方法在較小的網路中更難進行:很顯然,它們的損失函式具有相對較少的區域性最小值,但事實證明,區域性最小值越多越容易收斂,而且較小網路的區域性最小值是不好的(即高損失)。相反,更大的神經網路包含更多的區域性最小值,但是這些最小值在實際損失方面要比較小的網路好得多。由於神經網路是非凸的,所以很難從數學上研究這些性質,但是為了理解這些目標函式研究者已經做了一些嘗試,例如,在最近的論文。在實踐中,你發現如果你訓練一個小型網路,最終的損失可能會表現出很大的差異 - 在某些情況下,你很幸運收斂到一個低損失的區域性最小值,但有時,你又會陷入一個高損失的區域性最小值。另一方面,如果你訓練一個大型網路,你會發現許多不同的解決方案,但最終實現的損失差異會小得多。換句話說,所有的解決方案都大致相同,並且不依賴於隨機初始化的運氣。

重申一下,正則化強度是控制神經網路過度擬合的首選方法。我們可以看看三種不同正則化的結果:


圖片描述
圖10 正則化強度的影響:每個神經網路有20個隱藏的神經元,提高正則化引數使其最終決策區域更平滑。你可以在這個中演示這個例子


結論是你不應該因為害怕而使用較小的網路。相反,您應該根據計算預算允許的限制來設定神經網路的大小,並使用其他正則化手段來控制過擬合。


直觀的演示


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2618/viewspace-2809056/,如需轉載,請註明出處,否則將追究法律責任。

相關文章