神經網路簡介--啟用函式、網路架構、生物模型解釋
(pdf),或Michael Nielsen的這個),給定任意連續函式f(x) ,當ε>0 時,存在一個神經網路g(x) 帶有一個以上隱藏層(選取合理的非線性函式,例如sigmoid),使得∀x,|f(x)−g(x)|
如果一個隱藏層就足以近似任何函式,那為什麼要使用更多的隱藏層呢?答案是,雙層神經網路是一個通用逼近器,儘管在數學上很簡便,但在實踐中卻是相對較弱且無用的。在一個維度中,函式
順便說一下,在實踐中,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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 神經網路啟用函式=生物轉換器?神經網路函式
- 卷積神經網路-啟用函式卷積神經網路函式
- 神經網路中使用的啟用函式神經網路函式
- 神經網路的啟用函式總結神經網路函式
- 從網路架構方面簡析迴圈神經網路RNN架構神經網路RNN
- 人工智慧---神經網路啟用函式恆等函式、sigmoid函式、softmax函式詳解人工智慧神經網路函式Sigmoid
- 再用RNN神經網路架構設計生成式語言模型RNN神經網路架構模型
- 神經網路中常用的函式神經網路函式
- 簡單的圖神經網路介紹神經網路
- 文字生成神經網路架構發展神經網路架構
- Pytorch_第九篇_神經網路中常用的啟用函式PyTorch神經網路函式
- Pytorch | Tutorial-04 構建神經網路模型PyTorch神經網路模型
- 理解神經網路的不同損失函式神經網路函式
- 從ReLU到GELU,一文概覽神經網路的啟用函式神經網路函式
- 圖神經網路綜述:模型與應用神經網路模型
- 語言模型與神經網路模型神經網路
- RNN神經網路模型綜述RNN神經網路模型
- keras構建神經網路Keras神經網路
- 迴圈神經網路介紹神經網路
- 【神經網路篇】--RNN遞迴神經網路初始與詳解神經網路RNN遞迴
- 谷歌大腦提出概念啟用向量,助力神經網路可解釋性研究谷歌神經網路
- MLer必知的8個神經網路架構神經網路架構
- 神經網路:numpy實現神經網路框架神經網路框架
- 容器雲架構–瞭解 Kubernetes 網路模型架構模型
- 神經網路神經網路
- Python繪製神經網路模型圖Python神經網路模型
- MATLAB神經網路工具箱(簡單操作介紹)Matlab神經網路
- 網路 IO 模型簡單介紹模型
- 【深度學習篇】--神經網路中的池化層和CNN架構模型深度學習神經網路CNN架構模型
- 分散式網際網路架構之路分散式架構
- 用Keras框架構建一個簡單的卷積神經網路!Keras框架架構卷積神經網路
- 用神經網路模型給你的照片打分(Part I)神經網路模型
- 最簡單的人工神經網路神經網路
- 簡單的神經網路測試神經網路
- 神經網路可能不再需要啟用函式?Layer Normalization也具有非線性表達!神經網路函式ORM
- 8、神經網路神經網路
- LSTM神經網路神經網路
- 結構雖簡單,但效能強悍——3個小型卷積神經網路簡介卷積神經網路