天天看點

《CNN筆記總結系列之四》池化層《CNN筆記總結系列之四》

《CNN筆記總結系列之四》

-------本文僅為學習筆記,不做任何商業用途-------

前言

    在《CNN筆記總結系列》中,[1]-[3]已經分别介紹了卷積神經網絡的資料輸入層、卷積計算層和激勵層。本文緊接上述内容,着重講解卷積神經網絡池化層的相關知識。

一、池化層簡要介紹

    池化層是夾在兩個連續的卷積層之間,用于壓縮資料和參數的量由此來減小過拟合的。同時,池化的目的是提取特征,以減少向下一階段傳遞的資料量,是以從圖像處理的層面來說,池化層的最主要的作用就是壓縮圖像的同時,保留圖像中的關鍵特征資訊。也就是說,每次将原圖像進行卷積操作後,都通過一個下采樣的過程,來減小圖像的規模。

《CNN筆記總結系列之四》池化層《CNN筆記總結系列之四》

二、池化的作用及好處

  1. 這些統計特征能夠有更低的次元,以此來減少計算量。一幅圖像含有的資訊量是非常大的,特征也非常多,但是有些資訊對于圖像任務來說是沒有用途的,是以通過池化的方式把這類備援資訊去除,提取出最重要的特征進行保留,以此減小計算量。
  2. 不容易過拟合,當參數過多的時候很容易造成過度拟合,同時也更友善優。
  3. 縮小圖像的規模,提升計算速度;考慮到特征的尺度不變性,在做壓縮時隻是去掉無關緊要的資訊,留下具有尺度不變的特征,由此簡化圖像表達特征的方式。
    《CNN筆記總結系列之四》池化層《CNN筆記總結系列之四》
    圖檔來源:http://www.elecfans.com/emb/fpga/20171116580425_2.html

三、池化層的常用計算方法

    常用的池化方法有最大池化(max-pooling)和均值池化(mean-pooling)。根據相關理論,特征提取的誤差主要來自以下兩個方面:

  1. 鄰域大小受限造成的估計值方差增大;
  2. 卷積層參數誤差造成估計均值的偏移。

    一般來說,mean-pooling能減小第一種誤差,更多的保留圖像的背景資訊,max-pooling能減小第二種誤差,更多的保留紋理資訊。與mean-pooling近似,在局部意義上,則服從max-pooling的準則。

3.1最大池化(Max Pooling)

    對于最大池化來說,就是取局部接收域中值最大的點。一般來說,最大池化卷積核的大小一般是2 * 2,又是輸入量較大時也可能是4 * 4,但是選擇較大的滑動窗可能會顯著降低信号的尺寸,并可能導緻資訊過度丢失,而且通常來說不重疊的池化視窗表現最好。

《CNN筆記總結系列之四》池化層《CNN筆記總結系列之四》

3.2均值池化(Mean Pooling)

    對于均值池化來說,就是對局部接收域中的所有值求均值。

《CNN筆記總結系列之四》池化層《CNN筆記總結系列之四》

Reference

[1]http://www.elecfans.com/emb/fpga/20171116580425_2.html

[2]https://www.jianshu.com/p/1ea2949c0056

[3]http://www.woshipm.com/ai/3884563.html

[4]https://baike.baidu.com/item/%E6%9C%80%E5%A4%A7%E6%B1%A0%E5%8C%96/22692585?fr=aladdin

繼續閱讀