Feature map的维度在CNN的各层中是变化的,了解feature map的维度变化规律是学习网络结构的一把钥匙。CNN某一层的Feature map一般是三维的:长、宽、通道数,由于长和宽往往是联系在一起的,所以本文从空间分辨率和通道数两方面进行介绍。
空间分辨率的一般规律
对于图像分类任务而言,CNN feature map空间分辨率单调递减,并最终在全连接层减少到1x1。减少空间分辨率的层有三种:stride大于1的卷积层、pooling层和全连接层,它们在缩小feature map的分辨率的同时,增大了feature map中像素的感知域(conception field),使得最终的用于图像分类的1x1的feature map的感知域覆盖整幅图像。
LeNet-5的第一个全连接层的核大小为5x5,AlexNet的第一个全连接层的核大小为6x6,从VGG开始,用于图像分类的网络第一个全连接层的输入分辨率一般为7x7。因为ImageNet图像分类任务网络的输入一般为224x224,在卷积层的padding都为”VALID”类型的时候,224/(2^5)=7;从这个式子也可以看出,网络中共有五个stride=2的层,网络用stride=2的卷积层和pooling层把feature map分辨率缩小了32倍。
对于图像语义分割任务,一般采用encoder-decoder的结构,所以CNN feature map的空间分辨率先缩小后增大,最终输出feature map的分辨率与输入图像相同。减少空间分辨率的层有三种:pooling层、stride大于1的卷积层、卷积核size等于输入图size的卷积层(用于替换全连接层)。增大空间分辨率最常见的方法是使用解卷积(deco