越時反向傳播算法

越時反向傳播算法backpropagation through timeBPTT)係反向傳播算法嘅廣義化,即係一個人工神經網絡每一次權重改變都考慮埋打前時間點嘅誤差(即係話 )。

越時反向傳播算法基本做法如下[1][2]

  1. 俾個網絡睇 對輸入同輸出,每對輸入輸出有個特定嘅時間點(「係第幾個出現嘅輸入」);
  2. Foreach 對輸入輸出,計一個誤差值,而呢啲誤差值會累積;
  3. 按累積嘅誤差值,更新權重;
  4. 重複返去步驟 1。

計算圖喺時間維度上展開可以睇作梯度喺時間線上流回到之前某個狀態嘅同時,擸齊啲旁椏()對個權重做嘅貢獻,而越往前啲貢獻就受影響越多次來自啲權重()累乘嘅。喺權重好大或者好細陣時,就會分別導致梯度爆炸梯度消失問題,催生到後尾嘅長短期記憶同埋閘控遞迴單位[3]


  1. Werbos, Paul J. (1988). "Generalization of backpropagation with application to a recurrent gas market model". Neural Networks. 1 (4): 339–356.
  2. Williams, Ronald J.; Zipser, D. (1 February 2013). "Gradient-based learning algorithms for recurrent networks and their computational complexity". In Chauvin, Yves; Rumelhart, David E. (eds.). Backpropagation: Theory, Architectures, and Applications. Psychology Press.
  3. Britz, Denny (2015). "Recurrent Neural Networks Tutorial, Part 3 – Backpropagation Through Time and Vanishing Gradients". WILDML. 原著喺2021年7月11號歸檔. 喺2021年7月9號搵到.