1. 程式人生 > >深度學習筆記1-神經網路

深度學習筆記1-神經網路

深度學習筆記1-神經網路

  1. 神經元與多層網路
    神經網路中最基本的成分是神經元模型,目前基本上用的都是“M-P神經元模型”。在這個模型中,神經元接收到來自 n n 個其它神經元傳遞過來的輸入訊號,這些輸入訊號通過帶權值的連結進行傳遞,神經元接收到的總輸入值將與神經元的閾值進行比較,然後通過“啟用函式”處理以產生神經元的輸出。
    在這裡插入圖片描述
    啟用函式可以是階躍函式,它將輸入值對映為輸出為“0”或“1”。但階躍函式具有不連續、不光滑等性質,因此常用Sigmoid函式作為啟用函式。它可將輸入值擠壓到(0,1)輸出值範圍內。
    在這裡插入圖片描述


    把許多個這樣的神經元按一定的層次結構連線起來,就得到了神經網路
    在前面有講過感知機,神經元可用感知機進行數學描述。感知機能實現邏輯與、或、非運算,但這些都是線性可分問題,對於非線性可分問題,則需要多層神經元。多層神經元則會包含隱含層,隱含層能對訊號進行加工。

  2. 誤差逆傳播演算法(BP)
    BP演算法是基於梯度下降策略鏈式法則,以目標的負梯度方向對引數進行調整。關於BP演算法的理解,可以參看B站上人工智慧中的視覺識別與機器學習(李飛飛)這門課的第8小節,課程裡會通過例子詳細介紹BP的來龍去脈。除此之外,該門課程還會介紹很多深度學習與影象方面的知識,有興趣的同學強烈推薦去學習學習。
    BP演算法會包含以下操作:將輸入訊號逐層前傳,直到產生輸出層的結果;然後計算輸出層的誤差,再將誤差逆向傳播至隱含層神經元,最後根據隱含層神經元的誤差來對連線權和閾值進行調整。該迭代過程迴圈進行,直到達到某些停止條件。此即為“標準BP演算法”,每次僅針對一個訓練樣例更新連線權和閾值。還有一種“累積BP演算法”,它在讀取整個訓練集D一遍後才對引數進行更新,其引數更新頻率低很多。標準BP演算法和累積BP演算法的區別類似於隨機梯度下降與標準梯度下降的區別



    BP神經網路能以任意精度逼近任意複雜度的連續函式。正是由於其強大的表示能力,BP神經網路經常會過擬合,其訓練誤差不斷降低,測試誤差卻可能上升。有兩種策略常用來緩解BP網路的過擬合:(1)早停:若訓練集誤差降低但測試集誤差上升,則停止訓練,同時返回具有最小測試誤差的連線權和閾值;(2)正則化:在誤差目標函式中增加一個用於描述網路複雜度的部分。

  3. 全域性最小和區域性最小
    在現實任務中,可以採用以下策略來試圖“跳出”區域性極小,從而進一步接近全域性最小:
    (1)以多組不同引數值初始化多個神經網路,按標準方法訓練後,取其中誤差最小的解;
    (2)使用模擬退火技術:以一定概率接受比當前解更差的結果;
    (3)相較於標準梯度下降,使用隨機梯度下降。

參考:
周志華《機器學習》