1. 程式人生 > >影象分類中max-pooling和average-pooling之間的異同

影象分類中max-pooling和average-pooling之間的異同

池化操作時在卷積神經網路中經常採用過的一個基本操作,一般在卷積層後面都會接一個池化操作,但是近些年比較主流的ImageNet上的分類演算法模型都是使用的max-pooling,很少使用average-pooling,這對我們平時設計模型時確實有比較重要的參考作用,但是原因在哪裡呢?

通常來講,max-pooling的效果更好,雖然max-pooling和average-pooling都對資料做了下采樣,但是max-pooling感覺更像是做了特徵選擇,選出了分類辨識度更好的特徵,提供了非線性,根據相關理論,特徵提取的誤差主要來自兩個方面:(1)鄰域大小受限造成的估計值方差增大;(2)卷積層引數誤差造成估計均值的偏移。一般來說,average-pooling能減小第一種誤差,更多的保留影象的背景資訊,max-pooling能減小第二種誤差,更多的保留紋理資訊。average-pooling更強調對整體特徵資訊進行一層下采樣,在減少引數維度的貢獻上更大一點,更多的體現在資訊的完整傳遞這個維度上,在一個很大很有代表性的模型中,比如說DenseNet中的模組之間的連線大多采用average-pooling,在減少維度的同時,更有利資訊傳遞到下一個模組進行特徵提取。

但是average-pooling在全域性平均池化操作中應用也比較廣,在ResNet和Inception結構中最後一層都使用了平均池化。有的時候在模型接近分類器的末端使用全域性平均池化還可以代替Flatten操作,使輸入資料變成一位向量。


max-pooling和average-pooling的使用效能對於我們設計卷積網路還是很有用的,雖然池化操作對於整體精度提升效果也不大,但是在減參,控制過擬合以及提高模型效能,節約計算力上的作用還是很明顯的,所以池化操作時卷積設計上不可缺少的一個操作。

相關推薦

影象分類max-poolingaverage-pooling之間異同

池化操作時在卷積神經網路中經常採用過的一個基本操作,一般在卷積層後面都會接一個池化操作,但是近些年比較主流的ImageNet上的分類演算法模型都是使用的max-pooling,很少使用average-p

影象分類max poolingaverage pooling是對特徵的什麼來操作的,結果是什麼?

           接觸到pooling主要是在用於影象處理的卷積神經網路中,但隨著深層神經網路的發展,pooling相關技術在其他領域,其他結構的神經網路中也越來越受關注。<img src="https://pic4.zhimg.com/58b4644

cssmax-widthmin-width的應用

htm 之間 ctype pre 分享圖片 整體 說明 ima 圖片 max-width:從字面意思可以看出,是規定元素本身最大寬度,元素本身寬度應小於等於最大寬度值。 min-width:從字面意思可以看出,是規定元素本身最小寬度,元素本身寬度應大於等於最小寬度值。 1、

深度學習在影象分類的發展

深度學習是一門比較年輕的研究方向,從機器視覺到語音識別,以及自然語言識別等領域都有它的身影。說實話,喵哥此前只是知道有這個學科,但是並不清楚它到底是什麼,怎麼使用它。其實現在也是一無所知,但是我越發覺得深度學習是我們今後特別需要的專業,今天寫下這篇綜述性的文章,希望可以對以後

二元分類精確度precision召回率recall的理解

