Definición y concepto
El transformador de visión es una arquitectura de red neuronal diseñada específicamente para tareas de procesamiento visual, como el reconocimiento de imágenes. Se clasifica como un algoritmo de aprendizaje automático que adapta el mecanismo de atención de la arquitectura de transformadores, introducida originalmente en 2017, al dominio de los datos visuales. Esta adaptación permite procesar secuencias de píxeles de manera similar a como los modelos de lenguaje procesan secuencias de palabras, aprovechando la capacidad de atención para capturar dependencias globales en la imagen.
Mecanismo de atención y procesamiento de imágenes
La aplicación directa de los transformadores a las imágenes requiere una estrategia específica para manejar la naturaleza bidimensional de los datos visuales. El método fundamental consiste en dividir la imagen de entrada en una cuadrícula de parches no superpuestos, típicamente de dimensiones como 16x16 píxeles. Cada uno de estos parches se trata como un elemento individual de la secuencia, lo que reduce significativamente el costo computacional al disminuir el número de tokens que el modelo debe procesar en comparación con tratar cada píxel como una unidad independiente.
Una vez divididas las imágenes en parches, cada parche se proyecta a un vector de características de dimensión fija. Estos vectores se denominan embeddings de parches. Para preservar la información espacial relativa entre los parches, que es inherente a la estructura de la imagen pero perdida al tratar los parches como una secuencia de longitud variable, se añaden embeddings posicionales. Estos embeddings posicionales se suman a los vectores de características de cada parche, permitiendo al modelo de atención distinguir la ubicación de cada segmento de la imagen dentro del conjunto global.
El mecanismo de atención permite que cada parche interactúe con todos los demás parches en la secuencia. Esto significa que la representación de un parche específico se actualiza considerando la información de todos los demás parches, ponderada por su relevancia mutua. Esta capacidad de atención global es una ventaja clave frente a las redes convolucionales tradicionales, donde la información fluye principalmente a través de ventanas locales, aunque esto también implica que el modelo requiere más datos de entrenamiento para aprender los sesgos inductivos necesarios para generalizar eficazmente en tareas visuales.
Historia y desarrollo
El desarrollo del transformador de visión está intrínsecamente ligado a la evolución de la arquitectura de red neuronal basada en mecanismos de atención. Este hito tecnológico se remonta a 2017, con la introducción de la arquitectura de transformadores en el artículo fundacional «Attention is All You Need». Esta propuesta inicial estableció las bases teóricas necesarias para que los mecanismos de atención pudieran dominar el procesamiento de secuencias, desplazando gradualmente a las redes recurrentes tradicionales en diversas tareas de aprendizaje automático.
Propuesta inicial para el procesamiento visual
A pesar del éxito inicial en el procesamiento del lenguaje natural, la aplicación directa de los transformadores a las imágenes presentó desafíos significativos relacionados con la estructura espacial de los datos visuales. Fue en 2019 cuando se propuso específicamente la adaptación de esta arquitectura para el procesamiento visual. Este avance fue impulsado por investigadores como Cordonnier y otros, quienes demostraron que los transformadores podían competir eficazmente con las redes neuronales convolucionales (CNN) en tareas de reconocimiento de imágenes.
Metodología de segmentación en parches
Un aspecto técnico crucial de esta evolución fue la estrategia para manejar la alta dimensionalidad de las imágenes. Los transformadores de visión dividen las imágenes en parches más pequeños, típicamente de 16x16 píxeles. Esta segmentación permite tratar cada parche como una «palabra» en una secuencia, reduciendo significativamente el costo computacional asociado con el mecanismo de atención de todos contra todos. Este enfoque, descrito en estudios posteriores como «An image is worth 16x16 words», facilitó la integración eficiente de la información espacial dentro del marco del transformador.
Avances y especializaciones recientes
La maduración de esta arquitectura continuó con avances notables en 2021. Durante este período, se introdujeron variantes especializadas que optimizaron el rendimiento en diferentes dominios visuales. Entre ellas destacan el Swin Transformer, que incorporó una jerarquía de ventanas deslizantes para mejorar la eficiencia computacional y la captura de características a múltiples escalas, y el TimeSformer, que extendió los principios del transformador al procesamiento de videos, permitiendo una atención efectiva tanto en el espacio como en el tiempo.
Es importante destacar que, a pesar de su flexibilidad y potencia, los transformadores de visión requieren generalmente más datos de entrenamiento que las CNN tradicionales. Esta necesidad se debe a sus sesgos inductivos, que, aunque menos rígidos que los de las convoluciones, exigen una mayor cantidad de información para generalizar eficazmente. Esta característica ha impulsado investigaciones continuas sobre la eficiencia de los datos y la arquitectura híbrida en el campo del procesamiento visual basado en atención.
¿Cómo funciona el procesamiento de imágenes en los transformadores?
El funcionamiento de un transformador de visión se basa en adaptar la arquitectura de transformadores, originalmente diseñada para el procesamiento del lenguaje natural, al dominio visual. A diferencia de las redes neuronales convolucionales (CNN) que procesan las imágenes a través de capas sucesivas de filtros espaciales, el transformador trata la imagen como una secuencia de elementos discretos. Este enfoque permite capturar dependencias globales entre diferentes regiones de la imagen mediante el mecanismo de atención, aunque requiere una preparación específica de los datos de entrada para ser computacionalmente eficiente.
División en parches y conversión a vectores
Una de las decisiones arquitectónicas clave es evitar el uso de píxeles individuales como unidades básicas. Si se tratara cada píxel como un elemento de la secuencia, una imagen estándar de alta resolución generaría una secuencia extremadamente larga, lo que incrementaría cuadráticamente el costo computacional del mecanismo de atención. Para mitigar esto, la imagen se divide en parches no superpuestos de tamaño fijo, comúnmente de 16x16 píxeles. Cada uno de estos parches se considera una "palabra" o token en el contexto del transformador.
Cada parche se aplanariza y se proyecta a un espacio de características de dimensión fija mediante una matriz de proyección lineal. Esto convierte los parches bidimensionales en vectores de entrada que el codificador puede procesar. Esta etapa es crucial porque reduce la dimensionalidad de la entrada sin perder la información espacial local contenida en cada bloque de píxeles.
Secuencia lineal y matriz de encaje
Una vez que los parches se han convertido en vectores, se organizan en una secuencia lineal. Sin embargo, al ser la atención una operación que depende principalmente de las relaciones entre los vectores, la información sobre la posición original de cada parche en la imagen puede perderse. Para restaurar esta información espacial, se añade una matriz de encaje (embedding) posicional a cada vector de parche. Estas matrices pueden ser aprendidas durante el entrenamiento o definidas de forma fija, permitiendo al modelo distinguir, por ejemplo, un parche ubicado en la esquina superior izquierda de otro en la inferior derecha.
Token de clase y codificador
Para tareas de clasificación, se introduce un elemento adicional en la secuencia: el token de clase. Este es un vector inicializado aleatoriamente que se coloca al inicio de la secuencia de parches. A medida que la secuencia pasa a través de las capas del codificador del transformador, el mecanismo de atención permite que el token de clase acumule información de todos los demás parches. Al final del proceso, el valor asociado al token de clase se utiliza como representación global de la imagen, la cual se pasa a una capa de clasificación final.
El codificador está compuesto por múltiples capas idénticas, cada una conteniendo un subcapa de atención multi-cabeza y una red neuronal de adelante con activación. La atención multi-cabeza permite al modelo atender a información de diferentes subespacios de características simultáneamente, capturando tanto detalles locales como relaciones globales complejas. Esta arquitectura permite al transformador de visión modelar interacciones a larga distancia entre cualquier par de parches, una ventaja sobre las CNN donde el campo receptivo crece gradualmente.
¿Qué diferencia a los transformadores de visión de las redes convolucionales?
Los transformadores de visión (ViT) y las redes neuronales convolucionales (CNN) representan dos enfoques arquitectónicos distintos para el procesamiento visual, diferenciándose fundamentalmente en sus sesgos inductivos y en la forma en que capturan la información espacial. Mientras que las CNN han dominado el campo durante años gracias a su capacidad para extraer características locales de manera jerárquica, los ViT introducen una perspectiva global desde el primer nivel de la red.
Diferencias en sesgos inductivos y necesidades de datos
Una de las diferencias más críticas radica en los sesgos inductivos. Las CNN poseen dos sesgos inductivos fuertes: la traslación invarianza y la localidad. Esto significa que asumen que las características importantes (como bordes o texturas) aparecen en regiones pequeñas y adyacentes, y que estas características son relevantes independientemente de su posición exacta en la imagen. Estos sesgos permiten a las CNN generalizar eficazmente con conjuntos de datos de entrenamiento relativamente pequeños.
En contraste, los transformadores de visión tienen sesgos inductivos más débiles. Al dividir la imagen en parches (por ejemplo, de 16x16 píxeles) y tratarlos como una secuencia similar a las palabras en el lenguaje natural, el modelo debe aprender la relación espacial entre estos parches casi desde cero a través del mecanismo de atención. Esta flexibilidad es una ventaja cuando hay abundancia de datos, pero implica que los ViT requieren significativamente más datos de entrenamiento que las CNN para alcanzar un rendimiento comparable. Sin una cantidad suficiente de datos, los ViT tienden a sobreajustar, mientras que las CNN mantienen una robustez mayor gracias a sus suposiciones estructurales inherentes.
Captura de relaciones: Global vs. Local
Las CNN procesan la información de manera local y jerárquica. Las primeras capas capturan características simples y locales, mientras que las capas profundas combinan estas características para formar conceptos más complejos. Sin embargo, la capacidad de una sola capa convolucional para capturar dependencias de largo alcance es limitada, dependiendo del tamaño del campo receptivo efectivo.
Esto facilita la captura de relaciones globales y de largo alcance de manera más directa y eficiente. Esta capacidad es particularmente útil en tareas donde el contexto global de la imagen es crucial para la clasificación o la segmentación, permitiendo al modelo considerar la interacción entre regiones distantes de la imagen simultáneamente.
Comparación de características clave
| Característica | Redes Convolucionales (CNN) | Transformadores de Visión (ViT) |
|---|---|---|
| Sesgo inductivo | Fuerte: Localidad y traslación invarianza | Débil: Aprende relaciones espaciales mediante atención |
| Necesidad de datos | Menor cantidad de datos requeridos | Mayor cantidad de datos requeridos para generalizar |
| Captura de relaciones | Principalmente local, jerárquica | Global, interacción directa entre todos los parches |
| Procesamiento espacial | Convoluciones sobre ventanas deslizantes | Secuencia de parches (ej. 16x16) tratados como tokens |
En resumen, mientras que las CNN siguen siendo eficientes y robustas en escenarios con datos limitados gracias a sus fuertes suposiciones espaciales, los transformadores de visión ofrecen una mayor flexibilidad y capacidad para capturar dependencias globales, lo que los hace cada vez más competitivos a medida que aumenta la disponibilidad de datos de entrenamiento en el dominio del procesamiento visual.
El papel del aprendizaje autosupervisado
La arquitectura de los transformadores de visión presenta una dependencia crítica de la cantidad de datos de entrenamiento disponibles. A diferencia de las redes neuronales convolucionales (CNN), que incorporan fuertes sesgos inductivos como la localidad y la invarianza traslacional, los transformadores de visión son arquitecturas más flexibles pero menos "intuitivas" para los datos visuales sin una preparación previa extensa. Esto significa que, para alcanzar un rendimiento competitivo, estos modelos requieren volúmenes significativamente mayores de datos etiquetados que sus contrapartes convolucionales. Esta necesidad surge porque el mecanismo de atención pura debe aprender explícitamente las relaciones espaciales y jerárquicas de la imagen a partir de los parches divididos (por ejemplo, de 16x16 píxeles), en lugar de asumirlas estructuralmente.
El aprendizaje autosupervisado como solución
Para mitigar la carga de etiquetado manual masivo, el aprendizaje autosupervisado ha emergido como un pilar fundamental en el entrenamiento de los transformadores de visión. Este enfoque permite que el modelo aprenda representaciones ricas de las imágenes utilizando la propia estructura de los datos como señal de supervisión, reduciendo drásticamente la dependencia de conjuntos de datos etiquetados tradicionales como ImageNet.
En el aprendizaje autosupervisado, el transformador de visión se entrena casi de manera autónoma. El proceso implica crear "vistas" o versiones modificadas de la misma imagen de entrada (por ejemplo, mediante recortes aleatorios, cambios de color o enmascaramiento de parches). El modelo debe entonces predecir características de una vista basándose en la otra, o reconstruir los parches enmascarados. Este mecanismo fuerza al modelo a capturar la coherencia semántica y espacial de la imagen sin necesidad de una etiqueta externa (como "perro" o "árbol").
Al aplicar estos métodos, los transformadores de visión pueden aprovechar grandes volúmenes de datos sin etiquetar, lo que resulta especialmente útil en dominios donde el etiquetado humano es costoso o lento. Esta capacidad de aprendizaje autónomo permite que la arquitectura, propuesta específicamente para imágenes en 2019 por Cordonnier y otros, alcance un rendimiento robusto, compensando su menor eficiencia en datos etiquetados en comparación con las CNN. El resultado es un modelo más versátil, capaz de generalizar mejor a nuevas tareas visuales gracias a las representaciones densas aprendidas durante la fase autosupervisada.
Aplicaciones prácticas
Los transformadores de visión han demostrado una versatilidad significativa en diversas tareas de procesamiento visual, superando o igualando el rendimiento de las arquitecturas tradicionales en múltiples dominios. Su capacidad para capturar dependencias globales en las imágenes los hace particularmente útiles en aplicaciones que requieren un contexto amplio más allá de la localidad inmediata.
Clasificación y detección de objetos
En la clasificación de imágenes, estos modelos analizan los parches de entrada para asignar etiquetas a toda la imagen con alta precisión. En la detección de objetos, la arquitectura permite identificar múltiples objetos dentro de una misma escena, determinando su ubicación y categoría mediante mecanismos de atención que ponderan la relevancia de cada parche en relación con los demás.
Segmentación y análisis de anomalías
La segmentación semántica se beneficia de la capacidad del modelo para distinguir entre diferentes clases de píxeles, creando mapas detallados donde cada píxel pertenece a una categoría específica. En el análisis de anomalías, la naturaleza basada en datos del modelo permite identificar desviaciones sutiles en conjuntos de imágenes, lo que resulta crucial en inspecciones industriales y diagnósticos médicos donde las anomalías pueden ser escasas.
Aplicaciones avanzadas y conducción autónoma
En el ámbito de los deepfakes, la arquitectura ayuda a mejorar la coherencia temporal y espacial de las imágenes generadas. También se aplica en la renderización de escenas complejas y en el análisis de grupos para entender dinámicas visuales en conjuntos de datos grandes. En la conducción autónoma, la integración de estos transformadores permite a los vehículos interpretar entornos visuales complejos, detectando peatones, señales y otros vehículos con mayor robustez ante variaciones de iluminación y perspectiva, aprovechando la eficiencia computacional al dividir las imágenes en parches.
Implementaciones tecnológicas
La adopción de los transformadores de visión en la comunidad científica y tecnológica se ha visto impulsada significativamente por la disponibilidad de implementaciones de código abierto. Estas herramientas permiten a los investigadores y desarrolladores integrar arquitecturas basadas en mecanismos de atención en flujos de trabajo de aprendizaje automático sin necesidad de reconstruir la infraestructura desde cero. Las dos bibliotecas predominantes en el ecosistema del aprendizaje profundo, PyTorch y TensorFlow, ofrecen soporte robusto para estas arquitecturas, facilitando la experimentación y el despliegue en producción.
Implementaciones en PyTorch
PyTorch se ha convertido en un entorno preferente para la investigación en visión por computadora debido a su flexibilidad y su integración nativa con el ecosistema de transformadores. La biblioteca Torchvision, que acompaña a PyTorch, incluye implementaciones de referencia de modelos de transformadores de visión. Estas implementaciones permiten cargar pesos preentrenados, lo que es crucial dado que los transformadores de visión requieren más datos de entrenamiento que las redes neuronales convolucionales (CNN) debido a sus sesgos inductivos.
Además de la biblioteca oficial, la comunidad ha desarrollado marcos de trabajo como TimM (PyTorch Image Models), que ofrece una colección extensa de modelos de visión por computadora, incluyendo variantes de transformadores de visión. Estas herramientas proporcionan utilidades para dividir las imágenes en parches, un paso fundamental para reducir el costo computacional asociado con la aplicación de la atención a cada píxel. La capacidad de dividir imágenes en segmentos, como los típicos parches de 16x16 píxeles, está optimizada en estas bibliotecas para aprovechar la paralelización en unidades de procesamiento gráfico (GPU).
Implementaciones en TensorFlow
En el ecosistema de TensorFlow, la biblioteca Keras ha integrado soporte para transformadores de visión a través de su módulo de aplicaciones de visión. Estas implementaciones siguen los principios de la arquitectura de transformadores introducida en 2017 y adaptada específicamente para imágenes en 2019 por Cordonnier y otros. Las herramientas de TensorFlow permiten definir capas de incrustación de parches y bloques de transformadores, facilitando la creación de modelos personalizados para tareas de reconocimiento de imágenes.
Las implementaciones en TensorFlow suelen incluir ejemplos de código y cuadernos interactivos que demuestran cómo entrenar y evaluar estos modelos. Esto es particularmente útil para los estudiantes y profesionales que desean comprender cómo los mecanismos de atención procesan la información visual. La integración con TensorFlow Hub también permite acceder a modelos preentrenados, reduciendo la barrera de entrada para aplicar esta tecnología en proyectos prácticos.
Consideraciones técnicas y acceso a la comunidad
El acceso a estas implementaciones de código abierto ha democratizado el uso de los transformadores de visión. Los desarrolladores pueden inspeccionar el código fuente, modificar parámetros y comparar el rendimiento de diferentes configuraciones. La transparencia del código permite verificar cómo se manejan los datos de entrada, cómo se aplican las capas de atención y cómo se optimiza el costo computacional. Esta apertura es esencial para la reproducibilidad de los resultados en la investigación académica y para la innovación en la industria tecnológica.
La comunidad de desarrolladores contribuye constantemente con mejoras, correcciones de errores y nuevas variantes de los modelos. Las plataformas como GitHub sirven como repositorios centrales donde se comparten estas implementaciones, facilitando la colaboración y el intercambio de conocimientos. Este entorno dinámico asegura que las herramientas estén actualizadas con los últimos avances en la arquitectura de redes neuronales basadas en mecanismos de atención.
Véase también
- Localización en informática
- Seguridad informática y protección Anijaking
- Qué es un algoritmo en computación
- Características de Linux: arquitectura, gestión de recursos y ecosistema
- Inteligencia artificial
Referencias
- «Transformador de visión» en Wikipedia en español
- Attention Is All You Need — arXiv preprint (Paper original del Transformer)
- An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale (ViT) — arXiv
- Vision Transformer (ViT) — Hugging Face Model Hub
- Vision Transformer (ViT) — PyTorch Official Documentation