【吳恩達深度學習】【神經網絡和深度學習】 第三章 第九節 神經網絡的梯度下降法

一、梯度下降法

有關什麼是梯度下降法,這在之前幾周的學習中我們已經掌握了,這裏簡要分析。

對於一個函數,我們在某一個點的next操作可以認爲是跟這個點的導數有關的,因爲導數會指引我們走向極值。然後我們每次根據這個點的導數向前走一步的過程中,我們用一個被稱作學習率的東西來確定我們的步長。

這種方法我們稱之爲梯度下降法。、

 

二、淺層神經網絡的梯度下降法

淺層神經網絡中的梯度下降法和之前提到的那種沒有本質上的區別,都是求導然後計算下一個值,這樣反覆迭代直到我們的cost函數達到很好的表現值。

而對於求導,這就是之前提到的反向傳播,按照中國大學通俗的說法就是求導的鏈式法則,只要我們把輸入層的值帶入到輸出層的導數函數中,一層層的推導就好了。

注意到這裏的推導是具有模式化性質的,所以我們可以用同一種方式去處理每一層的導數,也就是說,我們可以用一個矩陣乘法寫出輸出層某個神經元關於輸出層的導數,最終的那個結果矩陣就是係數矩陣。

 

三、聽課的想法

可以說這一週的所有課程都是爲這節課打下的基礎,這節課是淺層神經網絡的核心。

而神經網絡的難度在學習成本這一塊其實不大,主要在編程難度和調參。

顯然,對於一個神經網絡來說調參的難度是極大的,這需要有敏銳的觀察力 過人的耐心 。。。(扯不下去了,反正就是很難啦)

在學mooc的時候想象了一下可能遇到的麻煩,首先就是整個神經網絡的模型搭建,需要有多少個隱藏層,需要採用哪種激活函數,這個都需要大量的實驗。

其次就是一些符號的問題,幾乎所有的地方都能轉化成矩陣計算,不管是一組數據內部還是數據之間都有矩陣計算,這對於我們編程的時候想的很清楚(具體有關編程的細節可能會在之後的blog中提到,這篇應該是我寫完這門課的作業之後的一個總結)

 

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