池化通俗講解

2021-07-11 11:14:29 字數 1418 閱讀 1256

在通過卷積獲得了特徵 (features) 之後,下一步我們希望利用這些特徵去做分類。理論上講,人們可以用所有提取得到的特徵去訓練分類器,例如 softmax 分類器,但這樣做面臨計算量的挑戰。例如:對於乙個 96x96 畫素的影象,假設我們已經學習得到了400個定義在8x8輸入上的特徵,每乙個特徵和影象卷積都會得到乙個 (96 − 8 + 1) * (96 − 8 + 1) = 7921 維的卷積特徵,由於有 400 個特徵,所以每個樣例 (example) 都會得到乙個 892 * 400 = 3,168,400 維的卷積特徵向量。學習乙個擁有超過 3 百萬特徵輸入的分類器十分不便,並且容易出現過擬合 (over-fitting)。

為了解決這個問題,首先回憶一下,我們之所以決定使用卷積後的特徵是因為影象具有一種「靜態性」的屬性,這也就意味著在乙個影象區域有用的特徵極有可能在另乙個區域同樣適用。因此,為了描述大的影象,乙個很自然的想法就是對不同位置的特徵進行聚合統計,例如,人們可以計算影象乙個區域上的某個特定特徵的平均值 (或最大值)。這些概要統計特徵不僅具有低得多的維度 (相比使用所有提取得到的特徵),同時還會改善結果(不容易過擬合)。這種聚合的操作就叫做池化 (pooling),有時也稱為平均池化或者最大池化 (取決於計算池化的方法)。

下圖顯示池化如何應用於乙個影象的四塊不重合區域。

如果人們選擇影象中的連續範圍作為池化區域,並且只是池化相同(重複)的隱藏單元產生的特徵,那麼,這些池化單元就具有平移不變性 (translation invariant)。這就意味著即使影象經歷了乙個小的平移之後,依然會產生相同的 (池化的) 特徵。在很多任務中 (例如物體檢測、聲音識別),我們都更希望得到具有平移不變性的特徵,因為即使影象經過了平移,樣例(影象)的標記仍然保持不變。例如,如果你處理乙個mnist資料集的數字,把它向左側或右側平移,那麼不論最終的位置在**,你都會期望你的分類器仍然能夠精確地將其分類為相同的數字。

(*mnist 是乙個手寫數字庫識別庫: 

形式上,在獲取到我們前面討論過的卷積特徵後,我們要確定池化區域的大小(假定為

特徵 features

樣例 example

過擬合 over-fitting

平移不變性 translation invariant

池化 pooling

提取 extract

物體檢測 object detection

陳玉栓 ([email protected]) , 劉鴻鵬飛([email protected]), 鄧亞([email protected]), 曉風([email protected]

卷積特徵提取 | 池化 | exercise:convolution and pooling

svm通俗講解 SVM通俗講解

svm support vector machine 支援向量機相關理論介紹 基於資料的機器學習是現代智慧型技術中的重要方面,研究從觀測資料 樣本 出發尋找規律,利用這些規律對未來資料或無法觀測的資料進行 迄今為止,關於機器學習還沒有一種被共同接受的理論框架,關於其實現方法 大致可以分為 三種 3 ...

epoll通俗講解

首先我們來定義流的概念,乙個流可以是檔案,socket,pipe等等可以進行i o操作的核心物件。不管是檔案,還是套接字,還是管道,我們都可以把他們看作流。之後我們來討論i o的操作,通過read,我們可以從流中讀入資料 通過write,我們可以往流寫入資料。現在假定乙個情形,我們需要從流中讀資料,...

通俗講解python new

目錄 於別人的部落格 曾經我幼稚的以為認識了python的 init 方法就相當於認識了類構造器,結果,new 方法突然出現在我眼前,讓我突然認識到原來 new 才是老大。為什麼這麼說呢?我們首先得從 new cls 的引數說說起,new 方法的第乙個引數是這個類,而其餘的引數會在呼叫成功後全部傳遞...