目錄
如果這篇文章對你有一點小小的幫助,請給個關注,點個贊喔~我會非常開心的~
花書+吳恩達深度學習(十二)卷積神經網絡 CNN 之全連接層
花書+吳恩達深度學習(十三)卷積神經網絡 CNN 之運算過程(前向傳播、反向傳播)
花書+吳恩達深度學習(十四)卷積神經網絡 CNN 之經典案例(LetNet-5, AlexNet, VGG-16, ResNet, Inception Network)
0. 前言
本篇文章主要介紹卷積神經網絡的運算過程。
整體卷積神經網絡的運算趨勢,是行和列逐漸減小,通道數逐漸增加。
1. 單層卷積網絡
此處以單個樣本爲例子。
- 原始圖像(上一層輸出)作爲 。
- 每一個過濾器的參數疊加在一起,組成這一層的權重 。
- 爲每個過濾器加上偏差,組成偏差 ,在卷積之後的 2D 圖像的每一個像素上加上偏差。
- 通過激活函數 ,激活函數同樣針對 2D 圖像的每一個像素。
- 則,每一個過濾器計算出來爲 2D 圖像,多個過濾器組合起來作爲 3D 圖像,下一層的輸入。
2. 各參數維度
3. CNN 前向傳播反向傳播
對於每一個 3D 圖像,可以看成是,行(長),列(寬),通道(高)。
定義一個 4 維張量 (也就是每一層的權重 ), 表示位於,輸出通道 (這層第 個過濾器,輸出的第 個通道),輸入通道 (每個過濾器的第 個通道), 行, 列的值。
定義一個 3 維張量 (也就是輸入數據 ), 表示位於,通道 (上層的第 個過濾器,輸入的第 個通道), 行, 列的值。
定義一個 3 維張量 (也就是輸出的 3D 數據), 表示位於,通道 (這層的第 個過濾器,輸出的第 個通道), 行, 列的值。
則前向傳播的卷積運算表示爲:
在反向傳播中,對 的求梯度爲:
使用梯度下降,對權重 求梯度爲:
如果不是神經網絡的第一層,則需要對輸入 求梯度:
如果這篇文章對你有一點小小的幫助,請給個關注,點個贊喔~我會非常開心的~