Week 24 - Entrenamiento del Clasificador de Curvatura con EfficientNet
EfficientNet: Entrenamiento del Clasificador de Curvatura
Se eligió el modelo EfficientNet_B0 para entrenar un clasificador de curvatura, con el objetivo de detectar dos clases: curva y recta . Para este entrenamiento, se construyó un dataset balanceado (mismo número de ejemplos de curvas y rectas), compuesto por 36,000 imágenes RGB etiquetadas según la curvatura.
Para aumentar la variabilidad de las imágenes y hacer el modelo más robusto, se utilizó Albumentations para aplicar técnicas de data augmentation con un dropout de 0.3 y un learning rate de 0.0001, y el modelo fue implementado con la biblioteca PyTorch. También se utilizó early stopping para evitar el sobreentrenamiento del modelo y asegurarse de no entrenarlo demasiado.
También se utilizó early stopping para evitar el sobreentrenamiento del modelo y asegurarse de no entrenarlo demasiado.
Se empleó la técnica de congelamiento de capas, de modo que no se calculen ni se actualicen los gradientes de la mayoría de los parámetros, aprovechando así los conocimientos previos del modelo preentrenado. Posteriormente, se descongeló la última capa del modelo para que pudiera especializarse en este nuevo conjunto de datos sin olvidar lo aprendido en el entrenamiento inicial. El modelo se entrenó durante 26 épocas.
Resumen de los Resultados del Entrenamiento
El entrenamiento se realizó durante 35 épocas utilizando un dataset compuesto por 36,000 imágenes. Se empleó un learning rate de 0.0001 y un dropout de 0.3 para mejorar la capacidad de generalización del modelo. Las métricas utilizadas para evaluar el desempeño fueron la pérdida (loss) y la precisión (accuracy) tanto para el entrenamiento como para la validación. Además, se usó early stopping para evitar el sobreentrenamiento del modelo.
El gráfico de entrenamiento y validación muestra que el modelo generaliza bien . La pérdida de entrenamiento y la pérdida de validación disminuyen gradualmente y se estabilizan cerca de cero, indicando que el modelo aprende de maneraw efectiva sin sobreajustarse. Además, la precisión de entrenamiento y precisión de validación alcanzan valores muy altos (≥ 99%) y convergen, lo cual es un claro indicativo de que el modelo es capaz de mantener un buen rendimiento tanto en datos vistos durante el entrenamiento como en datos de validación nunca antes vistos.
Tabla Resumen del Entrenamiento
Parámetro | Valor |
---|---|
Modelo | EfficientNet_B0 |
Dataset | 36,000 imágenes RGB |
Clases | Curva, Recta |
Learning Rate | 0.0001 |
Dropout | 0.3 |
Épocas de Entrenamiento | 35 |
Épocas de Early Stopping | 26 |
Métricas | Pérdida (loss), Precisión (accuracy) |
Técnicas de Data Augmentation | Albumentations |
Congelamiento de Capas | Sí |
Gráficos de métricas usadas
Pruebas de algunas inferencias
Videos de Prueba
Town02
Town05