Propagación hacia atrás

Clase 7 de 9Curso de Redes Neuronales y Backpropagation 2017

El objetivo de este paso es actualizar los pesos de la red neuronal en una dirección que minimiza la función de pérdida. Como veremos mas adelante, este es un algoritmo recursivo, el cual reutiliza gradientes previamente calculadas y se basada plenamente en funciones diferenciables. Ya que estas actualizaciones reducen la función de pérdida, una red ‘aprende’ a aproximar las etiquetas de nuevas observaciones. Una propiedad llamada generalización.

Este paso va en orden reverso que la propagación hacia adelante. Este calcula la primera derivada de la función de pérdida con respecto a los pesos de la red neuronal de la capa de salida (dLoss/dW2) y luego los de la capa escondida (dLoss/dW1). Expliquemos en detalle cada uno.

dLoss/dW2:

La regla de la cadena dice que podemos descomponer el calculo de gradientes de una red neuronal en funciones diferenciables:

Aquí están las definiciones de funciones usadas arriba y sus primeras derivadas:

Screen Shot 2017-11-13 at 12.23.35 PM.png

Mas visualmente, queremos actualizar los pesos W2 (en azul) en la figura de abajo. Para eso necesitamos calcular tres derivadas parciales a lo largo de la cadena.

Insertando esos valores esas derivadas parciales nos permiten calcular gradientes con respecto a los pesos W2 como sigue.

El resultado es una matriz de 3x2 llamada dLoss/dW2, la cual actualizara los valores originales de W2 en una dirección que minimiza la función de pérdida.

dLoss/dW1:

Calculando la regla de la cadena para actualizar los pesos de la primera capa escondida W1 exhibe la posibilidad de reutilizar cálculos existentes.

Mas visualmente, el camino desde la capa de salida hasta los pesos W1 toca derivadas parciales ya calculadas en capas mas superiores.

Por ejemplo, la derivada parcial dLoss/dh2 y dh2/dz2 ha sido ya calculada como una dependencia para aprender los pesos de la capa de salida dLoss/dW2 en la sección anterior.

Ubicando todas las derivadas juntas, podemos ejecutar la regla de la cadena de nuevo para actualizar los pesos de la capa escondida W1:

Finalmente, asignamos los nuevos valores de los pesos y hemos completado una iteración del entrenamiento de la red neuronal!