一、前言
這是一個以誤差為主的反向傳播運動,旨在獲得最優(yōu)的全局參數(shù)矩陣,然后將多層神經(jīng)網(wǎng)絡(luò)應(yīng)用于分類或回歸任務(wù)。
輸入信號向前傳輸,直到輸出產(chǎn)生誤差,誤差信息向后傳播以更新權(quán)重矩陣。這兩句話很好的描述了信息的流向,在信息的雙向流動中可以優(yōu)化權(quán)重,讓我想起了北京的夜景,車水馬龍,車水馬龍。
至于為什么提出反向傳播算法,我不能直接應(yīng)用梯度下降嗎?想必大家都有過這樣的疑惑。答案肯定是否定的,即使梯度下降很厲害,也不是萬能的。梯度下降可以處理導(dǎo)數(shù)函數(shù)顯式的情況,或者那些可以計算誤差的情況,比如Logistic回歸,可以看作是沒有隱藏層的網(wǎng)絡(luò);但對于多隱含層的神經(jīng)網(wǎng)絡(luò),輸出層可以直接計算誤差來更新參數(shù),但隱含層的誤差是不存在的,不能直接對其應(yīng)用梯度下降。相反,誤差首先傳播回隱藏層,然后應(yīng)用梯度下降。從最后一層傳遞誤差的過程需要鏈式法則的幫助,所以反向傳播算法可以說是梯度下降在鏈式法則中的應(yīng)用。
第二,舉個栗子
為了幫助更好的理解反向傳播的概念,對其有一個直觀的認識,我們以猜數(shù)字游戲為例。
2.1兩個人猜數(shù)字
這個過程類似于無隱層的神經(jīng)網(wǎng)絡(luò),比如logistic回歸,小黃帽代表輸出層的節(jié)點,左側(cè)接收輸入信號,右側(cè)產(chǎn)生輸出結(jié)果,小藍貓代表誤差,引導(dǎo)參數(shù)向更好的方向調(diào)整。因為小藍貓可以直接把誤差反饋給小黃帽,而且只有一個參數(shù)矩陣直接和小黃帽相連,可以通過誤差直接優(yōu)化參數(shù),經(jīng)過幾次迭代誤差會降到最小。
同樣,節(jié)點d的輸入信號為:
因為計算機擅長帶循環(huán)的任務(wù),所以我們可以用矩陣乘法來表示:
因此,非線性變換后隱藏層節(jié)點的輸出表示如下:
同樣,輸出層的輸入信號表示為權(quán)重矩陣乘以前一層的輸出:
同樣,非線性映射后輸出層節(jié)點的最終輸出表示為:
在權(quán)重矩陣的幫助下,輸入信號得到每一層的輸出,最后到達輸出層。可見,權(quán)重矩陣在正向傳遞信號的過程中起到了運輸兵的作用,起到了連接的作用。
3.3反向傳播
由于梯度下降需要清除每個層中的錯誤來更新參數(shù),下一個重點是如何將輸出層中的錯誤傳播回隱藏層。
同樣,隱藏層節(jié)點d的誤差為:
為了減少工作量,我們愿意用矩陣乘法的形式寫:
不難發(fā)現(xiàn),輸出層誤差是借助轉(zhuǎn)置權(quán)重矩陣轉(zhuǎn)移到隱藏層的,這樣我們就可以利用間接誤差更新與隱藏層相連的權(quán)重矩陣??梢钥闯?,權(quán)重矩陣在反向傳播過程中也起著傳輸者的作用,但這一次是輸出誤差的處理,而不是輸入信號).
第四,鏈導(dǎo)數(shù)
第三部分介紹了輸入信息的前向傳播和輸出誤差的后向傳播,并根據(jù)得到的誤差更新參數(shù)。
推導(dǎo)得出以下公式:
然后,更新輸入圖層中w11的參數(shù)。在更新之前,我們還是從后向前推導(dǎo),直到預(yù)見到第一層的w11:
推導(dǎo)出以下公式):
到目前為止,利用鏈式規(guī)則更新各層參數(shù)的任務(wù)已經(jīng)完成。
V.引入delta
用鏈式法則更新權(quán)重,你會發(fā)現(xiàn)這個方法很簡單,但是太冗長了。因為更新過程可以看作是從網(wǎng)絡(luò)的輸入層到輸出層從前到后的更新,每次都需要重新計算節(jié)點的誤差,所以會出現(xiàn)一些不必要的重復(fù)計算。其實我們可以直接使用計算出來的節(jié)點,這樣就可以重新看這個問題,從后往前更新。首先更新后權(quán)重,然后利用更新后權(quán)重生成的中間值更新前參數(shù)。這個中間變量是下面要介紹的增量變量。首先簡化了公式,其次減少了計算量,有點動態(tài)規(guī)劃。
接下來用事實說話,我們仔細觀察了第四部分輸出層w11和隱藏層w11的部分推導(dǎo)和偏置的部分推導(dǎo)過程。你會發(fā)現(xiàn)三個公式中有相同的部分,隱藏層參數(shù)的部分求導(dǎo)過程中會用到輸出層參數(shù)的部分求導(dǎo),這也是引入中間變量delta的原因。
因此,輸出層的誤差可以表示為:
中國專業(yè)統(tǒng)計分析與數(shù)據(jù)挖掘咨詢服務(wù)提供商:拓端數(shù)據(jù)
微信客服號:lico_9e
1.《反向傳播算法 t推薦:一文搞懂反向傳播算法》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《反向傳播算法 t推薦:一文搞懂反向傳播算法》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/guoji/1801886.html