以下內容爲個人的看法:
順序:卷積---池化---激勵函數
我們知道卷積肯定是在第一層,畢竟 σ(wx+b),wx+b 就是卷積操作,那爲什麼池化要在卷積之前呢?
原因解析:假設激勵函數是 relu 激勵函數:
假設我們卷積後的值爲:3,-2,1,2 ;
對於 avg_poolling :
先 relu 再池化:當經過 relu 函數之後,得到的值爲:relu(3) = 3,relu(-2) = 0,relu(1) = 1,relu(2) = 2,
則接下來經過 avg_poolling 結果爲 ( 3+0+1+2 ) / 4 = 7/4
先池化在 relu: 經過 avg_poolling 結果爲 (3-2+1+2)/4 = 4/4 = 1, 再經過 relu 函數,最終結果爲 relu (1) = 1
我們看到,其實這兩種操作後,得到的結果是不一樣的。但是如果我們先 relu 再池化,會將卷積後的第二個值 -2 給過濾掉,當我們緊接着做 avg_poolling 時,可以認爲丟失了一些信息。所以我們選擇先池化再接激勵函數。
對於 MAX_poolling,其實先池化再接激勵函數,或者先激勵函數再接池化是一樣的。兩個操作是可以交換的。
先 relu 再池化:當經過 relu 函數之後,得到的值爲:3,0,1,2,再經過 MAX_poolling 結果爲 MAX(3,0,1,2) = 3
先池化在 relu: 經過 MAX_poolling 結果爲MAX (3,-2,1,2) = 3, 再經過 relu 函數,最終結果爲 relu (3) = 3
完!