Transformadores na compreensão de vídeo

Jan 16 2023
Os vídeos estão por toda parte e só aumentam com o tempo. Uma maneira de resolver problemas relacionados a vídeos é usar quadros individuais para classificação.

Os vídeos estão por toda parte e só aumentam com o tempo. Uma maneira de resolver problemas relacionados a vídeos é usar quadros individuais para classificação. Essa estratégia não leva em consideração as mudanças temporais. Para trabalhar no espaço e no tempo, os pesquisadores de aprendizado de máquina propuseram muitas soluções e uma das técnicas recentes é o uso de transformadores.

Os transformadores foram introduzidos no Processamento de Linguagem Natural. Agora os transformadores estão em quase toda parte. Seja imagens ou vídeos, classificação, segmentação ou geração.

Definindo a compreensão do vídeo

A compreensão de vídeo significa extrair informações aprendidas de uma pilha de quadros. Tecnicamente, chamamos essa informação aprendida de informação espaço-temporal.

O domínio de compreensão de vídeo avançou paralelamente ao reconhecimento de imagem. As arquiteturas tradicionais incluem redes neurais convolucionais 3D espaço-temporais que requerem significativamente mais computação do que suas contrapartes de imagem. Outra maneira de lidar com informações espaço-temporais é extrair recursos usando uma arquitetura de reconhecimento de imagem de alto desempenho, que é alimentada a modelos de sequência como LSTMs e GRUs.

Hoje vamos aprender sobre algumas arquiteturas de transformadores recentes empregadas na compreensão de vídeo.

Transformador de visão de vídeo (ViViT)

Arnab et al., introduzem modelos baseados em transformadores para classificação de vídeo.

Sua arquitetura tem quatro variantes:

atenção espaço-temporal

A arquitetura Spatiotemporal Attention no ViViT extrai tubelets 3D de uma pilha de quadros e os projeta usando camadas densas. O restante da arquitetura inclui a incorporação posicional desses patches, um codificador transformador e um cabeçote perceptron multicamada para classificação.

Para explicar a arquitetura, adicionei o diagrama de incorporação do tubelet do papel.

Atenção espaço-temporal usando Tubelet Embedding [Fonte]

Uma implementação TensorFlow da estrutura pode ser vista aqui .

A arquitetura tem complexidade quadrática em relação ao número de tokens de entrada.

Codificador fatorizado

O codificador fatorizado possui dois codificadores transformadores separados com interações espaciais e temporais independentes.

Codificador fatorizado (ViViT) para compreensão de vídeo [Fonte]

Codificador Espacial: Somente tokens de um quadro são atendidos em relação a outros tokens no mesmo quadro. Essas interações dentro do quadro são encaminhadas para o Codificador Temporal após o agrupamento da média global ou por meio de um token de classe.

Codificador Temporal: Tokens extraídos do codificador espacial são atendidos um em relação ao outro.

Esses tokens atendidos espacial e temporalmente independentes são então encaminhados para uma cabeça de perceptron multicamada para classificação.

A arquitetura do codificador fatorizado também reduz a complexidade do quadrático.

Autoatenção fatorada

Aqui, em vez de usar diferentes codificadores transformadores como na última arquitetura, os autores usam interações espaciais e temporais independentes no mesmo codificador.

A auto-atenção no codificador do transformador é modificada para primeiro encontrar interações apenas espacialmente (dentro de um quadro) e, em seguida, temporalmente (todos os tokens atendidos espacialmente).

Autoatenção fatorizada (ViViT) para compreensão de vídeo [Fonte]

Atenção de produto escalar fatorado

Indo mais abaixo, aqui estamos modificando a auto-atenção para ter cabeças de atenção separadas para tokens espaciais e temporais.

Atenção fatorizada de produto escalar (ViViT) para compreensão de vídeo [Fonte]

Video Swin Transformer

O transformador Video Swin limita a auto-atenção a janelas locais não sobrepostas, ao mesmo tempo em que permite conexões entre janelas. Ao fazer isso, adiciona um viés indutivo de localidade na arquitetura do transformador.

TRANSFORMADORES DE VÍDEO ANTERIORES calculam a auto-atenção globalmente, mesmo com fatoração em dimensões espaciais e temporais.

Vídeo Swin Transformer: [Fonte]

Viés indutivo de localidade: “A noção de que os pixels da imagem são localmente correlacionados e que seus mapas de correlação são invariantes à tradução”. [ Um bom artigo sobre vieses indutivos no algoritmo ML aqui ]

TimeSFormer

Os autores do TimeSFormer experimentam diferentes esquemas de auto-atenção e sugerem que a “atenção dividida” leva à melhor precisão de classificação de vídeo entre as opções de design consideradas.

O esquema de atenção é o mesmo que a auto-atenção fatorizada no Video Vision Transformer .