卷積層 池化層的理解 基礎知識

2021-08-20 00:20:33 字數 1384 閱讀 9845

關於卷積層我們先來看什麼叫卷積操作: 下圖較大網格表示一幅,有顏色填充的網格表示乙個卷積核,卷積核的大小為3*3。假設我們做步長為1的卷積操作,表示卷積核每次向右移動乙個畫素(當移動到邊界時回到最左端並向下移動乙個單位)。卷積核每個單元內有權重,下圖的卷積核內有9個權重。在卷積核移動的過程中將上的畫素和卷積核的對應權重相乘,最後將所有乘積相加得到乙個輸出。下圖經過卷積後形成乙個6*4的圖。

在了解了卷積操作後我們來看下卷積層的特點。

區域性感知

在傳統神經網路中每個神經元都要與上每個畫素相連線,這樣的話就會造成權重的數量巨大造成網路難以訓練。而在含有卷積層的的神經網路中每個神經元的權重個數都時卷積核的大小,這樣就相當於沒有神經元只與對應部分的畫素相連線。這樣就極大的減少了權重的數量。同時我們可以設定卷積操作的步長,假設將上圖卷積操作的步長設定為3時每次卷積都不會有重疊區域(在超出邊界的部分補自定義的值)。區域性感知的直觀感受如下圖:

引數共享

在介紹引數共享前我們應該知道卷積核的權重是經過學習得到的,並且在卷積過程中卷積核的權重是不會改變的,這就是引數共享的思想。這說明我們通過乙個卷積核的操作提取了原圖的不同位置的同樣特徵。簡單來說就是在一幅中的不同位置的相同目標,它們的特徵是基本相同的。其過程如下圖:

多核卷積

如權值共享的部分所說我們用乙個卷積核操作只能得到一部分特徵可能獲取不到全部特徵,這麼一來我們就引入了多核卷積。用每個卷積核來學習不同的特徵(每個卷積核學習到不同的權重)來提取原圖特徵。

上圖的經過三個卷積核的卷積操作得到三個特徵圖。需要注意的是,在多核卷積的過程中每個卷積核的大小應該是相同的。

下取樣層也叫池化層,其具體操作與卷基層的操作基本相同,只不過下取樣的卷積核為只取對應位置的最大值、平均值等(最大池化、平均池化),並且不經過反向傳播的修改。

個人理解之所以要加下取樣的原因是可以忽略目標的傾斜、旋轉之類的相對位置的變化。以此提高精度,同時降低了特徵圖的維度並且已定成度上可以避免過擬合

卷積層以及池化層的輸出維度

一 輸入的四個維度 2 height weight 的高和寬。3 channels 的通道數,黑白 就是1,rgb就是3。例如我們的輸入是x 333,28,28,3 則代表我們有333個寬和高都是28的黑白 單通道 二 卷積核的四個維度 1 height weight 卷積核矩陣的維度 2 inch...

池化層的知識

卷積神經網路的乙個重要概念就是池化層,一般是在卷積層之後。池化層對輸入做降取樣,常用的池化做法是對每個濾波器的輸出求最大值,平均值,中位數等。池化的特點之一就是它輸出乙個固定大小的矩陣,這對分類問題很有必要。例如,如果你用了100個濾波器,並對每個輸出使用最大池化,那麼無論濾波器的尺寸是多大,也無論...

Keras卷積 池化層學習

1.con1d keras.layers.convolutional.conv1d filters,kernel size,strides 1,padding valid dilation rate 1,activation none,use bias true,kernel initializer...