才子佳人博客

我的故事我讲述

卷积神经网络各种池化
###SmallArticleTitle###
来源:blog.csdn.net;  编辑:xjh;  2019-12-31

在卷积神经网络中,我们经常会碰到池化操作,而池化层往往在卷积层后面,通过池化来降低卷积层输出的特征向量,同时改善结果(不易出现过拟合)。图像具有一种"静态性"的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图片,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值(或最大值)来代表这个区域的特征。

池化就是对特征图进行特征压缩,池化也叫做下采样。选择原来某个区域的max或mean代替那个区域,整体就浓缩了。

简言之,池化就是对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征。

或者说,池化(Pooling)是为了有效地减少计算量,将输入图像进行缩小,减少像素信息,只保留重要信息。即,卷积神经网络通过加入池化层,图像缩小了,能很大程度上减少计算量,降低机器负载。

下面演示一下pooling操作,需要制定一个filter的尺寸、stride、pooling方式(max或mean):


1、一般池化(General Pooling)

池化作用于图像中不重合的区域(这与卷积操作不同),过程如下图。


我们定义池化窗口的大小为sizeX,即下图中红色正方形的边长,定义两个相邻池化窗口的水平位移/竖直位移为stride。一般池化由于每一池化窗口都是不重复的,所以size X=stride。


最常见的池化操作为平均池化mean pooling和最大池化max pooling:

平均池化:计算图像区域的平均值作为该区域池化后的值。

最大池化:选图像区域的最大值作为该区域池化后的值。

2、Overlapping pooling

重叠池化正如其名字所说的,相邻池化窗口之间会有重叠区域,此时size X > stride。

3、Spatial Pyramid pooling 

金字塔池化可以把任何尺度的图像的卷积特征转化成相同维度,这不仅可以让CNN处理任意尺度的图像,还能避免cropping(剪短,剪裁)和warping(图像扭曲,图象卷绕,图像变形) 操作,导致一些信息的丢失,具有非常重要的意义。

一般的CNN都需要输入图像的大小是固定的,这是因为全连接层的输入需要固定输入维度,但是卷积操作是没有对图像尺度有限制,所以作者提出了空间金字塔池化,先让图像进行卷积操作,然后转化成维度相同的特征输入到全连接层,这个可以把CNN扩展到任意大小的图像。


金字塔池化的思想来自于Spatial Pyramid Model,它一个pooling变成了多个scale的pooling。用不同大小池化窗口作用于卷积特征,我们可以得到1*1,2*2,4*4的池化结果,由于conv5中共有256个过滤器,所以得到1个256维的特征,4个256维的特征,以及16个256维的特征,然后把这21个256维特征连接起来输入全连接层,通过这种方式把不同大小的图像转化成相同维度的特征。




显然,对于不同的图像要得到相同大小的pooling结果,就需要根据图像的大小动态的计算池化窗口的大小和步长。

4.Reference

Kaiming  He, Xiangyu Zhang, Shaoqing Ren, Jian Su,Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

Spatial Pyramid pooling :source-paper.pdf

Word Mem:

wrap [ræp] v. 包,裹, 用…缠绕(或围紧); n. (女用) 披肩,围巾; 包裹(或包装)材料;

warp [wɔːp] v. (使) 扭曲,弯曲,变形; n. (织布机上的) 经线,经纱;

原文链接:
https://blog.csdn.net/kexinxin1/article/details/93014914
https://blog.csdn.net/u011734144/article/details/80137049
https://blog.csdn.net/weixin_42451919/article/details/81381294

分类:网络日志 | 评论数:0 | 浏览数:70
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: