深度學習(一)神經網絡中的池化與反池化原理

 

原文做者:aircrafthtml

原文連接:https://www.cnblogs.com/DOMLX/p/9579108.html前端

 

 

參考博客:https://blog.csdn.net/chengqiuming/article/details/80300284python

一.池化c++

  你們學過神經網絡的都知道,在神經網絡中有一層是pooling層也就是池化層,經過池化對特徵進行提取而且縮小數據
編程

下圖是maxpooling 也就是最大池化,舉例以一個2*2的卷積核,步長爲2,來遍歷整個矩陣,每通過一個2*2的區域就將這塊區域後端

中的最大值提取出來存放。具體以下圖所示網絡

 

 

同理avgpooling也就是平均池化層就是將2*2的區域的全部值加起來取得均值存放。機器學習

 

 

二.反池化學習

   反池化是池化的逆操做,是沒法經過池化的結果還原出所有的原始數據。由於池化的過程就只保留了主要信息,捨去部分信息。
若是想從池化後的這些主要信息恢復出所有信息,則存在信息缺失,這時只能經過補位來實現最大程度的信息完整。
池化有兩種:最大池化和平均池化,其反池化也須要與其對應。
(1) 平均池化和反平均池化
  首先還原成原來的大小,而後將池化結果中的每一個值都填入其對應原始數據區域中相應位置便可。
平均池化和反平均池化的過程以下:
(2) 最大池化和反最大池化
  要求在池化過程當中記錄最大激活值的座標位置,而後在反池化時,只把池化過程當中最大激活值所在位置座標值激活,
其餘的值設置爲0.固然,這個過程只是一種近似。由於在池化過程當中,除了最大值的位置,其餘的值也是不爲0的。
最大池化和反最大池化的過程以下:
 
 
 
最後我這是一列的學習筆記,有興趣入門深度學習的能夠看看在下後面的深度學習系列的筆記。
 
 
 
參考博客:https://blog.csdn.net/chengqiuming/article/details/80300284
 

如有興趣交流分享技術,可關注本人公衆號,裏面會不按期的分享各類編程教程,和共享源碼,諸如研究分享關於c/c++,python,前端,後端,opencv,halcon,opengl,機器學習深度學習之類有關於基礎編程,圖像處理和機器視覺開發的知識
spa

相關文章
相關標籤/搜索