Interpretación de la regularización del peso en el aprendizaje automático | por Dhruv Matani | agosto de 2024

¿Por qué la regularización L1 y L2 da como resultado escasez de modelos y reducción de peso? ¿Qué sucede con la regularización L3? ¡Siga leyendo para obtener más información!

Foto de El pez koi en Dejar de salpicar

En coautoría con Naresh Singh.

Después de leer este artículo, estará muy bien equipado con las herramientas y la capacidad de razonamiento para pensar en los efectos de cualquier término de regularización de Lk y decidir si se aplica a su situación.

¿Qué es la regularización en el aprendizaje automático?

Veamos algunas definiciones en Internet y generalicemos en base a ellas.

  1. La regularización es un conjunto de métodos para reducir el sobreajuste en los modelos de aprendizaje automático. Normalmente, la regularización compensa una disminución marginal en la precisión del entrenamiento con un aumento en la generalización.IBM)
  2. La regularización hace que los modelos sean estables en diferentes subconjuntos de datos. Reduce la sensibilidad de los resultados del modelo a cambios menores en el conjunto de entrenamiento.geeksparageeks)
  3. La regularización en el aprendizaje automático sirve como método para evitar que un modelo se sobreajuste.aprender de forma sencilla)

En general, la regularización es una técnica que evita que el modelo se sobreajuste y permite que el modelo generalice sus predicciones sobre datos no vistos. Veamos en particular el papel de la regularización ponderal.

¿Por qué utilizar la regularización de peso?

Se pueden emplear muchas formas de regularización durante el entrenamiento de un modelo de aprendizaje automático. La regularización de pesos es una de esas técnicas, que es el foco de este artículo. La regularización de pesos implica aplicar algunas restricciones a los pesos que se pueden aprender de su modelo de aprendizaje automático para que permitan que el modelo se generalice a entradas no vistas.

La regularización de pesos mejora el rendimiento de las redes neuronales al penalizar las matrices de pesos de los nodos. Esta penalización evita que el modelo tenga valores de parámetros (pesos) elevados. Ayuda a controlar la capacidad del modelo para ajustar el ruido en los datos de entrenamiento. Normalmente, los sesgos en el modelo de aprendizaje automático no están sujetos a regularización.

¿Cómo se implementa la regularización en redes neuronales profundas?

Normalmente, a la pérdida del modelo durante el entrenamiento se le suma una pérdida de regularización. Esto nos permite controlar los pesos del modelo durante el entrenamiento. La fórmula es la siguiente:

Figura 1: Pérdida total como suma de la pérdida del modelo y la pérdida de regularización. k es un valor de punto flotante e indica la norma de regularización. Alfa es el factor de ponderación de la pérdida de regularización.

Los valores típicos de k utilizados en la práctica son 1 y 2. Estos se denominan esquemas de regularización L1 y L2.

Pero ¿por qué utilizamos sólo estos dos valores en la mayoría de los casos, cuando en realidad hay una infinidad de valores de k que se podrían utilizar? Respondamos a esta pregunta con una interpretación de los esquemas de regularización L1 y L2.

Los dos tipos de regularización más comunes que se utilizan para los modelos de aprendizaje automático son la regularización L1 y L2. Comenzaremos con estas dos y continuaremos analizando algunos tipos de regularización poco comunes, como la regularización L0.5 y L3. Analizaremos los gradientes de las pérdidas de regularización y los representaremos gráficamente para comprender intuitivamente cómo afectan los pesos del modelo.

Regularización L1

La regularización L1 suma el promedio del valor absoluto de los pesos como pérdida de regularización.

Figura 2: Pérdida de regularización L1 y su derivada parcial con respecto a cada peso Wi.

Tiene el efecto de ajustar los pesos mediante una constante (en este caso alfa multiplicado por la tasa de aprendizaje) en la dirección que minimiza la pérdida. La figura 3 muestra una representación gráfica de la función y su derivada.

