吳恩達深度學習筆記01——神經網絡和深度學習3深層神經網絡

一、深層網絡中的前向和反向傳播

1、前向傳播

在這裏插入圖片描述

2、反向傳播

在這裏插入圖片描述

3、搭建深層神經網絡塊

在這裏插入圖片描述
神經網絡的一步訓練(一個梯度下降循環),包含了從 a[0](即 x)經過一系列正向傳播計算得到 y^ (即 a[l])。然後再計算 da[l],開始實現反向傳播,用鏈式法則得到所有的導數項,W 和 b 也會在每一層被更新。

在代碼實現時,可以將正向傳播過程中計算出來的 z 值緩存下來,待到反向傳播計算時使用。

補充一張從 Hinton、LeCun 和 Bengio 寫的深度學習綜述中摘下來的圖,有助於理解整個過程:
在這裏插入圖片描述




二、矩陣的維度

在這裏插入圖片描述
對於 Z、a,向量化之前有:
在這裏插入圖片描述
而在向量化之後,則有:
在這裏插入圖片描述
在計算反向傳播時,dZ、dA 的維度和 Z、A 是一樣的。




三、使用深層表示的原因

對於人臉識別,神經網絡的第一層從原始圖片中提取人臉的輪廓和邊緣,每個神經元學習到不同邊緣的信息;網絡的第二層將第一層學得的邊緣信息組合起來,形成人臉的一些局部的特徵,例如眼睛、嘴巴等;後面的幾層逐步將上一層的特徵組合起來,形成人臉的模樣。隨着神經網絡層數的增加,特徵也從原來的邊緣逐步擴展爲人臉的整體,由整體到局部,由簡單到複雜。層數越多,那麼模型學習的效果也就越精確。

同樣的,對於語音識別,第一層神經網絡可以學習到語言發音的一些音調,後面更深層次的網絡可以檢測到基本的音素,再到單詞信息,逐漸加深可以學到短語、句子。

通過例子可以看到,隨着神經網絡的深度加深,模型能學習到更加複雜的問題,功能也更加強大。




四、參數和超參數

參數即是我們在過程中想要模型學習到的信息(模型自己能計算出來的),例如 W[l],b[l]。而超參數(hyper parameters)即爲控制參數的輸出值的一些網絡信息(需要人經驗判斷)。超參數的改變會導致最終得到的參數 W[l],b[l] 的改變。

典型的超參數有:

  • 學習速率:α
  • 迭代次數:N
  • 隱藏層的層數:L
  • 每一層的神經元個數:n[1],n[2],…
  • 激活函數 g(z) 的選擇

當開發新應用時,預先很難準確知道超參數的最優值應該是什麼。因此,通常需要嘗試很多不同的值。應用深度學習領域是一個很大程度基於經驗的過程。

轉自:http://kyonhuang.top/Andrew-Ng-Deep-Learning-notes/#/Neural_Networks_and_Deep_Learning/深層神經網絡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章