老規矩–妹妹鎮樓:
神經網路的結構是:
輸入層 + 隱藏層 + 啟用函式 + 輸出層
卷積神經網路的組成:
輸入層 + 卷積層 + 啟用函式 + 池化層 + 全連線層
input + conv + relu + pool + fc
所謂的卷積類似於影象空間域處理的卷積操作,設定乙個小區域的濾波器,將輸入的影象按照濾波器的大小來分區域,然後將濾波器在輸入影象的每乙個區域上滑動,對於每乙個區域都產生乙個特徵值。
當濾波器把輸入影象的所有區域求取了特徵值後,就生成了乙個特徵圖。該特徵圖中儲存的就是濾波器在輸入影象上產生的每乙個特徵值。
可以看到,卷積時邊緣資訊利用是較少的。為了將這些邊緣資訊利用起來,在原始輸入影象中加上一圈邊緣0,記作(+pad 1),新增了n層0,記為+pad n。原始影象的邊緣現在就不是邊緣了,同時,現在的邊緣全為0,這些0對於特徵值的提取沒有意義,因此就算新增了一圈0也沒有影響,它們的存在只是為了讓原來的影象邊緣有更多被計算的機會。
該特徵圖的大小尺寸,是由輸入影象的尺寸大小input,濾波器的尺寸大小filter,卷積的步長stride以及填充0的寬度pad來決定的。
output =( input + 2 * pad ) / stride + 1
output即為卷積輸出的結果尺寸,深度為濾波器的個數。
如輸入影象的尺寸大小為 32 x 32 x 3,濾波器的尺寸大小為5 x 5 x 3。那麼特徵圖的大小是由儲存的特徵值的多少決定的。
對於輸入影象的尺寸為 32 x 32,填充0的寬度為0,即沒有填充,當步長為1時,濾波器 5 x 5在輸入影象的每一行只能進行(32 +2 * 0– 5)/1 +1= 28次求取特徵值。同理,每一列也是一樣的,特徵圖中特徵值的尺寸為 28 x 28個。
當步長為2時,特徵圖的尺寸為(32 + 2 * 0 - 5)/2 +1 = 14,其中的除法是要向下取整的,即尺寸為14 x 14。
當步長選取過大時,得到的特徵值很少,但是計算量很小。
當步長選取很小時,得到的特徵值很多,但是計算量很大。
我們也經常看到輸入影象經過濾波器後有好幾個特徵圖,這是因為用了多個濾波器來特徵值。有幾個濾波器,就有幾個特徵圖。將得到的特徵圖都堆疊到一起,就得到了卷積層的輸出結果。如下圖所示,生成了兩個特徵圖。
卷積不僅可以在輸入影象上進行,還可以在卷積後的輸出特徵圖上進行。
如下圖所示,第一次卷積操作後,通過6個濾波器,得到了6個特徵圖組成的卷積結果,再次對特徵圖進行卷積,通過10個濾波器,得到了10個特徵圖組成的卷積結果。
對特徵圖進行操作,將特徵圖壓縮,也是用與卷積差不多的操作,選取小區域在特徵圖中滑動,在小區域中求取mean值或者max值,用來代表這一小區域的特徵值,即將這一小區域的特徵值壓縮為乙個值。
卷積神經網路最後的全連線層與經典神經網路的全連線層是一樣的,它將前面卷積層,池化層後的特徵圖提取出來,計算該輸入影象屬於某個類別的概率。
經典的神經網路是全連線的網路,每個層次之間都是全連線的,引數非常龐大。
但是卷積神經網路就將每個特徵圖的引數實現了共享,即每個特徵圖中的神經元對應的引數都是一樣的。
比如,卷積輸出了2個特徵圖,輸入影象的尺寸為 32 x 32 x 3, +pad2,stride= 1,兩個濾波器5 x 5 x 3,則輸出的特徵圖尺寸為32 x 32 x 2,可以得知特徵圖中的特徵值有 32 x 32個,而每乙個特徵值都是由濾波器對輸入影象卷積得來的,即每個特徵值對應輸入影象中的乙個5 x 5 x 3區域,即75個引數,而每個特徵值的引數都是不同的,因此如果是全連線的話,共有32 x 32 x 5 x 5 x 3個引數,這個數字太龐大了,對計算效率不利。
卷積神經網路將每個特徵值對應的75個引數都共享了,即每個特徵圖中32 x 32個特徵值的引數都是一樣的。那麼如果是兩個特徵圖就只需要 75 x 2 = 150個引數。
深度學習之卷積神經網路
卷積神經網路是一種多層神經網路,擅長處理影象特別是大影象的相關機器學習問題。卷積網路通過一系列方法,成功將資料量龐大的影象識別問題不斷降維,最終使其能夠被訓練。cnn最早由yann lecun提出並應用在手寫字型識別上 minst lecun提出的網路稱為lenet,其網路結構如下 這是乙個最典型的...
深度學習之卷積神經網路
目錄 持續更新 概述 卷積神經網路中啟用函式relu 卷積網路 卷積網路架構 卷積層輸出計算 池化層的輸出計算 卷積神經網路的訓練 卷積層的訓練 pooling層的訓練 卷積神經網路 cnn 一種更適合影象 語音識別任務的神經網路結構 用cnn解決的問題都存在區域性與整體的關係。由低層次的特徵經過組...
深度學習 卷積神經網路
一 卷積神經網路基礎 二 lenet 三 常見的一些卷積神經網路 卷積層的超引數 填充和步幅。步幅 stride 每次卷積核在輸入陣列上滑動的行數與列數。多輸入與輸出通道 將3維陣列除寬高外的一維稱為通道維。1 1卷積層 包含1 1的卷積核的卷積層。1 1卷積核在不改變輸入高寬的情況下調整通道數。如...