最近復習了一下卷積神經網絡,好久沒看都搞忘了。
計算特征圖的公式如下:
其中n表示原來圖像的大小,p表示padding的大小,f表示filter的大小,s表示stride,計算完成之后向下取整,就可以了。這里記錄一下這個公式,以免自己搞忘了。同時,還有一個容易搞忘的地方是,在圖像的卷積當中,一組filter的channel數量一定和圖像的channel相同,但是我們可以擁有多組filter,每多一組filter,就多出一個特征圖,如下圖所示:
還有一個容易搞錯的點,也是很多企業常見的面試題目,如下:
問一共有10個filter,每個都是3*3*3的大小,對於這層卷積神經網絡而言,一共有多少個參數?由於我們只考慮了這層神經網絡,不管輸入圖像的大小是多少,因此其參數量的大小為:
(3*3*3+1)*10=280個參數。為什么要在3*3*3后面+1?
因為每做一次cnn,我們還有一個偏置項,然后再進行relu,或者tanh。這個偏置項b,也要考慮到我們的參數計算當中。
同時,還有一個是用來計算(avg)max-pooling的一個公式,如下:
nh表示原始圖像的高度,nw表示原始圖像的寬度,s表示stride,f表示要想得到pool layer所需要的filter的size。因為在pooling的過程當中,也需要有一個filter,和convolution的過程是有點類似的。