Estás leyendo la publicación: ¿Podrían ser los parches? Este enfoque de IA analiza el contribuyente clave para el éxito de los transformadores de visión
Las redes neuronales convolucionales (CNN) han sido la columna vertebral de los sistemas para tareas de visión artificial. Han sido la arquitectura de referencia para todo tipo de problemas, desde la detección de objetos hasta la superresolución de imágenes. De hecho, los famosos saltos (p. ej., AlexNet) en el dominio del aprendizaje profundo han sido posibles gracias a las redes neuronales convolucionales.
Sin embargo, las cosas cambiaron cuando una nueva arquitectura basada en modelos Transformer, llamada Vision Transformer (ViT), mostró resultados prometedores y superó a las arquitecturas convolucionales clásicas, especialmente para grandes conjuntos de datos. Desde entonces, el campo ha estado buscando habilitar soluciones basadas en ViT para problemas que se han abordado con las CNN durante años.
El ViT usa capas de autoatención para procesar imágenes, pero el costo computacional de estas capas se escalaría cuadráticamente con la cantidad de píxeles por imagen si se aplicara ingenuamente a nivel por píxel. Por lo tanto, el ViT primero divide la imagen en múltiples parches, los incrusta linealmente y luego aplica el transformador directamente a esta colección de parches.
Tras el éxito del ViT original, muchos trabajos han modificado la arquitectura ViT para mejorar su rendimiento. Reemplazar la atención propia con operaciones novedosas, hacer otros pequeños cambios, etc. Aunque, a pesar de todos estos cambios, casi todas las arquitecturas ViT siguen una plantilla común y simple. Mantienen el mismo tamaño y resolución en toda la red y exhiben un comportamiento isotrópico, logrado mediante la implementación de mezcla espacial y de canales en pasos alternos. Además, todas las redes emplean incrustaciones de parches que permiten la reducción de muestreo al comienzo de la red y facilitan el diseño de mezcla sencillo y uniforme.
Este enfoque basado en parches es la opción de diseño común para todas las arquitecturas ViT, lo que simplifica el proceso de diseño general. Entonces, ahí viene la pregunta. ¿El éxito de los transformadores de visión se debe principalmente a la representación basada en parches? ¿O se debe al uso de técnicas avanzadas y expresivas como la autoatención y las MLP? ¿Cuál es el principal factor que contribuye al rendimiento superior de los transformadores de visión?
Hay una manera de averiguarlo, y se llama ConvMixer.
ConvMixer es una arquitectura convolucional desarrollada para analizar el rendimiento de ViTs. Es muy similar a ViT en muchos aspectos: funciona directamente en parches de imagen, mantiene una resolución constante en toda la red y separa la mezcla de canales de la mezcla espacial de información en diferentes partes de la imagen.
Sin embargo, la diferencia clave es que el ConvMixer logra estas operaciones utilizando capas convolucionales estándar, a diferencia de los mecanismos de autoatención utilizados en los modelos Vision Transformer y MLP-Mixer. Al final, el modelo resultante es más barato en términos de potencia informática porque las operaciones de convolución en profundidad y en puntos son más baratas que las capas de autoatención y MLP.
A pesar de su extrema sencillez, ConvMixer supera a los modelos de visión por computadora “estándar”, como ResNets de recuentos de parámetros similares y algunas variantes ViT y MLP-Mixer correspondientes. Esto sugiere que la arquitectura de mezcla isotrópica basada en parches es una poderosa primitiva que funciona bien con casi cualquier elección de operaciones de mezcla de buen comportamiento.
ConvMixer es una clase extremadamente simple de modelos que mezclan de forma independiente las ubicaciones espaciales y de canal de incrustaciones de parches utilizando solo circunvoluciones estándar. Puede proporcionar un aumento sustancial del rendimiento que se puede lograr mediante el uso de kernels de gran tamaño inspirados en los grandes campos receptivos de ViT y MLP-Mixers. Finalmente, ConvMixer puede servir como base para futuras arquitecturas basadas en parches con operaciones novedosas