深度学习(一)神经网络中的池化与反池化原理
原文作者: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,机器学习深度学习之类有关于基础编程,图像处理和机器视觉开发的知识
转发和使用本文,请注明作者信息和原文地址---本文原作者为aircraft
---大家好我是徐飞机,有没有大佬们的公司招c++开发/图像处理/opengl/opencv/halcon实习的啊,带上我一个呗QAQ。。。hhhhhh 想要免费获取前端,后端,c/c++,matlab,Python,opencv,机器学习,深度学习,安卓,java,等等全套视频教程请关注机器视觉开发公众号,转发集赞28即可百度云获得hhhhhhhh