A partir de la capa final, un "paso hacia atrás" diferencia la función de pérdida para calcular cómo cada parámetro individual de la red contribuye al error global para una sola entrada.
Volviendo a nuestro ejemplo anterior del modelo clasificador, empezaríamos con las 5 neuronas de la capa final, a la que llamaremos capa L. El valor softmax de cada neurona de salida representa la probabilidad, sobre 1, de que una entrada pertenezca a sus categorías. En un modelo perfectamente entrenado, la neurona que representa la clasificación correcta tendría un valor de salida cercano a 1 y las otras neuronas tendrían un valor de salida cercano a 0.
Por ahora, nos centraremos en la unidad de salida que representa la predicción correcta, a la que llamaremos Lc. La función de activación de Lces una función compuesta, que contiene las muchas funciones de activación anidadas de toda la red neuronal, desde la capa de entrada hasta la capa de salida. Minimizar la función de pérdida implicaría realizar ajustes en toda la red que acerquen la salida de la función de activación de Lc a 1.
Para hacerlo, necesitaremos saber cómo cualquier cambio en las capas anteriores cambiará la propia salida de Lc . En otras palabras, tendremos que encontrar las derivadas parciales de la función de activación de Lc .
La salida de la función de activación de Lc depende de las contribuciones que recibe de las neuronas de la penúltima capa, que llamaremos capa L-1. Una forma de cambiar la salida de Lces cambiar las ponderaciones entre las neuronas en L-1 y Lc. Al calcular la derivada parcial de cada ponderación L-1 con respecto a las otras ponderaciones, podemos ver cómo aumentar o disminuir cualquiera de ellos acercará la salida de Lc (o la alejará) de 1.
Pero esa no es la única forma de cambiar la salida de Lc . Las contribuciones que Lc recibe de las neuronas L-1 están determinadas no solo por las ponderaciones aplicadas a los valores de salida de L-1 , sino por los propios valores de salida reales (preponderados). Los valores de salida de las neuronas L-1 , a su vez, están influenciados por las ponderaciones aplicadas a las entradas que reciben de L-2. Así que podemos diferenciar las funciones de activación en L-1 para encontrar las derivadas parciales de las ponderaciones aplicadas a las contribuciones de L-2 . Estas derivadas parciales nos muestran cómo cualquier cambio en una ponderación L-2 afectará a las salidas en L-1, lo que posteriormente afectaría al valor de salida de Lc y, por lo tanto, a la función de pérdida.
Por esa misma lógica, también podríamos influir en los valores de salida que las neuronas L-1 reciben de las neuronas L-2 ajustando las contribuciones que las neuronas L-2 reciben de las neuronas en L-3. Así que encontramos las derivadas parciales en L-3, y así sucesivamente, repitiendo de forma recurrente este proceso hasta que hayamos llegado a la capa de entrada. Cuando hayamos terminado, tenemos el gradiente de la función de pérdida: un vector de su derivada parcial para cada parámetro de ponderación y sesgo de la red.
Ya hemos completado un paso hacia adelante y un paso hacia atrás para un solo ejemplo de entrenamiento. Sin embargo, nuestro objetivo es entrenar el modelo para que se generalice bien a las nuevas entradas. Para ello es necesario entrenarse con un gran número de muestras que reflejen la diversidad y la gama de entradas. El modelo se encargará de hacer predicciones después del entrenamiento.