梯度消失问题

梯度消失问题（）是一种机器学习中的难题，出現在以梯度下降法和反向传播训练人工神經網路的時候。在每次訓練的迭代中，神经网路权重的更新值与误差函数的偏導數成比例，然而在某些情况下，梯度值会几乎消失，使得权重无法得到有效更新，甚至神經網路可能完全无法继续训练。舉個例子來說明問題起因，一個传统的激勵函数如双曲正切函数，其梯度值在 (-1, 1)范围内，反向传播以链式法则来计算梯度。

這樣做的效果，相当于在n層網路中，将n个這些小数字相乘來計算“前端”層的梯度，这就使梯度（误差信号）随着n呈指數遞減，导致前端層的訓練非常緩慢。

反向傳播使研究人員從頭開始訓練監督式深度人工神經網路，最初收效甚微。1991年的畢業論文S. Hochreiter. Untersuchungen zu dynamischen neuronalen Netzen. Diploma thesis, Institut f. Informatik, Technische Univ. Munich, 1991.S. Hochreiter, Y. Bengio, P. Frasconi, and J. Schmidhuber. Gradient flow in recurrent nets: the difficulty of learning long-term dependencies. In S. C. Kremer and J. F. Kolen, editors, A Field Guide to Dynamical Recurrent Neural Networks. IEEE Press, 2001.正式確認了“梯度消失問題”失敗的原因。梯度消失問題不僅影響多層前饋網絡，還影響循环神经网络。循環網路是通過將前饋網路深度展開來訓練，在網路處理的輸入序列的每個時間步驟中，都會產生一個新的層。

當所使用的激勵函數之導數可以取較大值時，則可能會遇到相關的梯度爆炸問題（Exploding gradient problem）。

 解決方案 

 多級層次結構 

 長短期記憶 

 更快的硬體 

 殘差網路（Residual Networks，ResNets） 

 其他的激活函數 

 其他 

 參考文獻 

Category:人工神经网络
Category:机器学习