1. 程式人生 > >卷積神經網路筆記(一)

卷積神經網路筆記(一)

1.採用小尺寸卷積,如3X3,1X1,假設所有的資料有C個通道,那麼單獨7*7卷積層將含有C*(7*7*C)=49C^2個引數,而3個3*3的卷積層僅有3*(C*(3*3*C))=27C^2個引數。假設所有的資料有C個通道,這句話的意思是說卷積前後都是C個特徵圖,即有C個卷積核。對於3X3的卷積核,則為連續三層,每層C個。
2.函式的飽和度:指輸入與輸出的關係,如果輸出不變,將導致梯度為0(附加效果),可以理解為飽和區域的梯度為0,非飽和區域的梯度不總是接近0(可以恆為n),如sigmoid函式與relu函式。
3.學習率
loss不下降,學習率太小 
loss爆炸,學習率太大,出現Nan時,就是學習率太大 
4.在訓練模型的時候,通常會遇到這種情況:我們平衡模型的訓練速度和損失(loss)後選擇了相對合適的學習率(learning rate),但是訓練集的損失下降到一定的程度後就不在下降了,比如training loss一直在0.7和0.9之間來回震盪,不能進一步下降。如下圖所示(借圖一用):

![image.png](https://upload-images.jianshu.io/upload_images/8035477-6b0261097f917791.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


  遇到這種情況通常可以通過適當降低學習率(learning rate)來實現。但是,降低學習率又會延長訓練所需的時間。
  學習率衰減(learning rate decay)就是一種可以平衡這兩者之間矛盾的解決方案。學習率衰減的基本思想是:學習率隨著訓練的進行逐漸衰減。
  學習率衰減基本有兩種實現方法:
            1.  線性衰減。例如:每過5個epochs學習率減半
            2.  指數衰減。例如:每過5個epochs將學習率乘以0.1
5.在計算誤差的時候,不直接使用差值,而使用差值的平方和(可以排除符號的干擾,僅關注差異)(借圖一用)
                                                ![image.png](https://upload-images.jianshu.io/upload_images/8035477-40381126e61d6d1b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

除以2是為了後面求梯度的時候方便,除以m是做一個平均的量化。上面的式子稱為均方差