La propagación inversa es la más común para las redes neuronales. Permite que el descenso de gradientes sea factible para las redes neuronales de varias capas. Muchas bibliotecas de código de aprendizaje automático (como Keras) administrar la propagación inversa automáticamente, por lo que no es necesario realizar los cálculos subyacentes por tu cuenta. Mira el siguiente video para ver descripción general conceptual sobre cómo funciona la propagación inversa:
Prácticas recomendadas para el entrenamiento de redes neuronales
Esta sección explica los casos de falla de la propagación inversa y las y es una forma común de regularizar una red neuronal.
Desvanecimiento de gradientes
Los gradientes de la red neuronal inferior las capas de red (las más cercanas a la capa de entrada) pueden volverse muy pequeñas. En las redes profundas (redes con más de una capa oculta), el cálculo de estos gradientes puede implicar producto de muchos términos pequeños.
Cuando los valores de gradiente se acercan a 0 para las capas inferiores, los gradientes son que se diga "vanish". Las capas con gradientes que desaparecen se entrenan muy lentamente o no. en absoluto.
La función de activación de ReLU puede ayudar a evitar que los gradientes desaparezcan.
Gradientes con alto crecimiento
Si los pesos en una red son muy grandes, entonces los gradientes de la parte más capas involucran productos de muchos términos grandes. En este caso, puedes tener Gradientes con alto crecimiento: Son gradientes que se vuelven demasiado grandes para converger.
La normalización por lotes puede ayudar a evitar el crecimiento de gradientes y, al mismo tiempo, puede reducir la tasa de aprendizaje.
Unidades ReLU inactivas
Una vez que la suma ponderada de una unidad ReLU es inferior a 0, la unidad ReLU puede obtener atascadas. Da como resultado 0, que no contribuye en nada a la salida de la red y los gradientes ya no pueden fluir a través de él durante la propagación inversa. Con un fuente de gradientes cortada, es posible que la entrada a ReLU nunca cambie lo suficiente para volver a llevar la suma ponderada por encima de 0.
La disminución de la tasa de aprendizaje puede ayudar a evitar que las unidades ReLU queden inactivas.
Regularización de retirados
Otra forma de regularización, llamada regularización de retirados es útil para las redes neuronales. Funciona al "abandonar" activaciones de unidades en una red para un solo paso del gradiente. Mientras más extraigas, mejor será la regularización.
- 0.0 = No hay regularización de retirados.
- 1.0 = Abandonar todos los nodos El modelo no aprende nada.
- Los valores entre 0.0 y 1.0 son más útiles.