反向傳播算法是什么

發(fā)布時間:2022-03-20 22:44:02  |  來源:騰訊網(wǎng)  

反向傳播算法是神經(jīng)網(wǎng)絡算法的核心所在。反向傳播算法的核心理念就是把下一層神經(jīng)元對于上一層神經(jīng)元的所有期待匯總,從而指導上一層神經(jīng)元改變。假設神經(jīng)網(wǎng)絡還沒有被訓練好,這個時候輸出層神經(jīng)元的激活值看起來比較隨機,與我們期望的正確結果相差較大。我們當然希望對此做出改變,但是我們并不能直接改變神經(jīng)元的激活值,我們能夠改變的只是權重和偏置。

神經(jīng)網(wǎng)絡輸入和輸出情況當輸入層的手寫數(shù)字是“6”時,我們期望輸出層神經(jīng)元的理想狀態(tài)是,代表數(shù)字“6”的神經(jīng)元激活值為1,其他數(shù)字的神經(jīng)元激活值為0?,F(xiàn)實的情況卻不令人滿意,目前輸出層代表數(shù)字“6”的激活值只有0.3,其他神經(jīng)元的激活值也與期望的狀態(tài)相差較大。如何提升輸出層中代表數(shù)字“6”的神經(jīng)元激活值呢?從前文講述的內容可以知道,該神經(jīng)元激活值由上一層神經(jīng)元激活值的加權表達式?jīng)Q定,因此,提升激活值可以采用的方法為改變權重wi和偏置b、改變上層神經(jīng)元激活值ai。

(1)改變權重wi和偏置b。權重表示了上一層對應神經(jīng)元對目標神經(jīng)元影響程度的不同,一般來說上一層激活值越大的神經(jīng)元對目標神經(jīng)元的影響也越大,對應的權重也越大。所以增大上一層神經(jīng)元中激活值更大的神經(jīng)元的權重比增大上一層神經(jīng)元中激活值更小的神經(jīng)元的權重,對最后目標神經(jīng)元激活值的提升效果更為明顯。同樣,改變偏置b也可以改變神經(jīng)元的輸出情況,從而改變目標神經(jīng)元激活值。

(2)改變上層神經(jīng)元激活值ai。根據(jù)目標神經(jīng)元激活值表達式[插圖],如果我們將權重為正數(shù)的神經(jīng)元激活值增大,同時將權重為負數(shù)的神經(jīng)元激活值減小,那么目標神經(jīng)元激活值就會增大。不過,我們并不能改變上一層神經(jīng)元激活值,我們能夠改變的只是權重和偏置。因此,假設輸入手寫數(shù)字是“6”,我們期望良好的神經(jīng)網(wǎng)絡輸出結果是,輸出層中代表數(shù)字“6”的神經(jīng)元激活值為1,其他數(shù)字的神經(jīng)元激活值為0。為了使輸出層中代表數(shù)字“6”的神經(jīng)元激活值為1,我們可以調整上一層神經(jīng)元的權重和偏置,例如增大上一層神經(jīng)元a1和a2的權重w1和w2。同樣為了使代表其他數(shù)字如“9”的神經(jīng)元激活值為0,我們也可以減小上一層神經(jīng)元a1和a2的權重w1和w2。上一層神經(jīng)元權重和偏置的變化情況會綜合考慮輸出層各神經(jīng)元的“要求”。

這就是反向傳播算法的核心思想,通過調整上一層各神經(jīng)元的權重和偏置來實現(xiàn)下一層各神經(jīng)元激活值的“期待”,重復這個過程到神經(jīng)網(wǎng)絡的所有層。截至目前,神經(jīng)網(wǎng)絡中權重和偏置的調整只考慮到一個手寫數(shù)字“6”的要求,要得到應用范圍廣泛的神經(jīng)網(wǎng)絡,還需要考慮其他訓練樣本的情況。也就是說,我們需要對所有的訓練樣本都進行一遍上述反向傳播算法的過程,最后得到權重和偏置變化“需求”的均值作為最終變化值。這些權重和偏置的變化值就是代價函數(shù)梯度的相反數(shù)或者某個倍數(shù)。

關鍵詞: 反向傳播算法是什么 神經(jīng)網(wǎng)絡

 

網(wǎng)站介紹  |  版權說明  |  聯(lián)系我們  |  網(wǎng)站地圖 

星際派備案號:京ICP備2022016840號-16 營業(yè)執(zhí)照公示信息版權所有 郵箱聯(lián)系:920 891 263@qq.com