反向傳播是什麼?

  • 2020 年 2 月 23 日
  • 筆記

深度學習系統能夠學習極其複雜的模式,它們通過調整權重來實現這一點。深度神經網路則通過反向傳播的過程進行調整,如果沒有反向傳播,深度神經網路就無法執行識別影像和解釋自然語言等任務。

深度神經網路的權值是神經網路單元之間的連接強度。當數據通過神經網路時,計算權值並進行假設,到達網路的最後一層時,就可以預測這些特性與數據集中的類之間的關係。預測值與實際值的差值為損耗/誤差,反向傳播的目的是減少損耗。這是通過調整網路的權重來實現的,使假設更接近於輸入特性之間的真實關係。

在神經網路上進行反向傳播之前,必須對神經網路進行常規前向訓練。當創建一個神經網路時,初始化一組權值。權值將隨著網路的訓練而改變。神經網路的前向訓練過程可以分為三個步驟:神經元激活、神經元傳遞和前向傳播。

在訓練深度神經網路時,需要利用多個數學函數。深度神經網路中的神經元由輸入數據和激活函數組成,激活函數決定激活節點所需的值。神經元的激活值是由幾個分量計算出來的,這些分量是輸入的加權和,權重和輸入值取決於用於計算激活節點的索引。反向傳播過程決定了模型訓練過程的最終決策,進而決定這些決策中的錯誤,通過對比網路的輸出/決策和網路的預期/期望輸出來計算誤差。

一旦計算出網路決策中的錯誤,資訊就會通過網路反向傳播,網路的參數也隨之改變。用於更新網路權值的方法是基於微積分的,特別是基於鏈式規則的。然而,理解微積分並不是理解反向傳播的必要條件。只需知道,當一個神經元提供一個輸出值時,輸出值的斜率是通過傳遞函數計算出來的,從而產生一個導出的輸出。

當操作輸出層的神經元時,類值被用作期望值。計算出網路誤差後,必須更新網路中的權重。「梯度下降」是更新權重以降低錯誤率的過程。利用反向傳播方法預測神經網路參數與誤差率之間的關係,建立梯度下降網路。訓練一個具有梯度下降的網路,需要通過前向傳播計算權值,反向傳播誤差,然後更新網路權值。