A partir de la capa final, un "pase hacia atrás" diferencia la función de pérdida para calcular cómo cada parámetro individual de la red contribuye al error general para una sola entrada.
Volviendo a nuestro ejemplo anterior del modelo clasificador, comenzaríamos con las 5 neuronas en la capa final, a la que llamaremos capa L. El valor softmax de cada neurona de salida representa la probabilidad (de 1) de que una entrada pertenezca a sus Categories. En un modelo perfectamente capacitado, 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 numerosas funciones de activación anidadas de toda la neural Network, 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 a 1 la salidade la función de activación de Lc .
Para hacerlo, necesitaremos saber cómo cualquier cambio en las capas anteriores modificará 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 Lcdepende de las contribuciones que recibe de las neuronas en la penúltima capa, que llamaremos capa L-1. Una forma de cambiar la salida de Lces cambiar los pesos entre las neuronas en L-1 y Lc. Al calcular la derivada parcial de cada peso L-1 con respecto a los otros pesos, podemos ver cómo aumentar o disminuir cualquiera de ellos traerá la salida de Lc más cerca (o más lejos) 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 los pesos aplicados 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 influidos por los pesos aplicados 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 los pesos aplicados a las contribuciones de L-2 . Estas derivadas parciales nos muestran cómo cualquier cambio en un peso L-2 afectará las salidas en L-1, lo que posteriormente afectaría el valor de salida de Lc y, por lo tanto, afectarí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 llegamos a la capa de entrada. Cuando terminamos, tenemos el gradiente de la función de pérdida: un vector de su derivada parcial para cada parámetro de peso y sesgo en la red.
Ahora completamos un pase hacia adelante y un pase hacia atrás para un solo ejemplo de entrenamiento. Sin embargo, nuestro objetivo es capacitar el modelo para generalizar bien a nuevas entradas. Para hacerlo, se requiere entrenamiento en una gran cantidad de muestras que reflejen la diversidad y el rango de entradas que el modelo tendrá la tarea de hacer predicciones luego del entrenamiento.