1. 程式人生 > >深入理解卷積層,全連線層的作用意義

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

有部分內容是轉載的知乎的,如有侵權,請告知,刪除便是,但由於是總結的,所以不一一列出原作者是who。

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

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

理解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. 1,全接解層的總層數(長度)
  2. 2,單個全連線層的神經元數(寬度)
  3. 3,啟用函式

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

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

相關推薦

深入理解連線作用意義

有部分內容是轉載的知乎的,如有侵權,請告知,刪除便是,但由於是總結的,所以不一一列出原作者是who。再次感謝,也希望給其他小白受益。首先說明:可以不用全連線層的。理解1:卷積取的是區域性特徵,全連線就是把以前的區域性特徵重新通過權值矩陣組裝成完整的圖。因為用到了所有的區域性特

神經網路連線轉換為獲得heatmap

理論部分 轉自 http://blog.csdn.net/u010668083/article/details/46650877 實驗部分 全連線層換卷積層的出處大約是yahoo的一篇論文“Multi-view Face Detection Usi

神經網路 連線小結

    卷積神經網路的卷積層、池化層和啟用函式層等作用是將原始資料對映到隱層特徵空間中,在卷積神經網路最後部分會有全連線層,全連線層的目的是將網路學習到的特徵對映到樣本的標記空間中。全連線層會把卷積輸出的二維特徵圖(featureMap)轉化成一個一維的向量。這一過程具體實現

CNN(convolutional layer激勵activating layer池化pooling連線fully connected)

CNN產生的原因:當使用全連線的神經網路時,因為相鄰兩層之間的神經元都是有邊相連的,當輸入層的特徵緯度非常高時(譬如圖片),全連線網路需要被訓練的引數就會非常多(引數太多,訓練緩慢),CNN可以通過訓練少量的引數從而進行特徵提取。上圖每一個邊就代表一個需要訓練的引數,可以直觀

(轉載)感受野和座標對映的計算以及連線的區別

轉自:http://blog.cvmarcher.com/posts/2015/05/17/cnn-trick/ 這篇文章主要講一下Convolutional Neural Network(CNN)裡面的一些概念以及技巧。 Receptive Field (感

CNN連線的輸入格式變換錯誤 tf.reshape()和slim.flatten()

TypeError: Failed to convert object of type < type ‘list’>to Tensor. Contents: [None, 9216]. Consider casting elements to a supported type.

【深度學習筆記】關於、池化連線簡單的比較

卷積層 池化層 全連線層 功能 提取特徵 壓縮特徵圖,提取主要特徵 將學到的“分散式特徵表示”對映到樣本標記空間 操作 可看這個的動態圖,可惜是二維的。對於三維資料比如RGB影象(3通道),卷積核的深度必須

神經網路——輸入、啟用函式、池化連線

卷積神經網路(CNN)由輸入層、卷積層、啟用函式、池化層、全連線層組成,即INPUT(輸入層)-CONV(卷積層)-RELU(啟用函式)-POOL(池化層)-FC(全連線層) 卷積層 用它來進行特徵提取,如下: 輸入影象是32*32*3,3是它

卷積神經網路入門一種全卷積神經網路(LeNet)從左至右依次為卷積→子取樣→卷積→子取樣→全連線全連線→高斯連線測試 最後為了檢驗 CNN 能否工作我們準備不同的另一組圖片與標記集(不能在訓練

轉載來自:http://blog.csdn.net/maweifei/article/details/52443995 第一層——數學部分 CNN 的第一層通常是卷積層(Convolutional Layer)。輸入內容為一個 32 x 32 x 3 的畫素值陣列。現在

利用tensorflow實現神經網路、池化連線

第一步:匯入相應的庫import tensorflow as tf import numpy as np12第二步:準備資料(隨機生成一維資料)data_size=25 x_data=np.random.normal(size=data_size) x_input_1d=

深入理解

增強 當我 pattern 完整 最終 進行 關系 全連接 con https://blog.csdn.net/m0_37407756/article/details/80904580 有部分內容是轉載的知乎的,如有侵權,請告知,刪除便是,但由於是總結的,所以不一一列出原

深入理解”的概念

本文主要為下面兩篇篇文章加自己的理解感悟總結而來 1.知乎高贊回答如何通俗易懂地解釋卷積? 2.知乎高贊回答卷積為什麼叫「卷」積?   預備知識   1.向量運算 點乘(a * b)       向量的點乘,也叫

影象語義分割(2)-DeepLabV1: 使用深度網路和連線條件隨機場進行影象語義分割

論文地址:SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS 論文程式碼: 工程連結1 工程連結2 1. 提出問題   首先明確一個概念-high level task

深度學習基礎----1*1的核與連線的區別

1*1的卷積核與全連線的區別   11的卷積核是輸入map大小不固定的;而全連線是固定的。   11卷積的主要作用有以下兩點:   1)降維( dimension reductionality ),inception中就是這個用。   2)加入非線性,畢竟有啟用

深入理解神經網路(CNN)——從原理到實現

王琦      QQ:451165431      計算機視覺&深度學習 本篇通過在MNIST上的實驗,引出卷積神經網路相關問題,詳細闡釋其原理以及常用技巧、調參方法。歡迎討論相關技術&學術問題,但謝絕拿來主義。 程式碼是博主自己

如何理解運算” 在0-t時刻的所有輸入在所考察系統的疊加。 要想看系統在哪個時刻的相應就把t限制在哪個值

卷積這個東東是“訊號與系統”中論述系統對輸入訊號的響應而提出的。因為是對模擬訊號論述的,所 以常常帶有繁瑣的算術推倒,很簡單的問題的本質常常就被一大堆公式淹沒了,那麼卷積究竟物理意義 怎麼樣呢? 卷積表示為y(n) = x(n)*h(n) 使用離散數列來理解卷積會更形象一點,我們把y(n)的序列表

對於神經網路中連線理解

全連線層的推導全連線層的每一個結點都與上一層的所有結點相連,用來把前邊提取到的特徵綜合起來。由於其全相連的特性,一般全連線層的引數也是最多的。全連線層的前向計算下圖中連線最密集的2個地方就是全連線層,這很明顯的可以看出全連線層的引數的確很多。在前向計算過程,也就是一個線性的加

為什麼目標檢測中要將連線轉化為

參考文章: VGG網路中測試時為什麼全連結層改成卷積層 為什麼使用卷積層替代CNN末尾的全連線層 首先看一下卷積層的特點: 區域性連線:提取資料區域性特徵,比如卷積核的感受野 權值共享:一個卷積核只需提取一個特徵,降低了網路訓練的難度 究竟使用卷積層代替全連線層會帶來什麼好處呢?

為什麼要將連線轉化為

轉自:https://www.cnblogs.com/liuzhan709/p/9356960.html 理解為什麼要將全連線層轉化為卷積層 1.全連線層可以視作一種特殊的卷積 考慮下面兩種情況: 特徵圖和全連線層相連,AlexNet經過五次池化後得到7*7*512的特徵圖,下

為什麼使用替代CNN末尾的連線

CNN網路的經典結構是: 輸入層—>(卷積層+—>池化層?)+—>全連線層+ (其中+表示至少匹配1次,?表示匹配0次或1次) 全卷積神經網路Fully Convolutional Network (FCN) 全卷積神經網路即把CNN