CNN Feature Map维度的一般规律

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的卷积层(用于替换全连接层)。增大空间分辨率最常见的方法是使用解卷积(deconvolution)。

通道数的一般规律
一般CNN网络中会有多个卷积层和全连接层(FC层)。通常卷积层的通道数单调递增,而FC层的通道数单调递减。卷积层通道数单调递增,是从VGGNet开始确定下来的,后续的GoogLeNet和Resnet均符合这个规律。FC层通道数单调递减,这样是合理的,因为FC层是要不断提取更高层的抽象信息,更抽象的信息只可能分类数越来越少。
第一个FC层的通道数,可能大于、等于、小于末尾卷积层的通道数,小于的情况更普遍一些。此外,ResNet中使用全局平均池化替代第一个FC层,相当于末尾卷积层通道数等于第一个FC层的通道数。
和用于图像分类的CNN一样,全卷积网络(Fully Connected Network, FCN)的输出通道数等于类别数。但它们有一个重大区别:全卷积网络输出空间分辨率和输入图像相同,而非图像分类问题的1x1。

你可能感兴趣的:(CNN Feature Map维度的一般规律)