最大池化层和平均池化层

参考链接:
https://blog.csdn.net/junmuzi/article/details/53206600
https://blog.csdn.net/qq_21190081/article/details/72871704
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

概念:

接触到pooling主要是在用于图像处理的卷积神经网络中,但随着深层神经网络的发展,pooling相关技术在其他领域,其他结构的神经网络中也越来越受关注。

与卷积层类似,池化层运算符由一个固定形状的窗口组成,该窗口根据其步幅大小在输入的所有区域上滑动,为固定形状窗口(有时称为 池化窗口)遍历的每个位置计算一个输出。 然而,不同于卷积层中的输入与卷积核之间的互相关计算,池化层不包含参数。 相反,池运算符是确定性的,我们通常计算池化窗口中所有元素的最大值或平均值。这些操作分别称为 最大池化层 (maximum pooling)和 平均池化层 (average pooling)。

在这里插入图片描述
在这两种情况下,与互相关运算符一样,池化窗口从输入张量的左上角开始,从左到右、从上到下的在输入张量内滑动。在池化窗口到达的每个位置,它计算该窗口中输入子张量的最大值或平均值,具体取决于是使用了最大池化层还是平均池化层。

**

作用:

pooling的结果是使得特征减少,参数减少,但pooling的目的并不仅在于此。

pooling目的是为了保持某种不变性(旋转、平移、伸缩等)

根据相关理论,特征提取的误差主要来自两个方面:

(1)邻域大小受限造成的估计值方差增大;

(2)卷积层参数误差造成估计均值的偏移。
重点作用:
1、mean-pooling能减小第一种误差(邻域大小受限造成的估计值方差增大),更多的保留图像的背景信息,
2、max-pooling能减小第二种误差(卷积层参数误差造成估计均值的偏移),更多的保留纹理信息。

正向与反向过程:

**正向:**max-pooling:取池化区域的最大值;
mean-polling:取池化区域的平均值

**反向
**对于mean pooling,真的是好简单:假设pooling的窗大小是2x2, 在forward的时候啊,就是在前面卷积完的输出上依次不重合的取2x2的窗平均,得到一个值就是当前mean pooling之后的值。backward的时候,把一个值分成四等分放到前面2x2的格子里面就好了。如下

forward: [1 3; 2 2] -> [2]
backward: [2] -> [0.5 0.5; 0.5 0.5]
在这里插入图片描述

max pooling就稍微复杂一点,forward的时候你只需要把2x2窗子里面那个最大的拿走就好了,backward的时候你要把当前的值放到之前那个最大的位置,其他的三个位置都弄成0。如下

forward: [1 3; 2 2] -> 3
backward: [3] -> [0 3; 0 0]

在这里插入图片描述

  • 24
    点赞
  • 161
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值