Problema de desvanecimiento de gradiente

De Wikipedia, la enciclopedia libre

En aprendizaje de máquinas, el problema de desvanecimiento de gradiente es una dificultad encontrada para entrenar redes neuronales artificiales mediante métodos de aprendizaje basados en descenso estocástico de gradientes y de retropropagación. En tales métodos, cada uno de los pesos de la red neuronal recibe una actualización proporcional a la derivada parcial de la función de error con respecto al peso actual en cada iteración de entrenamiento.

El problema es que, en algunos casos, el gradiente se irá desvaneciendo a valores muy pequeños, impidiendo eficazmente el peso de cambiar su valor. En el caso peor, esto puede impedir que la red neuronal continúe su entrenamiento. Como ejemplo de la causa del problema, funciones de activación tradicionales como la función de la tangente hiperbólica tienen gradientes en la gama (-1, 1), y la retropropagación computa gradientes por la regla de la cadena. Esto tiene el efecto de multiplicar n de estos números pequeños para computar gradientes de las "capas" de frente en una red de n capas, significando que el gradiente (señal de error) disminuye exponencialmente con n mientras las capas de frente se entrenan muy despacio.

La retropropagación permitió a los investigadores entrenar redes neuronales supervisadas profundas desde un inicio con muy poco éxito. La tesis de diploma de 1991 de Hochreiter identificó formalmente la razón de este fracaso en el "problema de desvanecimiento de gradiente", lo cual no sólo afectará a las redes prealimentadas de muchas capas, sino también a las redes recurrentes. Estas últimas se entrenan por desdoblamiento en redes neuronales prealimentadas muy profundas, donde se crea una capa nueva cada vez que se da un paso en la secuencia de entrada por la red.[1][2][3][4]

Cuando se usan funciones de activación cuyas derivadas pueden tomar valores más grandes, uno de los riesgos es encontrar el denominado problema de gradiente explosivo.

Véase también[editar]

Referencias[editar]

  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 (15 de junio de 2017). «Deep learning for computational chemistry». Journal of Computational Chemistry (en inglés) 38 (16): 1291-1307. PMID 28272810. doi:10.1002/jcc.24764. 
  4. Pascanu, Razvan; Mikolov, Tomas; Bengio, Yoshua (2012-11-21). "On the difficulty of training Recurrent Neural Networks". arXiv:1211.5063 [cs.LG].