1. 程式人生 > >卷積神經網絡中的參數計算

卷積神經網絡中的參數計算

http cnblogs 大學 卷積神經網絡 nbsp images 技術分享 logs 裏的

舉例1:

  比如輸入是一個32x32x3的圖像,3表示RGB三通道,每個filter/kernel是5x5x3,一個卷積核產生一個feature map,下圖中,有6個5x5x3的卷積核,故輸出6個feature map(activation map),大小即為28x28x6。

技術分享

下圖中,第二層到第三層,其中每個卷積核大小為5x5x6,這裏的6就是28x28x6中的6,兩者需要相同,即每個卷積核的“層數”需要與輸入的“層數”一致。有幾個卷積核,就輸出幾個feature map,下圖中,與第二層作卷積的卷積核有10個,故輸出的第三層有10個通道。

技術分享

舉例2:

  NxN大小的輸入(暫時不考慮通道數),與FxF大小的卷積核(暫時不考慮個數)做卷積,那麽輸出大小為多大?計算公式為:(N - F) / stride + 1,其中stride為做卷積是相鄰卷積核的距離。

技術分享

舉例3:

  當輸入為7x7大小,卷積核為3x3,stride=1,在7x7周圍補上一圈0(pad=1個像素),那麽輸出大小為多大?

是7x7。

技術分享

舉例3:

輸入為32x32x3,卷積核大小為5x5,總共有10個卷積核,做卷積的時候stride=1,pad=2,那麽這一層總共含有多少參數?

每個卷積核含有的參數個數為:5*5*3 + 1 = 76,其中1是偏置bias,由於有10個卷積核,故總參數為76*10=760。

技術分享

總結:

技術分享

其中,卷積核的數量K一般是2的整數次冪,這是因為計算方便(計算機計算2^n比較快)

關於池化層的參數計算:

技術分享

技術分享

技術分享

參考:

斯坦福大學CS231N課程PPT

http://cs231n.stanford.edu/slides/2016/winter1516_lecture7.pdf

卷積神經網絡中的參數計算