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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章