1. 程式人生 > >Feed Forward and Backward Run in Deep Convolution Neural Network 論文閱讀筆記

Feed Forward and Backward Run in Deep Convolution Neural Network 論文閱讀筆記

徒手實現CNN:綜述論文詳解卷積網路的數學本質


Abstract

對卷積網路的數學本質和過程仍然不是太清楚,這也就是本論文的目的。

  • 我們使用灰度圖作為輸入資訊影象,
  • ReLU 和 Sigmoid 啟用函式構建卷積網路的非線性屬性,
  • 交叉熵損失函式用於計算預測值與真實值之間的距離。

1 Introduction


2 Architecture

這裡寫圖片描述

2.1 卷積層

reference
* [CNN學習筆記]http://blog.csdn.net/u010067397/article/details/78881614

  • 卷積層是一組平行的特徵圖(feature map),它通過在輸入影象上滑動不同的卷積核並執行一定的運算而組成。
  • 一張特徵圖中的所有元素都是通過一個卷積核計算得出的,也即一張特徵圖共享了相同的權重和偏置項。

這裡寫圖片描述

2.2 啟用函式

  • 啟用函式定義了給定一組輸入後神經元的輸出。

這裡寫圖片描述

2.3 池化層

reference
深度學習筆記5:池化層的實現

  • 池化層是指下采樣層,它把前層神經元的一個叢集的輸出與下層單個神經元相結合。
  • 池化層有助於減少引數的數量並避免過擬合。

這裡寫圖片描述

2.4 全連線層

2.5 損失函式

  • 損失函式用於測量模型效能以及實際值 y_i 和預測值 y hat 之間的不一致性。

這裡寫圖片描述

2.5.1 均方誤差

  • MSE 不好的地方在於,當它和 Sigmoid 啟用函式一起出現時,可能會出現學習速度緩慢(收斂變慢)的情況。

這裡寫圖片描述

2.5.2 Mean Squared Logarithmic Error

這裡寫圖片描述

2.5.3 L2 Loss function

這裡寫圖片描述

2.5.4 L1 Loss function

這裡寫圖片描述

2.5.5 Mean Absolute Error

這裡寫圖片描述

2.5.6 Mean Absolute Percentage Error

這裡寫圖片描述

  • 缺點: 對於類標為0的點不能用。

2.5.7 交叉熵

這裡寫圖片描述


3 卷積網路的學習

3.1 前饋推斷過程

這裡寫圖片描述

  • 卷積網路的前饋傳播過程可以從數學上解釋為將輸入值與隨機初始化的權重相乘,然後每個神經元再加上一個初始偏置項,最後對所有神經元的所有乘積求和以饋送到啟用函式中,啟用函式對輸入值進行非線性變換並輸出啟用結果。

這裡寫圖片描述

I 為影象, K為卷積核。

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

3.2 反饋過程

reference
神經網路之梯度下降與反向傳播(上)
神經網路之梯度下降與反向傳播(下)

一下推導都是0-1預測

  • 在反饋的過程中,損失函式的梯度計算:最後一層的首先計算,第一層的最後計算。
  • 一個層的偏導數在計算另一個層的時由於鏈式法則會被重用,這使得計算梯度在每一層更加有效。
  • 模型的表現隨著Loss的減小而變得更好。

在反饋的過程中,我們需要更新 W, b,K這些引數。

這裡寫圖片描述

對最後一層偏導數,也就是輸出求導

這裡寫圖片描述

對 W 求導

這裡寫圖片描述

這裡寫圖片描述


4 Conclusion

  • 我們介紹了CNN結構, 包括各種啟用函式,損失函式。
  • 一步一步解釋前饋和反饋過程。
  • 為了數學公式的方便,我們使用灰度圖、卷積核步長設定為1,補邊為0,使用非線性形式在中間層,最後一層使用ReLU和sigmoid啟用函式。
  • 使用交叉熵評估模型。
  • 大量優化和正則方式最小化損失,增加學習率或者避免過擬合
  • 本文嘗試使用數學角度解釋CNN。