CNN學習筆記

摘要:

本文用於記載學習CNN過程的一些心得~~歡迎大家輕拍~~~

1.在CNN中希望保持卷積後的圖像與原始圖像的大小相同,需要如何進行填補?

假設原圖像大小爲了N,濾波器尺寸爲F,步長爲s。
當s爲1的時候:
需要進行zero padding的個數P與原始圖像大小無關,只與濾波器的大小F有關。
具體表現爲:P=(F-1)/2。(這個自己把公式寫一下就明白了)
當s不爲1的時候,其實是與原始圖像大小是有關係的。
padding的目的其實在於保持卷積前後的圖像大小保持一致。(否則每次做卷積,圖像尺寸都會不斷的縮小)


2.在CNN中,假設輸入圖像尺寸是32*32*3,有10個卷積核,每個卷積核的大小爲5*5,請問此卷積層有多少個參數?

每個卷積核有3*5*5+1=76個參數(不要忘記每個卷積核有一個偏置項)
總共10個卷積核,故一共760個參數。

3.1*1的卷積核的作用

1.改變維度。
2.對上一層的feature map的線性疊加。

4.池化層的作用:

池化層的作用是爲了做下采樣,減少後面參數的學習。
常用的池化是max pooling。
把池化看成一種下采樣的行爲,下采樣之後希望不會丟失太多原來的信息。那麼max pooling就能夠很好地做到這一點,因爲pooling的對象是卷積之後,再經過神經元的激活的數值。這個數值的大小直接反應了神經元激活的程度,數值越大,激活的程度也就越高,直觀上這些點的信息量也越豐富。採用max pooling的時候就能夠把這些激活程度大的神經元挑出來。
而比較於averge pooling(平均池化),受激活程度大的神經元可能會被一些0激活的神經元所降權。

5.池化的作用時下采樣,卷積也可以達到下采樣,那麼能否不要池化?

可以的,有一些網絡就是沒有池化層,全卷積神經網絡。


6.卷積之後的圖像尺寸計算公式以及池化的公式。

池化:
卷積:




7.卷積層中是如何計算的?


簡單點說就是卷積核中的權重與對應區域的像素點相乘再相加(是在所有channel上做的,並非一個平面上),之後再經過神經元(激活函數)的映射。

8.卷積之後圖像的深度由什麼參數決定?

由所使用的卷積核個數決定。

9.CNN的網絡結構一般是如何組成的?


意思就是:多個{多個{卷積-神經元激活(ReLu)}之後跟一個池化}再跟多個全連接層,最後經過SoftMax輸出。


9.什麼是feature map?

其實所謂的feature map就是卷積之後的結果。更具體來說就是,一張圖(矩陣)經過卷積核(kernal)卷積運算之後得到的一張新的圖(矩陣),就是feature map。

10.什麼是drop-out?

在訓練階段隨機丟棄一定比例的神經元。
特別注意的是,每一次迭代訓練都會進行新的drop-out,比如訓練迭代次數100次時,會進行100次的drop-out,因此從某種意義上叫這100次訓練的都是不完全一樣的網絡。

11.爲什麼L1可以減少神經網絡過擬合?

模型過擬合一個很重要的原因就是模型參數太多(容量太大),減少過擬合的方法自然就是減少模型的參數。L1正則能夠參數(權重)趨於0。因此使得模型的參數變少,減少過擬合。

發佈了65 篇原創文章 · 獲贊 317 · 訪問量 67萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章