卷積神經網路學習路線(三)| 盤點不同類型的池化層、1*1卷積的作用和卷積核是否一定越大越好?

  • 2019 年 12 月 12 日
  • 筆記

前言

這是卷積神經網路學習路線的第三篇,這一篇開始盤點一下池化層的不同類型和1*1卷積的作用。

池化層的不同類型

池化通常也被稱為下取樣(Downsampling),一般是用在卷積層之後,通過池化來降低卷積層輸出特徵圖的維度,有效減少網路參數的同時還可以防止過擬合現象。池化有用的原因我們在卷積神經網路學習路線(一)中討論過,推文地址為:點這裡,當時說池化層實際上真正起作用的地方在於他的非線性映射能力和可以保持一定量的平移不變性的能力。這個能力是因為在一個影像區域有用的特徵很有可能在另一個區域同樣有用。因此,為了描述一個大解析度的影像特徵,一個直觀的方法就是對大解析度影像中的不同位置的特徵進行聚合統計。具體來說,常見池化的方法有以下幾種:

  • 標準池化
  • 重疊池化
  • 空間金字塔池化

接下來我們就仔細介紹一下每種池化。

標準池化

通常包括最大池化(MaxPooling)和平均池化(Mean Pooling)。以最大池化為例,池化核尺寸為

,池化步長為

,可以看到特徵圖中的每一個像素點只會參與一次特徵提取工作。這個過程可以用下圖表示:

在這裡插入圖片描述

重疊池化

操作和標準池化相同,但唯一不同地方在於滑動步長

小於池化核的尺寸

,可以想像到這樣的話特徵圖中的某些區域會參與到多次特徵提取工作,最後得到的特徵表達能力更強。這個過程可以表示為下圖:

在這裡插入圖片描述

空間金字塔池化

這種池化是在進行多尺度訓練的時候,第一次看到這種操作的時候是讀目標檢測演算法之Fast RCNN演算法的時候。對不同輸出尺度採用不同的滑窗大小和步長以確保輸出尺度相同

,同時用如金字塔式疊加的多種池化尺度組合,以提取更加豐富的影像特徵。常用於多尺度訓練和目標檢測中的區域提議網路(Region Proposal Network)的興趣區域(Region of Interest)提取。空間金字塔池化可以用下圖表示:

1*1卷積的作用

我最開始接觸到

卷積應該是在閱讀經典論文GoogleNet的時候,當然我說的是我第一次接觸,並不代表GoogleNet(包含了InceptionV1-V4)是第一個使用

卷積的。在InceptionV1網路中,Inception模組長下面這樣:

可以看到這個Inception模組中,由於每一層網路採用了更多的卷積核,大大增加了模型的參數量。這時候為了減少模型參數量,在每一個較大卷積核的卷積層前引入

卷積,將寬高和通道方向的卷積進行了分離。修改後的Inception模組表示為下圖:

這樣就實現了在不影響模型的特徵表達能力條件下大大減少了模型的參數量。我們定量計算一下上下兩個Inception模組的參數量,假設

輸入

輸出通道數都是

,則原始的Inception模組的參數量是:

,而使用了1*1卷積的Inception模組的參數量為:

,可以看到計算量減少了接近一半。

因此,卷積的作用可以總結為可以實現資訊的通道整合和交互,以及具有升維/降維的能力。

卷積核是否越大越好?

這是本文的最後一個問題,顯然這個問題我們肯定會回答否。但你是否真的認真思考過其中的原因?在早期的一些經典網路中如Lenet-5和AlexNet,用到了一些大的卷積核例如

,受限於當時的計算資源,無法將網路堆疊得很深,因此需要將卷積核設得比較大以獲得更大的感受野。但這種大卷積核導致計算量大幅增加,訓練過程緩慢,更不利於訓練深層模型。後來VGGNet,GoogleNet時代發現通過堆疊2個3×3卷積核可以獲得和5×5卷積核相同的感受野,同時參數量也會減少,如

。因此,3×3卷積核被廣泛應用在許多卷積神經網路中。所以基本可以認為在大多數情況下通過堆疊較小的卷積核比直接採用單個更大的卷積核更加有效並且能獲得計算資源節約。因此我們可以認為,CV領域小卷積核堆疊是好於大卷積核的。

那麼是不是其他領域也是這樣呢?並不是。在NLP領域,由於文本內容不像影像數據一樣可以對特徵進行很深層的抽象,因此該領域的特徵提取網路都是比較淺的。這個時候為了獲得較大的感受野,就需要使用大的卷積核。因此,我們可以認為在NLP領域大卷積是好於小卷積核的。

總結一下,卷積核是否越大越好呢?這個要具體問題具體分析,在不同的領域大卷積核和小卷積核分別能取得不錯的效果。並且在設置卷積核的時候一個常識是不能設得過大也不能過小,1×1卷積只適合做分離卷積任務而不能對輸入的原始特徵做有效的特徵抽取,而極大的卷積核通常會組合過多無用的特徵浪費大量的計算資源。

後記

這篇就講到這裡了,這個系列的下一篇文章,我們來研究研究轉置卷積中的棋盤效應,希望這個系列的文章對你有所幫助。