深入理解卷積層,全連線層的作用意義

2022-05-27 20:54:15 字數 2127 閱讀 8831

再次感謝,也希望給其他小白受益。

首先說明:可以不用全連線層的。

理解1:

卷積取的是區域性特徵,全連線就是把以前的區域性特徵重新通過權值矩陣組裝成完整的圖。

因為用到了所有的區域性特徵,所以叫全連線。

理解2:

從卷積網路談起,卷積網路在形式上有一點點像咱們正在召開的「人民代表大會制度」。卷積核的個數相當於候選人,影象中不同的特徵會啟用不同的「候選人」(卷積核)。

池化層(僅指最大池化)起著類似於「合票」的作用,不同特徵在對不同的「候選人」有著各自的喜好。

全連線相當於是「代表普選」。所有被各個區域選出的代表,對最終結果進行「投票」,全連線保證了receiptive field 是整個影象,既影象中各個部分(所謂所有代表),都有對最終結果影響的權利。

理解3:

假設你是乙隻小螞蟻,你的任務是找小麵包。你的視野還比較窄,只能看到很小一片區域。當你找到一片小麵包之後,你不知道你找到的是不是全部的小麵包,所以你們全部的螞蟻開了個會,把所有的小麵包都拿出來分享了。全連線層就是這個螞蟻大會~

理解4:

例如經過卷積,relu後得到3x3x5的輸出。

那它是怎麼樣把3x3x5的輸出,轉換成1x4096的形式?

很簡單,可以理解為在中間做了乙個卷積。

從上圖我們可以看出,我們用乙個3x3x5的filter 去卷積啟用函式的輸出,得到的結果就是乙個fully connected layer 的乙個神經元的輸出,這個輸出就是乙個值。因為我們有4096個神經元。我們實際就是用乙個3x3x5x4096的卷積層去卷積啟用函式的輸出。

以vgg-16再舉個例子吧,

對224x224x3的輸入,最後一層卷積可得輸出為7x7x512,如後層是一層含4096個神經元的fc,則可用卷積核為7x7x512x4096的全域性卷積來實現這一全連線運算過程。

它把特徵representation整合到一起,輸出為乙個值。

這樣做,有乙個什麼好處?就是大大減少特徵位置對分類帶來的影響。

舉個簡單的例子:

從上圖我們可以看出,貓在不同的位置,輸出的feature值相同,但是位置不同。

對於電腦來說,特徵值相同,但是特徵值位置不同,那分類結果也可能不一樣。

這時全連線層filter的作用就相當於

喵在哪我不管,我只要喵,於是我讓filter去把這個喵找到,

實際就是把feature map 整合成乙個值,這個值大,有喵,這個值小,那就可能沒喵

和這個喵在哪關係不大了,魯棒性有大大增強。

因為空間結構特性被忽略了,所以全連線層不適合用於在方位上找pattern的任務,比如segmentation。

全連線層中一層的乙個神經元就可以看成乙個多項式,

我們用許多神經元去擬合資料分布

但是只用一層fully connected layer 有時候沒法解決非線性問題,

而如果有兩層或以上fully connected layer就可以很好地解決非線性問題了

我們都知道,全連線層之前的作用是提取特徵

全理解層的作用是分類

我們現在的任務是去區別一是不是貓

假設這個神經網路模型已經訓練完了

全連線層已經知道

當我們得到以上特徵,我就可以判斷這個東東是貓了。

因為全連線層的作用主要就是實現分類(classification)

從下圖,我們可以看出

紅色的神經元表示這個特徵被找到了(啟用了)

同一層的其他神經元,要麼貓的特徵不明顯,要麼沒找到

當我們把這些找到的特徵組合在一起,發現最符合要求的是貓

ok,我認為這是貓了

當我們把這些找到的特徵組合在一起,發現最符合要求的是貓

ok,我認為這是貓了

貓頭有這麼些個特徵,於是我們下一步的任務

就是把貓頭的這麼些子特徵找到,比如眼睛啊,耳朵啊

道理和區別貓一樣

當我們找到這些特徵,神經元就被啟用了(上圖紅色圓圈)

這細節特徵又是怎麼來的?

就是從前面的卷積層,下取樣層來的

全連線層引數特多(可佔整個網路引數80%左右)

那麼全連線層對模型影響引數就是三個:

1,全接解層的總層數(長度)

2,單個全連線層的神經元數(寬度)

3,啟用函式

首先我們要明白啟用函式的作用是:

增加模型的非線性表達能力

對全連線層的深入理解

理解全連線層 連線層實際就是卷積核大小為上層特徵大小的卷積運算,卷積後的結果為乙個節點,就對應全連線層的乙個點。理解 假設最後乙個卷積層的輸出為7 7 512,連線此卷積層的全連線層為1 1 4096。如果將這個全連線層轉化為卷積層 1.共有4096組濾波器 2.每組濾波器含有512個卷積核 3.每...

全連線層的作用 全連線層實現

將圖1 堆疊可以得到含有多個隱藏層的全連線層,如圖2所示。因為當前層的輸入要與前一層的輸出相匹配 所以,要保證當前層的神經元個數與前一層的輸出結點數相同。即,圖二中隱藏層1有256個神經元,隱藏層2有128個神經元,則隱藏層1中每個神經元的輸出節點數為12。下面,以圖2為例,用不同的方式實現全連線層...

全連線層與卷積層(總結)

全連線鞥 卷積層全連線層是使用影象的全域性資訊,全連線層的權重是固定的,要求輸入的feature map的大小也有要求,所以網路開始輸入影象的大小要固定。全連線層的每乙個節點都有上一層的所有節點相連。卷積層取區域性特徵,不需要固定輸入的大小,因為它是對區域性區域進行視窗滑動。例如 feature m...