神經網絡概述(BP推導)&CNN
神經網絡
神經元模型
基本結構:
BP網絡
三層神經網絡的推導
-
標準的推導
-
符號說明:
- 表示到的權重矩陣,維數爲:的節點數的節點數
- 表示激活函數
- 表示的是層的輸入表示的輸出(即經過了激活函數)
- 輸入爲一個樣本(個屬性)
-
前向計算(以三層網絡爲例):
-
-
-
-
更加普遍的:
-
假設損失函數爲
-
-
反向(梯度計算:矩陣形式):
- 每一層的梯度:
- 每一層的權重的梯度:
- 每一層的偏置的梯度:
-
一些說明:
-
最外層(包括損失函數的要單獨處理)
-
之對應元素相乘
-
如果是對於每一個元素的操作,則對於內部的求導最終得到的矩陣維數不變。
-
如果原本前向計算的時候是:此時維數與開始相比是轉置關係,同時最終求導得到的結果應該是整體轉置。
-
-
一些推導(根據單個元素的計算)
- 對於層的個節點:
- 由此寫出矩陣形式就是c.ii
-
學習算法流程:
卷積神經網絡
基本結構
- 卷積
- 池化
- 全連接
卷積神經網絡的計算
-
上面的動圖展示了一個的核是如何操作的,實際上就是對應元素相乘再求和
-
一些理解:
-
實際上這裏的濾波可以類比簡單信號的高頻低頻濾波,實際上都是對某一特定的信號有較高/較低的輸出。(同神經網絡的激活)
-
一層一層的卷積實際上也是前面的實現低階的特徵,後面越來越高
-
在圖像中
- rgb圖中:width*height*depth(channel =3 some times)
- 因爲需要圖像保持不變性(一個圖片中的特質出現在上面或者下面應該都能夠識別)-卷積神經網絡能夠不同位置共享權重(如下圖)
-
-
對於邊緣的處理(希望能夠保持和原本的圖像數據一致):zero padding 操作:即在卷積之前先進行以0填充周圍一圈。
-
計算說明:原尺寸卷積核 如果不進行填充,卷積後: 若先填充層則,卷積後 只需滿足即可使前後尺寸不變
-
valid卷積是不填充,same是填充(具體實現中)
-
多個filters時:提取多個特徵(輸出不再是depth=1)
-
pooling:
-