1. 程式人生 > >深度學習筆記——全連線層

深度學習筆記——全連線層

1.概觀

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

全連線層(fully connected layers,FC)在整個卷積神經網路中起到“分類器”的作用。如果說卷積層、池化層和啟用函式層等操作是將原始資料對映到隱層特徵空間的話,全連線層則起到將學到的“分散式特徵表示”對映到樣本標記空間的作用。

2.全連線層的理解

——————————以下為個人看法,如果有錯,歡迎錘正!——————————

假設我們現在的任務是去區別一圖片是不是貓、

假設這個神經網路模型已經訓練到此階段,如圖:

經過卷積,池化,啟用等層,現已提取了上圖所示的區域性特徵,且已到達了第一層全連線層並激活符合特徵存在的部分神經元,該連線層是一維的,而這個層的作用就是根據提取到的區域性特徵進行相關操作進行組合並輸出到第二個全連線層的某個神經元處,如上圖,經過組合我們可以知道這是個喵頭。

那我們現在往後走一層,到第二層全連線層,假設貓的身體其他部位特徵也都被上述類似的操作提取和組合出來,得

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

此時,再將上圖中的特徵進行組合並輸出到輸出層,經過softmax函式進行分類,得出結論,這是隻貓。

至此,關於全連線層的資訊就簡單介紹完了

3.全連線層和其他層,全連線層與全連線層之間的換算

以上圖為例,我們仔細看上圖全連線層的結構,全連線層中的每一層是由許多神經元組成的(1x 4096)的平鋪結構,上圖不明顯,我們看下圖

當我第一次看到這個全連線層,我的第一個問題是

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

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

從上圖我們可以看出,我們用一個3x3x5的filter 去卷積啟用函式的輸出,得到的結果就是一個fully connected layer 的一個神經元的輸出,這個輸出就是一個值

因為我們有4096個神經元

我們實際就是用一個3x3x5x4096的卷積層去卷積啟用函式的輸出

這一步卷積一個非常重要的作用,就是把分散式特徵representation對映到樣本標記空間

就是它把特徵representation整合到一起,輸出為一個值。這樣做,有一個什麼好處?

就是大大減少特徵位置對分類帶來的影響

來,讓我來舉個簡單的例子

這個例子可能過於簡單了點

可是我懶得畫了,大家將就著看吧

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

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

而這時全連線層filter的作用就相當於,喵在哪我不管,我只要喵

於是我讓filter去把這個喵找到

實際就是把feature map 整合成一個值

這個值大

哦,有喵

這個值小

那就可能沒喵

和這個喵在哪關係不大了有沒有

魯棒性有大大增強了有沒有

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

ok, 我們發現全連線層有兩層1x4096fully connected layer平鋪結構(有些網路結構有一層的,或者二層以上的)

但是大部分是兩層以上呢

這是為啥子呢

泰勒公式都知道吧

意思就是用多項式函式去擬合光滑函式

我們這裡的全連線層中一層的一個神經元就可以看成一個多項式

我們用許多神經元去擬合數據分佈

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

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

相關推薦

深度學習筆記——連線

1.概觀 卷積取的是區域性特徵,全連線就是把以前的區域性特徵重新通過權值矩陣組裝成完整的圖。因為用到了所有的區域性特徵,所以叫全連線。 全連線層(fully connected layers,FC)在整個卷積神經網路中起到“分類器”的作用。如果說卷積層、池化層和啟用函式層

40 Oracle深度學習筆記——庫備份常用

