1. 引言
由淺到深的神經(jīng)網(wǎng)絡(luò)。

由淺到深的神經(jīng)網(wǎng)絡(luò)示意圖
在實際應(yīng)用中,是無法事先知道神經(jīng)網(wǎng)絡(luò)需要幾層的,可以將層數(shù)當(dāng)作超參數(shù),通過交叉驗證來確定需要幾層。
- 符號標(biāo)法與之前相同,不同的是多了一個表示層數(shù)的符號
。如下圖。
深(四)層神經(jīng)網(wǎng)絡(luò)及符號示意圖
2. 正向傳播
2.1 一個樣本
與單隱層類似,可以得到如下的前向傳播公式
2.2
個樣本的訓(xùn)練集
所以無論是單樣本還是訓(xùn)練集,都可以寫成:
for i=1 to m:
2.3 矩陣維數(shù)檢查
-
: 要Debug程序,就要仔細(xì)系統(tǒng)的思考矩陣的維數(shù)?。?!
- 在向量化過程不會改變維數(shù)的參數(shù)是
.
的維數(shù)是
,
的維數(shù)是
。函數(shù)的導(dǎo)數(shù)與函數(shù)有相同的維數(shù),所以
的維數(shù)與
的維數(shù)相同也是
。所以
的維數(shù)與
的維數(shù)相同也是
。該維數(shù)在多個樣本的向量化過程中不會發(fā)生變化,即與樣本個數(shù)無關(guān)。
- 在向量化過程會改變維數(shù)的參數(shù)是
一個樣本時,的維數(shù)是
,
的維數(shù)是
,
的維數(shù)是
。
個樣本向量化之后變成了,
的維數(shù)是
,
的維數(shù)是
,
的維數(shù)是
。同理,
的維數(shù)也是
。
3. 為什么使用深層表示
- 神經(jīng)網(wǎng)絡(luò)可以不大(小或者不大指的是隱藏單元的數(shù)量,即每層的單元數(shù)),但得有深度,得有比較多的隱藏層。
- 以人臉檢測,人臉識別為例,深度神經(jīng)網(wǎng)絡(luò)先識別簡單特征,然后組合起來識別較復(fù)雜的特征,由簡單到復(fù)雜。
- 神經(jīng)網(wǎng)絡(luò)有效的另一種說法,與電路元件依靠不同的邏輯門計算函數(shù)相似,如果不用多個隱層,那么單元數(shù)就會呈指數(shù)增長。如下圖所示,左側(cè)只需要
個隱層,右側(cè)需要
即
個隱藏單元。
隱層數(shù)與節(jié)點(diǎn)數(shù)示意圖 - 深度學(xué)習(xí)其實就是多隱層神經(jīng)網(wǎng)絡(luò),是一種名稱的再包裝。
- 解決實際問題時,不必要一上來就用深度神經(jīng)網(wǎng)絡(luò),可以將隱層數(shù)看作是超參數(shù),從Logistic回歸開始,到一到二個隱層的神經(jīng)網(wǎng)絡(luò),慢慢調(diào)整,找到最佳效果。雖然不能否認(rèn)的是很多問題確實是多隱層神經(jīng)網(wǎng)絡(luò)的效果更好。
4. 搭建深層神經(jīng)網(wǎng)絡(luò)
如下圖所示的神經(jīng)網(wǎng)絡(luò),第層需要的計算有:

示意神經(jīng)網(wǎng)絡(luò)
- 前向傳播
- 輸入:
- 輸出
;
- 計算過程:
- 緩存:
- 輸入:
- 后向傳播
- 輸入:
- 輸出:
- 計算過程:為了簡便說明,只給出相鄰的兩步計算公式,以看清楚計算過程
根據(jù)公式
不妨假設(shè)就是輸出
,則有損失函數(shù)
,從而可以得到
,由第
步的迭代公式,可以計算
,進(jìn)而計算
,并可看出,每一步如果像計算導(dǎo)數(shù),都得先有對
的導(dǎo)數(shù)
,再進(jìn)入第
步迭代,依次前推。
- 緩存:
即如下圖所示
第l層的計算示意圖
整個神經(jīng)網(wǎng)絡(luò)的計算如下圖:
神經(jīng)網(wǎng)絡(luò)一個梯度下降的計算示意圖
- 輸入:
- 前向與后向傳播的計算公式:
- 前向傳播
- 后向傳播
.
.
.
- 若做的是二分類問題,那么
是sigmoid函數(shù),從而有
。
- 前向傳播
- 算法的復(fù)雜性來源于數(shù)據(jù),而不是代碼!
5. 參數(shù)與超參數(shù)
- 參數(shù)的參數(shù)就是超參數(shù)。
- 一個原則: Try!Try!Try!



