pooling

poolin个的作用主要有两个方面:

1:不变性(invariance),这种不变性包括translation(平移),rotation(旋转),scale(尺度)

可通过一次或者多次max pooling达到要求,具有相同的特性

2:保留主要的特性同时减少参数(降维,效果类似PCA)和计算量,防止过拟合,提高模型的泛化性能

尺度不变性,也就是增大了感受野,即这个特征原来被16*16的表示,经过pooling后,可以用4*4的图表示,假如一个2*2的卷积核就能够多框进去一些信息,提取的特征也就越准确。

但是为了增加感受野,一开始就用跟图像一样大小的卷积核,是不可取的。

卷积层越深模型的表征能力越强,即卷积次数越多越好,你用跟图像一样大的的到一个1*1的feature map 。但是一下降维那么多,会导致很多重要的信息丢失,你再进行卷积的时候效果就不会太好了

一次性降维到1*1与多次降维最后降到1*1的区别是什么?

第一次降维到1*1会导致一次性丢失信息太多,之后的卷积的表征能力就没有那么强了,而逐渐降维一次性的丢失的信息没有那么多,所以以后每一次卷积表征能力相对一次性降维更强。

pooling的缺点:

能够增大感受野,让卷积看到更多的信息,但是它在降维的过程中丢失了一些信息(只留下它认为重要的信息),所以pooling增大感受野的前提是丢失了一些信息(即降低了分辨率),这对segmentation要求的精度location有一定影响。

所以pooling层跟segmentation有一定的冲突,但是你不用又不行,感受野可以帮助你提高准确率,而且还可以降低计算量,增强模型的泛化能力,所以感受野,分辨率,参数三者很难两全。 

你可能感兴趣的:(pooling)