05.17 深度學習:對隱含層的感性認識「強烈推薦」

01

神經網絡模型是個黑盒子

神經網絡給人留下深刻的印象,但是它的表現讓人有些琢磨不透。權重和偏置量能自動地學習得到,但是這並不意味著我們能立刻解釋神經網絡是怎麼樣得出的這些參數。現在仍然沒人說清楚為什麼某某節點的權重參數為什麼取值為某個值,因此,從這個角度講,神經網絡模型是個黑盒子。

02

對隱含層的感性認識

提起神經網絡,不得不說隱含層,光看名字就給人以神秘感,如何通俗易懂地認識隱含層到底是做什麼的呢?

讓我們從一個問題開始,假如區分以下三張圖片哪個是人臉,也就是人臉識別,神經網絡模型應該怎麼建立呢?為了簡單起見,輸入層的每個節點代表圖片的某個像素,個數為像素點的個數,輸出層簡單地定義為一個節點,標示是還是不是。

深度學習:對隱含層的感性認識「強烈推薦」

那麼隱含層怎麼分析呢? 我們先從感性地角度認識這個人臉識別問題,試著將這個問題分解為一些列的子問題,比如,

  • 在上方有頭髮嗎?
  • 在左上、右上各有一個眼睛嗎?
  • 在中間有鼻子嗎?
  • 在下方中間位置有嘴巴嗎?
  • 在左、右兩側有耳朵嗎?
  • ...

假如對以上這些問題的回答,都是“yes”,或者大部分都是“yes”,那麼可以判定是人臉,否則不是人臉。但是,這種判斷忽略了某些特殊情況,比如某個人沒有長頭髮,某個人的左半邊臉被花叢遮擋了等等,等處在這些環境中時,這種方法的判斷可能會有問題。

承上,將原問題分解為子問題的過程如果用神經網絡來表達的話,可以這樣表示,方框表示為某個子網絡,

深度學習:對隱含層的感性認識「強烈推薦」

以上每個子網絡,還可以進一步分解為更小的問題,比如判斷左上是一個眼睛嗎的問題,可以分解為:

  • 有眼球嗎?
  • 有眼睫毛嗎?
  • 有虹膜嗎?
  • ......

因此,在左上是否有一個眼睛的子網絡,可以進一步分解為如下:

深度學習:對隱含層的感性認識「強烈推薦」

以上,這個子網絡還可以進一步分解,.一層又一層地分解,直到,回答的問題簡單到能在一個單獨的神經元上被回答。

03

深度神經網絡

總結下這個過程,輸入層是一些列的像素節點,然後剛開始這些層回答了關於輸入像素點的很簡單、很具體的問題,然後經過很多層,建立了更復雜和抽象的概念,這種帶有兩個或多個隱含層的神經網絡,稱為深度神經網絡,deep neural networks,簡稱為 DNN。

訓練神經網絡常用的技術包括,批梯度下降(SGD),反向傳播(BP算法),再後來基於此,提出了很多好的想法,人們現在能訓練的隱含層數已經越來越多,並且結果也表明,對很多現實問題,深層次的網絡比淺層次的網絡效果更好,原因便是深度神經網絡建立了更加複雜的體系結構,這樣得到的結果會更理想。


分享到:


相關文章: