Optimizando FGVC: Lecciones del clasificador de coches en tiempo real

Towardsdatascience

Durante el último año, investigadores de Multitel han profundizado en las complejidades de la clasificación visual de grano fino (FGVC). Su objetivo principal: diseñar un clasificador de coches robusto capaz de identificar modelos y años específicos de automóviles, no solo marcas generales, y, crucialmente, operar en tiempo real en dispositivos de borde con recursos limitados junto con otros modelos de IA. Este ambicioso proyecto requirió fusionar el rigor académico con las exigencias prácticas del despliegue en el mundo real.

El desafío de FGVC es multifacético. A diferencia de la clasificación de imágenes general, que podría distinguir entre un coche y un gato, FGVC exige discernir diferencias visuales sutiles entre objetos muy similares —por ejemplo, diferenciar entre varios modelos de BMW o incluso años de producción específicos. Esta tarea es inherentemente difícil debido a varios factores. En primer lugar, a menudo hay una variación interclase mínima, lo que significa que las señales visuales que separan las categorías pueden ser increíblemente sutiles. Al mismo tiempo, existe una gran variación intraclase, ya que las instancias dentro de la misma categoría pueden parecer muy diferentes debido a cambios en la iluminación, la perspectiva o el desorden del fondo, lo que fácilmente anula esas distinciones sutiles. Además, los conjuntos de datos del mundo real con frecuencia exhiben distribuciones de cola larga, donde unas pocas categorías comunes tienen ejemplos abundantes, mientras que muchas categorías raras están representadas por solo un puñado de imágenes, lo que dificulta que los modelos aprendan igualmente bien en todas las clases.

Para abordar este problema, el equipo de Multitel revisó inicialmente la extensa literatura académica sobre FGVC. Años de investigación han producido una plétora de arquitecturas y pipelines cada vez más complejos. Los enfoques tempranos a menudo involucraban modelos de múltiples etapas, donde una subred localizaba las partes discriminativas de un objeto antes de que una segunda lo clasificara. Otros métodos exploraron funciones de pérdida personalizadas, interacciones de características de alto orden o dependencias jerárquicas de etiquetas. Si bien muchas de las soluciones de vanguardia más recientes, particularmente aquellas basadas en arquitecturas transformer, lograron impresionantes precisiones de referencia —algunas incluso superando el 97% en conjuntos de datos como Stanford Cars—, a menudo carecían de discusión sobre el tiempo de inferencia o las limitaciones de despliegue. Para la aplicación de dispositivos de borde en tiempo real de Multitel, tales modelos fueron considerados poco prácticos.

En lugar de perseguir las soluciones más complejas o especializadas, Multitel adoptó una estrategia contraintuitiva: ¿podría un modelo conocido, eficiente y de propósito general, si se entrenara de manera óptima, lograr un rendimiento comparable al de arquitecturas más pesadas y especializadas? Esta línea de investigación se inspiró en estudios que sugieren que muchas arquitecturas de IA nuevas se comparan injustamente con líneas de base antiguas entrenadas con procedimientos desactualizados. La premisa era que un modelo bien establecido como ResNet-50, al beneficiarse de los avances modernos en el entrenamiento, podría “contraatacar” con resultados sorprendentemente sólidos, incluso en desafiantes benchmarks de FGVC.

Con esta filosofía, el equipo se propuso construir un procedimiento de entrenamiento potente y reutilizable que pudiera ofrecer un alto rendimiento en tareas de FGVC sin depender de modificaciones específicas de la arquitectura. La idea central era comenzar con un backbone eficiente como ResNet-50 y centrarse por completo en refinar el pipeline de entrenamiento, asegurando que la “receta” pudiera aplicarse ampliamente a otras arquitecturas con ajustes mínimos. Recopilaron y combinaron meticulosamente las mejores prácticas de varios artículos influyentes, incluidos los de “Bag of Tricks for Image Classification”, “Compounding Performance Improvements” y el trabajo de Wightman “ResNet Strikes Back”.

Para validar su pipeline de entrenamiento en evolución, los investigadores utilizaron el conjunto de datos Stanford Cars, un benchmark de FGVC ampliamente aceptado que presenta 196 categorías de coches y más de 16,000 imágenes, todas recortadas a cajas delimitadoras para simular un escenario de clasificación posterior. Su línea base inicial, utilizando un modelo ResNet-50 preentrenado en ImageNet y entrenado durante 600 épocas con optimización de Gradiente Acelerado de Nesterov, una tasa de aprendizaje de 0.01 y un tamaño de lote de 32, logró una precisión del 88.22%.

El equipo introdujo entonces mejoras sistemáticamente. La implementación de entrenamiento con lotes grandes (tamaño de lote 128, tasa de aprendizaje 0.1) combinada con una estrategia de calentamiento lineal de la tasa de aprendizaje impulsó inmediatamente la precisión al 89.21%. Un salto significativo ocurrió con la adopción de TrivialAugment, una técnica de aumento de datos notablemente simple pero efectiva y sin parámetros que muestrea y aplica aumentos aleatoriamente. Solo esto impulsó la precisión al 92.66%. Otros refinamientos incluyeron el cambio a una decadencia de la tasa de aprendizaje coseno, que elevó la precisión al 93.22%, y la introducción del suavizado de etiquetas (label smoothing). Esta técnica, que suaviza las etiquetas de verdad fundamental para reducir la sobreconfianza del modelo, no solo mejoró la regularización sino que también permitió una tasa de aprendizaje inicial más alta (0.4), culminando en una robusta precisión del 94.5%. Una regularización adicional provino de Random Erasing, que oscurece aleatoriamente partes de las imágenes, aumentando la precisión al 94.93%. Finalmente, se incorporó la Media Móvil Exponencial (EMA). Aunque EMA mejoró consistentemente la estabilidad y la generalización en pruebas aisladas, su integración en el pipeline completo y ya optimizado no mostró una ganancia incremental adicional. Sin embargo, debido a sus beneficios generales y bajo costo computacional, se mantuvo en la receta final por su aplicabilidad general.

El equipo también exploró otras técnicas de optimización comunes que, en última instancia, no produjeron mejoras para esta tarea específica. La decadencia de peso (weight decay) regresó consistentemente el rendimiento, mientras que métodos de aumento avanzados como Cutmix y Mixup también resultaron perjudiciales. Aunque AutoAugment entregó resultados sólidos, TrivialAugment fue preferido por su rendimiento superior y su naturaleza sin parámetros, lo que simplificó el proceso de ajuste. Entre varios optimizadores y programadores de tasa de aprendizaje probados, el Gradiente Acelerado de Nesterov y el Recocido Coseno (Cosine Annealing) consistentemente entregaron los mejores resultados.

En conclusión, al aplicar y combinar sistemáticamente las mejores prácticas de entrenamiento modernas a una arquitectura ResNet-50 estándar, Multitel logró un sólido rendimiento en el conjunto de datos Stanford Cars, llevando la precisión a casi el 95%. Esto demuestra que el ajuste cuidadoso de técnicas establecidas puede mejorar significativamente las capacidades de un modelo de propósito general en la clasificación de grano fino. Sin embargo, es crucial reconocer las limitaciones de tales benchmarks. El conjunto de datos Stanford Cars está casi equilibrado en cuanto a clases, presenta imágenes de alta calidad, en su mayoría frontales, y carece de oclusión significativa o ruido del mundo real. No aborda completamente desafíos como las distribuciones de cola larga, el cambio de dominio o el reconocimiento de clases no vistas, que son omnipresentes en las aplicaciones prácticas. Si bien esta investigación proporciona una línea base robusta y una prueba de concepto, construir un sistema verdaderamente listo para producción capaz de manejar las complejidades inherentes de los datos del mundo real sigue siendo un esfuerzo continuo.