深度卷積神經網絡中的下采樣


深度卷積神經網絡中的降采樣

yolov3為什么要用卷積層代替池化層?

 

降采樣指的是成比例縮小特征圖寬和高的過程,比如從(W,H)變為(W/2,H/2)。深度卷積神經網絡中降采樣的方法主要有三種:

1、stride大於1的pooling

2、stride大於1的conv

3、stride大於1的reorg(在YOLOv2的論文里叫passthrough layer)

其中1和2在深度卷積神經網絡中使用非常普遍,3比較小眾,由Joseph Redmon在YOLOv2中首次提出。

 

1和2的對比在Striving for Simplicity: The All Convolutional Net中有詳述,文末有這么一段總結:

With modern methods of training convolutional neural networks very simple architectures may perform very well: a network using nothing but convolutions and subsampling matches or even slightly outperforms the state of the art on CIFAR-10 and CIFAR-100. A similar architecture shows competitive results on ImageNet.

In particular, as opposed to previous observations, including explicit (max-)pooling operations in a network does not always improve performance of CNNs. This seems to be especially the case if the network is large enough for the dataset it is being trained on and can learn all necessary invariances just with convolutional layers.

大概意思就是,用stride=2的conv降采樣的卷積神經網絡效果與使用pooling降采樣的卷積神經網絡效果相當;卷積神經網絡小的時候,使用pooling降采樣效果可能更好,卷積神經網絡大的時候,使用stride=2的conv降采樣效果可能更好。

總體來說,pooling提供了一種非線性,這種非線性需要較深的conv疊加才能實現,因此當網絡比較淺的時候,pooling有一定優勢;但是當網絡很深的時候,多層疊加的conv可以學到pooling所能提供的非線性,甚至能根據訓練集學到比pooling更好的非線性,因此當網絡比較深的時候,不使用pooling沒多大關系,甚至更好。

pooling的非線性是固定的,不可學習的,這種非線性其實就是一種先驗。

3中降采樣的優勢在於能夠較好的保留低層次的信息。1和2的降采樣方式,好處是抽取的特征具有更強的語義性,壞處是會丟失一些細節信息。而3這種降采樣方式與1、2相反,它提取的特征語義性不強,但是能保留大量細節信息。所以當我們既需要降采樣,又需要不丟失細節信息的時候,3是一個非常合適的選擇。

 

 

基本結論就是:最大池化可以簡單地被增加步幅的卷積層所取代,而不會在幾個圖像識別基准上損失精度。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM