Image GPT fue propuesto por investigadores de OpenAI en 2019. Este artículo experimenta con la aplicación de una transformación similar a GPT en las tareas de reconocimiento/detección de objetos. Sin embargo, los autores enfrentan algunos desafíos, como el procesamiento de imágenes de gran tamaño, etc.
Arquitectura:
La arquitectura de Image GPT (iGPT) es similar a GPT-2, es decir, se compone de un bloque transformador decodificador. El decodificador de transformador toma una secuencia de entrada x 1 , …, x n de fichas discretas y genera una incrustación d-dimensional para cada posición. El transformador se puede considerar como una pila de decodificadores de tamaño L , el l-ésimo de los cuales produce una incrustación de h 1 l ….h n l . Después de eso, el tensor de entrada se pasa a diferentes capas de la siguiente manera:
- norte l = capa_norma ( h l )
- a l = h l + atención de varias cabezas ( n l )
- h l+1 = a l + mlp(capa norma(a l ))
Donde layer_norm es la normalización de la capa y la capa MLP es un modelo de perceptrón (red neuronal artificial) multicapa. A continuación se muestra la lista de diferentes versiones.
Nombre del modelo/Variante | Resolución de entrada | parámetros (M) | Características |
---|---|---|---|
iGPT-Grande (L) | 32*32*3 | 1362 | 1536 |
48*48*3 | |||
iGPT-XL | 64*64*3 | 6801 | 3072 |
15360 |
Reducción de contexto:
Debido a que los requisitos de memoria del decodificador del transformador se escalan cuadráticamente con la longitud del contexto cuando se usa una atención densa. Esto significa que requiere mucho cálculo para entrenar incluso un transformador de una sola capa. Para lidiar con esto, los autores redimensionan la imagen a resoluciones más bajas llamadas Resoluciones de entrada (IR). El modelo iGPT usa IR de 32*32*3 , 48*48*3 y 64*64*3 .
Metodología de entrenamiento:
El entrenamiento del modelo de Image GPT consta de dos pasos:
Pre-entrenamiento
- Dado un conjunto de datos X sin etiquetar que consta de datos de alta dimensión x = (x 1 , …, x n ), podemos elegir una permutación π del conjunto [1, n] y modelar la densidad p(x) autorregresivamente de la siguiente manera:
- Para las imágenes, elegimos la permutación de identidad π i = i para 1 ≤ i ≤ n, también conocida como orden de trama. El modelo está entrenado para minimizar la probabilidad logarítmica negativa:
- Los autores también utilizaron la función de pérdida similar al modelado de lenguaje enmascarado en BERT, que muestra una subsecuencia M ⊂ [1, n] tal que cada índice i tiene una probabilidad de 0,15 de aparecer en M de forma independiente.
- Durante el entrenamiento previo, elegimos uno de L AR o L BERT y minimizamos la pérdida sobre nuestro conjunto de datos previo al entrenamiento.
Sintonia FINA:
- Para el ajuste fino, los autores realizaron un grupo promedio n L en la dimensión de la secuencia para extraer un vector de características de dimensión d por ejemplo y aprender una proyección de la capa del grupo promedio. Los autores utilizaron esta proyección para minimizar la pérdida de entropía cruzada L CLF . Eso hace que la función objetivo total
- Donde L GEN es L AR o L BERT .
Los autores también experimentaron con el sondeo lineal, que es similar al ajuste fino pero sin ninguna capa de agrupación promedio.
Resultados:
- En CIFAR-10, iGPT-L logra una precisión del 99,0 % y en CIFAR-100, logra una precisión del 88,5 % después del ajuste fino. El iGPT-L supera a AutoAugment, el modelo mejor supervisado en estos conjuntos de datos.
- En ImageNet, iGPT logra una precisión del 66,3 % después de un ajuste fino en MR (Resolución de entrada/Resolución de memoria) 32*32 , una mejora del 6 % con respecto al sondeo lineal. Al realizar un ajuste fino en MR 48*48 , el modelo logró una precisión del 72,6 %, con una mejora similar del 7 % con respecto al sondeo lineal.
Referencias: