Sobes.tech
Middle — Senior

Pode explicar a arquitetura do ViT (Vision Transformer): como é que uma imagem é transformada numa sequência de tokens?

sobes.tech IA

Resposta da IA

A arquitetura Vision Transformer (ViT) adapta a ideia dos transformadores de NLP para processar imagens. A ideia principal é representar a imagem como uma sequência de tokens, semelhante às palavras num texto.

Processo de transformar uma imagem numa sequência de tokens:

  1. Divisão da imagem em patches: a imagem original é dividida em pequenos quadrados (por exemplo, 16x16 pixels).

  2. Aplanamento dos patches: cada patch é achatado num vetor (por exemplo, se o patch for de 16x16 e tiver 3 canais RGB, o tamanho do vetor será 16163=768).

  3. Projeção em embeddings: estes vetores passam por uma camada linear (totalmente conectada), que os transforma em vetores de dimensão fixa — tokens.

  4. Adição de informação posicional: uma vez que o transformador não considera a ordem dos tokens, são adicionados embeddings posicionais aos embeddings para manter a informação sobre a disposição dos patches na imagem.

  5. Passagem da sequência de tokens ao transformador: a sequência de tokens resultante é processada por um transformador padrão (mecanismo de atenção, camadas de normalização, etc.) para extrair características e resolver tarefas (por exemplo, classificação).

Dessa forma, o ViT transforma a imagem numa sequência de vetores, que podem ser processados de forma eficiente com a arquitetura de transformadores, permitindo aproveitar as vantagens da atenção para análise de dados visuais.