「科普:CNN論文介紹的開篇」神經網絡與卷積神經網絡

機器學習 人工智能 CNN 計算複雜性理論 科技 AI深度學習求索 2018-11-30

【科普】神經網絡與卷積神經網絡

神經網絡:何為神經網絡呢?

最開始接觸這個名詞的時候,很長一段時間都將它看做一個高深莫測的神奇工具。竟然和大腦神經都有關係的算法,肯定很厲害!

學習之後才發現,原來神經網絡也僅僅只是一個名詞而已,只是形容一種類似神經元輸入輸出的函數關係,例如下圖中,

「科普:CNN論文介紹的開篇」神經網絡與卷積神經網絡

神經元計算

這便是一個神經元h,它有四個輸入,其中一個是偏置信息,而神經元的輸出則為:

「科普:CNN論文介紹的開篇」神經網絡與卷積神經網絡

這樣之後還會有一個激活操作,以便神經網絡能夠擬合非線性關係。

將這樣的多個神經元堆疊起來,則可成為多層的神經網絡,也可以稱為多層感知器。其中每一個神經元的輸入輸出都按上面的方法進行計算。下圖便是一個最簡單的神經網絡

「科普:CNN論文介紹的開篇」神經網絡與卷積神經網絡

這樣看來,神經網絡其實也就可以看做一種函數擬合方法。

例如,給定一堆的輸入數據和已知他們的輸出數據,將他們輸入到神經網絡進行訓練優化,可以使得神經網路具有擬合輸入輸出之間關係的能力,然後給定一個未知輸出的輸入數據,可以推算出在這種規律下的輸出數據。

「科普:CNN論文介紹的開篇」神經網絡與卷積神經網絡

神經網絡特點:

  • 可以擬合出所有的需要的函數關係
  • 中間層每一個神經元的輸出值均由上一個神經層的所有輸出數據的加權和算得,參數量過大

一般而言,神經網絡便能擬合出所有的函數關係了,那麼,又為什麼會出現卷積神經網絡呢?

這個大家應該都知道,這是因為計算複雜度的關係,因為神經網絡的全連接特性限制了它的發展,具體來說,如上圖中所示,

首先,我們觀察一下隱藏層的神經元的值的計算,我們可以發現每一個神經元的值都是由輸入層的所有數據的一個加權和,若是每一個設計的神經網絡都像上面一層網絡那樣簡單,那全連接倒並不恐怖,可是現實情況是:

每一張圖片,如果是一張256*256的RGB圖片,那他的輸入數據便有256*256*3=196608個,對應的權重也是這麼多,一個神經元便對應著這麼多的參數,更不用說,還要乘上隱藏層的神經元數目以及隱藏層的數目了。

可想而知,神經網絡的全連接操作的參數量限制了神經網絡的進一步發展。

「科普:CNN論文介紹的開篇」神經網絡與卷積神經網絡

而且,根據人的經驗,人看見一張照片上一張人臉便可以判別出這張照片是一個人,神經網絡其實也不用知道圖片的完整信息便可以判別出圖片類別,因此,神經網絡中存在著很多的冗餘信息。

這便出現了卷積神經網絡,卷積神經網絡一定程度上解決了神經網絡的參數過多的缺點,相對於神經網絡的全連接方式,卷積神經網絡採用局部連接的方式,即中間層的一個神經元的輸出由上一層的部分神經元的輸決定,而不是所有的神經元的輸入。

先看一下卷積操作的原理吧:

「科普:CNN論文介紹的開篇」神經網絡與卷積神經網絡

如圖所示,第一列的三個矩陣為輸入數據,中間列即為2個3*3的卷積核的參數,最後一列為輸出層的數據。

每一個輸出層的數據均由卷積核與輸入層的部分數據的加權和決定。這樣大大減小了網絡的參數。

最早提出卷積神經網絡的是Yann LeCun大神提出的LeNet-5網絡,這是由三個卷積層和兩個全連接層構成的網絡,最初用於數字識別。至此開始,各種各樣的卷積神經網絡便開始拉開深度學習的帷幕。

「科普:CNN論文介紹的開篇」神經網絡與卷積神經網絡

LeNet-5

本來我並沒有打算介紹神經網絡和卷積神經網絡,但是為了推卷積神經網絡的那些論文的詳細介紹(下面這篇推文中的承諾),所以還是寫一篇作為開篇比較好。這個介紹不是很好,有興趣的可以去找相關的細節學習。

CNN模型的發展:自2012AlexNet-2017DRN的17篇CNN模型論文總結

相關推薦

推薦中...