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ù)!V槭濉蝎宇!
- 在向量化過程不會改變維數(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é)點數(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ù)
瞪醋,從而可以得到
,由第
步的迭代公式装诡,可以計算
趟章,進而計算
,并可看出慎王,每一步如果像計算導(dǎo)數(shù),都得先有對
的導(dǎo)數(shù)
宏侍,再進入第
步迭代赖淤,依次前推。
- 緩存:
即如下圖所示
第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!