全庫備份常用如下: 需要在MOUNT模式下進行, backup database format'E:\rman_bk\df_%t_%s_%p.bak'; 多通道備份如下: RUN {  ALLOCATE CHANNEL C1 DEVICE TYPE DISKFORMAT '

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

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

caffe學習筆記31-理解連線

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

深度學習基礎系列(十)| Global Average Pooling是否可以替代連線

  Global Average Pooling(簡稱GAP,全域性池化層)技術最早提出是在這篇論文(第3.2節)中,被認為是可以替代全連線層的一種新技術。在keras釋出的經典模型中,可以看到不少模型甚至拋棄了全連線層,轉而使用GAP,而在支援遷移學習方面,各個模型幾乎都支援使用Global Average

深度學習筆記2:池化 連線 啟用函式 softmax

1. 池化 池化層的輸入一般來源於上一個卷積層,主要作用是提供了很強的魯棒性(例如max-pooling是取一小塊區域中的最大值,此時若此區域中的其他值略有變化,或者影象稍有平移,pooling後的結果仍不變),並且減少了引數的數量,防止過擬合現象的發生。池化層一般沒有引

深度學習中常用的:Full Connect連線

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

深度學習筆記(四)——神經網路和深度學習(淺神經網路)

1.神經網路概覽 神經網路的結構與邏輯迴歸類似,只是神經網路的層數比邏輯迴歸多一層,多出來的中間那層稱為隱藏層或中間層。從計算上來說,神經網路的正向傳播和反向傳播過程只是比邏輯迴歸多了一次重複的計算。正向傳播過程分成兩層,第一層是輸入層到隱藏層,用上標[1]來表示;第二層是隱藏層到輸出層,用上標

吳恩達深度學習筆記(15-21)總結-淺神經網路總結

恩達老師的這一週的淺層神經網路總結,還是簡單的架構說明,但是還是要仔細讀哦! 架構分為四部分: 神經網路表示 計算神經網路輸出 啟用函式 神經網路的梯度下降 第一和第二部分: 神經網路表示和計算神經網路輸出部分,由於本部分講的是淺層的網路輸出,所以就是隻有一個隱藏層的神經網路,你也

38 Oracle深度學習筆記——OS下關閉連線程序指令碼

指令碼如下: for pp in `ps -ef | grep LOCAL=NO | grep -v grep | awk '{print $2}' | xargs`   do kill -9 $pp done   再分享一下我老師大神的人工智

Keras —— 基於InceptionV3模型(不含連線)的遷移學習應用

一、ImageDataGenerator def image_preprocess(): #  訓練集的圖片生成器,通過引數的設定進行資料擴增 train_datagen = ImageDataGenerator( prep

深度學習筆記二:多感知機(MLP)與神經網路結構

為了儘量能形成系統的體系,作為最基本的入門的知識,請參考一下之前的兩篇部落格: 神經網路(一):概念 神經網路(二):感知機 上面的兩篇部落格讓你形成對於神經網路最感性的理解。有些看不懂的直接忽略就行,最基本的符號的記法應該要會。後面會用到一這兩篇部落格中

深度學習筆記(基礎)——(六)卷積神經網路(FCN)

    通常CNN在卷積層之後會接上若干個全連線層,將卷積層產生的特徵圖(Feature Map)對映成一個固定長度的特徵向量進行分類。以AlexNet為代表的經典CNN結構適合於影象級的分類和迴歸任務,因為它們最後都期望得到整個輸入影象的一個數值描述,如AlexN

用SVD壓縮深度模型(DNN,CNN)的連線(fully-connected layer)

轉自:https://my.oschina.net/liusicong/blog/866364 轉載請註明出處,否則將依法追究版權 全連線層出現在DNN和 CNN中.很多論文[介紹瞭如何用SVD,VQ,Sparse code壓縮全連線層,這些方法不是端到端地訓練一個新模型

吳恩達深度學習筆記3-Course1-Week3【淺神經網路】

淺層神經網路: 一、淺層神經網路的表示 本文中的淺層神經網路指的是 two layer nn 即 one input layer + one hidden layer + one output layer。通常計算神經網路的層數不包括 input l

深度學習筆記(三)用Torch實現多感知器

上一次我們使用了輸出節點和輸入節點直接相連的網路。網路裡只有兩個可變引數。這種網路只能表示一條直線,不能適應複雜的曲線。我們將把它改造為一個多層網路。一個輸入節點,然後是兩個隱藏層,每個隱藏層有3個節點,每個隱藏節點後面都跟一個非線性的Sigmoid函式。如圖所示,這次

深度學習筆記4:卷積的實現

卷積層的推導 卷積層的前向計算 如下圖,卷積層的輸入來源於輸入層或者pooling層。每一層的多個卷積核大小相同,在這個網路中,我使用的卷積核均為5*5。 如圖輸入為28*28的影象,經過5*5的卷積之後,得到一個(28-5+1)*(28-5+1) = 24*24、的map。卷積層2的每個map是不同卷

深度學習優化方法---來源於知乎

ati 默認 tle 設置 約束 apt 接下來 nali ini 寫在前面:本寶寶好想只了解sgd,monument,adagrad,adam深度學習最全優化方法總結比較(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)

深度學習筆記(九)感受野計算

lds 時有 輸入 計算 ret name %d have imsi 1 感受野的概念   在卷積神經網絡中,感受野的定義是 卷積神經網絡每一層輸出的特征圖(feature map)上的像素點在原始圖像上映射的區域大小。一般感受野大小是目標大小的兩倍左右最合適!      

神經網絡和深度學習 筆記

ack 參數 一個 bsp 感知機 信號 叠代 前饋型神經網絡 pro 人工神經網絡(ann) 模擬的是 生物神經網絡(bnn) ann 一般也叫 前饋型神經網絡 : 各神經元只接受前一級輸入,並輸出到下一級,無反饋 應該也有反饋型神經網絡?? ann一般使用b