Reducción de la pérdida: Descenso de gradientes

El diagrama de enfoque iterativo (Figura 1) contenía un cuadro verde ondulado a mano llamado "Actualizar parámetros de procesamiento". Ahora reemplazaremos esa solución algorítmica mágica por algo más sustancial.

Supongamos que tuviéramos el tiempo y los recursos de procesamiento para calcular la pérdida de todos los valores posibles de \(w_1\). Para el tipo de problemas de regresión que estuvimos examinando, el diagrama resultante de pérdida frente a \(w_1\) siempre será convexo. En otras palabras, la representación siempre tendrá forma de tazón, como la siguiente:

Un gráfico de una curva en forma de U, con el eje vertical etiquetado como “pérdida” y el eje horizontal etiquetado como el valor de peso w i.

Figura 2: Los problemas de regresión producen diagramas de pérdida convexa vs. pesos.

 

Los problemas convexos tienen un solo mínimo, es decir, un solo lugar en el que la pendiente es exactamente 0. Ese mínimo es donde converge la función de pérdida.

Calcular la función de pérdida para cada valor concebible de \(w_1\)en todo el conjunto de datos sería una forma ineficiente de encontrar el punto de convergencia. Examinemos un mecanismo mejor, muy popular en el aprendizaje automático, llamado descenso de gradientes.

La primera etapa en el descenso de gradientes consiste en elegir un valor de inicio (un punto de partida) para \(w_1\). El punto de partida no es muy importante; por lo tanto, muchos algoritmos simplemente establecen \(w_1\) en 0 o eligen un valor aleatorio. En la siguiente figura, se muestra que elegimos un punto de partida ligeramente mayor que 0:

El trazado de una curva en forma de U. Un punto a la mitad del lado izquierdo de la curva se denomina "Punto de partida".

Figura 3: Un punto de partida para el descenso de gradientes.

Luego, el algoritmo de descenso de gradientes calcula la gradiente de la curva de pérdida en el punto de partida. En la Figura 3, la gradiente de la pérdida es igual a la derivada (pendiente) de la curva y indica en qué dirección es "más cálida" o "más fría". Cuando hay múltiples pesos, el gradiente es un vector de derivadas parciales con respecto a los pesos.

Ten en cuenta que la gradiente es un vector, de manera que tiene las dos características siguientes:

  • una dirección
  • una magnitud

La gradiente siempre apunta en la dirección del aumento más empinado de la función de pérdida. El algoritmo de descenso de gradientes da un paso en la dirección de la gradiente negativa para reducir la pérdida lo más rápido posible.

El trazado de una curva en forma de U. Un punto en el lado izquierdo de la curva se denomina "Punto de partida". Una flecha con la etiqueta “gradiente negativo” apunta desde este punto hacia la derecha.

Figura 4: El descenso de gradientes se basa en gradientes negativos.

Para determinar el siguiente punto a lo largo de la curva de la función de pérdida, el algoritmo de descenso de gradientes agrega alguna fracción de la magnitud de la gradiente al punto de partida, como se muestra en la siguiente figura:

El trazado de una curva en forma de U. Un punto en el lado izquierdo de la curva se denomina "Punto de partida". Una flecha con la etiqueta “gradiente negativo” apunta desde este punto hacia la derecha. Otra flecha apunta desde la punta de la primera flecha hacia abajo hasta un segundo punto de la curva. El segundo punto tiene la etiqueta “siguiente punto”.

Figura 5: Un paso de gradiente nos lleva al siguiente punto de la curva de pérdida.

Luego, el descenso de gradientes repite este proceso y se acerca cada vez más al mínimo.