El reciente webinar de Spain AI, la red nacional y asociación sin ánimo de lucro, con la finalidad de crear una comunidad colaborativa dentro del ámbito de la Inteligencia Artificial en España, sobre el entrenamiento de modelos de clasificación de imágenes mediante librerías de deep learning ofreció una inmersión profunda en las técnicas y herramientas que están revolucionando el campo del machine learning. Concretamente, el webinar se centra en la problemática relativa a la clasificación de imágenes y presenta AISee, una librería que pretende ayudar a los usuarios a crear modelos de clasificación de imágenes de manera más eficiente.
El webinar fue liderado por Pablo Gutiérrez Ruiz y Eduardo Bocarruido Torres, dos expertos en el campo del machine learning. En primer lugar, Pablo es graduado en Ingeniería Informática con un Máster en Data Science y cuenta con 3 años de experiencia como Data Scientist en el Instituto de Ingeniería del Conocimiento (IIC). Por otro lado, Eduardo es graduado en Ciencias Actuariales con un Máster en Big Data y cuenta con 4 años de experiencia como Data Scientist en el mismo Instituto. Juntos, Pablo y Eduardo compartieron su experiencia y conocimientos sobre el uso de librerías de deep learning para el entrenamiento de modelos de clasificación de imágenes, ofreciendo una valiosa perspectiva en este campo en constante evolución.
En este contexto, uno de los principales desafíos al trabajar con modelos de clasificación de imágenes es la complejidad y repetitividad de las tareas involucradas en cada proyecto. Desde la selección y configuración de modelos hasta la gestión de datos y la evaluación del rendimiento del modelo, cada paso del proceso puede consumir una cantidad considerable de tiempo y recursos, especialmente cuando se trata de proyectos a gran escala.
La automatización y simplificación proporcionadas por estas librerías tienen numerosos beneficios. Reducen la carga cognitiva y la propensión a errores al eliminar la necesidad de escribir código redundante en cada proyecto. Además, mejoran la escalabilidad al permitir la reutilización de métodos y clases en múltiples proyectos sin necesidad de modificaciones, lo que facilita enormemente la creación y el mantenimiento de grandes carteras de proyectos de aprendizaje profundo.
Como se ha adelantado, a lo largo de la sesión, se exploraron en detalle las soluciones que estas librerías proporcionan para abordar los desafíos inherentes a la creación de modelos de clasificación de imágenes, destacando cómo simplifican y optimizan cada etapa del proceso de desarrollo. Una intervención que se centra en el funcionamiento concreto de AISee, la cual se apoya en otras.
La librería Aisee del IIC nace como consecuencia de la experiencia del equipo en el desarrollo de modelos de clasificación de imágenes y se enfoca en la integración con arquitecturas de vanguardia, la flexibilidad, la eficiencia y la contribución de la comunidad para mejorar su desempeño. Para el desarrollo de esta se detalla la elección de las librerías PyTorch y Timm, debido a su fácil uso, soporte de GPU, integración con otras librerías de Python y la disponibilidad de modelos preentrenados, principalmente con ImageNet.
Al mismo tiempo, esta librería se compone de dos módulos principales: Vision Classifier y Trainer. Por un lado, Vision Classifier facilita la integración de modelos preentrenados, la resolución de problemas multiclase y multietiqueta, así como la evaluación de modelos de manera sencilla. Además, simplifica la instancia de modelos, evitando la complejidad asociada con PyTorch. Se destaca la capacidad de resolver problemas multietiqueta y multiclase con parámetros claros y amigables para usuarios de todos los niveles de experiencia. Por otro lado, el módulo Trainer permite diferentes tipos de entrenamiento según las capas de la red que se deseen entrenar, proporcionando flexibilidad en el proceso de ajuste fino (fine-tuning) de los modelos preentrenados.
En cuanto al repositorio de la misma, se estructura en dos directorios principales: “aisee” y “notebooks“. Este repositorio está diseñado para fomentar la colaboración y la accesibilidad, permitiendo a los usuarios tanto aprender como contribuir al desarrollo y mejora continua de la librería.
Para comprender mejor cómo funciona AISee y el proceso de entrenamiento de modelos de clasificación de imágenes, Pablo explicó en detalle los pasos que se deben llevar a cabo. La primera etapa implica la selección y configuración del modelo, donde los desarrolladores deben elegir entre una variedad de arquitecturas predefinidas, como ResNet, AlexNet, VGG, SqueezeNet, DenseNet e Inception. Aquí es donde las librerías como PyTorch simplifican enormemente el proceso al proporcionar clases predefinidas que encapsulan la lógica de inicialización del modelo.
Una vez seleccionado el modelo, es importante determinar qué capas se deben congelar durante el entrenamiento y qué capas se deben entrenar desde cero. Esto se logra fácilmente mediante la configuración del parámetro learning_method
, que controla el comportamiento de la retropropagación durante el entrenamiento. Al especificar el método de aprendizaje deseado, como Fine-Tuning (ajuste fino) o Feature Extraction (extracción de características), los desarrolladores pueden personalizar el comportamiento del modelo según las necesidades específicas del proyecto.
Además de la configuración del modelo, las librerías de deep learning también simplifican la gestión de datos, incluida la carga, preprocesamiento y transformación de imágenes. Por ejemplo, PyTorch tiene funciones para la carga de datos como IMageFolder y DataLoader, pero AISee facilita el uso de los conjuntos de imágenes desde directorios o CSVs, éste último no soportado de manera directa por PyTorch.
Configurado el modelo y cargados los datos, el siguiente paso es definir el bucle de entrenamiento, que incluye iteraciones de entrenamiento, validación y evaluación. Este proceso puede ser complicado y propenso a errores si se implementa manualmente, pero las librerías de aprendizaje profundo ofrecen soluciones integradas para simplificarlo. Por ejemplo, AISee proporciona la clase Trainer
, que encapsula la lógica del bucle de entrenamiento y proporciona métodos convenientes para entrenar, validar y evaluar el modelo.
Como puedes comprobar, el webinar proporcionó una visión profunda sobre cómo las librerías de deep learning están simplificando y optimizando el entrenamiento de modelos de clasificación de imágenes. Al proporcionar abstracciones de alto nivel y soluciones integradas para tareas comunes, estas herramientas están allanando el camino para avances significativos en el campo del aprendizaje automático, permitiendo a los desarrolladores concentrarse en la innovación y la experimentación en lugar de en la implementación tediosa y propensa a errores.
Te compartimos el vídeo completo para que puedas seguirlo y aplicar estos nuevos conceptos en tus métodos de clasificación de imágenes: