深度學習之BP算法


 1.介紹

       人工神經網絡(Artificial Neural Network,ANN)簡稱神經網絡(NN),是在現代生物學研究人腦組織所取得成果的基礎上提出來的。人工神經網絡是大腦生物結構的數學建模,有大量功能簡單而具有自適應能力的信息處理單元即人工神經元按照大規模並行方式,通過拓撲結構連接而成。

       能夠自主學習是神經網絡一種最重要也最令人注目的能力。自從20世紀40年代末Hebb提出的學習規則以來,人們相繼提出了各種各樣的學習算法,其中以在1986年Rumelhart等人提出的誤差反向傳播法,即BP(error BackPropagation)算法的影響最為廣泛。BP反向傳播算法在多層神經網絡訓練中扮演着舉足輕重的作用,也是迄今最成功的ANN人工神經網絡學習算法,被廣泛應用於升級網絡的訓練中。

       BP算法是由信號的正向傳播與誤差的反向傳播兩個過程組成。由於多層前饋網絡的訓練經常采用誤差反向傳播算法,人們也常把將多層前饋網絡直接稱為BP網絡。

1)正向傳播:輸入樣本從輸入層進入網絡,經隱層逐層傳遞至輸出層,如果輸出層的實際輸出與期望輸出不同,則轉至誤差反向傳播;如果輸出層的實際輸出與期望輸出相同,結束學習算法。

2)反向傳播:將輸出誤差(期望輸出與實際輸出之差)按原通路反傳計算,通過隱層反向,直至輸入層,在反傳過程中將誤差分攤給各層的各個單元,獲得各層各單元的誤差信號,並將其作為修正各單元權值的根據。這一計算過程使用梯度下降法完成,在不停地調整各層神經元的權值和閾值后,使誤差信號減小到最低限度。

       權值和閾值不斷調整的過程,就是BP網絡的學習與訓練過程。經過信號正向傳播與誤差反向傳播,權值和閾值的調整反復進行,一直進行到預先設定的學習訓練次數,或輸出誤差減小到允許的程度。

       BP算法是一種有監督式的學習算法,其主要思想是:輸入學習樣本,使用反向傳播算法對網絡的權值和閾值進行反復調整訓練,使輸出的向量與期望向量盡可能地接近,當網絡輸出層的誤差平方和小於指定的誤差時,訓練完成,保存網絡的權值和閾值。

2.BP推導

2.1 信號的正向傳播

       以下面的含一個輸入層、兩個隱藏層以及一個輸出層的四層全連接神經網絡舉例,為了推導方便,第一層輸入層含兩個神經元節點,第二層和第三層隱藏層都含三個神經元節點,最后輸出層含兩個神經元節點。在用BP算法訓練神經網絡處理實際問題時,輸入層神經元節點數應當和從一個樣本提取的特征數保持一致,輸出層節點數也應當根據實際情況設置。如用BP算法實現對手寫數字識別分類,從每張圖片樣本提取的特征數都是28*28=764,則網絡輸入層節點數應當設置成784,數字有0~9一共10個類別,那么輸出層節點數應當設置成10,每個節點輸出的數值代表10個數字各自可能的概率。圖中網絡第二層到第四層每個神經元節點的激活函數都采用Sigmoid函數。

 

接下來對符號進行一些說明,

在數據的正向傳播階段,每個神經元節點的輸入都是前一層神經元節點輸出值的加權求和,節點的輸出是當前節點的輸入值經過Sigmoid函數映射后的值。以第二層的第一個神經元節點舉例,

將所有層的神經元節點的輸入輸出以矩陣的形式計算匯總如下即得到BP算法的正向傳播推導 。

2.2 誤差的反向傳播

       樣本特征數據經過正向傳播以后,神經網絡得到輸出,輸出的是對特征數據的函數映射。值得一提的是,在神經網絡中,神經元節點之間的連接權重以及節點的閾值是隨機初始化的,也就是說神經網絡的輸出結果是無法確定的,有可能與我們所期待的結果輸出相差甚遠。僅僅只能對樣本特征數據進行隨機變換對於一個能夠自主學習的神經網絡是遠遠不夠的!為了能讓神經網絡能夠自主學習,可以將網絡輸出結果與我們期待結果對比,告訴神經網絡是否存在誤差,讓神經網絡根據誤差自行調整權重和閾值參數,也就是所說的對網絡進行訓練,從而達到讓其輸出不斷接近我們所期待的結果的目的。具體來說,首先定義損失函數,讓其表示預測結果和真實值的差距程度。在此,使用均方誤差損失函數,定義損失E如下,

顯然,當損失函數的值越小,也就是損失E越小時,說明網絡的輸出值越接近真實值,神經網絡的預測能力越強。

       進一步分析,神經網絡的輸出可以看成是樣本特征數據輸入加上權重w和閾值b的函數映射,而樣本特征數據是事先確定好無法改變的,權重w和閾值b是隨機初始化的,可以對他們進行調整,從而改變神經網絡的輸出,讓其更加接近真實值。故可以認為損失E是關於參數w和b的函數,E看成是因變量,w和b看成是自變量。眾所周知,沿着梯度的反方向,函數值下降的最快!為了讓損失E的值最小,接下來就得使用梯度下降法求出E對w和b的偏導,更新參數w和b。原理介紹完畢,還是以前文所示的神經網絡為例,對網絡的誤差反向傳播過程進行推導如下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM