cnn没有pooling会怎么样?
5个回答
是可以没有pooling的,pooling主要作用就是降维,同时mean pooling可以提取背景信息,max pooling可以提取纹理。
这些功能使用卷积也可以完成,只要设置好卷积核和步长。
谷歌的轻量级卷积MobileNet没有使用pooling。
SofaSofa数据科学社区DS面试题库 DS面经著名的alpha go其实就没有使用pooling,只用了convolution。是否要使用pooling层,其实只要看subsampling之后是否会改变原本事物本身。比如,如果是图像处理,subsampling pixels其实并不会影响我们判断物体是什么,有可能只是图像变模糊了,但是我们还是可以判断出这个物体。但是在围棋里面,subsampling棋盘就会影响我们的判断,所以不适合使用pooling。
拓展说一下什么时候适合用cnn,其实就是要看使用的场景是否具有图片的那些特性。
1. 某些pattern和整个图像相比要小很多。
2. 同样的pattern会出现在不同的区域。
3. subsampling并不会改变对物体本身的判断。
特性1和2对应的convolution, 特性3对应的pooling。
SofaSofa数据科学社区DS面试题库 DS面经pooling用于down sample, 多用于分类的任务,因为输出是一张图的label,不含有空间信息。还可以用于Unet这类在空间有压缩的结构(空间上的coder-encoder)。
对于denoising,super-resolution这类回归任务,输出含空间信息,一般不用pooling。即使用了pooling,还会用upsample,恢复以前图像大小,比如Unet。