ElemedexEnciclopedia de bolsillo de arquitecturas de IA
N.º 035

Vision Transformer (ViT)

ViT

Rompecabezas

Corta cada foto en cuadraditos de 16 × 16 píxeles y los lee en fila, como si fueran palabras. Nadie le avisó que los píxeles vecinos suelen parecerse: tuvo que ver cientos de millones de imágenes para descubrirlo solo. Una vez que lo aprendió, les ganó a las redes que ya nacían sabiéndolo.

Altura
12 (Base) · 24 (Large) · 32 (Huge)
Peso
≈ 340 MB · 1,2 GB · 2,5 GB (fp32)
Parámetros
86 M · 307 M · 632 M
Contexto
196 + 1 tokens (224 × 224 px, 16 × 16)
Datos de entrenamiento
ImageNet (1,3 M) · ImageNet-21k (14 M) · JFT-300M (303 M imágenes)
Año
2020
Generación
5 · Grandes modelos de lenguaje
Creadores
Dosovitskiy, Beyer, Kolesnikov, Weissenborn, Zhai, Houlsby et al. (Google Research, Brain Team)
Clase
Arquitectura

Estadísticas base

Total
256

Escalas ordinales y aproximadas, pensadas para comparar especies entre sí; los números duros están en la ficha.

Debilidades

  • Tiene hambre de datos: entrenado solo con ImageNet queda por debajo de redes convolucionales de su tamaño.
  • Sus mejores resultados dependen de JFT-300M, un conjunto interno de Google que nadie más puede usar.
  • El costo de la atención crece con el cuadrado del número de parches: achicar el parche encarece mucho el modelo.

Hábitat

Se entrenó con ImageNet-21k (14 millones de imágenes) y con JFT-300M, un conjunto privado de Google con 303 millones de fotos. Hoy vive sobre todo adentro de otros sistemas: es el «ojo» de CLIP y de modelos multimodales que conectan una ViT congelada con un modelo de lenguaje.

Movimientos

Habilidades

Parches como tokens
La imagen se corta en parches de 16 × 16 que se aplanan y proyectan linealmente; desde ahí, el transformer los trata igual que a palabras.
Token [class]
Como el [CLS] de BERT, un vector aprendido que se antepone a los parches y cuyo estado final representa la imagen entera.
Mirada global
Por la autoatención, algunas cabezas integran información de toda la imagen ya en las primeras capas, cosa que una convolución no puede hacer.

Anatomía

ViT-Base: la imagen se corta en 196 parches que, proyectados linealmente y con un token [class] adelante, entran a un codificador transformer casi sin cambios. Solo el estado final del token [class] se usa para clasificar. Fuera del corte en parches, nada en la arquitectura sabe que la entrada es bidimensional.

Cadena evolutiva

  • una imagen cortada en parches de 16 × 16 leídos como tokens025 Transformer
035 Vision Transformer (ViT)
  • un codificador de imágenes y uno de texto, entrenados por contraste036 CLIP

El Vision Transformer (ViT) es un codificador transformer aplicado a imágenes con la menor cantidad posible de cambios. El truco es tratar la imagen como un texto: se la corta en parches de 16 × 16 píxeles y cada parche cumple el papel de una palabra (Dosovitskiy et al., 2021, sec. 1). Como anuncia el título del artículo, una imagen vale 16 × 16 palabras.

Cómo funciona

Una imagen de 224 × 224 píxeles da 196 parches. Cada uno se aplana en un vector y pasa por una proyección lineal aprendida; como en BERT, se antepone un token especial, [class], y se suman codificaciones de posición aprendidas. La secuencia entra a una pila estándar de bloques de atención multicabezal y MLP, con normalización y conexiones residuales, y el estado final del token [class] alimenta el clasificador (Dosovitskiy et al., 2021, sec. 3.1). Alammar y Grootendorst (2024) señalan el detalle que obliga a proyectar en lugar de usar un vocabulario: a diferencia de las palabras, un parche casi nunca se repite exacto en otra imagen, así que no se le puede asignar un número de diccionario (2024, pp. 261–263).

