• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

5.17 – Proyecto final: Clasificación de imágenes con Redes Transformer

Lección 17 del módulo “Redes Transformer” del curso Fundamentos de Deep Learning con Python.

En la lección anterior vimos cómo usar GPT-2 para la generación automática de texto, una tarea propia del Procesamiento del Lenguaje Natural.

En este proyecto final veremos el potencial que tienen las Redes Transformer para resolver problemas en otros ámbitos, y en particular veremos cómo usar la arquitectura Vision Transformer para realizar la clasificación de imágenes, una tarea propia del campo de la visión por computador.

Comencemos entonces viendo qué es y cómo funciona este Vision Transformer:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

En esencia el Vision Transformer es una arquitectura que desafía a las Redes Convolucionales en el procesamiento de imágenes.

Se trata del primer intento de aplicar Redes Transformer al procesamiento de imágenes, dividiendo estas en regiones de 16×16 píxeles que se codifican mediante embeddings de entrada, equivalentes a palabras en procesamiento de lenguaje natural.

Al hacer esta codificación, el Vision Transformer mantiene la estructura básica de codificación de las Redes Transformer convencionales, ajustando solo el número de bloques atencionales y codificadores para la clasificación de imágenes.

Teniendo claro este principio de funcionamiento, veamos cómo realizar el pre-procesamiento de las imágenes de entrada a este modelo:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Para realizar este preprocesamiento de imágenes, utilizaremos el módulo «ViTFeatureExtractor» de Hugging Face, que ajusta las imágenes al tamaño de 224×224 (utilizado por el Vision Transformer) y escala los valores de cada pixel en la imagen. Esto nos permite preparar las imágenes para su entrada en los modelos pre-entrenados usando muy pocas líneas de código.

Con esto ya estamos listos para poner a prueba el Vision Transformer y para ver su desempeño al momento de clasificar imágenes. Veamos cómo hacerlo:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Para acceder al modelo pre-entrenado hemos hecho uso nuevamente de Hugging Face y en particular hemos importado el módulo «ViTForImageClassification».

Una vez cargado el modelo, lo pusimos a prueba con imágenes del conjunto de datos COCO (Common Objects in Context) y los resultados que obtuvimos durante la clasificación se desempeña bien en términos generales a pesar del elevado número de categorías de este set de datos. Incluso muchas de estas clasificaciones son precisas para escenas con múltiples objetos.

Así que acabamos de ver el potencial que tienen las Redes Transformer en el área de la visión por computador.

En particular, con este Vision Transformer vimos cómo se pueden explotar las características de la arquitectura original para procesar las imágenes como si fuesen secuencias y lograr llevar a cabo una clasificación bastante precisa.

Y con esto hemos terminado la parte práctica del curso. Tan sólo nos resta la última lección, en donde resumiremos las principales ventajas y limitaciones de estas Redes Transformer y daremos cierre a este curso.

Todas las lecciones del curso Fundamentos de Deep Learning con Python

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }