En el aprendizaje automático , el problema del gradiente evanescente es el problema de las grandes divergencias en las magnitudes del gradiente entre las capas anteriores y posteriores que se presentan al entrenar redes neuronales con retropropagación . En estos métodos, los pesos de la red neuronal se actualizan proporcionalmente a su derivada parcial de la función de pérdida . [ 1 ] A medida que aumenta el número de pasos de propagación hacia adelante en una red, por ejemplo, debido a una mayor profundidad de la red, los gradientes de los pesos anteriores se calculan con un número cada vez mayor de multiplicaciones. Estas multiplicaciones reducen la magnitud del gradiente. En consecuencia, los gradientes de los pesos anteriores serán exponencialmente menores que los gradientes de los pesos posteriores. Esta diferencia en la magnitud del gradiente puede introducir inestabilidad en el proceso de entrenamiento, ralentizarlo o detenerlo por completo. [ 1 ] Por ejemplo, considérese la función de activación tangente hiperbólica . Los gradientes de esta función están en el rango [ 0,1 ] . El producto de la multiplicación repetida con dichos gradientes disminuye exponencialmente. El problema inverso, cuando los gradientes de los pesos en las capas anteriores se vuelven exponencialmente mayores, se denomina problema del gradiente explosivo .
La retropropagación permitió a los investigadores entrenar redes neuronales artificiales profundas supervisadas desde cero, inicialmente con poco éxito. La tesis de diploma de Hochreiter de 1991 identificó formalmente la razón de este fracaso en el "problema del gradiente evanescente", [ 2 ] [ 3 ] que no solo afecta a las redes de alimentación directa de muchas capas , [ 4 ] sino también a las redes recurrentes . [ 5 ] [ 6 ] Estas últimas se entrenan desplegándolas en redes de alimentación directa muy profundas, donde se crea una nueva capa para cada paso de tiempo de una secuencia de entrada procesada por la red (la combinación de despliegue y retropropagación se denomina retropropagación a través del tiempo ).
Modelos prototípicos
Esta sección se basa en el artículo Sobre la dificultad de entrenar redes neuronales recurrentes de Pascanu, Mikolov y Bengio. [ 6 ]
Modelo de red recurrente
Una red recurrente genérica tiene estados ocultos, entradasy resultados. Sea parametrizado por, de modo que el sistema evolucione como A menudo, la salidaes una función de, como algunosEl problema del gradiente evanescente ya se presenta claramente cuando, por lo que simplificamos nuestra notación al caso especial con: Ahora, tomemos su diferencial : El entrenamiento de la red requiere que definamos una función de pérdida que deba minimizarse. Sea[ nota 1 ] , luego minimizándolo por descenso de gradiente se obtiene
dóndees la tasa de aprendizaje.
El problema del gradiente evanescente/explosivo aparece porque hay multiplicaciones repetidas, de la forma
Ejemplo: red recurrente con activación sigmoidea
Como ejemplo concreto, consideremos una red recurrente típica definida por
dóndees el parámetro de red,es la función de activación sigmoide [ nota 2 ] , aplicada a cada coordenada vectorial por separado, yes el vector de sesgo.
Entonces,, y entonces Desde, la norma del operador de la multiplicación anterior está acotada superiormente por. Entonces, si el radio espectral dees, entonces en general, la multiplicación anterior tiene una norma de operador acotada superiormente porEste es el problema prototípico del gradiente evanescente.
El efecto de un gradiente evanescente es que la red no puede aprender efectos de largo alcance. Recordemos la ecuación ( diferencial de pérdida ):Los componentes deson solo componentes dey, entonces siestán delimitados, entoncestambién está delimitado por algunosy así los términos endescomposición como. Esto significa que, efectivamente,se ve afectado únicamente por el primerotérminos en la suma.
Si, el análisis anterior no funciona del todo. [ nota 3 ] Para el problema prototípico del gradiente explosivo, el siguiente modelo es más claro.
Modelo de sistemas dinámicos

Siguiendo a (Doya, 1993), [ 7 ] consideremos esta red recurrente de una neurona con activación sigmoidea: En el pequeñolímite, la dinámica de la red se convierte en Consideremos primero el caso autónomo , con. Colocary varíanen. Comodisminuye, el sistema tiene 1 punto estable, luego tiene 2 puntos estables y 1 punto inestable, y finalmente vuelve a tener 1 punto estable. Explícitamente, los puntos estables son.
Ahora considerey, dóndees lo suficientemente grande como para que el sistema se haya estabilizado en uno de los puntos estables.
Sicoloca al sistema muy cerca de un punto inestable, luego una pequeña variación enoharíamoverse de un punto estable a otro. Esto haceyambos muy grandes, un caso de gradiente explosivo.
Sicoloca al sistema lejos de un punto inestable, entonces una pequeña variación enno tendría ningún efecto en, haciendo, un caso de gradiente evanescente.
Tenga en cuenta que en este caso,ni decae a cero ni tiende al infinito. De hecho, es el único gradiente bien comportado, lo que explica por qué las primeras investigaciones se centraron en aprender o diseñar sistemas de redes recurrentes que pudieran realizar cálculos de largo alcance (como generar la primera entrada que ven al final de un episodio) mediante la configuración de sus atractores estables. [ 8 ]
En el caso general, la intuición sigue siendo válida ( [ 6 ] Figuras 3, 4 y 5).
Modelo geométrico
Continúe utilizando la red neuronal de una sola neurona anterior, corrigiendoy consideremos una función de pérdida definida porEsto produce un panorama de pérdida bastante patológico: comoacercarseDesde arriba, la pérdida se acerca a cero, pero tan pronto comocruces, la cuenca atractora cambia y la pérdida salta a 0,50. [ nota 4 ]
En consecuencia, intentar entrenarEl descenso de gradiente "chocaría contra una pared en el paisaje de pérdidas" y provocaría un gradiente explosivo. Una situación ligeramente más compleja se representa en [ 6 ] Figuras 6.
Soluciones
Para superar este problema, se propusieron varios métodos.
Red neuronal recurrente
Para las redes neuronales recurrentes , la red de memoria a corto y largo plazo (LSTM) fue diseñada para resolver el problema ( Hochreiter y Schmidhuber , 1997). [ 9 ]
Para el problema del gradiente explosivo, (Pascanu et al, 2012) [ 6 ] recomendaron el recorte del gradiente, es decir, dividir el vector gradiente.porsi. Esto restringe los vectores gradiente dentro de una bola de radio.
Normalización por lotes
La normalización por lotes es un método estándar para resolver los problemas de gradiente explosivo y gradiente evanescente. [ 10 ] [ 11 ]
Jerarquía multinivel
En la jerarquía multinivel de redes ( Schmidhuber , 1992), preentrenadas un nivel a la vez mediante aprendizaje no supervisado , ajustadas mediante retropropagación . [ 12 ] Aquí cada nivel aprende una representación comprimida de las observaciones que se alimenta al siguiente nivel.
Red de creencias profundas
Se han utilizado ideas similares en redes neuronales de propagación directa para el preentrenamiento no supervisado con el fin de estructurar una red neuronal, haciendo que primero aprenda detectores de características generalmente útiles . Luego, la red se entrena aún más mediante retropropagación supervisada para clasificar datos etiquetados. El modelo de red de creencias profundas de Hinton et al. (2006) implica aprender la distribución de una representación de alto nivel utilizando capas sucesivas de variables latentes binarias o de valor real . Utiliza una máquina de Boltzmann restringida para modelar cada nueva capa de características de nivel superior. Cada nueva capa garantiza un aumento en el límite inferior de la verosimilitud logarítmica de los datos, mejorando así el modelo, si se entrena correctamente. Una vez que se han aprendido suficientes capas, la arquitectura profunda puede utilizarse como un modelo generativo reproduciendo los datos al muestrear el modelo (un "paso ancestral") a partir de las activaciones de características de nivel superior. [ 13 ] Hinton informa que sus modelos son extractores de características eficaces sobre datos estructurados de alta dimensión. [ 14 ]
Hardware más rápido
Los avances en hardware han significado que, entre 1991 y 2015, la potencia de cálculo (especialmente la proporcionada por las GPU ) se haya multiplicado por aproximadamente un millón, lo que ha hecho factible la retropropagación estándar para redes con varias capas más profundas que cuando se reconoció el problema del gradiente evanescente. Schmidhuber señala que esto "es básicamente lo que está ganando muchas de las competiciones de reconocimiento de imágenes ahora", pero que "en realidad no supera el problema de forma fundamental" [ 15 ] ya que los modelos originales que abordaron el problema del gradiente evanescente por Hinton y otros fueron entrenados en un procesador Xeon , no en GPU. [ 13 ]
Conexión residual
Las conexiones residuales , o conexiones de salto, se refieren al motivo arquitectónico de, dóndees un módulo de red neuronal arbitrario. Esto da el gradiente dedonde la matriz identidad no sufre de gradiente evanescente o explosivo. Durante la retropropagación, parte del gradiente fluye a través de las conexiones residuales. [ 16 ]
Concretamente, sea la red neuronal (sin conexiones residuales), luego con conexiones residuales, el gradiente de salida con respecto a las activaciones en la capaesPor lo tanto, el gradiente no desaparece en redes de profundidad arbitraria.
Las redes de alimentación directa con conexiones residuales pueden considerarse como un conjunto de redes relativamente poco profundas. Desde esta perspectiva, resuelven el problema del gradiente evanescente al ser equivalentes a conjuntos de muchas redes poco profundas, para las cuales no existe dicho problema. [ 17 ]
Otras funciones de activación
Los rectificadores como ReLU sufren menos del problema del gradiente evanescente, porque solo se saturan en una dirección. [ 18 ]
Inicialización de pesos
La inicialización de pesos es otro enfoque que se ha propuesto para reducir el problema del gradiente evanescente en redes neuronales profundas.
Kumar sugirió que la distribución de los pesos iniciales debería variar según la función de activación utilizada y propuso inicializar los pesos en las redes con la función de activación logística utilizando una distribución gaussiana con una media cero y una desviación estándar de, dóndees el número de neuronas en una capa. [ 19 ]
En 2022, Yilmaz y Poli [ 20 ] realizaron un análisis teórico sobre cómo los gradientes se ven afectados por la media de los pesos iniciales en redes neuronales profundas utilizando la función de activación logística y encontraron que los gradientes no desaparecen si la media de los pesos iniciales se establece de acuerdo con la fórmula:Esta sencilla estrategia permite entrenar redes con 10 o 15 capas ocultas de forma muy eficiente y efectiva utilizando la retropropagación estándar .
Otro
Behnke se basó únicamente en el signo del gradiente ( Rprop ) al entrenar su Pirámide de Abstracción Neuronal [ 21 ] para resolver problemas como la reconstrucción de imágenes y la localización de rostros.
Las redes neuronales también pueden optimizarse utilizando un algoritmo de búsqueda universal en el espacio de pesos de la red neuronal, por ejemplo, una suposición aleatoria o, de forma más sistemática, un algoritmo genético . Este enfoque no se basa en el gradiente y evita el problema del gradiente evanescente. [ 22 ]
Véase también
Notas
- ↑ Una función de pérdida más general podría depender de toda la secuencia de salidas, comopara lo cual el problema es el mismo, solo que con notaciones más complejas.
- ↑ Cualquier función de activación funciona, siempre que sea diferenciable con derivada acotada.
- ↑ Considerar y, cony. Entoncestiene radio espectral, y, que podría llegar al infinito o a cero dependiendo de la elección de.
- ↑ Esto se debe a que en, los dos atractores estables sony el atractor inestable es.
Referencias
- 1 2 Basodi, Sunitha; Ji, Chunyan; Zhang, Haiping; Pan, Yi (septiembre de 2020). "Amplificación de gradiente: una forma eficiente de entrenar redes neuronales profundas" . Big Data Mining and Analytics . 3 (3): 198. arXiv : 2006.10560 . doi : 10.26599/BDMA.2020.9020004 . ISSN 2096-0654 . S2CID 219792172 .
- ^ Hochreiter, S. (1991). Untersuchungen zu dynamischen neuronalen Netzen (PDF) (tesis de diploma). Instituto f. Informática, Universidad Técnica. Munich.
- ↑ Hochreiter, S.; Bengio, Y.; Frasconi, P.; Schmidhuber, J. (2001). "Flujo de gradiente en redes recurrentes: la dificultad de aprender dependencias a largo plazo". En Kremer, SC; Kolen, JF (eds.). Guía de campo para redes neuronales recurrentes dinámicas . IEEE Press. doi : 10.1109/9780470544037.ch14 . ISBN 0-7803-5369-2.
- ↑ Goh, Garrett B.; Hodas, Nathan O.; Vishnu, Abhinav (15 de junio de 2017). "Aprendizaje profundo para la química computacional". Journal of Computational Chemistry . 38 (16): 1291– 1307. arXiv : 1701.04503 . Bibcode : 2017arXiv170104503G . doi : 10.1002/jcc.24764 . PMID 28272810. S2CID 6831636 .
- ↑ Bengio, Y.; Frasconi, P.; Simard, P. (1993). El problema del aprendizaje de dependencias a largo plazo en redes recurrentes . Conferencia Internacional IEEE sobre Redes Neuronales. IEEE. pp. 1183–1188 . doi : 10.1109/ICNN.1993.298725 . ISBN 978-0-7803-0999-9.
- 1 2 3 4 5 Pascanu, Razvan; Mikolov, Tomas; Bengio, Yoshua (21 de noviembre de 2012). "Sobre la dificultad de entrenar redes neuronales recurrentes". arXiv : 1211.5063 [ cs.LG ].
- ↑ Doya, K. (1992). "Bifurcaciones en el aprendizaje de redes neuronales recurrentes" . [ Actas ] Simposio Internacional IEEE de Circuitos y Sistemas de 1992. Vol. 6. IEEE. págs. 2777–2780 . doi : 10.1109/iscas.1992.230622 . ISBN 0-7803-0593-0. S2CID 15069221 .
- ↑ Bengio, Y.; Simard, P.; Frasconi, P. (marzo de 1994). "Aprender dependencias a largo plazo con descenso de gradiente es difícil" . IEEE Transactions on Neural Networks . 5 (2): 157– 166. doi : 10.1109/72.279181 . ISSN 1941-0093 . PMID 18267787. S2CID 206457500 .
- ↑ Hochreiter, Sepp ; Schmidhuber, Jürgen (1997). "Memoria a largo plazo". Computación neuronal . 9 (8): 1735–1780 . doi : 10.1162/neco.1997.9.8.1735 . PMID 9377276 . S2CID 1915014 .
- ↑ Ioffe, Sergey; Szegedy, Christian (1 de junio de 2015). "Normalización por lotes: aceleración del entrenamiento de redes neuronales profundas mediante la reducción del desplazamiento de covariables internas" . Conferencia Internacional sobre Aprendizaje Automático . PMLR: 448–456 . arXiv : 1502.03167 .
- ↑ Santurkar, Shibani; Tsipras, Dimitris; Ilyas, Andrew; Madry, Aleksander (2018). "¿Cómo ayuda la normalización por lotes a la optimización?" . Avances en sistemas de procesamiento de información neuronal . 31 . Curran Associates, Inc.
- ↑ J. Schmidhuber., "Aprendizaje de secuencias complejas y extendidas utilizando el principio de compresión de historial," Neural Computation , 4, pp. 234–242, 1992.
- 1 2 Hinton, GE ; Osindero, S.; Teh, Y. (2006). "Un algoritmo de aprendizaje rápido para redes de creencias profundas" ( PDF) . Neural Computation . 18 (7): 1527– 1554. CiteSeerX 10.1.1.76.1541 . doi : 10.1162/neco.2006.18.7.1527 . PMID 16764513. S2CID 2309950 .
- ↑ Hinton, G. (2009). "Redes de creencias profundas" . Scholarpedia . 4 (5): 5947. Bibcode : 2009SchpJ...4.5947H . doi : 10.4249/scholarpedia.5947 .
- ↑ Schmidhuber, Jürgen (2015). " Aprendizaje profundo en redes neuronales: una visión general". Redes neuronales . 61 : 85–117 . arXiv : 1404.7828 . doi : 10.1016/j.neunet.2014.09.003 . PMID 25462637. S2CID 11715509 .
- ↑ He, Kaiming; Zhang, Xiangyu; Ren, Shaoqing; Sun, Jian (2016). "Aprendizaje residual profundo para el reconocimiento de imágenes". Conferencia IEEE de 2016 sobre visión por computadora y reconocimiento de patrones (CVPR) . IEEE. págs. 770–778 . arXiv : 1512.03385 . doi : 10.1109/CVPR.2016.90 . ISBN 978-1-4673-8851-1.
- ↑ Veit, Andreas; Wilber, Michael; Belongie, Serge (20 de mayo de 2016). "Las redes residuales se comportan como conjuntos de redes relativamente superficiales". arXiv : 1605.06431 [ cs.CV ].
- ↑ Glorot, Xavier; Bordes, Antoine; Bengio, Yoshua (14 de junio de 2011). "Redes neuronales rectificadoras dispersas profundas" . PMLR : 315–323 .
- ↑ Kumar, Siddharth Krishna. "Sobre la inicialización de pesos en redes neuronales profundas." Preimpresión de arXiv arXiv:1704.08863 (2017).
- ↑ Yilmaz, Ahmet; Poli, Riccardo (1 de septiembre de 2022). "El entrenamiento exitoso y eficiente de perceptrones multicapa profundos con función de activación logística simplemente requiere inicializar los pesos con una media negativa apropiada" . Redes neuronales . 153 : 87–103 . doi : 10.1016/j.neunet.2022.05.030 . hdl : 11492/6392 . ISSN 0893-6080 . PMID 35714424. S2CID 249487697 .
- ↑ Sven Behnke (2003). Redes neuronales jerárquicas para la interpretación de imágenes (PDF) . Lecture Notes in Computer Science. Vol. 2766. Springer.
- ↑ "El problema fundamental del aprendizaje profundo de Sepp Hochreiter (1991)" . people.idsia.ch . Consultado el 7 de enero de 2017 .
- Redes neuronales artificiales