Dar sentido a las curvas de pérdida y precisión

Aug 20 2020

Este es un problema con el que me he encontrado una y otra vez. Pérdida (entropía cruzada en este caso) y gráficos de precisión que no tienen sentido. Aquí hay un ejemplo:

Aquí, estoy entrenando un ReNet18 en CIFAR10. El optimizador es SGD con una tasa de aprendizaje de 0,1, un impulso de Nesterov de 0,9 y una caída de peso de 1e-4. La tasa de aprendizaje se reduce a ⅕ en las épocas 60, 120, 160.

  • Inicialmente, las curvas son agradables y elegantes; lo que significa que la pérdida de entrenamiento y validación está disminuyendo y la precisión está aumentando.
  • Alrededor de la época 65 ~ 70 se ven signos de sobreajuste; como val. la pérdida comienza a aumentar y val. la precisión comienza a disminuir (el cuadro rojo ). Todavía no hay nada extraño aquí.

Ahora hay dos cosas que no tienen sentido para mí:

  1. Después de la época 120 (donde LR disminuye) val. la pérdida y la precisión comienzan a mejorar durante un par de épocas (el cuadro verde ). ¿Por qué la disminución de la tasa de aprendizaje mejoraría repentinamente el rendimiento de validación de un modelo que ya estaba sobreajustado? Esperaría que la caída en LR acelerara el sobreajuste.

  2. Después de la época ~ 125 (la caja azul ), la pérdida comienza a aumentar, pero la precisión sigue mejorando. Entiendo que la pérdida podría aumentar mientras la precisión se mantiene constante (porque el modelo se vuelve más seguro en sus predicciones incorrectas o menos seguro en sus predicciones correctas). Pero no entiendo cómo la precisión puede mejorar mientras la pérdida aumenta.

Respuestas

hH1sG0n3 Aug 20 2020 at 18:52

Solo un par de puntos a continuación

  • Cuadro rojo: en términos estrictos, el sobreajuste se produce cuando el modelo funciona mejor en el entrenamiento que el conjunto de validación. Entonces, diría que aquí comienza antes de lo que se indica en rojo y probablemente se relacione con el modelo que encuentra mejores parámetros que solo se aplican al conjunto de entrenamiento. Es de destacar que no hay una disminución significativa de las pérdidas de trenes.
  • Recuadro verde: En entrenamiento, caída significativa de pérdidas. Este descubrimiento de unos mínimos significativamente mejores significa que también puede aplicarse en el conjunto de validación y, de hecho, se refleja en la curva de pérdida de valor. A pesar de eso, la pérdida no es mejor que el punto de control al comienzo del recuadro rojo.
  • Caja azul: la pérdida y la precisión no son métricas codependientes. Mientras que la precisión es una medida de la cantidad de conjeturas correctas (cuántas), la pérdida es una medida de la distancia desde lo correcto dado un punto de datos (qué tan lejos).

Generalmente, lr más pequeño significa que el modelo tiene menos "libertad" para saltar muy lejos en el espacio de características. Por lo tanto, hay menos posibilidades de ver una disminución significativa y rápida de las pérdidas. Como sugiere, hay una ligera tendencia al alza de sobreajuste en su pérdida de val, pero es tan significativa o rápida como lo permite el lr más pequeño en el entrenamiento.

Además, tenga en cuenta que la pérdida de su tren es mayor que la pérdida de val durante una buena parte de su entrenamiento (~ época 55). Es posible que desee investigar cómo se regulariza su modelo, ya que esto puede afectar sus curvas de aprendizaje de maneras que pueden ayudarlo a inferir mejor los diagnósticos. Por ejemplo, en pytorch, la pérdida de trenes entre los estados del modelo (model.train () y model.eval ()) difieren significativamente.