1. 程式人生 > >卷積和池化順序問題?哪個在前好一些,還是沒有影響?

卷積和池化順序問題?哪個在前好一些,還是沒有影響?

有一個同學一直以為卷積之後就進行池化,我知道卷積之後是進行啟用函式的,但是真的為什麼這樣做卻沒有想透徹。

所接觸過的網路模型只要有卷積池化啟用函式的,都是conv-activation-pooling這樣的先後順序,比如下面這個torchvision庫裡面的vgg模型:

但是我初步在minist資料集上試驗了一下,發現區別基本沒有。都是百分之99以上的準確率 ,如果單純從準確度上說的話。

而且,直觀看起來,先池化再啟用,會減少啟用操作的數目。

不知道有沒有人知道,這樣做的原因是歷史因素:

卷積操作相當於wx+b,一般都是wx+b之後就進行啟用運算,也就是σ(wx+b),所以卷積之後緊跟著啟用。

但是如果僅僅是習慣問題的話,那麼改成池化在前也完全可以。

有沒有大神知道真實的原因呢? 

其他池化和啟用函式的組合,看起來對順序會比較敏感,但是哪個更好呢?

更進一步的,還有bn層等等,有沒有論文詳細討論過層的順序問題?