人工神經網路基礎 為什麼神經網路選擇了「深度」?

2022-02-06 03:00:02 字數 1457 閱讀 9056

現在提到「神經網路」和「深度神經網路」,會覺得兩者沒有什麼區別,神經網路還能不是「深度」(deep)的嗎?我們常用的 logistic regression 就可以認為是乙個不含隱含層的輸出層啟用函式用 sigmoid(logistic) 的神經網路,顯然 logistic regression 就不是 deep 的。不過,現在神經網路基本都是 deep 的,即包含多個隱含層。why?

任何連續的函式 $f: r^n \to r^m$ 都可以用只有乙個隱含層的神經網路表示。(隱含層神經元足夠多)

圖 1:僅含乙個隱含層的神經網路示意圖

乙個神經網路可以看成是乙個從輸入到輸出的對映,那麼既然僅含乙個隱含層的神經網路可以表示任何連續的函式,為什麼還要多個隱含層的神經網路?

"yes, shallow network can represent any function.

however, using deep structure is more effective."

我們可以把僅含乙個隱含層的神經網路結構叫做 shallow 的,把包含多個隱藏層的神經網路結構叫做 deep 的。

圖 2:modularization

在多層神經網路中,第乙個隱含層學習到的特徵是最簡單的,之後每個隱含層使用前一層得到的特徵進行學習,所學到的特徵變得越來越複雜。 如圖 3 和 4 所示。

圖 3:不同level的特徵-1

low level 中每乙個特徵在 high level 或多或少被使用,這樣對於每乙個 high level 特徵,只需要訓練一套 low level 特徵。是的,low level 特徵被共用了,相當於將提取 low level 特徵單獨成立了乙個模組,供高層呼叫。對於每乙個 high level 特徵,不需要每次都將 low level 特徵訓練一遍。這就是 deep 的好處。

圖 4:不同level特徵-2

不否認,理論上僅含乙個隱含層的神經網路完全可以實現深度神經網路的效果,但是訓練難度要大於深度神經網路。

實際上,在深度神經網路中,乙個隱含層包含的神經元也不少了,比如 alexnet 和 vgg-16 最後全連線層的 4096 個神經元。在 deep 的同時,fat 也不是說不需要,只是沒有像只用一層隱含層那麼極端,每個隱含層神經元的個數也是我們需要調節的超引數之一。

李巨集毅機器學習

神經網路基礎與人工神經網路

神經網路方面的研究很早就已出現,今天 神經網路 已是乙個相當大的 多學科交叉的學科領域。神經網路中最基本的成分是神經元模型。上圖中每個圓圈都是乙個神經元,每條線表示神經元之間的連線。我們可以看到,上面的神經元被分成了多層,層與層之間的神經元有連線,而層內之間的神經元沒有連線。為了理解神經網路,我們應...

人工神經網路 多層神經網路

模型原型 sklearn.neural network.mlpclassifier hidden layer sizes 100,activation relu algorithm adam alpha 0.0001,batch size auto learning rate constant le...

人工神經網路之前饋神經網路

1.基本概念 深度前饋神經網路也叫作多層感知機,是深度學習中最常用的模型。它包含輸入層,隱含層和輸出層三個部分。它的目的是為了實現輸入到輸出的對映。它定義了乙個函式 y f x,theta 並且通過學習theta,得到了對映函式f。深度前饋神經網路之所以稱之為深度是因為它包含了很多層 隱含層可能會有...