精確度(precision) 是二元分類問題中一個常用的指標。二元分類問題中的目標類 別隻有兩個可能的取值, 而不是多個取值,其中一個類代表正,另一類代表負,精確度就 是被標記為“正”而且確實是“正”的樣本佔所有標記為“正”的樣本的比例。和精確度 一起出現的還有另一個指標召回率(r

SQL語句MAX()函式MIN()函式

MAX 函式返回一列中的最大值。NULL 值不包括在計算中。 SELECT MAX(column_name) FROM table_name 註釋:MIN 和 MAX 也可用於文字列,以獲得按字母

CNN影象分類類別數量確定

影象分類中最終將影象分為多少類,一般是由CNN結構中最後一個全連線層(FC)神經元個數確定,即要將影象分為多少類最後一個全連線層就為多大,例如VGG、ResNet等,與最後的softmax無關。 Le

python字典dict.get()dict.setdefault()的異同

def clas 即使 實例 字典 default 增加 存在 none 相同點: 兩者是參數相同:dict.get(key, default=None), dict.setdefault(key, default=None) 如果指定的鍵不存在時,兩者都返回默認值,默認

C有關引用指針的異同

是不是 tails spa swap 內存地址 觀察 BE sdn tps 參考於https://blog.csdn.net/wtzdedaima/article/details/78377201 C語言也學了蠻久的,其實一直都沒有用到過或者碰到過引用的例子。前端時間再

C#父類子類之間相互轉換

mage all spa 分享 mic ack 子類 utl round 所用到的類文件:Person.cs:Student.cs:Teacher.cs:問題1:總結:1 父類不能直接強制轉換成子類2 只有父類對象指向子類,那麽父類是可以強制轉換成子類,如果父類對象沒有指向

JDK8`Optional.orElse()` `Optional.orElseGet()`之間的區別

看例子就明白了 ``` static String B() { System.out.println("B()..."); return "B"; } public static void main(final String... args) { System.

Vue 父元件子元件之間獲取對方資料方法

父元件獲取子元件的資料和方法 one 在父元件中呼叫子元件時,定義一個ref(其實和選擇器類似): <Common ref="commonChild" :pathologyId="form.pathologyId" /> 在父元件中獲取子元件屬性和方

spring,refidref標籤之間的區別?

ref和idref標籤在定義上的區別: idref標籤:注入的是目標bean的id,同時使用idref容器在部署的時候還會驗證這個名稱的bean是否真實存在。idref就跟value一樣,只是將某個字串注入到屬性或者建構函式中,只不過注入的是某個Bean定義的id屬性值。

JS的innerTextinnerHTML標籤之間的區別

//設定標籤中的內容 my$("btn").onclick=function () {          //總結:如果使用innerText主要是設定文字的;不識別HTML的標籤     &nb

Ubuntu在伺服器本機之間傳遞檔案

首先可以通過root進入到伺服器中,(登入方法在下面講解)為自己建立一個使用者。 useradd的選項: 選項: -b, --base-dir BASE_DIR 新賬戶的主目錄的基目錄 -c, --comment COMMENT 新賬戶的 GECOS 欄位

在jquery,find()children()函式之間的不同之處

find()和children()方法被用來過濾匹配元素的子元素,前者可以在所有的後代中進行過濾,而後者僅在子級層進行過濾。 簡單的說: 1 find()—搜尋匹配元素的孩子,孫子等所有的後代層。 2 child()—僅搜尋匹配元素的孩子層。 以下是一個完整的例項來闡

C++GB2312字串UTF-8之間的轉換-json中文亂碼問題

在程式設計過程中需要對字串進行不同的轉換,特別是Gb2312和Utf-8直接的轉換。在幾個開源的魔獸私服中,很多都是老外開發的,而暴雪為了能 夠相容世界上的各個字符集也使用了UTF-8。在中國使用VS(VS2005以上版本)開發基本都是使用Gb2312的Unicode字符

JavaList集合JSON物件之間的相互轉換

第一種方法: 程式碼實現 /** *資料封裝成json * * @param items 物料入庫資料 * @return json * @throws JSONException */ public stati

unity世界座標絕對座標之間的轉換

public class TEST : MonoBehaviour { void Start () { Debug.Log(transform.position); } // Update is called o

人臉識別---Gabor特徵(mean poolingmax pooling)

Abstract—本文主要講解Gabor特徵在人臉識別中的使用。       在此不講Gabor濾波器的原理,網上有很多部落格已經介紹了大量關於Gabor濾波器。此文講下提取出來後的Gabor濾波器的處理。       通常我們使用的Gabor濾波器有8個方