首頁 > 繪畫

反向傳播演算法是什麼

作者:由 大海愛科技 發表于 繪畫日期:2022-07-18

樁聲測管怎麼檢測

反向傳播演算法是神經網路演算法的核心所在。反向傳播演算法的核心理念就是把下一層神經元對於上一層神經元的所有期待彙總,從而指導上一層神經元改變。假設神經網路還沒有被訓練好,這個時候輸出層神經元的啟用值看起來比較隨機,與我們期望的正確結果相差較大。

反向傳播演算法是什麼

我們當然希望對此做出改變,但是我們並不能直接改變神經元的啟用值,我們能夠改變的只是權重和偏置。神經網路輸入和輸出情況當輸入層的手寫數字是“6”時,我們期望輸出層神經元的理想狀態是,代表數字“6”的神經元啟用值為1,其他數字的神經元啟用值為0。

反向傳播演算法是什麼

現實的情況卻不令人滿意,目前輸出層代表數字“6”的啟用值只有0。3,其他神經元的啟用值也與期望的狀態相差較大。如何提升輸出層中代表數字“6”的神經元啟用值呢?從前文講述的內容可以知道,該神經元啟用值由上一層神經元啟用值的加權表示式決定,因此,提升啟用值可以採用的方法為改變權重wi和偏置b、改變上層神經元啟用值ai。

反向傳播演算法是什麼

(1)改變權重wi和偏置b。權重表示了上一層對應神經元對目標神經元影響程度的不同,一般來說上一層啟用值越大的神經元對目標神經元的影響也越大,對應的權重也越大。所以增大上一層神經元中啟用值更大的神經元的權重比增大上一層神經元中啟用值更小的神經元的權重,對最後目標神經元啟用值的提升效果更為明顯。

反向傳播演算法是什麼

同樣,改變偏置b也可以改變神經元的輸出情況,從而改變目標神經元啟用值。(2)改變上層神經元啟用值ai。根據目標神經元啟用值表示式[插圖],如果我們將權重為正數的神經元啟用值增大,同時將權重為負數的神經元啟用值減小,那麼目標神經元啟用值就會增大。

反向傳播演算法是什麼

不過,我們並不能改變上一層神經元啟用值,我們能夠改變的只是權重和偏置。因此,假設輸入手寫數字是“6”,我們期望良好的神經網路輸出結果是,輸出層中代表數字“6”的神經元啟用值為1,其他數字的神經元啟用值為0。

反向傳播演算法是什麼

為了使輸出層中代表數字“6”的神經元啟用值為1,我們可以調整上一層神經元的權重和偏置,例如增大上一層神經元a1和a2的權重w1和w2。同樣為了使代表其他數字如“9”的神經元啟用值為0,我們也可以減小上一層神經元a1和a2的權重w1和w2。上一層神經元權重和偏置的變化情況會綜合考慮輸出層各神經元的“要求”。

反向傳播演算法是什麼

這就是反向傳播演算法的核心思想,透過調整上一層各神經元的權重和偏置來實現下一層各神經元啟用值的“期待”,重複這個過程到神經網路的所有層。截至目前,神經網路中權重和偏置的調整隻考慮到一個手寫數字“6”的要求,要得到應用範圍廣泛的神經網路,還需要考慮其他訓練樣本的情況。

反向傳播演算法是什麼

也就是說,我們需要對所有的訓練樣本都進行一遍上述反向傳播演算法的過程,最後得到權重和偏置變化“需求”的均值作為最終變化值。這些權重和偏置的變化值就是代價函式梯度的相反數或者某個倍數。