Las variantes Base, Large y Huge copian las configuraciones de BERT y agregan una mayor: de 86 a 632 millones de parámetros (Dosovitskiy et al., 2021, sec. 4.1).

Qué cambió

Las redes convolucionales traen de fábrica tres supuestos sobre las imágenes: localidad, estructura de vecindad bidimensional y equivariancia ante traslaciones, repetidos en cada capa. ViT casi no los tiene. Los únicos momentos en que la arquitectura «sabe» que la entrada es bidimensional son el corte en parches y el ajuste de posiciones cuando cambia la resolución; todo lo demás debe aprenderse (Dosovitskiy et al., 2021, sec. 3.1).

El resultado fue una lección sobre el sesgo inductivo. Entrenado solo con ImageNet (1,3 millones de imágenes), ViT queda unos puntos por debajo de redes residuales comparables. Con ImageNet-21k o con JFT-300M, la situación se invierte: el mejor modelo alcanza 88,55 % en ImageNet con unas cuatro veces menos cómputo de preentrenamiento que BiT-L, una gran red residual entrenada con los mismos datos (2021, secs. 1, 4.2). En subconjuntos de JFT, ViT sobreajusta más que una ResNet con 9 millones de imágenes y la supera desde 90 millones: el supuesto convolucional ayuda con pocos datos, pero con muchos resulta suficiente, y hasta mejor, aprender los patrones directamente (2021, sec. 4.3).

Mirar adentro es revelador. Las posiciones aprendidas reconstruyen la grilla de filas y columnas, y algunas cabezas de atención de las primeras capas se vuelven locales, como si la red reinventara la convolución; otras miran la imagen entera desde el principio (2021, sec. 4.5).

Descendencia

Desde ViT, cortar en parches se volvió una forma estándar de convertir imágenes en tokens. Es el codificador de imágenes típico de CLIP (Millière y Buckner, 2024b, sec. 3.1.1), Gato lo usa para mezclar imágenes con texto y acciones (Reed et al., 2022, sec. 2.1), y los modelos multimodales como BLIP-2 conectan una ViT congelada con un modelo de lenguaje (Alammar y Grootendorst, 2024, pp. 274–275).

Límites

El hambre de datos es el precio de la flexibilidad. Además, el costo de la atención crece con el cuadrado del número de parches, por lo que los parches más chicos encarecen mucho el modelo (Dosovitskiy et al., 2021, sec. 4.1), y los mejores resultados dependen de un conjunto privado.

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Buckner, C. J. (2024). From deep learning to rational machines: What the history of philosophy can teach us about the future of artificial intelligence. Oxford University Press. https://doi.org/10.1093/oso/9780197653302.001.0001 §
  • Dosovitskiy, A., Beyer, L., Kolesnikov, A., Weissenborn, D., Zhai, X., Unterthiner, T., Dehghani, M., Minderer, M., Heigold, G., Gelly, S., Uszkoreit, J., & Houlsby, N. (2021). An image is worth 16x16 words: Transformers for image recognition at scale. In 9th International Conference on Learning Representations (ICLR 2021). https://openreview.net/forum?id=YicbFdNTTy §
  • Millière, R., & Buckner, C. (2024b). A philosophical introduction to language models—Part II: The way forward (arXiv:2405.03207). arXiv. https://doi.org/10.48550/arXiv.2405.03207 §
  • Reed, S., Zolna, K., Parisotto, E., Gómez Colmenarejo, S., Novikov, A., Barth-Maron, G., Gimenez, M., Sulsky, Y., Kay, J., Springenberg, J. T., Eccles, T., Bruce, J., Razavi, A., Edwards, A., Heess, N., Chen, Y., Hadsell, R., Vinyals, O., Bordbar, M., & de Freitas, N. (2022). A generalist agent. Transactions on Machine Learning Research. https://openreview.net/forum?id=1ikK0kHjvj §