Transformadores en Video Comprensión

Jan 16 2023
Los videos están en todas partes y solo aumentan con el tiempo. Una forma de resolver los problemas relacionados con los videos es mediante el uso de fotogramas individuales para la clasificación.

Los videos están en todas partes y solo aumentan con el tiempo. Una forma de resolver los problemas relacionados con los videos es mediante el uso de fotogramas individuales para la clasificación. Esta estrategia no tiene en cuenta los cambios temporales. Para trabajar en el espacio y el tiempo, los investigadores de aprendizaje automático han propuesto muchas soluciones y una de las técnicas recientes es el uso de transformadores.

Los transformadores se introdujeron en el procesamiento del lenguaje natural. Ahora los transformadores están en casi todas partes. Ya sean imágenes o videos, clasificación, segmentación o generación.

Definición de comprensión de video

La comprensión de video significa extraer información aprendida de una pila de cuadros. Técnicamente llamamos a esta información aprendida información espaciotemporal.

El dominio de comprensión de video ha avanzado en paralelo al reconocimiento de imágenes. Las arquitecturas tradicionales incluyen redes neuronales convolucionales 3D espaciotemporales que requieren una computación significativamente mayor que sus contrapartes de imagen. Otra forma de manejar la información espaciotemporal es mediante la extracción de características utilizando una arquitectura de reconocimiento de imágenes de alto rendimiento que luego se alimentan a modelos de secuencia como LSTM y GRU.

Hoy vamos a aprender sobre algunas arquitecturas de transformadores recientes empleadas en la comprensión de video.

Transformador de visión de video (ViViT)

Arnab et al., presentan modelos basados ​​en transformadores para la clasificación de video.

Su arquitectura tiene cuatro variantes:

Atención espacio-temporal

La arquitectura de atención espaciotemporal en ViViT extrae tubos 3D de una pila de fotogramas y los proyecta usando capas densas. El resto de la arquitectura incluye la incrustación posicional de estos parches, un codificador de transformador y un cabezal de perceptrón multicapa para la clasificación.

Para explicar la arquitectura, he agregado el diagrama de incrustación de tubelet del documento.

Atención espaciotemporal mediante incrustación de tubelet [Fuente]

Se puede ver una implementación de TensorFlow del marco aquí .

La arquitectura tiene complejidad cuadrática con respecto al número de tokens de entrada.

Codificador factorizado

El codificador factorizado tiene dos codificadores transformadores separados que tienen interacciones espaciales y temporales independientes.

Codificador factorizado (ViViT) para comprensión de video [Fuente]

Codificador espacial: solo se atienden los tokens de un marco con respecto a otros tokens en el mismo marco. Estas interacciones dentro del marco se reenvían a Temporal Encoder después de la agrupación promedio global o mediante un token de clase.

Codificador temporal: los tokens extraídos del codificador espacial se atienden entre sí.

Estos tokens independientes atendidos espacial y temporalmente se envían luego a un cabezal de perceptrón multicapa para su clasificación.

La arquitectura de codificador factorizada también reduce la complejidad de la cuadrática.

Autoatención factorizada

Aquí, en lugar de utilizar diferentes codificadores transformadores como en la última arquitectura, los autores utilizan interacciones espaciales y temporales independientes en el mismo codificador.

La autoatención en el codificador del transformador se modifica para encontrar primero interacciones solo espacialmente (dentro de un cuadro) y luego temporalmente (todas las fichas atendidas espacialmente).

Autoatención factorizada (ViViT) para la comprensión de videos [Fuente]

Atención de producto punto factorizado

Más abajo, aquí estamos modificando la autoatención para tener cabezas de atención separadas para tokens espaciales y temporales.

Atención de producto de punto factorizado (ViViT) para comprensión de video [Fuente]

Transformador giratorio de vídeo

El transformador Video Swin limita la autoatención a las ventanas locales que no se superponen y, al mismo tiempo, permite conexiones entre ventanas. Al hacer esto, agrega un sesgo inductivo de localidad en la arquitectura del transformador.

TRANSFORMADORES DE VIDEO ANTERIORES calculan la autoatención globalmente incluso con factorización en dimensiones espaciales y temporales.

Video Swin Transformador: [Fuente]

Sesgo inductivo de localidad: "La noción de que los píxeles de la imagen están correlacionados localmente y que sus mapas de correlación son invariantes a la traducción". [ Un buen artículo sobre sesgos inductivos en el algoritmo ML aquí ]

TiempoSAnterior

Los autores de TimeSFormer experimentan con diferentes esquemas de autoatención y sugieren que la "atención dividida" conduce a la mejor precisión de clasificación de video entre las opciones de diseño consideradas.

El esquema de atención es el mismo que el de Autoatención Factorizada en Video Vision Transformer .