Open jayboxyz opened 4 years ago
在常见的卷积神经网络中,采样几乎无处不在,以前是max_pooling,现在是strided卷积。
以vgg网络为例,里面使用到了相当多的max_pooling
。。。。。。
以前,我们在分类网络的最后几层使用fc,后来fc被证明参数量太大泛化性能不好,被global average pooling替代掉了,最早出现在network in network中
从此,分类网络的范式变为,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
池化层:
所谓 池化层(Pooling) 就是将特征图下采用,作用是对感受域内的特征进行筛选,提取区域内最具代表性的特征,能够有效地降低输出特征尺度,进而减少模型所需要的参数量。按操作类型通常分为最大池化(Max Pooling)、平均池化(Average Pooling)和求和池化(Sum Pooling),它们分别提取感受域内最大、平均与总和的特征值作为输出,最常用的是最大池化,也即是MaxPooling。根据相关研究,特征提取的误差主要来自于两点:
一般来说,平均池化可以减少第一种误差,更多的保留图像的背景信息,而最大池化可以降低第二种误差,更多的保留图像的纹理信息。总结一下,池化层优点有:
语义分割任务中,多次下采样会使得图像中某些目标细节丢失,结果不精细。
池化层不能训练而卷积层能,也就是说卷积层的下采样是参与网络的训练的
用卷积进行下采样和池化下采样的区别是什么? - 知乎