多層前饋神經網絡又名多層前饋全互連接網。多層的意思是除了輸入層和輸出層以外,還存在一個或者多個隱含層。前饋的意思是外界信號從輸入層經由隱含層到達輸出層,不存在信號的逆向傳播。全互連接是指每層神經元與下層神經元全互連接,神經元之間不存在同層連接,也不存在跨層連接。
多層前饋網的結構圖
其中輸入層神經元接收外界輸入,隱含層與輸出層神經元對信號進行加工,最終結果由輸出層神經元輸出。也就是說,輸入層神經元只是接受輸入,不進行函數處理,隱含層和輸出層才進行函數處理。
神經網絡參數學習就是根據訓練數據來調整神經元之間的連接權以及每個功能神經元的閾值。換言之,神經網絡學到的東西都存放在連接權和閾值中。
多層前饋神經網絡的學習
多層前饋神經網絡的表達能力比單層感知機要強得多。要學習多層前饋神經網絡,單層感知機的學習規則是遠遠不夠的,需要更強大的學習算法。誤差逆傳播算法就是其中最杰出的代表,它是迄今最成功的神經網絡學習算法。
現實任務中使用神經網絡時多層神經網絡bp算法權值更新過程,大多是在使用BP算法進行訓練。需要指出的是,BP算法不僅可用于多層前饋神經網絡多層神經網絡bp算法權值更新過程,還可用于其他類型的神經網絡,比如遞歸神經網絡。但通常說BP網絡的時候一般是指用BP算法訓練的多層前饋神經網絡。
BP算法
BP算法的基本過程
1)信號的前向傳播階段:在這個階段,要求計算出隱含層和輸出層中每一神經元的網絡凈輸入和網絡輸出。
2)誤差的逆向傳播階段:在這個階段,要求計算出輸出層和隱含層中每一神經元的誤差。
3)權值和閾值的更新階段:在這個階段,要求更新所有連接權的權值和所有M-P神經元的閾值。