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

有部分內容是轉載的知乎的,如有侵權,請告知,刪除便是,但由于是總結的,所以不一一列出原作者是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,全連接層的總層數(長度)
2,單個全連接層的神經元數(寬度)
3,激活函數
首先我們要明白激活函數的作用是:增加模型的非線性表達能力

---------------------?
作者:向陽+?
來源:CSDN?
原文:https://blog.csdn.net/m0_37407756/article/details/80904580?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458091.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458091.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458091.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

用ionic快速開發hybird App(已附源碼,在下面+總結見解)

用ionic快速開發hybird App(已附源碼,在下面總結見解) 1.ionic簡介 ionic 是用于敏捷開發APP的解決方案。核心思路是:利用成熟的前端開發技術,來寫UI和業務邏輯。也就是說,就是一個H5網站,這個區別于react-…

為什么要使用工廠模式

工廠的作用相當于幫助我們完成實例化的操作。 優勢1:一般在代碼中,實例化一個類A是直接new A(),假如類A是一個完全獨立的類,沒有相似類,則沒有必要使用工廠模式,直接new A&#xff…

css各兼容應該注意的問題

1.div布局在ie瀏覽器和chrome瀏覽器,firefox瀏覽器不同,不如在div里面嵌套3個div,分別左中右,左邊div的pading和margin在ie8以上都是幾乎相同,ie8以下做內邊距x2,在中間的div在chrome和fierfox中默認在左邊…

轉 C++宏定義詳解

來自:傳送門 C宏定義詳解 一、#define的基本用法 #define是C語言中提供的宏定義命令,其主要目的是為程序員在編程時提供一定的方便,并能在一定程度上提高程序的運行效率,但學生在學習時往往不能 理解該命令的本質,總是…

acm之vim的基本配置

http://www.kuangbin.net/archives/vim-acmicpc 轉載于:https://www.cnblogs.com/akrusher/articles/5402426.html

40 個重要的 HTML5 面試問題及答案

2019獨角獸企業重金招聘Python工程師標準>>> 介紹 我是一個ASP.NET MVC開發人員。最近當我找工作的時候,我發現很多問題都是圍繞HTML 5和它的新功能展開的。所以,下面我將列出40個有助于你提高相關HTML 5知識的重要問題。 這些問題并不能保證…

Java常見Jar包的用途

jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用來發現、查找和實現可插入式接口,提供一些一般類實例化、單件的生命周期管理的常用方法. jaxrpc.jar Axis運行所需要的組件包 saaj.jar 創建到端點的點到點連接的方法、創建并處理SOAP消息和附件的方法…

車流檢測之halcon光流法算法實現

* This example program shows how to use optical_flow_mg to compute the optical flow in an image sequence and how to segment the optical flow. *這個示例程序顯示了如何使用._flow_mg來計算圖像序列中的光流,以及如何分割光流。 dev_update_off () dev_…

利用光學流跟蹤關鍵點---30

原創博客:轉載請標明出處:http://www.cnblogs.com/zxouxuewei/ 關鍵點:是多個方向上亮度變化強的區域。 opencv:版本是2.4. 光學流函數:calcOpticalFlowPyrLK()。(關鍵點偵測器使用goodFeaturesToTrack())二者結合。 相應的啟動文…

基于Redis、Storm的實時數據查詢實踐

通過算法小組給出的聚合文件,我們需要實現一種業務場景,通過用戶的消費地點的商戶ID與posId,查詢出他所在的商圈,并通過商圈地點查詢出與該區域的做活動的商戶,并與之進行消息匹配,推送相應活動信息到用戶手…

從離散值中把值相近的放在一起

//30根細條得到30個長度值&#xff0c;選擇出現值相近且出現次數最多的&#xff0c;算其均值作為輸出 #include <iostream> using namespace std;int main() {double dRawdata[5] {1.1,1.2,1.3,2.5,3.2};//先升序排序double dSort[5][5] {0};double* p dRawdata;int a…

register_globals(全局變量注冊開關)

register_globals&#xff0c;是php.ini文件里面的一個配置選項&#xff0c;接下來&#xff0c;我們可以通過例程來分析一下&#xff0c;當register_globals on 與 register_globals off 的時候&#xff0c;對php語言的一些安全影響。測試源代碼如下&#xff1a;index.html 源…

精述IBM的MQTT協議和MQTT-S協議

一&#xff0e;MQTT簡介 MQTT (Message Queuing Telemetry Transport) 是由IBM研發的構建在TCP/IP之上的簡單輕量的消息協議&#xff0c;目標使用場景為受限制環境&#xff0c;如低帶寬、高延遲、不可靠網絡&#xff0c;很適用于M2M和IoT中。它的競爭協議包括XMPP協議和IETF的C…

20150103--SQL連接查詢+視圖-02

20150103--SQL連接查詢視圖-02 子查詢 一條查詢語句出現在另外一條查詢語句的內部&#xff0c;這條語句就被稱之為子查詢語句。 子查詢分類 子查詢可以根據子查詢返回的結果以及子查詢出現的位置兩種方式進行分類 按結果分類&#xff1a; 標量子查詢&#xff1a;子查詢返回的結…

QtQuick controls和controls2 自定義樣式

2019獨角獸企業重金招聘Python工程師標準>>> controls import QtQuick 2.7 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4Rectangle {color: "green"Button {id:buttontext: qsTr("Second page")anchors.centerIn: parentpr…

電腦開機3秒就重啟循環_電腦修好后客戶不愿支付上門費,行,那電腦開機60秒自動關機吧!...

上門維修電腦已經非常普及了&#xff0c;上門維修電腦費用要比送修(送到維修店)費用高&#xff0c;送修電腦只有一項維修費用&#xff0c;上門維修電腦比送修多了一項費用&#xff0c;這項費用就是上門費。有人說維修電腦收取上門費用不合理&#xff0c;其實這樣的說法非常自私…

jQuery屬性篩選選擇器

2019獨角獸企業重金招聘Python工程師標準>>> 代碼一 <h2>屬性篩選選擇器</h2><h3>[attval]、[att]、[att|val]、[att~val]</h3><div class"left" testattr"true" ><div class"div" testattr"t…

java 代碼優化

Java程序中的內存管理機制是通過GC完成的&#xff0c;“一個對象創建后被放置在JVM的堆內存中&#xff0c;當永遠不在應用這個對象的時候將會被JVM在堆內存中回收。被創建的對象不能再生&#xff0c;同時也沒有辦法通過程序語句釋放”&#xff08;這個是《Java的GC機制》中提到…

Halcon中OCR的實現及關鍵函數解析

OCR的實現共分為兩步&#xff0c;1是使用字符數據來訓練OCR。2是使用OCR進行字符的識別。 訓練分類器 訓練分類器共分為4步&#xff1a; 1是使用閾值來分割字符區域&#xff1b; 2是調用append_ocr_trainf函數將字符加入訓練集&#xff1b; 3是創建分類器&#xff1b; 4是…