jayboxyz / deeplearning-cv-notes

:notebook: deepleaning and cv notes.
343 stars 125 forks source link

用卷积进行下采样和池化下采样的区别是什么? #22

Open jayboxyz opened 4 years ago

jayboxyz commented 4 years ago

用卷积进行下采样和池化下采样的区别是什么? - 知乎

jayboxyz commented 4 years ago

CNN真的需要下采样(上采样)吗? - 知乎

在常见的卷积神经网络中,采样几乎无处不在,以前是max_pooling,现在是strided卷积。

以vgg网络为例,里面使用到了相当多的max_pooling

。。。。。。

以前,我们在分类网络的最后几层使用fc,后来fc被证明参数量太大泛化性能不好,被global average pooling替代掉了,最早出现在network in network中

image

从此,分类网络的范式变为,Relu已经被融合在conv和deconv里面

Input-->Conv-->DownSample_x_2-->Conv-->DownSample_x_2-->Conv-->DownSample_x_2-->GAP-->Conv1x1-->Softmax-->Output

而分割网络的范式变为

Input-->Conv-->DownSample_x_2-->Conv-->DownSample_x_2-->Conv-->DownSample_x_2-->Deconv_x_2-->Deconv_x_2-->Deconv_x_2-->Softmax-->Output
jayboxyz commented 4 years ago

池化层:

所谓 池化层(Pooling) 就是将特征图下采用,作用是对感受域内的特征进行筛选,提取区域内最具代表性的特征,能够有效地降低输出特征尺度,进而减少模型所需要的参数量。按操作类型通常分为最大池化(Max Pooling)、平均池化(Average Pooling)和求和池化(Sum Pooling),它们分别提取感受域内最大、平均与总和的特征值作为输出,最常用的是最大池化,也即是MaxPooling。根据相关研究,特征提取的误差主要来自于两点:

一般来说,平均池化可以减少第一种误差,更多的保留图像的背景信息,而最大池化可以降低第二种误差,更多的保留图像的纹理信息。总结一下,池化层优点有:

语义分割任务中,多次下采样会使得图像中某些目标细节丢失,结果不精细。

374178494 commented 3 years ago

池化层不能训练而卷积层能,也就是说卷积层的下采样是参与网络的训练的