Figura 3: La línea azul es |w| y la línea roja es la derivada de |w|.

Se puede observar que la derivada de la norma L1 es una constante (dependiente del signo de w), lo que significa que el gradiente de esta función solo depende del signo de w y no de su magnitud. El gradiente de la norma L1 no está definido en w=0.

Esto significa que los pesos se mueven hacia cero en un valor constante en cada paso durante la retropropagación. A lo largo del entrenamiento, tiene el efecto de impulsar los pesos para que converjan en cero. Es por eso que la regularización L1 hace que un modelo sea disperso (es decir, algunos de los pesos se vuelven cero). Puede causar un problema en algunos casos si termina haciendo que un modelo sea demasiado disperso. La regularización L2 no tiene este efecto secundario. Vamos a discutirlo en la siguiente sección.

Regularización L2

La regularización L2 suma el promedio del cuadrado del valor absoluto de los pesos como pérdida de regularización.

Figura 4: Pérdida de regularización L2 y su derivada parcial con respecto a cada peso Wi.

Tiene el efecto de ajustar cada peso por un múltiplo del peso mismo en la dirección que minimiza la pérdida. La figura 5 muestra una representación gráfica de la función y su derivada.

Figura 5: La línea azul es pow(|w|, 2) y la línea roja es la derivada de pow(|w|, 2).

Se puede ver que la derivada de la norma L2 es simplemente la raíz cuadrada ajustada por signo de la norma misma. El gradiente de la norma L2 depende tanto del signo como de la magnitud del peso.

Esto significa que en cada paso de actualización de gradiente, los pesos se ajustarán hacia cero en una cantidad proporcional al valor del peso. Con el tiempo, esto tiene el efecto de acercar los pesos a cero, pero nunca exactamente a cero, ya que restar un factor constante de un valor del valor en sí nunca hace que el resultado sea exactamente cero a menos que sea cero para empezar. La norma L2 se utiliza comúnmente para la disminución de peso durante el entrenamiento del modelo de aprendizaje automático.

Consideremos a continuación la regularización L0.5.

Regularización L0.5

La regularización L0.5 suma el promedio de la raíz cuadrada del valor absoluto de los pesos como pérdida de regularización.

Figura 6: Pérdida de regularización L0,5 y su derivada parcial con respecto a cada peso Wi.

Esto tiene el efecto de ajustar cada peso por un múltiplo (en este caso alfa por la tasa de aprendizaje) de la raíz cuadrada inversa del peso en sí en la dirección que minimiza la pérdida. La figura 7 muestra un gráfico de la función y su derivada.

Figura 7: La línea azul es pow(|w|, 0.5) y la línea roja es la derivada de pow(|w|, 0.5).

Se puede ver que la derivada de la norma L0.5 es una función discontinua, que alcanza su máximo en los valores positivos de w cercanos a 0 y alcanza el infinito negativo para los valores negativos de w cercanos a 0. Además, podemos sacar las siguientes conclusiones del gráfico:

  1. A medida que |w| tiende a 0, la magnitud del gradiente tiende a infinito. Durante la retropropagación, estos valores de w oscilarán rápidamente más allá de 0 porque los gradientes grandes causarán un gran cambio en el valor de w. En otras palabras, w negativo se volverá positivo y viceversa. Este ciclo de cambios bruscos continuará repitiéndose.
  2. A medida que |w| aumenta, la magnitud del gradiente disminuye. Estos valores de w son estables debido a que los gradientes son pequeños. Sin embargo, con cada paso de retropropagación, el valor de w se acercará a 0.

Esto no es precisamente lo que se desea de una rutina de regularización de peso, por lo que se puede decir con seguridad que L0.5 no es un gran regularizador de peso. Consideremos ahora la regularización L3.

Regularización L3

La regularización L3 suma el promedio del cubo del valor absoluto de los pesos como pérdida de regularización.

