1.4)深度学习笔记------深层神经网络
目錄
1)Deep L-layer neural network
2)Forward Propagation in a Deep Network(重點)
3)Getting your matrix dimensions right
4)Building blocks of deep neural networks
5)Forward and Backward Propagation(重點)
6)Parameters vs Hyperparameters
7)Summary
以下筆記是吳恩達老師深度學習課程第一門課第四周的的學習筆記:Deep?Neural Networks。筆記參考了黃海廣博士的內容,在此表示感謝。?
1)Deep L-layer neural network
目前為止我們學習了只有一個單隱藏層的神經網絡的正向傳播和反向傳播,還有邏輯回歸,并且你還學到了向量化,這在隨機初始化權重時是很重要。本周所要做的是把這些概念集合起來,就可以實現你自己的深度神經網絡。
復習下前三周的課的內容:
1.邏輯回歸,結構如下左上圖所示。一個隱藏層的神經網絡,結構如右上圖所示:
神經網絡的層數是這么定義的:從左到右,由0開始定義。如上圖:含有一個隱藏層的是2層神經網絡,2個隱藏層的是3層神經網絡,5個隱藏層的是6層神經網絡。我們在這里再復習一下神經網絡里常見的符號定義。如下圖:
- 總層數 L=4。輸入層是第 0 層,輸出層是第 L 層;
- 表示第 l 層包含的單元個數,,下圖中,標識輸入特征有3個。;
- 第 l 層的輸出用表示,,表示 l 層上的權重;
2)Forward Propagation in a Deep Network(重點)
現在我們來推導四層神經網絡的輸出,我們之前已經推導了 2 層神經網絡的前向傳播,四層神經網路只是在計算上多重復了幾次。跟往常一樣,我們先來看對其中一個訓練樣本??如何應用前向傳播,之后討論向量化的版本。
第一層:
?
第二層:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
以此類推,第四層:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
向量化實現過程可以寫成:
3)Getting your matrix dimensions right
當實現深度神經網絡的時候,其中一個我(這里指的是吳恩達老師)常用的檢查代碼是否有錯的方法就是拿出一張紙過一遍算法中矩陣的維數。 對于單個訓練樣本:
?的維度是 :;
的維度是:?;
其中,,分別表示層所包含單元個數。
同時,?維度相同,?維度相同。且??向量化維度不變 ;但 ?的維度會向量化后發生變化。
對于m個訓練樣本,輸入矩陣X的維度是,向量化后的維度變為:。下圖中的維度也發生了變化,不過這是因為在計算中由于Python的廣播性質而變化的。
4)Building blocks of deep neural networks
這周的前幾個視頻和之前幾周的視頻里,你已經看到過前向反向傳播的基礎組成部分了,它們也是深度神經網絡的重要組成部分,現在我們來用它們建一個深度神經網絡。 如下圖所示,對于第層來說:
前向傳播:
? ? ? ?輸入:;
? ? ? ?輸出;
? ? ? ?參數:;緩存變量:
反向傳播:
? ? ? ?輸入:;
? ? ? ?輸出;
? ? ? ?參數:
剛才這是第l層的流程塊圖,對于神經網絡所有層,整體的流程塊圖正向傳播過程和反向傳播過程如下所示:
5)Forward and Backward Propagation(重點)
前面我們學習了構成深度神經網絡的基本模塊,比如每一層都有前向傳播步驟以及一個相反的反向傳播步驟,這次視頻我們講講如何實現這些步驟。
先講前向傳播,輸入,輸出是,緩存為; 前向傳播的步驟可以寫成 :
向量化實現過程可以寫成:
下面講反向傳播的步驟:
式子(5)由式子(4)帶入式子(1)得到,前四個式子就可實現反向函數。
向量化實現過程可以寫成:
6)Parameters vs Hyperparameters
該部分介紹神經網絡中的參數(parameters)和超參數(hyperparameters)的概念。神經網絡中的參數就是我們熟悉的
和。而超參數則是例如學習速率α,訓練迭代次數N,神經網絡層數L,各層神經元個數,激活函數g(z)等。之所以叫做超參數的原因是它們決定了參數??和?的值。在后面的第二門課我們還將學習其它的超參數,這里先不討論。
如何設置最優的超參數是一個比較困難的、需要經驗知識的問題。通常的做法是選擇超參數一定范圍內的值,分別代入神經網絡進行訓練,測試cost function隨著迭代次數增加的變化,根據結果選擇cost function最小時對應的超參數值。這類似于validation的方法
7)Summary
本節課主要介紹了深層神經網絡,是上一節淺層神經網絡的拓展和歸納。
- 首先,我們介紹了建立神經網絡模型一些常用的標準的標記符號。
- 然后,用流程塊圖的方式詳細推導正向傳播過程和反向傳播過程的輸入輸出和參數表達式。
- 接著,我們介紹了超參數的概念,解釋了超參數與參數的區別。
至此,吳恩達老師深度學習專項課程第一門課《神經網絡與深度學習》學習結束。
總結
以上是生活随笔為你收集整理的1.4)深度学习笔记------深层神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pqtray.exe - pqtray
- 下一篇: 梳理百年深度学习发展史-七月在线机器学习