深度學習入門課程筆記 神經網絡
神經網絡:

首先咱們先來回顧一下之前課程所講前向傳播和反向傳播知識點,前往傳播 就是從輸入X到最終得到LOSS值的過程,反向傳播 是從最終的LOSS值經過梯度的傳播最終計算出權重矩陣W中所有參數對于最終的LOSS值影響大小,更新參數 就是通過不同權重參數對終LOSS值的影響來調節參數,使得咱們的參數矩陣W能夠更擬合咱們的數據,也就是使得最終的LOSS值能夠降低。這一系列的過程就是相當于完成了一次迭代
神經網絡本質
下面咱們就來看看神經網絡跟傳統的線性分類到底有什么區別,從公式中我們可以看出,一個最明顯的區別就是神經網絡函數多了一個MAX()計算 也就是說我們咱們現在的函數公式變成了一個非線性的操作,也正是這種非線性的函數使得神經網絡相比于傳統的線性分類更強大,因為非線性可以使得咱們的函數去擬合更復雜的數據。
神經網絡結構
接下來咱們就來看一下神經網絡的結構,從途中可以看出,神經網絡是一個層次的結構
輸入層 也就是代表著數據源
隱層 這個大家理解起來可能有些費勁,咱們可以把隱層當成是中間層也就是在這里對輸入數據進行了非線性的變換
激活函數 它是跟隱層在一起的,比如這個MAX()函數就是一個激活函數,正是因為激活函數的存在才使得整個神經網絡呈現出一種非線性的模式。
輸出層 這個就是最終得到的結果了,比如一個分類任務,最終的輸出就是每個類別的概率值了
我們可以看到對應于多層的網絡也就是有多個隱層,相當于咱們又加了一層非線性函數MAX() ,這個理解起來很簡單了吧,對于深層網絡來說,它具有更好的非線性也就是說網絡的層數越深就更能夠去擬合更復雜的數據。
生物學上的結構
看過很多講解都提高了把神經網絡和人類的腦結構相對比,我覺得這有些增加了游戲難度,因為很多同學本身對生物學結構就不是很清楚,又搞了這多名詞出來,理解起來好像更費勁了,這里咱們就不說生物學結構了,直接看右半部分,和之前的線性分類***的區別就是我們多了一個activation function 也就是咱們剛才所說的激活函數,可以說正是激活函數的存在使得整個神經網絡變得強大起來。
神經元
那么神經網絡能表達多復雜的數據信息是由什么決定的呢?這個例子給了咱們很好的解釋,神經網絡是表達能力是由神經元的個數,也就是每一個隱層所函數神經元的個數來決定的,神經元越多,層數越深表達的能力也就越強,理論上我們認為神經元越多越好!
防止過擬合
咱們剛才說了神經網絡具有很強的表達能力,但是也很危險的,就是說神經網絡很容易發成過擬合現象,因為咱們有大量的神經元也就是導致了我們需要的參數是極其多的,那么該怎么辦呢?最直接的方法就是加上正則化項,它可以使得咱們的神經網絡不至于過擬合很嚴重也是咱們訓練神經網絡必做的一項,圖中顯示了正則化的作用!
【本文是51CTO專欄作者唐宇迪的原創稿件,轉載請注明出處】