Si comprende el tema del entrenamiento de redes neuronales, entonces no es difícil entender lo que está haciendo la propagación hacia atrás.
Dada una entrada [math] \ mathbf {x} [/ math] y la salida real [math] y [/ math], la pérdida [math] \ mathcal {L} \ left (f \ left (\ mathbf {x} , \ Theta \ right), y \ right) [/ math] es una medida de error de la salida predicha [math] f \ left (\ mathbf {x}, \ Theta \ right) [/ math], donde [math ] \ Theta [/ math] denota los parámetros de la red neuronal. A medida que [math] \ Theta [/ math] cambia, la salida predicha [math] f \ left (\ mathbf {x}, \ Theta \ right) [/ math] puede cambiar y, por lo tanto, para diferentes parámetros [math] \ Theta [/ math] obtenemos diferentes valores de la función de pérdida. El objetivo es encontrar los parámetros [matemática] \ Theta [/ matemática] que minimiza la pérdida. Una forma estándar de minimizar la función de pérdida es utilizar el descenso de gradiente estocástico, en el que actualizamos los parámetros [matemática] \ Theta [/ matemática] con la esperanza de avanzar hacia un mínimo. Sin embargo, para usar el descenso de gradiente estocástico, necesitamos los gradientes de la función de pérdida con respecto a los parámetros [matemática] \ Theta [/ matemática]. Una retropropagación es un método de cálculo de tales gradientes.
Piense en todo el proceso como un conjunto de cajas.
- Cómo visualizar Kernel CNN con una profundidad mayor de 3
- ¿Cuáles son las mejores medidas de rendimiento para un modelo de detección de anomalías?
- ¿Qué es el aprendizaje automático en la predicción de emociones basada en texto?
- ¿Cómo debo elegir una función de activación adecuada para la red neuronal?
- ¿Puede un contador estar completamente automatizado para 2030? Si es así, ¿cuál es la mejor manera de salvar mi trabajo?
- El primer cuadro es la pérdida [matemática] \ matemática {L} \ left (f \ left (\ mathbf {x}, \ Theta \ right), y \ right) [/ math] que queremos minimizar.
- El segundo cuadro es el descenso de gradiente estocástico, que es un algoritmo utilizado para minimizar la función de pérdida.
- El tercer cuadro es la propagación hacia atrás que se utiliza para calcular los gradientes, nos ayuda a tratar con el segundo cuadro.
La propagación hacia atrás es un nombre elegante dado al proceso de cálculo de los gradientes. Parece complejo ya que estamos tratando de encontrar las derivadas de la composición de funciones , que suele ser el caso con las redes neuronales. La regla de la cadena es una forma estándar de calcular dichos derivados. Por lo tanto, la propagación hacia atrás es esencialmente el cálculo de los gradientes de una función compuesta. Requiere solo cálculo elemental (saber tomar derivadas de funciones simples) y la regla de la cadena, y no matemática sofisticada.
He tratado de explicar la propagación hacia atrás en ¿Cómo funciona la propagación hacia atrás? Puedes echarle un vistazo si quieres. No he usado ninguna matemática complicada, solo requiere cálculo elemental.
Si todavía se siente incómodo con la propagación hacia atrás, le aconsejo que repase la regla de la cadena y luego vuelva a visitarla.
Puede encontrar útiles los siguientes recursos.
Redes neuronales y aprendizaje profundo.
CS231n Redes neuronales convolucionales para reconocimiento visual