卷積神經網路是一種特殊的多層神經網路,它是deep learning中的乙個演算法,現在主要應用在影象處理領域中。
既然說它是deep learning中的乙個演算法,那麼就需要有大量的資料來支援,作為乙個深度的神經網路,引數動輒百萬以上,如果樣本數過小很容易造成overfitting。卷積神經網路可以自主的從原始的輸入影象中學習到有用的(利於分類的,利於**的) features,這樣可以將它應用到很多不知道如何設計feature的場景中。
在普通的全連線神經網路下,假設我們現在有乙個100*100的影象作為輸入。在計算中我們將這個影象表示為乙個100*100 = 10000大小的向量(陣列),假如我們只有乙個hidden layer,並且神經元數量與input layer數目相同,那麼光從input layer到hidden layer就有10000*10000 = 10^8個引數。正如前面所說,要想訓練出乙個好的網路,這麼多的引數很容易造成overfitting,減少引數勢在必行,於是卷積神經網路應運而生。
卷積神經網路有兩大殺器:
1. local connectivity pattern(區域性感知野)
所謂區域性感知野,如果不好理解野字,你可以理解成區域性感知模組或者把整個區域性感知野理解成,稀疏連線網路。
2. shared weights(權值共享)
這兩種方法都為減少神經網路引數做出了大貢獻,下面我會詳細介紹這兩種方法。
計算機神經網路科學的初衷就是模擬人的神經網路,期望通過構建的計算機神經網路可以讓計算機像人類一樣思考,那麼自然,對傳統神經網路的改進也少不了進一步對人類神經網路的模仿。我們對外界事物的觀察都是由區域性到全域性,但並不是每個畫素每個畫素的去認知,而是一塊區域一塊區域的去認識,通過這些區域得到區域性資訊,然後對這些區域性資訊的彙總,然後才得到整個全域性的資訊。
1. 這個也就是說,影象的畫素之間也是區域性的相關性較強,距離較遠的畫素之間相關性較弱。
2. 另乙個啟發來自於人類的視覺接收系統,視覺神經元只是接收區域性資訊的,也就是說每個神經元並不對全域性進行響應。
雖然我們已經大幅的減小的引數的數目,但對於乙個龐大的神經網路裡,這樣數量級的引數還是太大了,我們需要進一步減少引數。
在剛剛構建的區域性感知神經網路結構中,假設隱含層的所有神經元對應的100個畫素這樣的所有連線的權值都相同,那麼就相當於只需要10*10 = 100個引數,簡而言之就是隱含層不同的神經元擁有相同的權重。如果你還沒有理解,那麼下面兩幅圖應該就能很好的說明何為共享權值了。(不同顏色代表不同的權重,相同的顏色代表權重相同)
到這兒你應該已經知道什麼是權值共享了,那麼你可能要問了,我們這麼做的理由是什麼?
前面我們有說過深度學習可以自主的從原始中獲得有用的feature。卷積神經網路中權值共享這個操作,可以看做是一種與位置無關的特徵提取方法。也就是可以對原始的輸入影象應用乙個相同的特徵。「這其中隱含的原理是:影象一部分的統計特性與其他部分是一樣的。」 這個權值共享的操作其實就是將乙個卷積核(濾波器)在影象上做卷積的過程,這個卷積核就是去篩選特徵的。(綠色是原始影象,黃色是卷積核,紅色是得到的是特徵我們稱之為卷積特徵)
原文發於
部落格:gmx 2015.10.13 us pacific time
神奇的卷積神經網路 二
上篇,我們介紹了卷積神經網路的兩大殺器 區域性感知野 和 權值共享。這篇我將會繼續介紹卷積神經網路的結構 多卷積核 和 池化。在說到權值共享的時候,我們說到乙個卷積核 濾波器 肯定是無法充分的提取影象中的特徵。那麼怎麼辦呢?乙個卷積核可以提取一種特徵,我們可以很自然的想到多個卷積核就可以提取多種特徵...
神奇的卷積神經網路 四
relu的全稱是rectified layer units,它是一層使用非飽和啟用函式的神經元。神經網路通常使用sigmoid 和 tanh 作為非線性啟用函式,它確實比早期的線性啟用函式有好的多的效果。但在深度神經網路中,如果不使用pre traning,會導致gradient vanishing...
神奇的卷積神經網路 五 總結
前四篇我們已經詳細的介紹了卷積神經網路的結構與組成,這篇我們將對卷積神經網路做乙個總結,內含各種技巧介紹和調參經驗,不要錯過哦!1.deep learning是全部深度學習演算法的總稱,卷積神經網路是深度學習演算法在影象處理領域的乙個應用。2.fully connection神經網路最大的缺陷在於很...