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.