[cv] 池化(最大池化Maxpool、平均池化Averagepool、随机池化randpool)与反池化

池化的定义比较简单,最直观的作用便是降维,常见的池化有最大池化、平均池化和随机池化
池化层不需要训练参数。

1、 三种池化:最大池化Maxpool、平均池化Average_pool、随机池化randpool

最大池化是对局部的值取最大;平均池化是对局部的值取平均;随机池化是根据概率对局部的值进行采样,采样结果便是池化结果。概念非常容易理解,其示意图如下所示:
其中随机池化 1/(1+3+4) 4/8 0 3/8得到
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210425223212631.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RyYW5jZTk1,size_16,color_FFFFFF,t_70

2、三种池化的意义

(1)最大池化可以获取局部信息,可以更好保留纹理上的特征。如果不用观察物体在图片中的具体位置,只关心其是否出现,则使用最大池化效果比较好。
(2)平均池化往往能保留整体数据的特征,能凸出背景的信息
(3)随机池化中元素值大的被选中的概率也大,但不是像最大池化总是取最大值。随机池化一方面最大化地保证了Max值的取值,一方面又确保了不会完全是max值起作用,造成过度失真。除此之外,其可以在一定程度上避免过拟合

3、重叠池化

一般在CNN中使用的池化都是不重叠的,
但是池化也可以重叠,重叠池化和卷积操作类似,可以定义步长等参数
其和卷积的不同在于:卷积操作将窗口元素和卷积核求内积,而池化操作求最大值/平均值等,窗口的滑动等原理完全相同。

4、反池化

池化操作中最常见的最大池化和平均池化,因此最常见的反池化操作有反最大池化和反平均池化,其示意图如下:
在这里插入图片描述
反最大池化需要记录池化时最大值的位置,反平均池化不需要此过程。

五、参考文章:
[1] A guide to convolution arithmetic for deep learning
[2] 深度学习(书)
[3] deeplearning(ng)
[4] https://github.com/vdumoulin/conv_arithmetic
[5] 深度理解反卷积操作

猜你喜欢

转载自blog.csdn.net/Trance95/article/details/116139862