關於深度學習中卷積核操做

直接舉例進行說明輸出圖片的長和寬。ide

輸入照片爲:32*32*3,函數

這是用一個Filter獲得的結果,即便一個activation map。(filter 總會自動擴充到和輸入照片同樣的depth)。3d

當咱們用6個5*5的Filter時,咱們將會獲得6個分開的activation maps,如圖所示:blog

獲得的「新照片」的大小爲:28*28*6.圖片

其實,每一個卷積層以後都會跟一個相應的激活函數(activation functions):input

微觀上,假設如今input爲7*7,Filter尺寸爲3*3,output過程以下所示:io

最終獲得一個5*5的output。function

假設,input爲7*7,Filter尺寸爲3*3,stride(步長)爲2,則output過程以下所示:map

最終獲得一個3*3的output。im

注:在這個例子中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

相關文章
相關標籤/搜索