Figura 8: Pérdida de regularización L3 y su derivada parcial con respecto a cada peso Wi.

Esto tiene el efecto de ajustar cada peso por un múltiplo (en este caso alfa por la tasa de aprendizaje) del cuadrado del peso mismo en la dirección que minimiza la pérdida.

Gráficamente, así es como se ven la función y su derivada.

Figura 9: La línea azul es pow(|w|, 3) y la línea roja es la derivada de pow(|w|, 3).

Para entender realmente qué está pasando aquí, necesitamos ampliar el gráfico alrededor del punto w=0.

Figura 10: La línea azul es pow(|w|, 3) y la línea roja es la derivada de pow(|w|, 3), ampliada en valores pequeños de w alrededor de 0,0.

Se puede ver que la derivada de la norma L3 es una función continua y diferenciable (a pesar de la presencia de |w| en la derivada), que tiene una magnitud grande para valores grandes de w y una magnitud pequeña para valores pequeños de w.

Curiosamente, el gradiente está muy cerca de cero para valores muy pequeños de w alrededor de la marca 0,0.

La interpretación del gradiente para L3 es interesante.

  1. Para valores grandes de w, la magnitud del gradiente es grande. Durante la retropropagación, estos valores se verán empujados hacia 0.
  2. Una vez que el peso w alcanza un punto de inflexión (cerca de 0,0), el gradiente casi desaparece y los pesos dejarán de actualizarse.

El efecto es que llevará los pesos con magnitudes grandes cerca de 0, pero no exactamente a 0.

Consideremos normas superiores para ver cómo funciona esto en el caso límite.

Más allá de la regularización L3

Para entender lo que sucede en Linfinity, necesitamos ver qué sucede en el caso de la regularización L10.

Figura 11: La línea azul es pow(|w|, 10) y la línea roja es la derivada de pow(|w|, 10), ampliada en valores pequeños de w alrededor de 0,0.

Se puede ver que los gradientes para valores de |w| < 0,5 son extremadamente pequeños, lo que significa que la regularización no será efectiva para esos valores de w.

Ejercicio

En base a todo lo que vimos anteriormente, la regularización L1 y L2 son bastante prácticas en función de lo que se quiera lograr. A modo de ejercicio, intente razonar sobre el comportamiento de la regularización L1.5, cuyo gráfico se muestra a continuación.

Figura 12: La línea azul es pow(|w|, 1.5) y la línea roja es la derivada de pow(|w|, 1.5).

Analizamos de forma visual e intuitiva los términos de regularización L1 y L2 (y en general Lk) para comprender por qué la regularización L1 da como resultado pesos de modelo dispersos y la regularización L2 da como resultado pesos de modelo cercanos a 0. Enmarcar la solución como una inspección de los gradientes resultantes es extremadamente valioso durante este ejercicio.

Exploramos los términos de regularización L0.5, L3 y L10 de forma gráfica, y usted (el lector) razonó sobre los términos de regularización entre la regularización L1 y L2, y desarrolló una comprensión intuitiva de qué implicaciones tendría en los pesos de un modelo.

Esperamos que este artículo haya agregado a su caja de herramientas los trucos que puede usar al considerar estrategias de regularización durante el entrenamiento del modelo para el ajuste fino.

Todos los gráficos de este artículo se crearon utilizando la calculadora gráfica en línea desmos. Aquí hay un enlace a las funciones utilizadas en caso de que desees jugar con ellas.

Todas las imágenes fueron creadas por el autor(es) a menos que se indique lo contrario.

Los siguientes artículos nos resultaron útiles mientras investigábamos el tema. ¡Esperamos que a usted también le resulten útiles!

  1. Discusión en Stackexchange
  2. TDS: Desmitificando la regularización L1 y L2 (parte 3)
  3. Explicación visual de la regularización L1 y L2
  4. Aprendizaje profundo por Ian Goodfellow
  5. Introducción al aprendizaje estadístico por Gareth James