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


 

原文作者:aircraft

原文鏈接:https://www.cnblogs.com/DOMLX/p/9579108.html

 

深度學習教程目錄如下,還在繼續更新完善中

深度學習系列教程目錄 

 

 

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

一.池化

  大家學過神經網絡的都知道,在神經網絡中有一層是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,機器學習深度學習之類有關於基礎編程,圖像處理和機器視覺開發的知識


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM