¿Qué métodos existen para combatir los problemas de gradiente de desaparición y explosión?

Lo primero es lo primero, la inicialización es clave para reducir el gradiente de fuga / explosión: los gradientes de fuga / explosión provienen de un comportamiento contractivo / caótico de su red, es decir, en cada paso del tiempo, la distribución de actividades de cada capa se reduce o se expande relativamente a La capa anterior. Si esta contracción / expansión se acumula varias veces, la información sobre la distribución inicial y, por lo tanto, sobre las entradas se pierde rápidamente. Asegurarse de que su distribución inicial de peso conserva la escala de su distribución en cada capa al menos atenuará el gradiente de fuga / explosión.

Otras soluciones dependen de la arquitectura:

  • Para RNN, la arquitectura LSTM o GRU está diseñada para evitar el gradiente de fuga.
  • Para las redes de avance, la normalización por lotes asegurará con precisión que la distribución no sea muy diferente de una capa a otra. Esto reduce en gran medida los gradientes de fuga / explosión. Las conexiones omitidas y ResNets ofrecen el mismo tipo de soluciones que los LSTM y GRU al proporcionar conexiones que omiten las funciones de activación y los pesos y, por lo tanto, son independientes de los efectos de desaparición / explosión.

  1. Pre-entrenamiento usando máquina de Boltzmann restringida o autoencoder.
  2. Use una función de activación que no reduzca los gradientes, como ReLU.
  3. Agregar saltos de conexiones. P.ej. con la arquitectura ResNet.

More Interesting

¿Cuál es la diferencia entre almacenar datos en HDF5 frente al formato TFRecord de TensorFlow?

¿Cuál sería la arquitectura más apropiada para entrenar una red neuronal basada en dos imágenes de entrada?

Cómo aprender el aprendizaje automático en Python (con ejemplos)

¿Cómo se compara XGBoost (aumento de gradiente) con Random Forest?

¿Cuán relevantes son las redes neuronales atractoras en la investigación actual del aprendizaje automático?

Podría ser el primer experto en aprendizaje automático en una empresa como consultor o a tiempo completo. En cualquier caso, ¿cuál debería ser mi tasa?

¿Cuáles son los conjuntos de datos canónicos de aprendizaje automático utilizados como punto de referencia para demostrar un nuevo método?

Cómo aprender el aprendizaje automático desde el nivel cero

Cómo aplicar PCA para la reducción de dimensionalidad y SVM para agrupar y clasificar los patrones usando C ++ OpenCV

Quiero aprender el procesamiento del lenguaje natural en CMU. ¿Es mejor tomarlo como un estudiante de CS o tomarlo como un estudiante de lingüística (como una electiva)?

¿Qué son las redes neuronales convolucionales?

¿Cómo debe planificar un estudiante de CS su primer verano?

¿Cuáles son las desventajas de [math] abs (x) [/ math] como función de activación en redes neuronales?

¿Dónde puedo obtener más información sobre los métodos y algoritmos informáticos que coinciden y resumen diferentes partes del texto?

¿Cuál es la diferencia entre Python y el aprendizaje automático?