Alta pérdida de validación, alta precisión de validación

Sep 15 2020

Recién estoy comenzando en el campo del aprendizaje profundo y completé mi primer entrenamiento de modelos usando PyTorch.

Decidí usar un modelo preconstruido de torchvision, más específicamente el mobilenet_v2 (https://pytorch.org/docs/stable/_modules/torchvision/models/mobilenet.html#mobilenet_v2) en un conjunto de datos personalizado para clasificación binaria.

Me las arreglo para obtener un 100% de precisión tanto para el entrenamiento como para los conjuntos de prueba (este conjunto de datos en particular no es difícil, así que no hay nada extraño en eso)

Lo que no entiendo es por qué la pérdida de prueba parece ser varios órdenes de magnitud más alta que la pérdida del tren, mientras que la precisión es del 100% en ambos casos. ¿Podría alguien aquí explicarme qué está pasando aquí?

Te muestro las estadísticas de entrenamiento a continuación:

Época: 1/15, Pérdida de tren: 0,22990, Precisión de tren: 88,48%, Pérdida de prueba: 2,10275, Precisión de prueba: 99,22%

Época: 2/15, Pérdida del tren: 0,03988, Precisión del tren: 99,41%, Pérdida de prueba: 2,08563, Precisión de la prueba: 99,22%

Época: 3/15, Pérdida de tren: 0,02211, Precisión de tren: 99,41%, Pérdida de prueba: 2,05521, Precisión de prueba: 100,00%

Época: 4/15, Pérdida de tren: 0.01173, Precisión de tren: 99.80%, Pérdida de prueba: 2.05332, Precisión de prueba: 100.00%

Época: 5/15, Pérdida de tren: 0,00499, Precisión de tren: 100,00%, Pérdida de prueba: 2,04989, Precisión de prueba: 100,00%

Época: 15/6, Pérdida de tren: 0,00381, Precisión de tren: 100,00%, Pérdida de prueba: 2,04952, Precisión de prueba: 100,00%

Época: 15/7, Pérdida de tren: 0,00171, Precisión de tren: 100,00%, Pérdida de prueba: 2,04999, Precisión de prueba: 100,00%

Época: 15/8, Pérdida de tren: 0,00072, Precisión del tren: 100,00%, Pérdida de prueba: 2,04971, Precisión de prueba: 100,00%

Época: 15/9, Pérdida de tren: 0,00045, Precisión del tren: 100,00%, Pérdida de prueba: 2,04938, Precisión de prueba: 100,00%

Época: 15/10, Pérdida de tren: 0,00035, Precisión de tren: 100,00%, Pérdida de prueba: 2,04932, Precisión de prueba: 100,00%

Época: 15/11, Pérdida de tren: 0,00029, Precisión de tren: 100,00%, Pérdida de prueba: 2,04920, Precisión de prueba: 100,00%

Época: 15/12, Pérdida de tren: 0,00025, Precisión del tren: 100,00%, Pérdida de prueba: 2,04922, Precisión de prueba: 100,00%

Época: 13/15, Pérdida de tren: 0,00022, Precisión de tren: 100,00%, Pérdida de prueba: 2,04906, Precisión de prueba: 100,00%

Época: 14/15, Pérdida de tren: 0,00020, Precisión de tren: 100,00%, Pérdida de prueba: 2,04914, Precisión de prueba: 100,00%

Época: 15/15, Pérdida de tren: 0,00018, Precisión de tren: 100,00%, Pérdida de prueba: 2,04905, Precisión de prueba: 100,00%

Respuestas

1 Shiv Sep 15 2020 at 14:37

En la clasificación binaria tenemos 0 o 1. Debe usar la función softmax en la capa final para obtener la salida. Va desde (0,1)
Pérdida: En términos generales, es la diferencia entre el valor previsto y el real.
Suponga
CASO 1 : el valor predicho es 0,6 la respuesta real es 1.
CASO 2 : el valor predicho es 0,9 la respuesta real es 1.
Aunque ambos tienen las respuestas correctas (porque ambos se redondean para convertirse en 1), la pérdida en el caso 2 es menor que caso 1.