La propagación inversa es el algoritmo de entrenamiento más común en las redes neuronales.
Permite que el descenso de gradientes sea factible para las redes neuronales de varias capas.
TensorFlow controla la propagación inversa automáticamente, por lo que no necesitas un conocimiento profundo del algoritmo. Para tener una idea de cómo funciona, repasa la explicación visual sobre el algoritmo de propagación inversa.
A medida que te desplazas por la explicación anterior, ten en cuenta lo siguiente:
Cómo fluyen los datos por el gráfico.
Cómo la programación dinámica nos permite evitar calcular exponencialmente muchas rutas a través del gráfico Aquí, "programación dinámica" solo significa registrar resultados intermedios en los movimientos hacia adelante y hacia atrás.
Entrenamiento de las redes neuronales
Información que necesitas saber sobre la propagación inversa
Los gradientes son importantes
Si son diferenciables, probablemente podamos aprender de ellos.
Información que necesitas saber sobre la propagación inversa
Los gradientes son importantes
Si son diferenciables, probablemente podamos aprender de ellos.
Los gradientes pueden desaparecer
Cada capa adicional puede reducir de forma sucesiva la señal frente al ruido
Las ReLus son útiles en este caso
Información que necesitas saber sobre la propagación inversa
Los gradientes son importantes
Si son diferenciables, probablemente podamos aprender de ellos.
Los gradientes pueden desaparecer
Cada capa adicional puede reducir de forma sucesiva la señal frente al ruido
Las ReLus son útiles en este caso
Los gradientes pueden crecer demasiado
En este caso, las tasas de aprendizaje son importantes
La normalización por lotes (ajuste útil) puede ser de ayuda
Información que necesitas saber sobre la propagación inversa
Los gradientes son importantes
Si son diferenciables, probablemente podamos aprender de ellos.
Los gradientes pueden desaparecer
Cada capa adicional puede reducir de forma sucesiva la señal frente al ruido
Las ReLus son útiles en este caso
Los gradientes pueden crecer demasiado
En este caso, las tasas de aprendizaje son importantes
La normalización por lotes (ajuste útil) puede ayudar
Las capas de ReLU pueden quedar en cero
Mantén la calma y reduce las tasas de aprendizaje
Normaliza valores de atributos
Queremos que nuestros atributos tengan escalas razonables
Un rango aproximadamente centrado en el cero, [-1, 1] a menudo funciona bien.
Ayuda a la convergencia del descenso de gradientes; evita la trampa de NaN.
Evitar los valores atípicos también puede ser útil.
Puedes usar algunos métodos estándar:
Escalamiento lineal
Límite fijo (recorte) en máx., mín.
Escalamiento de registros
Regularización de retirados
La regularización de retirados es otra forma de regularización que resulta útil para las redes neuronales.
Funciona al "extraer" unidades de forma aleatoria en una red para un solo paso de gradiente.
Hay una conexión para ensamblar modelos aquí
Mientras más extraiga, mejor será la regularización