梯度消失问题

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

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

反向傳播使研究人員從頭開始訓練監督式深度人工神經網絡,最初收效甚微。 1991年賽普·霍克賴特(Hochreiter)的畢業論文[1][2]正式確認了“梯度消失問題”失敗的原因。梯度消失問題不僅影響多層前饋網絡[3]還影響循環網絡[4]循環網絡是通過將前饋網絡深度展開來訓練,在網絡處理的輸入序列的每個時間步驟中,都會產生一個新的層。

當所使用的激活函數之導數可以取較大值時,則可能會遇到相關的梯度爆炸問題(exploding gradient problem)

解決方案

參考文獻

  1. S. Hochreiter. Untersuchungen zu dynamischen neuronalen Netzen. Diploma thesis, Institut f. Informatik, Technische Univ. Munich, 1991.
  2. 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.
  3. Goh, Garrett B.; Hodas, Nathan O.; Vishnu, Abhinav. . Journal of Computational Chemistry. 2017-06-15, 38 (16): 1291–1307. PMID 28272810. arXiv:1701.04503. doi:10.1002/jcc.24764 (英语).
  4. Pascanu, Razvan; Mikolov, Tomas; Bengio, Yoshua. . 2012-11-21. arXiv:1211.5063 [cs.LG].
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.