直接舉例進行說明輸出圖片的長和寬。
輸入照片為:32*32*3,

這是用一個Filter得到的結果,即使一個activation map。(filter 總會自動擴充到和輸入照片一樣的depth)。
當我們用6個5*5的Filter時,我們將會得到6個分開的activation maps,如圖所示:

得到的“新照片”的大小為:28*28*6.
其實,每個卷積層之后都會跟一個相應的激活函數(activation functions):

微觀上,假設現在input為7*7,Filter尺寸為3*3,output過程如下所示:



最終得到一個5*5的output。
假設,input為7*7,Filter尺寸為3*3,stride(步長)為2,則output過程如下所示:


最終得到一個3*3的output。
注:在這個例子中stride不能為3,因為那樣就越界了。
總的來說
Output size=(N-F)/stride +1
當有填充(pad)時,例如對一個input為7*7進行pad=1填充,Filter為3*3,stride=1,會得到一個7*7的output。

Output size=(N-F+2*pad)/stride +1
注:0填充(pad)的主要目的是因為我們在前面的圖中所示的那樣,一直用5*5的Filter進行卷積,會導致體積收縮的太快,不利於特征的提取。
舉例說明:


在這里要注意一下1*1的卷積核,為什么呢?
舉例:一個56*56*64的input,用32個1*1的卷積核進行卷積(每一個卷積核的尺寸為1*1*64,執行64維的點乘操作),將得到一個56*56*32的output,看到輸出的depth減少了,也就是降維,那么parameters也會相應的減少。
下面介紹一下Pooling(池化)操作:

將represention變小,易於操作和控制,對每一個activation map單獨進行操作。
用的最多的是最大池化(MAX POOLING):

Output size=(N-F)/S +1
